/*
Theme Name: IGET Express Australia
Theme URI: https://igetexpressaustralia.com/
Description: Premium IGET vape store — black & gold theme with age verification, magic effects, Shopify-style checkout, mobile bottom nav.
Version: 3.3.0
Author: Migration Build
Text Domain: iget-express
Tags: e-commerce, woocommerce, black-gold, mobile-first
*/

/* ========== Reset & Base ========== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #e8e8e8;
  background: #0a0a0a;
  line-height: 1.6;
  overflow-x: hidden;
  padding-bottom: 70px;
  position: relative;
}
body::before {
  content: '';
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(212,175,55,0.08) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 100%, rgba(168,85,247,0.06) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 50%, rgba(212,175,55,0.03) 0%, transparent 70%);
  z-index: -1;
  animation: bgShift 15s ease-in-out infinite alternate;
}
@keyframes bgShift {
  0% { background-position: 0% 0%, 100% 100%, 50% 50%; }
  100% { background-position: 100% 0%, 0% 100%, 50% 50%; }
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Space Grotesk', 'DM Sans', sans-serif;
  font-weight: 700;
  line-height: 1.2;
  color: #f5f5f5;
}
a { color: #d4af37; text-decoration: none; transition: color .2s, text-shadow .2s; }
a:hover { color: #f0d060; text-shadow: 0 0 12px rgba(212,175,55,0.5); }
img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style: none; }
button { cursor: pointer; font-family: inherit; }
input, select, textarea {
  font-family: inherit;
  font-size: 15px;
  background: #1a1a1a;
  color: #e8e8e8;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 12px 14px;
  width: 100%;
  transition: border-color .2s, box-shadow .2s;
}
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: #d4af37;
  box-shadow: 0 0 0 3px rgba(212,175,55,0.15);
}
input::placeholder, textarea::placeholder { color: #666; }

/* ========== Top Announcement Bar ========== */
.announcement-bar {
  background: linear-gradient(90deg, #0a0a0a, #1a1510, #0a0a0a);
  border-bottom: 1px solid rgba(212,175,55,0.3);
  padding: 10px 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.announcement-bar::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(212,175,55,0.1), transparent);
  animation: shimmer 3s infinite;
}
@keyframes shimmer {
  0% { left: -100%; }
  100% { left: 100%; }
}
.announcement-bar p {
  color: #d4af37;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
}

/* ========== Header ========== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(10,10,10,0.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(212,175,55,0.2);
}
.header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.site-logo {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.5px;
  white-space: nowrap;
  color: #fff;
}
.site-logo span {
  background: linear-gradient(135deg, #d4af37, #f0d060);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.main-nav { display: flex; gap: 28px; }
.main-nav ul, .main-nav .menu {
  display: flex;
  gap: 28px;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
}
.main-nav ul li { list-style: none; margin: 0; padding: 0; }
.main-nav a {
  font-size: 15px;
  font-weight: 500;
  color: #ccc;
  position: relative;
}
.main-nav a::after {
  content: '';
  position: absolute;
  bottom: -4px; left: 0;
  width: 0; height: 2px;
  background: linear-gradient(90deg, #d4af37, #f0d060);
  transition: width .3s;
}
.main-nav a:hover, .main-nav a.current-menu-item { color: #d4af37; }
.main-nav a:hover::after, .main-nav a.current-menu-item::after { width: 100%; }
.header-actions { display: flex; align-items: center; gap: 16px; }
.header-cart {
  position: relative;
  font-size: 20px;
  display: flex;
  align-items: center;
  color: #ccc;
  transition: color .2s;
}
.header-cart:hover { color: #d4af37; }
.header-cart .cart-count {
  position: absolute;
  top: -6px;
  right: -8px;
  background: linear-gradient(135deg, #d4af37, #b8941f);
  color: #0a0a0a;
  font-size: 11px;
  font-weight: 700;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ========== Hero ========== */
.hero {
  background:
    radial-gradient(ellipse at center top, rgba(212,175,55,0.12) 0%, transparent 60%),
    linear-gradient(180deg, #0f0f0f 0%, #0a0a0a 100%);
  padding: 80px 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(212,175,55,0.06) 0%, transparent 70%);
  animation: pulse 4s ease-in-out infinite;
}
@keyframes pulse {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.5; }
  50% { transform: translate(-50%, -50%) scale(1.2); opacity: 1; }
}
.hero h1 {
  font-size: clamp(32px, 5vw, 52px);
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
}
.hero h1 .gold {
  background: linear-gradient(135deg, #d4af37 0%, #f0d060 50%, #d4af37 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero p {
  font-size: 17px;
  color: #999;
  max-width: 600px;
  margin: 0 auto 32px;
  position: relative;
  z-index: 1;
}
.hero .btn {
  display: inline-block;
  background: linear-gradient(135deg, #d4af37 0%, #b8941f 100%);
  color: #0a0a0a;
  padding: 16px 44px;
  border-radius: 50px;
  font-weight: 700;
  font-size: 16px;
  transition: transform .2s, box-shadow .2s;
  position: relative;
  z-index: 1;
  box-shadow: 0 4px 20px rgba(212,175,55,0.3);
}
.hero .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(212,175,55,0.5);
  color: #0a0a0a;
}

/* ========== Trust Bar ========== */
.trust-bar {
  background: linear-gradient(90deg, #111, #1a1510, #111);
  border-top: 1px solid rgba(212,175,55,0.15);
  border-bottom: 1px solid rgba(212,175,55,0.15);
  color: #d4af37;
  padding: 18px 20px;
}
.trust-bar-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 48px;
  flex-wrap: wrap;
}
.trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.trust-item .icon { font-size: 18px; }

/* ========== Section ========== */
.section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 56px 20px;
}
.section-title {
  font-size: clamp(24px, 3vw, 36px);
  text-align: center;
  margin-bottom: 10px;
}
.section-subtitle {
  text-align: center;
  color: #888;
  font-size: 15px;
  margin-bottom: 36px;
}

/* ========== Product Grid ========== */
.products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 24px;
}
.product-card {
  background: linear-gradient(145deg, #161616, #0d0d0d);
  border: 1px solid rgba(212,175,55,0.15);
  border-radius: 16px;
  overflow: hidden;
  transition: transform .3s, box-shadow .3s, border-color .3s;
  position: relative;
}
.product-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #d4af37, transparent);
  opacity: 0;
  transition: opacity .3s;
}
.product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(212,175,55,0.15), 0 0 30px rgba(212,175,55,0.08);
  border-color: rgba(212,175,55,0.4);
}
.product-card:hover::before { opacity: 1; }
.product-card .product-thumb {
  position: relative;
  background: #111;
  aspect-ratio: 1;
  overflow: hidden;
}
.product-card .product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s;
}
.product-card:hover .product-thumb img { transform: scale(1.08); }
.product-card .sale-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: linear-gradient(135deg, #d4af37, #b8941f);
  color: #0a0a0a;
  font-size: 11px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 50px;
  text-transform: uppercase;
  letter-spacing: .5px;
  z-index: 2;
}
.product-card .wishlist-btn {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(212,175,55,0.3);
  color: #d4af37;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  cursor: pointer;
  transition: all .2s;
  z-index: 2;
}
.product-card .wishlist-btn:hover {
  background: rgba(212,175,55,0.2);
  transform: scale(1.1);
}
.product-card .wishlist-btn.active { color: #ff4d6d; border-color: #ff4d6d; }
.product-card .product-info { padding: 16px; }
.product-card .product-title {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 8px;
  line-height: 1.3;
  min-height: 36px;
  color: #e8e8e8;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-card .product-price {
  display: flex;
  align-items: center;
  gap: 8px;
}
.product-card .price-now {
  font-size: 18px;
  font-weight: 700;
  color: #d4af37;
}
.product-card .price-was {
  font-size: 13px;
  color: #666;
  text-decoration: line-through;
}
.product-card .add-to-cart-btn {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 11px;
  background: linear-gradient(135deg, #d4af37, #b8941f);
  color: #0a0a0a;
  border: none;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  transition: all .2s;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.product-card .add-to-cart-btn:hover {
  box-shadow: 0 4px 16px rgba(212,175,55,0.4);
  transform: translateY(-1px);
}

/* WooCommerce standard button in custom product card */
.product-card .button {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 11px;
  background: linear-gradient(135deg, #d4af37, #b8941f);
  color: #0a0a0a;
  border: none;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  transition: all .2s;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  line-height: 1.4;
}
.product-card .button:hover {
  background: linear-gradient(135deg, #e0c047, #c9a529);
  box-shadow: 0 4px 16px rgba(212,175,55,0.4);
  transform: translateY(-1px);
  color: #0a0a0a;
}
.product-card .button.loading { opacity: 0.7; pointer-events: none; }
.product-card .button.added { background: #52c41a; color: #fff; }

/* ========== WooCommerce overrides ========== */
.woocommerce .products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 24px;
}
.woocommerce ul.products li.product {
  margin: 0;
  background: linear-gradient(145deg, #161616, #0d0d0d);
  border: 1px solid rgba(212,175,55,0.15);
  border-radius: 16px;
  overflow: hidden;
  transition: transform .3s, box-shadow .3s, border-color .3s;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(212,175,55,0.15);
  border-color: rgba(212,175,55,0.4);
}
.woocommerce ul.products li.product a img {
  margin: 0;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 14px 16px 4px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  color: #e8e8e8;
}
.woocommerce ul.products li.product .price {
  padding: 0 16px;
  font-size: 17px;
  font-weight: 700;
  color: #d4af37;
}
.woocommerce ul.products li.product .price del {
  color: #666;
  font-size: 13px;
  font-weight: 400;
  margin-right: 6px;
}
.woocommerce ul.products li.product .button {
  margin: 10px 16px 16px;
  display: block;
  text-align: center;
  background: linear-gradient(135deg, #d4af37, #b8941f);
  color: #0a0a0a;
  border-radius: 10px;
  padding: 11px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}
.woocommerce ul.products li.product .button:hover {
  box-shadow: 0 4px 16px rgba(212,175,55,0.4);
  color: #0a0a0a;
}
.woocommerce span.onsale {
  background: linear-gradient(135deg, #d4af37, #b8941f);
  color: #0a0a0a;
  font-size: 11px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 50px;
  text-transform: uppercase;
  min-height: auto;
  line-height: 1;
  top: 12px;
  left: 12px;
}
.woocommerce .woocommerce-result-count { color: #999; }
.woocommerce .woocommerce-ordering select { width: auto; }

/* Single product */
.woocommerce div.product { padding: 24px; max-width: 1200px; margin: 0 auto; }
.woocommerce div.product .product_title { font-size: 28px; margin-bottom: 10px; color: #f5f5f5; }
.woocommerce div.product p.price { font-size: 26px; font-weight: 700; color: #d4af37; }
.woocommerce div.product p.price del { color: #666; font-size: 18px; margin-right: 8px; }
.woocommerce div.product .woocommerce-product-gallery { margin-bottom: 24px; }
.woocommerce div.product form.cart { margin: 24px 0; }
.woocommerce div.product form.cart .button {
  background: linear-gradient(135deg, #d4af37, #b8941f);
  color: #0a0a0a;
  padding: 14px 36px;
  border-radius: 10px;
  font-weight: 700;
  text-transform: uppercase;
}
.woocommerce div.product form.cart .button:hover {
  box-shadow: 0 4px 20px rgba(212,175,55,0.4);
  color: #0a0a0a;
}
.woocommerce div.product .woocommerce-tabs { margin-top: 32px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 1px solid #333; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-weight: 600; color: #999; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #d4af37; }
.woocommerce div.product .woocommerce-Tabs-panel { color: #ccc; }

/* Cart */
.woocommerce-cart table.cart { background: #111; border-radius: 12px; overflow: hidden; }
.woocommerce-cart table.cart th { background: #1a1a1a; color: #d4af37; padding: 14px; }
.woocommerce-cart table.cart td { padding: 14px; border-bottom: 1px solid #222; color: #ccc; }
.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100%;
  background: #111;
  border-radius: 12px;
  padding: 24px;
  border: 1px solid rgba(212,175,55,0.2);
}
.woocommerce-cart .cart_totals h2 { color: #d4af37; margin-bottom: 16px; }
.woocommerce .checkout-button, .woocommerce #place_order {
  background: linear-gradient(135deg, #d4af37, #b8941f);
  color: #0a0a0a;
  padding: 14px 36px;
  border-radius: 10px;
  font-weight: 700;
  text-transform: uppercase;
  border: none;
  width: 100%;
}
.woocommerce .checkout-button:hover, .woocommerce #place_order:hover {
  box-shadow: 0 4px 20px rgba(212,175,55,0.4);
  color: #0a0a0a;
}

/* ========== Age Verification Modal ========== */
.age-verification-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.92);
  backdrop-filter: blur(8px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .4s, visibility .4s;
}
.age-verification-overlay.active { opacity: 1; visibility: visible; }
.age-verification-modal {
  background: linear-gradient(145deg, #1a1a1a, #0d0d0d);
  border: 1px solid rgba(212,175,55,0.3);
  border-radius: 24px;
  padding: 48px 40px;
  max-width: 460px;
  width: 90%;
  text-align: center;
  position: relative;
  box-shadow: 0 0 60px rgba(212,175,55,0.15);
  transform: scale(0.9);
  transition: transform .4s;
}
.age-verification-overlay.active .age-verification-modal { transform: scale(1); }
.age-verification-modal::before {
  content: '';
  position: absolute;
  top: -2px; left: -2px; right: -2px; bottom: -2px;
  background: linear-gradient(135deg, #d4af37, transparent, #d4af37);
  border-radius: 24px;
  z-index: -1;
  opacity: 0.5;
  animation: borderGlow 3s ease-in-out infinite;
}
@keyframes borderGlow {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 0.7; }
}
.age-verification-logo {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 24px;
}
.age-verification-logo span {
  background: linear-gradient(135deg, #d4af37, #f0d060);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.age-18-badge {
  width: 90px;
  height: 90px;
  border: 3px solid #d4af37;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: #d4af37;
  box-shadow: 0 0 30px rgba(212,175,55,0.3);
  animation: badgePulse 2s ease-in-out infinite;
}
@keyframes badgePulse {
  0%, 100% { box-shadow: 0 0 20px rgba(212,175,55,0.2); }
  50% { box-shadow: 0 0 40px rgba(212,175,55,0.5); }
}
.age-verification-text {
  font-size: 16px;
  color: #999;
  letter-spacing: 2px;
  text-transform: uppercase;
  line-height: 1.8;
  margin-bottom: 24px;
}
.age-verification-question {
  font-size: 20px;
  font-weight: 600;
  color: #f5f5f5;
  margin-bottom: 28px;
}
.age-verification-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
}
.age-btn {
  flex: 1;
  padding: 16px 24px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all .2s;
  border: none;
}
.age-btn-yes {
  background: linear-gradient(135deg, #d4af37, #b8941f);
  color: #0a0a0a;
}
.age-btn-yes:hover {
  box-shadow: 0 4px 20px rgba(212,175,55,0.5);
  transform: translateY(-2px);
}
.age-btn-leave {
  background: transparent;
  color: #d4af37;
  border: 2px solid #d4af37;
}
.age-btn-leave:hover { background: rgba(212,175,55,0.1); }
.age-verification-footer {
  margin-top: 28px;
  font-size: 12px;
  color: #666;
  line-height: 1.6;
}
.age-verification-footer a { color: #d4af37; }

/* ========== Footer ========== */
.site-footer {
  background: linear-gradient(180deg, #0a0a0a, #050505);
  color: #888;
  padding: 48px 20px 90px;
  margin-top: 48px;
  border-top: 1px solid rgba(212,175,55,0.15);
}
.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 36px;
}
.footer-col h4 {
  color: #d4af37;
  font-size: 15px;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.footer-col p { font-size: 14px; line-height: 1.7; color: #888; }
.footer-col a { color: #888; font-size: 14px; display: block; padding: 5px 0; transition: color .2s, padding-left .2s; }
.footer-col a:hover { color: #d4af37; padding-left: 4px; }
.footer-bottom {
  max-width: 1200px;
  margin: 36px auto 0;
  padding-top: 24px;
  border-top: 1px solid #222;
  text-align: center;
  font-size: 13px;
  color: #666;
}

/* ========== Fixed Bottom Navigation (Mobile) ========== */
.bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: rgba(15,15,15,0.95);
  backdrop-filter: blur(12px);
  border-top: 1px solid rgba(212,175,55,0.2);
  box-shadow: 0 -4px 24px rgba(0,0,0,0.5);
  display: flex;
  justify-content: space-around;
  align-items: center;
  height: 64px;
  padding: 0 8px;
}
.bottom-nav-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  text-decoration: none;
  color: #888;
  font-size: 10px;
  font-weight: 500;
  padding: 6px 4px;
  position: relative;
  transition: color .2s, transform .2s;
}
.bottom-nav-item:hover, .bottom-nav-item.active {
  color: #d4af37;
  transform: translateY(-2px);
}
.bottom-nav-item .nav-icon {
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bottom-nav-item .nav-label { font-size: 10px; }
.bottom-nav-item .badge {
  position: absolute;
  top: 2px;
  right: 50%;
  transform: translateX(14px);
  background: linear-gradient(135deg, #d4af37, #b8941f);
  color: #0a0a0a;
  font-size: 10px;
  font-weight: 700;
  min-width: 16px;
  height: 16px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
}
.bottom-nav-item.whatsapp .nav-icon { color: #25D366; }
.bottom-nav-item.whatsapp:hover { color: #25D366; }

/* ========== WhatsApp Floating Button ========== */
.whatsapp-float {
  position: fixed;
  bottom: 80px;
  right: 16px;
  z-index: 998;
  width: 54px;
  height: 54px;
  background: linear-gradient(135deg, #25D366, #128C7E);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,0.4);
  transition: transform .2s, box-shadow .2s;
  animation: waFloat 3s ease-in-out infinite;
}
@keyframes waFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
.whatsapp-float:hover {
  transform: scale(1.15);
  box-shadow: 0 6px 28px rgba(37,211,102,0.6);
}
.whatsapp-float svg { width: 28px; height: 28px; fill: #fff; }

/* ========== Magic Effects ========== */
.particle {
  position: fixed;
  width: 4px;
  height: 4px;
  background: #d4af37;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  animation: floatUp linear infinite;
}
@keyframes floatUp {
  0% { transform: translateY(100vh) scale(0); opacity: 0; }
  10% { opacity: 0.6; }
  90% { opacity: 0.6; }
  100% { transform: translateY(-100px) scale(1); opacity: 0; }
}

/* ========== Checkout Page (Shopify-style) ========== */
.iget-checkout-wrap {
  max-width: 1000px;
  margin: 0 auto;
  padding: 32px 20px 80px;
}
.iget-checkout-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
}
.iget-checkout-logo {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #fff;
}
.iget-checkout-logo span {
  background: linear-gradient(135deg, #d4af37, #f0d060);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.iget-back-to-shop {
  color: #d4af37;
  font-size: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
}
.iget-checkout-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.iget-checkout-main h2 {
  font-size: 22px;
  margin-bottom: 8px;
  color: #f5f5f5;
}
.iget-checkout-main .section-desc {
  color: #888;
  font-size: 14px;
  margin-bottom: 20px;
}
.iget-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.iget-form-group { margin-bottom: 12px; }
.iget-form-group label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #aaa;
  margin-bottom: 6px;
}
.iget-express-checkout {
  margin-bottom: 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid #222;
}
.iget-express-checkout .divider {
  text-align: center;
  color: #666;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 16px 0;
  position: relative;
}
.iget-express-checkout .divider::before,
.iget-express-checkout .divider::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 40%;
  height: 1px;
  background: #222;
}
.iget-express-checkout .divider::before { left: 0; }
.iget-express-checkout .divider::after { right: 0; }
.iget-express-btn {
  display: block;
  width: 100%;
  padding: 12px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 10px;
  border: none;
  cursor: pointer;
  transition: opacity .2s;
}
.iget-express-btn:hover { opacity: 0.9; }
.iget-express-btn.apple { background: #000; color: #fff; border: 1px solid #333; }
.iget-express-btn.google { background: #fff; color: #333; }
.iget-express-btn.link { background: #00C853; color: #fff; }

.iget-order-summary {
  background: linear-gradient(145deg, #161616, #0d0d0d);
  border: 1px solid rgba(212,175,55,0.2);
  border-radius: 16px;
  padding: 24px;
  height: fit-content;
  position: sticky;
  top: 80px;
}
.iget-order-summary h3 {
  font-size: 18px;
  margin-bottom: 16px;
  color: #d4af37;
}
.iget-order-item {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #222;
}
.iget-order-item img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 8px;
}
.iget-order-item-info { flex: 1; }
.iget-order-item-title {
  font-size: 13px;
  font-weight: 600;
  color: #e8e8e8;
  line-height: 1.3;
}
.iget-order-item-price {
  font-size: 14px;
  font-weight: 700;
  color: #d4af37;
  white-space: nowrap;
}
.iget-order-totals { margin-top: 16px; }
.iget-order-total-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  font-size: 14px;
  color: #aaa;
}
.iget-order-total-row.final {
  border-top: 1px solid #333;
  margin-top: 8px;
  padding-top: 12px;
  font-size: 18px;
  font-weight: 700;
  color: #f5f5f5;
}
.iget-order-total-row.final .value { color: #d4af37; }

.iget-why-us {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #222;
}
.iget-why-us h4 {
  font-size: 16px;
  margin-bottom: 16px;
  color: #d4af37;
}
.iget-why-item {
  display: flex;
  gap: 12px;
  margin-bottom: 14px;
}
.iget-why-item .icon { font-size: 20px; flex-shrink: 0; }
.iget-why-item .text h5 { font-size: 14px; color: #e8e8e8; margin-bottom: 2px; }
.iget-why-item .text p { font-size: 12px; color: #888; line-height: 1.4; }

.iget-pay-now {
  width: 100%;
  padding: 16px;
  background: linear-gradient(135deg, #d4af37, #b8941f);
  color: #0a0a0a;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  margin-top: 20px;
  transition: all .2s;
  box-shadow: 0 4px 20px rgba(212,175,55,0.3);
}
.iget-pay-now:hover {
  box-shadow: 0 6px 28px rgba(212,175,55,0.5);
  transform: translateY(-2px);
}

/* ========== Wishlist Page ========== */
.wishlist-empty {
  text-align: center;
  padding: 80px 20px;
  color: #888;
}
.wishlist-empty .icon { font-size: 56px; margin-bottom: 20px; }

/* ========== Responsive ========== */
@media (max-width: 768px) {
  .main-nav { display: none; }
  .hero { padding: 48px 16px; }
  .section { padding: 36px 16px; }
  .products-grid, .woocommerce .products {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .product-card .product-info { padding: 12px; }
  .product-card .product-title { font-size: 13px; min-height: 32px; }
  .product-card .price-now { font-size: 15px; }
  .trust-bar-inner { gap: 16px; }
  .trust-item { font-size: 11px; }
  .whatsapp-float { bottom: 76px; right: 12px; width: 48px; height: 48px; }
  .iget-checkout-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .iget-order-summary { position: static; }
  .age-verification-modal { padding: 32px 24px; }
  .age-verification-text { font-size: 14px; letter-spacing: 1px; }
  .announcement-bar p { font-size: 11px; letter-spacing: 1px; }
}
@media (min-width: 769px) {
  .bottom-nav { display: none; }
  body { padding-bottom: 0; }
  .site-footer { padding-bottom: 48px; }
}

/* ========== Utilities ========== */
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.text-center { text-align: center; }
.mt-20 { margin-top: 20px; }
.mb-20 { margin-bottom: 20px; }


/* =========================================================
   V3 POLISH — Aurora / Magic UI + Age Gate + Checkout
   ========================================================= */
:root{
  --gold:#e3b63d;
  --gold2:#ffd86a;
  --violet:#a855f7;
  --cyan:#22d3ee;
  --pink:#f472b6;
  --bg:#07070a;
}
body{background:radial-gradient(circle at 15% 10%,rgba(168,85,247,.10),transparent 25%),radial-gradient(circle at 85% 20%,rgba(34,211,238,.08),transparent 24%),#07070a;}
body::after{
 content:'';position:fixed;inset:-20%;pointer-events:none;z-index:-2;opacity:.55;
 background:conic-gradient(from 0deg at 50% 50%,rgba(168,85,247,.08),rgba(34,211,238,.04),rgba(244,114,182,.05),rgba(227,182,61,.06),rgba(168,85,247,.08));
 filter:blur(70px);animation:auroraSpin 24s linear infinite;
}
@keyframes auroraSpin{to{transform:rotate(360deg) scale(1.04)}}
.announcement-bar{position:sticky;top:0;z-index:1100;background:linear-gradient(90deg,#09090c,#151017,#09090c);border-bottom:1px solid rgba(227,182,61,.30);box-shadow:0 8px 30px rgba(0,0,0,.25)}
.announcement-bar p{font-size:12px;letter-spacing:1.7px}
.site-header{top:39px;z-index:1090;border-bottom:1px solid rgba(255,255,255,.05);background:rgba(7,7,10,.84)}
.hero{background:radial-gradient(circle at 50% 25%,rgba(227,182,61,.14),transparent 35%),radial-gradient(circle at 15% 70%,rgba(168,85,247,.12),transparent 30%),radial-gradient(circle at 85% 70%,rgba(34,211,238,.09),transparent 28%),linear-gradient(180deg,#111016 0%,#07070a 100%)}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.035) 48%,transparent 58%);transform:translateX(-100%);animation:magicSweep 7s ease-in-out infinite;pointer-events:none}
@keyframes magicSweep{0%,55%{transform:translateX(-100%)}75%,100%{transform:translateX(100%)}}
.btn,.hero .btn,.iget-pay-now{position:relative;overflow:hidden}
.btn::after,.hero .btn::after,.iget-pay-now::after{content:'';position:absolute;top:-120%;left:-20%;width:35%;height:350%;transform:rotate(22deg);background:rgba(255,255,255,.23);filter:blur(8px);animation:buttonGlint 4.5s ease-in-out infinite;pointer-events:none}
@keyframes buttonGlint{0%,62%{left:-40%;opacity:0}70%{opacity:1}88%,100%{left:120%;opacity:0}}
.product-card,.products-grid li,.woocommerce ul.products li.product{position:relative;isolation:isolate}
.product-card::before,.woocommerce ul.products li.product::before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from 90deg,rgba(227,182,61,.0),rgba(227,182,61,.42),rgba(168,85,247,.24),rgba(34,211,238,.20),rgba(227,182,61,.0));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s;pointer-events:none}
.product-card:hover::before,.woocommerce ul.products li.product:hover::before{opacity:1}
.particle{z-index:2;filter:blur(.1px);mix-blend-mode:screen}
.magic-spark{position:fixed;width:3px;height:3px;border-radius:50%;pointer-events:none;z-index:3;background:var(--gold);box-shadow:0 0 12px currentColor,0 0 24px currentColor;animation:sparkRise linear forwards}
@keyframes sparkRise{0%{opacity:0;transform:translate3d(0,25px,0) scale(.4)}15%{opacity:1}100%{opacity:0;transform:translate3d(var(--dx),-110vh,0) scale(1.3)}}

/* Age gate closely follows supplied reference: dark, centered, gold-accented */
.age-verification-overlay{background:rgba(0,0,0,.965);backdrop-filter:blur(12px)}
.age-verification-modal{max-width:560px;padding:38px 34px 30px;border-radius:4px;background:linear-gradient(180deg,#060608,#020203);border:1px solid rgba(227,182,61,.12);box-shadow:0 0 90px rgba(0,0,0,.65),0 0 40px rgba(227,182,61,.06)}
.age-verification-modal::before{border-radius:5px;background:linear-gradient(120deg,rgba(227,182,61,.0),rgba(227,182,61,.5),rgba(168,85,247,.18),rgba(34,211,238,.16),rgba(227,182,61,.0));animation:ageBorder 6s linear infinite}
@keyframes ageBorder{to{transform:rotate(360deg)}}
.age-verification-logo{font-size:30px;margin-bottom:24px;letter-spacing:-.5px}
.age-18-badge{width:92px;height:92px;margin-bottom:32px}
.age-verification-text{max-width:430px;margin:0 auto 28px;font-size:15px;color:#7f8088;letter-spacing:4px;line-height:2.05}
.age-verification-question{font-size:22px;margin-bottom:28px}
.age-verification-buttons{gap:22px}
.age-btn{border-radius:0;padding:18px 20px}
.age-btn-yes{box-shadow:0 12px 35px rgba(227,182,61,.16)}
.age-btn-leave{background:transparent}
.age-verification-footer{max-width:460px;margin:28px auto 0;color:#575861}
.age-verification-footer a{text-decoration:underline;text-underline-offset:4px}

/* Top legal/context line */
.site-context-note{background:rgba(11,11,14,.88);border-bottom:1px solid rgba(227,182,61,.12);color:#a2a2aa;text-align:center;padding:9px 16px;font-size:11px;letter-spacing:1px}
.site-context-note strong{color:var(--gold)}

/* Checkout V3 */
.iget-checkout-wrap{max-width:1120px;padding-top:28px}
.iget-checkout-header{padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.06)}
.iget-checkout-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:48px}
.iget-checkout-main{min-width:0}
.iget-checkout-main h2{font-size:21px;letter-spacing:-.2px}
.iget-form-group input,.iget-form-group select,.iget-form-group textarea{background:#0d0d11;border-color:#24242b;border-radius:12px}
.iget-form-group input:focus,.iget-form-group select:focus{border-color:rgba(227,182,61,.65);box-shadow:0 0 0 3px rgba(227,182,61,.08),0 0 30px rgba(168,85,247,.08)}
.iget-express-checkout{background:linear-gradient(145deg,#111017,#0a0a0d);border:1px solid rgba(168,85,247,.16);padding:20px;border-radius:16px}
.iget-order-summary{background:linear-gradient(145deg,rgba(17,16,23,.96),rgba(8,8,11,.96));border-color:rgba(227,182,61,.2);box-shadow:0 18px 50px rgba(0,0,0,.25)}
.iget-regulatory-note{margin:18px 0;padding:14px 15px;border-left:2px solid var(--gold);border-radius:10px;background:rgba(227,182,61,.05);color:#9898a2;font-size:12px;line-height:1.65}
.iget-enquiry-btn{display:block;width:100%;margin-top:18px;padding:16px 20px;border:0;border-radius:12px;background:linear-gradient(135deg,#e3b63d,#b99120);color:#07070a;font-weight:800;letter-spacing:1px;cursor:pointer}
.iget-payment-disabled{padding:18px;border:1px dashed rgba(255,255,255,.12);border-radius:14px;background:#0b0b0e;color:#85858e;font-size:13px;line-height:1.65}

@media (max-width:768px){
 .announcement-bar{top:0}.site-header{top:38px}.announcement-bar p{font-size:10px;letter-spacing:1px}
 .age-verification-modal{width:calc(100% - 24px);padding:34px 18px 24px}.age-verification-text{font-size:12px;letter-spacing:2.5px}.age-verification-question{font-size:20px}.age-verification-buttons{flex-direction:row;gap:12px}.age-btn{padding:16px 10px;font-size:13px}
 .site-context-note{font-size:10px;padding:8px 12px}
 .iget-checkout-wrap{padding:20px 14px 110px}.iget-checkout-layout{grid-template-columns:1fr;gap:20px}.iget-order-summary{position:static}.iget-form-row{grid-template-columns:1fr 1fr}.iget-checkout-header{margin-bottom:20px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* ============================================================
   REFERENCE-SITE REDESIGN (ref- prefix) v3.2
   ============================================================ */
.ref-section{max-width:1200px;margin:0 auto;padding:56px 20px;}
.ref-label{display:block;font-size:12px;letter-spacing:4px;color:#d4af37;text-transform:uppercase;margin-bottom:14px;font-weight:600;}
.ref-h2{font-size:clamp(24px,4vw,38px);font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:1px;line-height:1.2;margin:0 0 12px;text-align:center;}
.gold-text{color:#d4af37;}
.ref-eyebrow-sub{text-align:center;color:#888;font-size:13px;letter-spacing:2px;text-transform:uppercase;margin:0 0 32px;}

/* Hero */
.ref-hero{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;
  background:radial-gradient(ellipse at center,#1a1408 0%,#0a0a0a 70%);border-bottom:1px solid rgba(212,175,55,.15);}
.ref-hero-bg{position:absolute;inset:0;background:
  radial-gradient(circle at 20% 50%,rgba(212,175,55,.12),transparent 40%),
  radial-gradient(circle at 80% 50%,rgba(168,85,247,.1),transparent 40%);}
.ref-hero-content{position:relative;z-index:2;padding:40px 20px;}
.ref-hero-badge{display:inline-block;padding:6px 16px;border:1px solid rgba(212,175,55,.5);border-radius:20px;font-size:11px;letter-spacing:3px;color:#d4af37;margin-bottom:20px;}
.ref-hero-title{font-size:clamp(40px,8vw,72px);font-weight:900;color:#fff;line-height:1;margin:0 0 16px;text-transform:uppercase;letter-spacing:2px;}
.ref-hero-sub{color:#aaa;font-size:16px;margin:0 0 28px;letter-spacing:1px;}
.ref-hero-btn{display:inline-block;padding:15px 44px;background:linear-gradient(135deg,#d4af37,#b8941f);color:#0a0a0a;font-weight:800;font-size:14px;letter-spacing:2px;border-radius:30px;text-transform:uppercase;transition:all .3s;box-shadow:0 6px 24px rgba(212,175,55,.3);}
.ref-hero-btn:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(212,175,55,.45);color:#0a0a0a;}

/* Source heading */
.ref-source{text-align:center;}
.ref-cat-btns{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:560px;margin:0 auto 28px;}
.ref-cat-btn{display:block;padding:18px 12px;border:1px solid rgba(212,175,55,.25);border-radius:14px;background:#141414;color:#ddd;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;transition:all .25s;text-align:center;}
.ref-cat-btn:hover{border-color:#d4af37;background:rgba(212,175,55,.08);color:#d4af37;}
.ref-cat-gold{background:linear-gradient(135deg,#d4af37,#b8941f);color:#0a0a0a;border-color:transparent;}
.ref-cat-gold:hover{background:linear-gradient(135deg,#e0c047,#c9a529);color:#0a0a0a;}
.ref-trust-tags{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:560px;margin:0 auto 20px;}
.ref-trust-tag{padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;color:#bbb;font-size:13px;display:flex;align-items:center;gap:8px;justify-content:center;}
.ref-trust-tag span{color:#d4af37;}
.ref-disclaimer{font-size:11px;color:#666;max-width:600px;margin:0 auto;line-height:1.6;}

/* Feature banner */
.ref-feature-banner{border-top:1px solid rgba(212,175,55,.12);border-bottom:1px solid rgba(212,175,55,.12);
  background:linear-gradient(135deg,#14110a,#0a0a0a);padding:48px 20px;text-align:center;}
.ref-feature-inner{max-width:1200px;margin:0 auto;}
.ref-feature-title{font-size:clamp(26px,5vw,40px);font-weight:800;color:#fff;text-transform:uppercase;margin:8px 0 24px;}
.ref-outline-btn{display:inline-block;padding:13px 32px;border:2px solid #d4af37;border-radius:30px;color:#d4af37;font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;transition:all .25s;}
.ref-outline-btn:hover{background:#d4af37;color:#0a0a0a;}

/* Product rows */
.ref-row-title{font-size:clamp(22px,4vw,32px);font-weight:800;color:#fff;text-transform:uppercase;margin:0 0 10px;line-height:1.25;}
.ref-row-link{display:inline-block;color:#d4af37;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:28px;border-bottom:1px solid rgba(212,175,55,.4);padding-bottom:3px;}
.ref-row-link:hover{color:#f0d060;}

/* Product grid + card (matches reference) */
.ref-product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.ref-product-card{display:flex;flex-direction:column;}
.ref-product-thumb{position:relative;aspect-ratio:1/1;border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.ref-product-img{width:72%!important;height:auto!important;max-height:80%;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35));}
.ref-product-thumb img{width:72%;height:auto;max-height:80%;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35));}
.ref-sale-tag{position:absolute;top:10px;left:10px;background:#e11d48;color:#fff;font-size:10px;font-weight:800;letter-spacing:1px;padding:4px 9px;border-radius:6px;z-index:2;}
.ref-product-name{color:#eee;font-size:13px;font-weight:600;line-height:1.35;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.ref-product-name:hover{color:#d4af37;}
.ref-product-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.ref-product-brand{font-size:11px;color:#777;letter-spacing:1px;text-transform:uppercase;}
.ref-product-price{font-size:16px;font-weight:800;color:#d4af37;white-space:nowrap;}

/* Coming soon */
.ref-coming-soon{border:1px solid rgba(212,175,55,.2);border-radius:16px;padding:32px 24px;}
.ref-coming-text{color:#999;font-size:15px;line-height:1.7;margin:0 0 18px;font-style:italic;}

/* Genuine banner */
.ref-genuine-banner{background:linear-gradient(135deg,#1a1508,#0d0b05);border-top:1px solid rgba(212,175,55,.15);border-bottom:1px solid rgba(212,175,55,.15);padding:56px 20px;text-align:center;}
.ref-genuine-title{font-size:clamp(22px,4vw,34px);font-weight:800;color:#fff;text-transform:uppercase;margin:0 0 16px;line-height:1.3;}
.ref-genuine-text{color:#999;font-size:15px;max-width:640px;margin:0 auto;line-height:1.7;}

/* Range cards */
.ref-range-list{display:flex;flex-direction:column;gap:16px;margin-top:32px;}
.ref-range-card{position:relative;display:block;background:linear-gradient(145deg,#161616,#0d0d0d);border:1px solid rgba(212,175,55,.15);border-radius:18px;padding:28px;overflow:hidden;transition:all .3s;}
.ref-range-card:hover{border-color:rgba(212,175,55,.4);transform:translateY(-2px);}
.ref-range-gold{background:linear-gradient(135deg,rgba(212,175,55,.12),#0d0d0d);border-color:rgba(212,175,55,.35);}
.ref-range-card h4{font-size:26px;font-weight:800;color:#fff;text-transform:uppercase;margin:8px 0;}
.ref-range-tag{display:block;font-size:11px;letter-spacing:2px;color:#888;text-transform:uppercase;margin-bottom:4px;}
.ref-range-badge{position:absolute;top:20px;right:20px;background:rgba(212,175,55,.15);color:#d4af37;font-size:10px;font-weight:700;letter-spacing:1px;padding:5px 10px;border-radius:12px;}
.ref-range-card p{color:#888;font-size:14px;margin:8px 0 14px;}
.ref-range-link{color:#d4af37;font-size:12px;font-weight:700;letter-spacing:2px;}
.ref-range-arrow{position:absolute;right:24px;bottom:24px;width:44px;height:44px;background:#d4af37;color:#0a0a0a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;}

/* Collection links */
.ref-collection-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:20px;}
.ref-collection-links a{color:#aaa;font-size:15px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:2px;}
.ref-collection-links a:hover{color:#d4af37;border-color:#d4af37;}

/* FAQ */
.ref-faq-list{display:flex;flex-direction:column;gap:12px;margin-top:28px;}
.ref-faq-item{background:#141414;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:0;overflow:hidden;}
.ref-faq-item summary{padding:20px 22px;font-size:14px;font-weight:700;color:#eee;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;text-transform:uppercase;letter-spacing:.5px;}
.ref-faq-item summary::-webkit-details-marker{display:none;}
.ref-faq-plus{color:#d4af37;font-size:22px;font-weight:400;flex-shrink:0;}
.ref-faq-item[open] .ref-faq-plus{transform:rotate(45deg);}
.ref-faq-item p{padding:0 22px 20px;color:#999;font-size:14px;line-height:1.7;margin:0;}

/* Wholesale */
.ref-wholesale{text-align:center;padding:64px 20px;background:linear-gradient(180deg,#0a0a0a,#14110a);}
.ref-wholesale-btn{margin-top:24px;}

/* Age bar */
.ref-age-bar{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 20px;border-top:1px solid rgba(255,255,255,.06);color:#888;font-size:11px;letter-spacing:2px;text-transform:uppercase;text-align:center;}
.ref-age-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(212,175,55,.4);border-radius:50%;color:#d4af37;font-weight:800;font-size:12px;flex-shrink:0;}

/* Desktop */
@media(min-width:768px){
  .ref-product-grid{grid-template-columns:repeat(4,1fr);gap:24px;}
  .ref-cat-btns{grid-template-columns:repeat(4,1fr);max-width:900px;}
  .ref-trust-tags{grid-template-columns:repeat(4,1fr);max-width:1000px;}
  .ref-hero{min-height:520px;}
  .ref-range-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .ref-range-gold{grid-column:1/-1;}
}

/* ===== Hero full-width poster banner (Sept Sale) ===== */
.ref-hero{min-height:auto!important;padding:28px 0 8px!important;display:block!important;text-align:center!important;}
.ref-hero-poster-wrap{position:relative;z-index:2;max-width:1500px;margin:0 auto;padding:0 24px;box-sizing:border-box;}
.ref-hero-poster-link{display:block;}
.ref-hero-poster{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 10px 50px rgba(212,175,55,.18),0 4px 20px rgba(0,0,0,.5);transition:transform .4s ease,box-shadow .4s ease;}
.ref-hero-poster-link:hover .ref-hero-poster{transform:translateY(-3px);box-shadow:0 16px 60px rgba(212,175,55,.28),0 6px 24px rgba(0,0,0,.55);}
.ref-hero-cta{margin:22px auto 6px!important;}
@media(max-width:768px){
  .ref-hero{padding:14px 0 6px!important;}
  .ref-hero-poster-wrap{padding:0 12px;}
  .ref-hero-poster{border-radius:12px;}
  .ref-hero-cta{margin:16px auto 4px!important;padding:13px 38px!important;font-size:13px;}
}

/* ===== Brand filter dropdown (matches Default sorting) ===== */
.brand-filter-wrap{display:inline-block;margin:0 10px 18px 0;vertical-align:middle;}
.woocommerce .brand-filter-wrap select.brand-filter-select{margin:0;}
@media(max-width:600px){
  .brand-filter-wrap{display:block;margin:0 0 12px 0;}
  .brand-filter-wrap select.brand-filter-select{width:100%;}
  .woocommerce .woocommerce-ordering select{width:100%;}
}

/* ===== Fix: equal-width filter dropdowns + correct product grid ===== */
@media(max-width:600px){
  .brand-filter-wrap,
  .woocommerce .woocommerce-ordering{display:block!important;width:100%!important;margin:0 0 12px 0!important;float:none!important;text-align:left;}
  .brand-filter-wrap select.brand-filter-select,
  .woocommerce .woocommerce-ordering select{width:100%!important;box-sizing:border-box;}
}
.woocommerce ul.products li.ref-product-card{margin:0;list-style:none;}

/* ===== 产品网格终极修复：移除 WooCommerce clearfix 伪元素占位，规整双列/四列 =====
   WooCommerce 默认给 ul.products 输出 ::before/::after 清浮动伪元素；
   当容器改为 CSS Grid 后，这两个伪元素会被当成网格项，凭空占走一格
   （现象：桌面第一行产品1后空一格、末行空3格；手机第一个产品被挤到右列）。 */
.woocommerce ul.products::before,
.woocommerce ul.products::after{content:none!important;display:none!important;}
.woocommerce ul.products{
  display:grid!important;
  grid-auto-flow:row!important;
  align-items:start!important;
}
.woocommerce ul.products > li.ref-product-card{
  grid-column:auto!important;
  grid-row:auto!important;
  float:none!important;
  width:auto!important;
  max-width:none!important;
}

/* 桌面：固定 4 列 */
@media(min-width:769px){
  .woocommerce ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;}
}

/* 手机：固定 2 列（明确要求双列，不要单列） */
@media(max-width:768px){
  .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    padding:0!important;
    margin:0 0 20px 0!important;
  }
}

/* ===== 页脚明文显示客服邮箱（标签 + 可点击邮箱地址，长地址自动换行不撑破） ===== */
.footer-col .footer-email-label{
  display:block;
  color:#888;
  font-size:14px;
  padding:14px 0 0;
}
.footer-col a.footer-email-addr{
  display:block;
  color:#d4af37;
  font-size:13px;
  line-height:1.5;
  padding:2px 0 5px;
  word-break:break-all;
  overflow-wrap:anywhere;
}
.footer-col a.footer-email-addr:hover{ color:#f0d27a; padding-left:0; }
