/* ==========================================================
   EHK BEAUTY — STOREFRONT THEME (Black & Gold)
   Pure CSS. No JavaScript anywhere in this file or the site.
   ========================================================== */

@font-face { font-family:'Playfair Display'; font-style:normal; font-weight:500 700; font-display:swap; src:url('../fonts/playfair-normal-latin.woff2') format('woff2'); }
@font-face { font-family:'Playfair Display'; font-style:italic; font-weight:600; font-display:swap; src:url('../fonts/playfair-italic-600-latin.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/poppins-400-latin.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/poppins-500-latin.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/poppins-600-latin.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/poppins-700-latin.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:800; font-display:swap; src:url('../fonts/poppins-800-latin.woff2') format('woff2'); }

:root {
  --bg: #0B0B0B;
  --bg-panel: #1A1A1A;
  --bg-panel-2: #1F1F1F;
  --gold: #C9A227;
  --gold-grad-1: #D4AF37;
  --gold-grad-2: #E9CE7B;
  --gold-line: rgba(201, 162, 39, 0.2);
  --text: #F5F1E6;
  --text-muted: #B8B0A0;
  --bg-light: #F8F5EE;
  --border: #2A2A2A;
  --ok: #6FAE7A;
  --pending: #C9A227;
  --danger: #B85C5C;
  --radius: 14px;
  --serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --sans: 'Poppins', 'Segoe UI', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
.promo-modal { position:fixed; inset:0; z-index:500; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(0,0,0,.72); animation:promoFade .25s ease; }
.promo-modal.is-hidden { display:none; }
.promo-modal-card { position:relative; width:min(430px,100%); padding:42px 32px 32px; text-align:center; border:1px solid var(--gold); border-radius:14px; background:linear-gradient(145deg,#242016,#151515 65%); box-shadow:0 24px 80px rgba(0,0,0,.7); }
.promo-modal-kicker { color:var(--gold); font-size:11px; font-weight:700; letter-spacing:2px; }
.promo-modal-card h2 { margin:12px 0 10px; color:var(--gold); font-size:38px; }
.promo-modal-card p { margin:0 auto 22px; color:var(--text-muted); font-size:14px; line-height:1.6; }
.promo-modal-card p strong { color:var(--text); letter-spacing:1px; }
.promo-modal-close { position:absolute; top:10px; right:13px; border:0; background:none; color:var(--text-muted); font-size:28px; line-height:1; cursor:pointer; }
.promo-modal-close:hover { color:var(--gold); }
@keyframes promoFade { from { opacity:0; } to { opacity:1; } }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { font-family: var(--serif); margin: 0; }
ul { list-style: none; margin: 0; padding: 0; }
.container { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.gold-grad {
  background: linear-gradient(90deg, var(--gold-grad-1), var(--gold-grad-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.btn {
  display: inline-block;
  padding: 13px 28px;
  border-radius: 999px;
  font-size: 13px;
  letter-spacing: 1px;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  border: 1px solid transparent;
  transition: box-shadow .25s ease, transform .2s ease;
}
.btn-gold {
  background: linear-gradient(90deg, var(--gold-grad-1), var(--gold-grad-2));
  color: #14110a;
}
.btn-gold:hover { box-shadow: 0 0 22px rgba(201,162,39,.45); transform: translateY(-1px); }
.btn-outline {
  border-color: var(--gold);
  color: var(--gold);
  background: transparent;
}
.btn-outline:hover { box-shadow: 0 0 18px rgba(201,162,39,.3); background: var(--gold-line); }
.btn-block { width: 100%; text-align: center; }

/* ---------- SECTION HEADER (reused component pattern) ---------- */
.section-header { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:16px; margin-bottom: 34px; }
.section-header .eyebrow { color: var(--gold); font-size: 12px; letter-spacing: 3px; text-transform: uppercase; font-weight: 600; display:block; margin-bottom: 8px; }
.section-header h2 { font-size: 34px; font-weight: 600; }
.section-header p { color: var(--text-muted); max-width: 520px; margin-top: 10px; font-size: 14.5px; }
.section-header .see-all { flex-shrink: 0; }
.section { padding: 64px 0; }
.section.dark { background: #060606; }

/* ================= ANNOUNCEMENT BAR ================= */
.announce-bar { background: #000; border-bottom: 1px solid var(--border); overflow: hidden; height: 38px; position: relative; }
.announce-track { position: relative; height: 100%; }
.announce-item {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 12.5px; letter-spacing: .5px; font-weight: 500;
  opacity: 0;
  animation-name: announceFade;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.announce-item.slide-anim { animation-name: announceSlide; }
@keyframes announceFade {
  0%, 4% { opacity: 0; transform: translateY(4px); }
  8%, 26% { opacity: 1; transform: translateY(0); }
  30%, 100% { opacity: 0; transform: translateY(-4px); }
}
@keyframes announceSlide {
  0%, 4% { opacity: 0; transform: translateX(30px); }
  8%, 26% { opacity: 1; transform: translateX(0); }
  30%, 100% { opacity: 0; transform: translateX(-30px); }
}

/* ================= HEADER / NAV ================= */
.site-header { background: var(--bg); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 100; }
.header-inner { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; max-width: 1240px; margin: 0 auto; }
.nav-left, .nav-right { display: flex; align-items: center; gap: 22px; flex: 1; }
.nav-right { justify-content: flex-end; }
.nav-left a, .nav-right a { font-size: 12.5px; letter-spacing: 1px; text-transform: uppercase; color: var(--gold); font-weight: 600; position: relative; padding-bottom: 4px; }
.nav-left a::after, .nav-right a.nav-text::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 1px; background: var(--gold);
  transition: width .25s ease;
}
.nav-left a:hover::after, .nav-right a.nav-text:hover::after { width: 100%; }
.logo-block { text-align: center; flex-shrink: 0; padding: 0 16px; }
.logo-block img { display:block; width:54px; height:54px; margin:0 auto; border-radius:50%; clip-path:circle(50% at 50% 50%); object-fit:cover; }
.logo-block .brand-name { font-family: var(--serif); font-size: 22px; letter-spacing: 2px; color: var(--text); margin-top: 2px; }
.logo-block .brand-sub { font-size: 9.5px; color: var(--gold); letter-spacing: 2px; margin-top: 2px; }
.icon-btn { color: var(--gold); font-size: 17px; display: inline-flex; align-items: center; justify-content: center; }
.bag-icon { position: relative; }
.bag-count { position: absolute; top: -10px; right: -11px; min-width: 18px; height: 18px; padding: 0 4px; border: 2px solid var(--bg); border-radius: 999px; background: var(--gold); color: #14110a; display: inline-flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 800; line-height: 1; }
.bag-count.is-empty { display:none; }
.icon-btn svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Mobile navigation */
.hamburger-label { display:none; width:28px; height:24px; padding:0; border:0; color:var(--gold); background:transparent; cursor:pointer; }
.hamburger-lines { display: flex; width: 100%; height: 100%; flex-direction: column; justify-content: space-between; }
.hamburger-lines > span { display: block; width: 100%; height: 2px; border-radius: 2px; background: currentColor; transform-origin: center; transition: transform .28s ease, opacity .2s ease; }
.mobile-nav, .mobile-nav-backdrop { display:none; }

@media (max-width: 860px) {
  .nav-left { display: none; }
  .nav-right { flex:0 0 auto; gap:16px; }
  .nav-right .nav-text { display:none; }
  .hamburger-label { display: flex; }
  .header-inner { justify-content:space-between; padding:11px 16px; }
  .logo-block { padding:0; margin-right:auto; }
  .logo-block img { width:56px; height:56px; }
  .mobile-nav-backdrop {
    display:block; position:fixed; inset:0; z-index:290; padding:0; border:0;
    background:rgba(0,0,0,.7); backdrop-filter:blur(2px); opacity:0; visibility:hidden;
    pointer-events:none; transition:opacity .25s ease, visibility 0s linear .25s;
  }
  .mobile-nav-backdrop.is-open { opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
  .mobile-nav {
    display:flex; position:fixed; top:0; right:0; z-index:300; width:min(88vw, 360px); height:100vh; height:100dvh;
    flex-direction:column; overflow:hidden; background:#0b0b0b; border-left:1px solid var(--gold-line);
    box-shadow:-20px 0 55px rgba(0,0,0,.6); pointer-events:none; transform:translateX(104%);
    visibility:hidden; transition:transform .3s ease, visibility 0s linear .3s;
  }
  .mobile-nav.is-open { transform:translateX(0); visibility:visible; pointer-events:auto; transition-delay:0s; }
  .mobile-nav-header { display:flex; align-items:center; justify-content:space-between; flex:0 0 auto; min-height:82px; padding:17px 20px; border-bottom:1px solid var(--border); }
  .mobile-nav-brand small, .mobile-nav-brand strong { display:block; }
  .mobile-nav-brand small { margin-bottom:3px; color:var(--text-muted); font-size:9px; font-weight:600; letter-spacing:1.5px; }
  .mobile-nav-brand strong { color:var(--gold); font-family:var(--serif); font-size:20px; font-weight:600; }
  .mobile-nav-close { width:38px; height:38px; padding:0; border:1px solid var(--border); border-radius:50%; color:var(--gold); background:#111; display:flex; align-items:center; justify-content:center; cursor:pointer; }
  .mobile-nav-close svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
  .mobile-nav-content { flex:1; min-height:0; overflow-y:auto; padding:20px; }
  .mobile-nav-group-label { display:block; margin:0 0 7px; color:var(--text-muted); font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
  .mobile-nav ul { padding:0; margin:0 0 24px; list-style:none; }
  .mobile-nav a {
    display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:12px 2px; color:var(--text);
    text-transform:uppercase; font-size:13px; font-weight:600; letter-spacing:1px; border-bottom:1px solid var(--border);
  }
  .mobile-nav-content a::after { content:'>'; color:var(--gold); font-size:15px; font-weight:400; }
  .mobile-nav-footer { display:grid; grid-template-columns:1fr 1fr; flex:0 0 auto; border-top:1px solid var(--border); background:#080808; }
  .mobile-nav-footer a { justify-content:center; min-height:58px; padding:12px 8px; color:var(--gold); border:0; font-size:10px; text-align:center; }
  .mobile-nav-footer a + a { border-left:1px solid var(--border); }
  .hamburger-label.is-open .hamburger-lines > span:first-child { transform:translateY(11px) rotate(45deg); }
  .hamburger-label.is-open .hamburger-lines > span:nth-child(2) { opacity:0; }
  .hamburger-label.is-open .hamburger-lines > span:last-child { transform:translateY(-11px) rotate(-45deg); }
  body.mobile-menu-open { overflow:hidden; }
  body.mobile-menu-open .floating-contact-stack,
  body.mobile-menu-open .chat-widget.is-open { opacity:0; visibility:hidden; pointer-events:none; }
}

/* Shopping bag drawer */
.cart-drawer-backdrop { position:fixed; inset:0; z-index:340; padding:0; border:0; background:rgba(0,0,0,.72); backdrop-filter:blur(3px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .24s ease, visibility 0s linear .24s; }
.cart-drawer-backdrop.is-open { opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
.cart-drawer { position:fixed; top:0; right:0; z-index:350; width:min(92vw, 410px); height:100vh; height:100dvh; background:#0c0c0c; border-left:1px solid var(--gold-line); box-shadow:-24px 0 70px rgba(0,0,0,.68); display:flex; flex-direction:column; visibility:hidden; pointer-events:none; transform:translateX(104%); transition:transform .3s cubic-bezier(.22,.75,.24,1), visibility 0s linear .3s; }
.cart-drawer.is-open { visibility:visible; pointer-events:auto; transform:translateX(0); transition-delay:0s; }
.cart-drawer-header { min-height:84px; padding:17px 18px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.cart-drawer-header small { display:block; margin-bottom:3px; color:var(--text-muted); font-size:9px; font-weight:700; letter-spacing:1.4px; }
.cart-drawer-header h2 { color:var(--text); font-size:21px; }
.cart-drawer-header h2 span { color:var(--gold); }
.cart-drawer-close { width:38px; height:38px; flex:0 0 38px; padding:0; border:1px solid var(--border); border-radius:50%; color:var(--gold); background:#151515; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.cart-drawer-close svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.cart-drawer-notice { display:none; margin:12px 18px 0; padding:9px 11px; border:1px solid var(--gold-line); border-radius:6px; color:var(--gold); background:#17140c; font-size:11px; }
.cart-drawer-notice.is-visible { display:block; }
.cart-drawer-notice.is-error { border-color:rgba(184,92,92,.45); color:#d18888; background:#1b1010; }
.cart-drawer-body { flex:1; min-height:0; overflow-y:auto; padding:4px 18px; }
.cart-drawer-empty { padding:70px 20px; color:var(--text-muted); text-align:center; }
.cart-drawer-item { display:grid; grid-template-columns:68px minmax(0,1fr) auto; gap:12px; align-items:start; padding:16px 0; border-bottom:1px solid var(--border); }
.cart-drawer-item img { width:68px; height:78px; border-radius:7px; object-fit:cover; background:#151515; }
.cart-drawer-item-info { min-width:0; }
.cart-drawer-item-info a { display:block; overflow:hidden; color:var(--text); font-family:var(--serif); font-size:14px; font-weight:600; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.cart-drawer-unit-price { display:block; margin-top:4px; color:var(--text-muted); font-size:10px; }
.cart-drawer-item-controls { display:flex; align-items:center; gap:0; margin-top:9px; }
.cart-drawer-quantity-btn, .cart-drawer-quantity { width:28px; height:28px; border:1px solid var(--border); color:var(--text); background:#151515; display:inline-flex; align-items:center; justify-content:center; font:inherit; font-size:14px; line-height:1; }
.cart-drawer-quantity-btn { padding:0; color:var(--gold); cursor:pointer; }
.cart-drawer-quantity-btn:first-child { border-radius:6px 0 0 6px; }
.cart-drawer-quantity-btn:nth-child(3) { border-radius:0 6px 6px 0; }
.cart-drawer-quantity { border-right:0; border-left:0; font-size:11px; }
.cart-drawer-quantity-btn:hover:not(:disabled) { background:var(--gold-line); }
.cart-drawer-quantity-btn:disabled { opacity:.35; cursor:not-allowed; }
.cart-drawer-remove { width:28px; height:28px; margin-left:8px; padding:0; border:1px solid rgba(209,136,136,.25); border-radius:6px; color:#d18888; background:rgba(184,92,92,.08); display:flex; align-items:center; justify-content:center; cursor:pointer; }
.cart-drawer-remove:hover { border-color:rgba(209,136,136,.55); background:rgba(184,92,92,.16); }
.cart-drawer-remove svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.cart-drawer-item > strong { margin-top:2px; color:var(--gold); font-size:12px; white-space:nowrap; }
.cart-drawer-footer { flex:0 0 auto; padding:17px 18px 20px; border-top:1px solid var(--border); background:#090909; }
.cart-drawer-subtotal { display:flex; align-items:center; justify-content:space-between; margin-bottom:13px; color:var(--text-muted); font-size:12px; }
.cart-drawer-subtotal strong { color:var(--text); font-size:16px; }
.cart-drawer-checkout { min-height:48px; padding:11px 15px; border-radius:7px; color:#14110a; background:var(--gold); display:flex; align-items:center; justify-content:center; gap:7px; font-size:11px; font-weight:800; letter-spacing:.7px; }
.cart-drawer-checkout svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; }
.cart-drawer.is-empty .cart-drawer-checkout { opacity:.45; pointer-events:none; }
.cart-drawer-view { display:block; padding:12px 8px 0; color:var(--text-muted); font-size:11px; text-align:center; }
body.cart-drawer-open { overflow:hidden; }
body.cart-drawer-open .floating-contact-stack, body.cart-drawer-open .chat-widget.is-open { opacity:0; visibility:hidden; pointer-events:none; }

/* Floating contact controls */
.floating-contact-stack { position:fixed; right:22px; bottom:34px; z-index:200; display:flex; flex-direction:column; gap:12px; }
.floating-contact { position:relative; width:58px; height:58px; padding:0; border:0; border-radius:50%; color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; overflow:hidden; isolation:isolate; transition:transform .22s ease, box-shadow .22s ease, filter .22s ease; }
.floating-contact::before { content:""; position:absolute; inset:-45%; z-index:-1; background:linear-gradient(115deg, transparent 38%, rgba(255,255,255,.42) 50%, transparent 62%); transform:translateX(-85%) rotate(18deg); animation:contactShine 4.4s ease-in-out infinite; }
.floating-contact::after { content:""; position:absolute; inset:6px; border:1px solid rgba(255,255,255,.24); border-radius:inherit; animation:contactRing 3.8s ease-in-out infinite; }
.floating-contact:hover { transform:translateY(-4px) scale(1.04); filter:saturate(1.08); }
.floating-contact:focus-visible { outline:3px solid rgba(233,206,123,.65); outline-offset:3px; }
.floating-contact svg { width:31px; height:31px; display:block; fill:currentColor; stroke:none; }
.wa-float { background:#22c55e; box-shadow:0 18px 36px -16px rgba(34,197,94,.9), 0 0 0 1px rgba(255,255,255,.18) inset; animation:contactFloat 3.8s ease-in-out infinite; }
.live-support-float { background:linear-gradient(135deg, #d4af37, #9a7510); box-shadow:0 18px 36px -16px rgba(201,162,39,.9), 0 0 0 1px rgba(255,255,255,.2) inset; animation:contactFloat 3.8s .35s ease-in-out infinite; }
.live-support-float svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
@keyframes contactFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-4px); } }
@keyframes contactShine { 0%,55% { transform:translateX(-85%) rotate(18deg); } 78%,100% { transform:translateX(85%) rotate(18deg); } }
@keyframes contactRing { 0%,100% { opacity:.7; transform:scale(1); } 50% { opacity:1; transform:scale(1.04); } }

/* Live chat widget */
.chat-widget { position:fixed; right:22px; bottom:176px; z-index:240; width:min(370px, calc(100vw - 28px)); height:min(560px, calc(100vh - 196px)); min-height:420px; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--gold-line); border-radius:12px; background:#111; box-shadow:0 24px 70px rgba(0,0,0,.68); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(14px) scale(.97); transform-origin:bottom right; transition:opacity .2s ease, transform .2s ease, visibility 0s linear .2s; }
.chat-widget.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0) scale(1); transition-delay:0s; }
.chat-widget-header { flex:0 0 auto; display:flex; align-items:center; gap:11px; padding:15px 16px; border-bottom:1px solid var(--border); background:#080808; }
.chat-widget-header .chat-status-dot { flex:0 0 10px; width:10px; height:10px; }
.chat-widget-title { min-width:0; flex:1; }
.chat-widget-title strong, .chat-widget-title small { display:block; }
.chat-widget-title strong { color:var(--text); font-family:var(--serif); font-size:17px; }
.chat-widget-title small { color:var(--text-muted); font-size:10px; }
.chat-widget-close { width:34px; height:34px; padding:0; border:0; border-radius:50%; color:var(--text-muted); background:transparent; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.chat-widget-close:hover { color:var(--text); background:var(--bg-panel); }
.chat-widget-close svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.chat-widget .chat-messages { flex:1; min-height:0; max-height:none; margin:0; padding:18px 14px; scroll-behavior:smooth; }
.chat-widget .chat-empty { margin:auto; max-width:240px; line-height:1.6; }
.chat-widget .chat-form { flex:0 0 auto; padding:12px; border-top:1px solid var(--border); background:#0b0b0b; }
.chat-widget .chat-onboarding { margin-bottom:10px; }
.chat-widget.has-profile .chat-onboarding { display:none; }
.chat-onboarding-copy { margin-bottom:9px; }
.chat-onboarding-copy strong, .chat-onboarding-copy span { display:block; }
.chat-onboarding-copy strong { color:var(--text); font-size:12px; }
.chat-onboarding-copy span { margin-top:2px; color:var(--text-muted); font-size:10px; line-height:1.45; }
.chat-widget .chat-visitor-fields { gap:8px; margin-bottom:0; }
.chat-widget .chat-visitor-fields label { flex:1; min-width:0; }
.chat-widget .chat-visitor-fields label > span { display:block; margin-bottom:4px; color:var(--text-muted); font-size:9px; font-weight:600; text-transform:uppercase; letter-spacing:.8px; }
.chat-widget .chat-visitor-fields input { min-width:0; padding:9px 10px; font-size:12px; }
.chat-widget .chat-compose { align-items:flex-end; gap:8px; }
.chat-widget .chat-compose textarea { min-height:44px; max-height:110px; resize:none; padding:10px 11px; font-size:13px; }
.chat-widget-send { flex:0 0 44px; width:44px; height:44px; padding:0; border:0; border-radius:50%; color:#161108; background:var(--gold); display:flex; align-items:center; justify-content:center; cursor:pointer; }
.chat-widget-send:disabled { opacity:.55; cursor:wait; }
.chat-widget-send svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.chat-widget .chat-error { margin-top:5px; min-height:15px; font-size:10px; }
.sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.chat-success { color: var(--ok); font-size: 12px; min-height: 18px; margin-top: 6px; }
.chat-page { padding-bottom: 70px; }
.chat-card { max-width: 760px; margin: 25px auto 0; background: var(--bg-panel); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; }
.chat-heading, .chat-admin-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--border); padding-bottom: 16px; }
.chat-heading { justify-content: flex-start; }
.chat-heading h1 { margin: 0; font-family: var(--serif); font-size: 30px; }
.chat-heading p { margin: 4px 0 0; color: var(--text-muted); font-size: 13px; }
.chat-status-dot { width: 11px; height: 11px; border-radius: 50%; background: var(--ok); box-shadow: 0 0 0 5px rgba(111,174,122,.12); }
.chat-messages { min-height: 300px; max-height: 440px; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; padding: 18px 4px; }
.chat-bubble { max-width: 78%; display: flex; flex-direction: column; gap: 4px; padding: 10px 13px; border-radius: 10px; font-size: 13px; white-space: pre-wrap; }
.chat-bubble small { color: var(--text-muted); font-size: 10px; }
.chat-bubble.visitor { align-self: flex-end; background: var(--gold); color: #14110a; }
.chat-bubble.visitor small { color: #5b4810; }
.chat-bubble.admin { align-self: flex-start; background: #252525; color: var(--text); }
.chat-empty { margin: auto; color: var(--text-muted); font-size: 13px; text-align: center; }
.chat-form { border-top: 1px solid var(--border); padding-top: 16px; }
.chat-visitor-fields, .chat-compose { display: flex; gap: 10px; }
.chat-visitor-fields { margin-bottom: 10px; }
.chat-visitor-fields input, .chat-compose textarea { width: 100%; background: #101010; border: 1px solid var(--border); color: var(--text); padding: 10px 12px; border-radius: 7px; font: inherit; }
.chat-compose textarea { resize: vertical; min-height: 48px; }
.chat-compose .btn { flex: 0 0 auto; align-self: stretch; }
.chat-error { color: var(--danger); font-size: 12px; min-height: 18px; margin-top: 6px; }
@media (max-width: 560px) { .chat-card { padding:17px; margin-top:10px; } .chat-page .chat-visitor-fields, .chat-page .chat-compose { flex-direction:column; } .chat-page .chat-compose .btn { align-self:flex-end; } .floating-contact-stack { right:15px; bottom:22px; gap:10px; } .floating-contact { width:56px; height:56px; } .floating-contact svg { width:30px; height:30px; } .chat-widget { right:12px; bottom:154px; width:calc(100vw - 24px); height:min(535px, calc(100vh - 170px)); min-height:390px; } }

/* ================= HERO SLIDER (pure CSS) ================= */
.hero-slider { position: relative; width: 100%; height: 560px; overflow: hidden; background: #000; }
.hero-radio { display: none; }
.hero-slides { position: relative; width: 100%; height: 100%; }
.hero-slide {
  position: absolute; inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(28px);
  transition: opacity .8s ease, transform .8s ease, visibility 0s linear .8s;
}
.hero-slide.is-clickable { pointer-events: auto; }
.hero-slide:not(.is-active) { opacity: 0 !important; visibility: hidden; pointer-events: none; }
.hero-slide.is-active {
  opacity: 1 !important;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
  transition-delay: 0s;
}
.hero-slide-image { position: absolute; inset: 0; display: block; }
.hero-slide-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
@media (min-width: 761px) { .hero-slide.hero-first .hero-slide-image img { transform:scaleX(-1); } }
.hero-slide::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.82) 10%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.1) 100%);
}
.hero-content {
  position: relative; z-index: 2; height: 100%;
  display: flex; flex-direction: column; justify-content: center;
  max-width: 560px; padding: 0 60px;
  opacity: 0;
  transform: translateX(18px);
  transition: opacity .8s ease, transform .8s ease;
}
.hero-slide.is-active .hero-content {
  opacity: 1;
  transform: translateX(0);
}
.hero-slide .hero-eyebrow { color: var(--gold); letter-spacing: 3px; font-size: 12px; text-transform: uppercase; font-weight: 700; margin-bottom: 14px; }
.hero-slide h1 { font-size: 52px; color: var(--text); line-height: 1.15; margin-bottom: 16px; }
.hero-slide p.hero-desc { color: var(--text); font-size: 15px; margin-bottom: 26px; max-width: 440px; }
.hero-cta-row { display: flex; gap: 14px; flex-wrap: wrap; }

/* Featured product slide variant */
.hero-slide.featured .hero-content { flex-direction: row; align-items: center; max-width: 1100px; padding: 0 60px; gap: 50px; }
.featured-product-img { width: 300px; flex-shrink: 0; border-radius: var(--radius); box-shadow: 0 20px 60px rgba(0,0,0,.6); }
.featured-price { color: var(--gold); font-size: 26px; font-weight: 700; margin: 14px 0; }
.pill-btn { display:inline-block; padding: 10px 24px; border-radius: 999px; background: var(--gold); color:#14110a; font-weight:700; font-size:12px; letter-spacing:1px; text-transform:uppercase; }
.ribbon-badge { position:absolute; top:20px; right: -34px; transform: rotate(45deg); background: var(--gold); color:#14110a; font-size:11px; font-weight:800; letter-spacing:1px; padding:6px 42px; z-index:5; }

.hero-dots { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); z-index: 10; display: flex; gap: 10px; }
.hero-dots label { width: 9px; height: 9px; border-radius: 50%; border: 1px solid var(--gold); cursor: pointer; transition: background .2s; }
.hero-arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 10;
  width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--gold-line);
  display: flex; align-items: center; justify-content: center; color: var(--gold);
  font-size: 20px; cursor: pointer; opacity: 0; pointer-events: none;
  background: rgba(0,0,0,.35);
}
.hero-arrow.prev { left: 22px; } .hero-arrow.next { right: 22px; }

@media (max-width: 760px) {
  .hero-slider { height: 460px; }
  .hero-slide { transform: translateX(18px); }
  .hero-arrow { top: auto; bottom: 14px; width: 32px; height: 32px; transform: none; }
  .hero-arrow.prev { left: 18px; }
  .hero-arrow.next { right: 18px; }
  .hero-content, .hero-slide.featured .hero-content {
    padding: 0 26px;
    flex-direction: column;
    text-align: left;
    max-width: 100%;
    transform: translateX(12px);
  }
  .hero-slide.is-active .hero-content { transform: translateX(0); }
  .hero-slide h1 { font-size: 32px; }
  .featured-product-img { width: 180px; }
}

/* ================= CATEGORY MARQUEE ================= */
.cat-marquee-wrap { overflow: hidden; padding: 10px 0 30px; }
.cat-marquee-track { display: flex; flex-wrap: wrap; justify-content: center; gap: 34px; width: 100%; }
.cat-marquee-copy { display: contents; }
.cat-marquee-copy-mobile { display: none; }
@keyframes marqueeScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.cat-circle-card { width: 150px; text-align: center; flex-shrink: 0; }
.cat-circle-photo {
  width: 150px; height: 150px; border-radius: 50%; position: relative;
  border: 2px solid var(--gold); padding: 5px; margin: 0 auto 14px;
}
.cat-circle-photo .cat-imgs { position: relative; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; }
.cat-circle-photo .cat-imgs img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 50%;
  opacity: 1;
}
@keyframes catCrossfade {
  0%, 4% { opacity: 0; }
  8%, 28% { opacity: 1; }
  33%, 100% { opacity: 0; }
}
@media (max-width: 760px) {
  .cat-marquee-wrap { overflow: hidden; }
  .cat-marquee-track {
    flex-wrap: nowrap; justify-content: flex-start; width: max-content;
    animation: marqueeScroll linear infinite;
    animation-duration: var(--category-duration, 18s);
  }
  .cat-marquee-copy { display: flex; gap: 34px; flex-shrink: 0; }
  .cat-marquee-copy-mobile { display: flex; }
}
.cat-badge {
  position: absolute; bottom: -6px; left: 50%; transform: translateX(-50%);
  background: var(--gold); color: #14110a; font-size: 9.5px; font-weight: 800;
  padding: 3px 10px; border-radius: 999px; white-space: nowrap; letter-spacing: .5px;
}
.cat-circle-card .cat-name { font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--text); }

/* ================= PRODUCT GRID / CARD ================= */
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
@media (max-width: 980px) { .product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .product-grid { grid-template-columns: 1fr; } }

.product-card { --card-wiggle-delay:0s; background:var(--bg-panel); border-radius:var(--radius); overflow:hidden; border:1px solid var(--border); display:flex; flex-direction:column; }
.product-card:nth-child(2n) { --card-wiggle-delay:.8s; }
.product-card:nth-child(3n) { --card-wiggle-delay:1.6s; }
.product-card:nth-child(4n) { --card-wiggle-delay:2.4s; }
.product-img-wrap { position: relative; aspect-ratio: 1/1; overflow: hidden; background: #000; }
.product-image-link { display:block; width:100%; height:100%; }
.product-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease, filter .3s ease; }
.new-badge { position: absolute; top: 12px; left: 12px; background: var(--gold); color: #14110a; font-size: 10px; font-weight: 800; letter-spacing: 1px; padding: 4px 10px; border-radius: 5px; z-index: 3; }
.product-card:hover .product-img-wrap img { transform: scale(1.06); filter: brightness(.8); }
.product-card-rating { width:max-content; max-width:100%; display:flex; align-items:center; gap:8px; margin:0 0 9px; color:var(--text-muted); font-size:10.5px; line-height:1.2; }
.product-card-rating:hover { color:var(--gold); }
.product-card-rating.is-empty .star-meter { opacity:.5; }
.star-meter { position:relative; display:inline-grid; width:max-content; color:#4b473d; font-family:Arial,sans-serif; font-size:15px; line-height:1; letter-spacing:0; white-space:nowrap; }
.star-meter-base, .star-meter-fill { grid-area:1 / 1; }
.star-meter-fill { width:calc(var(--rating) * 20%); overflow:hidden; color:var(--gold); }
.product-info { padding:16px; display:flex; flex:1; flex-direction:column; }
.product-info .cat-label { color: var(--gold); font-size: 10.5px; text-transform: uppercase; letter-spacing: 1.5px; font-weight: 700; }
.product-info h3 { font-family: var(--serif); font-style: italic; font-size: 18px; margin: 6px 0; color: var(--text); }
.product-info .desc { color: var(--text-muted); font-size: 13px; margin-bottom: 10px; }
.product-info .price { color: var(--gold); font-weight: 700; font-size: 15px; }
.variant-chips { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.product-card-actions { display:grid; grid-template-columns:1fr; gap:8px; margin-top:auto; padding-top:15px; }
.product-card-actions form { min-width:0; }
.product-card-action { position:relative; isolation:isolate; overflow:hidden; width:100%; min-height:42px; padding:8px; border:1px solid var(--gold); border-radius:7px; color:var(--gold); background:transparent; display:flex; align-items:center; justify-content:center; gap:7px; font:inherit; font-size:10.5px; font-weight:800; letter-spacing:.5px; line-height:1.15; white-space:nowrap; cursor:pointer; transition:transform .22s ease, box-shadow .22s ease, background .22s ease; }
.product-card-action::before { content:""; position:absolute; inset:-35% -55%; z-index:-1; background:linear-gradient(105deg, transparent 40%, rgba(233,206,123,.28) 50%, transparent 60%); transform:translateX(-70%); animation:productActionSheen 4.8s ease-in-out infinite; animation-delay:var(--card-wiggle-delay); pointer-events:none; }
.product-card-action.buy-now-action { color:#14110a; background:linear-gradient(100deg, var(--gold), var(--gold-grad-2)); animation:buyNowWiggle 4.8s ease-in-out infinite; animation-delay:calc(var(--card-wiggle-delay) + .4s); }
.product-card-action.buy-now-action::before { display:none; animation:none; }
.product-card-action svg { position:relative; z-index:1; width:17px; height:17px; flex:0 0 17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .22s ease; }
.product-card-action span { position:relative; z-index:1; }
.product-card-action:hover { transform:translateY(-2px); background:var(--gold-line); box-shadow:0 8px 22px rgba(201,162,39,.16); }
.product-card-action:hover svg { transform:scale(1.12); }
.product-card-action.buy-now-action:hover { animation:none; transform:translateY(-2px); background:linear-gradient(100deg, var(--gold-grad-2), var(--gold)); box-shadow:0 8px 24px rgba(201,162,39,.28); }
.product-card-action:active { transform:scale(.97); }
@keyframes productActionSheen {
  0%, 64% { transform:translateX(-70%); opacity:0; }
  70% { opacity:1; }
  86% { transform:translateX(70%); opacity:1; }
  92%, 100% { transform:translateX(70%); opacity:0; }
}
@keyframes buyNowWiggle {
  0%, 70%, 88%, 100% { transform:translateX(0) rotate(0); }
  74% { transform:translateX(-2px) rotate(-.35deg); }
  78% { transform:translateX(2px) rotate(.35deg); }
  82% { transform:translateX(-1px) rotate(-.2deg); }
  86% { transform:translateX(1px) rotate(.2deg); }
}
.chip { border: 1px solid var(--gold-line); color: var(--text-muted); font-size: 11px; padding: 4px 9px; border-radius: 999px; }

/* ================= COLLECTIONS ================= */
.collections-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 22px; }
@media (max-width: 860px) { .collections-grid { grid-template-columns: 1fr; } }
.collection-card { position: relative; border-radius: var(--radius); overflow: hidden; min-height: 300px; background:#080808; display: flex; align-items: flex-end; }
.collection-card-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.collection-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.85), rgba(0,0,0,.15)); }
.collection-card .cc-inner { position: relative; z-index: 2; padding: 22px; width: 100%; display: flex; justify-content: space-between; align-items: flex-end; }
.collection-tag { position: absolute; top: 16px; left: 16px; z-index: 3; background: var(--gold); color: #14110a; font-size: 10px; font-weight: 800; padding: 5px 12px; border-radius: 999px; letter-spacing: 1px; }
.collection-count { position: absolute; top: 16px; right: 16px; z-index: 3; background: rgba(0,0,0,.5); border: 1px solid var(--gold-line); color: var(--gold); font-size: 11px; padding: 5px 12px; border-radius: 999px; }
.collection-card h3 { font-size: 24px; color: #fff; }
.collections-side { display: flex; flex-direction: column; gap: 22px; }
.collections-side .collection-card { min-height: 130px; }
.arrow-btn { width: 34px; height: 34px; border-radius: 50%; background: var(--gold); color: #14110a; display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0; }

/* ================= REELS ================= */
.reels-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 760px) { .reels-grid { display: flex; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; padding-bottom: 4px; } .reels-grid::-webkit-scrollbar { display: none; } .reel-card { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; } }
.reel-card { position: relative; border-radius: var(--radius); overflow: hidden; aspect-ratio: 9/14; background: #000; border: 1px solid var(--border); }
.reel-card video, .reel-card img, .reel-card iframe { width: 100%; height: 100%; object-fit: cover; border: 0; display: block; }
.reel-card video { background: #000; }
.reel-card .reel-title { position: absolute; bottom: 12px; left: 12px; right: 12px; color: #fff; font-size: 13px; font-weight: 600; z-index: 2; pointer-events: none; }
.reel-card::after { content:""; position:absolute; inset:0; background: linear-gradient(0deg, rgba(0,0,0,.7), transparent 45%); pointer-events: none; }

/* ================= TRUST STRIP ================= */
.trust-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
@media (max-width: 860px) { .trust-strip { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .trust-strip { grid-template-columns: 1fr; } }
.trust-item { text-align: left; }
.trust-item .icon { font-size: 26px; color: var(--gold); margin-bottom: 12px; }
.trust-item h4 { font-size: 15px; color: var(--text); margin-bottom: 6px; }
.trust-item p { font-size: 13px; color: var(--text-muted); margin: 0; }

/* ================= FOOTER ================= */
.site-footer { background: #000; border-top: 1px solid var(--gold-line); padding: 60px 0 0; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 34px; padding-bottom: 40px; }
@media (max-width: 860px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .footer-grid { grid-template-columns: 1fr; } }
.site-footer h5 { color: var(--gold); font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 16px; }
.site-footer li { margin-bottom: 10px; }
.site-footer a { color: var(--text-muted); font-size: 13.5px; }
.site-footer a:hover { color: var(--gold); }
.footer-brand > img { width:46px; height:46px; margin-bottom:12px; border-radius:50%; clip-path:circle(50% at 50% 50%); object-fit:cover; }
.footer-brand p { color: var(--text-muted); font-size: 13px; max-width: 260px; }
.social-row { display: flex; gap: 10px; margin-top: 16px; }
.social-row a { width:40px; height:40px; border-radius:50%; border:1px solid var(--border); background:#0c0c0c; display:flex; align-items:center; justify-content:center; transition:transform .2s ease, border-color .2s ease, background .2s ease; }
.social-row a:hover { transform:translateY(-2px); background:#151515; }
.social-row svg { width:20px; height:20px; display:block; }
.social-row .social-whatsapp { color:#25d366; }
.social-row .social-whatsapp:hover { border-color:#25d366; }
.social-row .social-whatsapp svg, .social-row .social-tiktok svg { fill:currentColor; stroke:none; }
.social-row .social-instagram { color:#e45b8e; }
.social-row .social-instagram:hover { border-color:#e45b8e; }
.social-row .social-instagram svg { fill:none; stroke:currentColor; stroke-width:1.8; }
.social-row .social-instagram .social-icon-dot { fill:currentColor; stroke:none; }
.social-row .social-tiktok { color:#f4f1e8; }
.social-row .social-tiktok:hover { border-color:#25f4ee; color:#fe2c55; }

/* ---------- CUSTOMER REVIEWS ---------- */
.customer-reviews-section { position:relative; overflow:hidden; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:#0d0d0d; }
.reviews-heading { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:30px; }
.reviews-heading h2 { margin:8px 0 0; font-family:var(--font-display); font-size:48px; font-weight:500; line-height:1.08; }
.reviews-heading > p { max-width:430px; margin:0 0 4px; color:var(--text-muted); font-size:13px; line-height:1.7; }
.reviews-marquee { width:100%; overflow:hidden; mask-image:linear-gradient(to right, transparent, #000 5%, #000 95%, transparent); }
.reviews-track { display:flex; width:max-content; animation:reviewsFlow var(--review-duration) linear infinite; will-change:transform; }
.reviews-set { display:flex; gap:16px; padding:0 16px 0 0; }
.reviews-marquee:hover .reviews-track { animation-play-state:paused; }
.reviews-marquee.is-static { padding:0 max(24px, calc((100vw - 1180px) / 2)); mask-image:none; }
.reviews-marquee.is-static .reviews-track { width:100%; animation:none; }
.reviews-marquee.is-static .reviews-set { width:100%; padding:0; }
.reviews-marquee.is-static .customer-review-card { width:min(540px, 100%); }
.customer-review-card { position:relative; display:flex; flex-direction:column; width:360px; min-height:242px; padding:26px; overflow:hidden; border:1px solid #31302c; border-radius:8px; background:#151515; box-shadow:0 16px 34px rgba(0,0,0,.2); transition:transform .25s ease, border-color .25s ease, background .25s ease; }
.customer-review-card::after { content:""; position:absolute; right:0; bottom:0; width:62px; height:3px; background:var(--gold); transform-origin:right; transition:width .25s ease; }
.customer-review-card:hover { transform:translateY(-5px); border-color:var(--gold-line); background:#181714; }
.customer-review-card:hover::after { width:100%; }
.review-quote { width:29px; height:29px; margin-bottom:19px; fill:var(--gold); opacity:.82; }
.review-card-rating { margin:-8px 0 15px; }
.review-card-rating .star-meter { font-size:17px; }
.review-copy { flex:1; margin:0 0 24px; color:#eee9df; font-family:var(--font-display); font-size:17px; line-height:1.58; }
.review-author { display:flex; align-items:center; gap:12px; }
.review-avatar { width:43px; height:43px; flex:0 0 43px; display:grid; place-items:center; border:1px solid var(--gold-line); border-radius:50%; color:var(--gold); background:#201c12; }
.review-avatar svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.review-author-copy { min-width:0; display:flex; flex-direction:column; gap:4px; }
.review-author-copy strong { color:var(--text); font-size:12px; text-transform:uppercase; }
.review-author-copy small { display:flex; align-items:center; gap:5px; color:#a7a298; font-size:10.5px; }
.review-author-copy small svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.8; }
.review-product-link { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:18px -26px -26px; padding:13px 26px; border-top:1px solid var(--border); color:#a7a298; background:#111; font-size:10.5px; line-height:1.4; }
.review-product-link:hover { color:var(--gold); background:#17150f; }
@keyframes reviewsFlow { to { transform:translateX(-50%); } }
@media (max-width:760px) {
  .reviews-heading { display:block; margin-bottom:24px; }
  .reviews-heading h2 { font-size:31px; }
  .reviews-heading > p { margin-top:13px; }
  .reviews-marquee { mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); }
  .reviews-set { gap:12px; padding-right:12px; }
  .customer-review-card { width:min(330px, calc(100vw - 56px)); min-height:230px; padding:22px; }
  .review-copy { font-size:16px; }
  .review-product-link { margin:18px -22px -22px; padding:12px 22px; }
}
@media (prefers-reduced-motion:reduce) {
  .reviews-marquee { overflow-x:auto; mask-image:none; scrollbar-width:thin; }
  .reviews-track { animation:none; }
  .reviews-set[aria-hidden="true"] { display:none; }
  .customer-review-card { transition:none; }
}
.footer-bottom { border-top: 1px solid var(--border); padding: 18px 0; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; font-size: 12px; color: var(--text-muted); }
.footer-bottom a { color: var(--text-muted); margin-left: 14px; }

/* ================= ABOUT / CONTACT ================= */
.page-hero { padding: 70px 0 40px; text-align: center; border-bottom: 1px solid var(--border); }
.page-hero h1 { font-size: 40px; margin-bottom: 12px; }
.page-hero p { color: var(--text-muted); max-width: 560px; margin: 0 auto; }
.gold-divider { width: 70px; height: 2px; background: linear-gradient(90deg, var(--gold-grad-1), var(--gold-grad-2)); margin: 20px auto 0; }
.about-card { display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: center; background: var(--bg-panel); border-radius: var(--radius); padding: 40px; border: 1px solid var(--border); }
@media (max-width: 780px) { .about-card { grid-template-columns: 1fr; } }
.about-card img { border-radius: var(--radius); }
.pillars-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-top: 44px; }
@media (max-width: 860px) { .pillars-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .pillars-grid { grid-template-columns: 1fr; } }
.pillar-card { background: var(--bg-panel); border: 1px solid var(--border); border-radius: var(--radius); padding: 26px 20px; text-align: center; }
.pillar-card .icon { font-size: 28px; color: var(--gold); margin-bottom: 12px; }
.pillar-card h4 { font-size: 15px; margin-bottom: 8px; }
.pillar-card p { font-size: 13px; color: var(--text-muted); }

.contact-page { padding-bottom:72px; }
.contact-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:34px; padding:18px 0 34px; border-bottom:1px solid var(--border); }
.contact-kicker { display:block; margin-bottom:7px; color:var(--gold); font-size:10px; font-weight:800; letter-spacing:2px; }
.contact-intro h1 { font-size:42px; line-height:1.12; }
.contact-intro > div:first-child > p { max-width:570px; margin:9px 0 0; color:var(--text-muted); font-size:13.5px; }
.contact-intro-note { flex:0 0 auto; padding:12px 15px; border-left:2px solid var(--gold); color:var(--text-muted); display:flex; align-items:center; gap:10px; font-size:10px; }
.contact-intro-note svg { width:22px; height:22px; flex:0 0 22px; color:var(--gold); fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.contact-intro-note strong { display:block; color:var(--text); font-size:11px; }
.contact-layout { display:grid; grid-template-columns:minmax(0, 1.35fr) minmax(300px, .65fr); gap:32px; align-items:start; padding-top:34px; }
.contact-form-panel { min-width:0; padding:26px; border:1px solid var(--border); border-radius:8px; background:var(--bg-panel); }
.contact-panel-heading { display:flex; align-items:center; gap:12px; margin-bottom:23px; padding-bottom:18px; border-bottom:1px solid var(--border); }
.contact-step-icon { width:38px; height:38px; flex:0 0 38px; border:1px solid var(--gold-line); border-radius:7px; color:var(--gold); background:#111; display:flex; align-items:center; justify-content:center; }
.contact-step-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.contact-panel-heading h2 { font-size:21px; }
.contact-panel-heading p { margin:2px 0 0; color:var(--text-muted); font-size:10.5px; }
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.contact-order-field, .contact-message-field { grid-column:1 / -1; }
.contact-form .form-group { margin-bottom:16px; }
.contact-form .form-group label { color:#d5cdbd; font-size:10.5px; font-weight:600; }
.contact-form .form-group label small { margin-left:4px; color:var(--text-muted); font-size:9px; font-weight:400; text-transform:none; }
.contact-form .form-group input, .contact-form .form-group select, .contact-form .form-group textarea { min-height:48px; border-color:#343434; background:#101010; }
.contact-form .form-group textarea { min-height:130px; resize:vertical; }
.contact-submit { width:100%; min-height:64px; padding:10px 16px; border:0; border-radius:8px; color:#151109; background:linear-gradient(100deg,var(--gold-grad-1),var(--gold-grad-2)); box-shadow:0 14px 32px rgba(201,162,39,.15); display:flex; align-items:center; justify-content:center; gap:11px; font:inherit; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease; }
.contact-submit:hover { transform:translateY(-2px); box-shadow:0 17px 38px rgba(201,162,39,.24); }
.contact-submit > svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.contact-submit span, .contact-submit strong, .contact-submit small { display:block; text-align:left; }
.contact-submit strong { font-size:12px; letter-spacing:.8px; }
.contact-submit small { margin-top:1px; font-size:9px; font-weight:500; }
.contact-privacy { margin:11px 0 0; color:var(--text-muted); display:flex; align-items:center; justify-content:center; gap:6px; font-size:9.5px; text-align:center; }
.contact-privacy svg { width:15px; height:15px; flex:0 0 15px; color:var(--gold); fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.contact-errors { margin-bottom:18px; padding:11px 14px; border:1px solid rgba(184,92,92,.45); border-radius:7px; color:#e19595; background:rgba(184,92,92,.09); font-size:11px; }
.contact-errors p { margin:0; }
.contact-errors p + p { margin-top:3px; }
.contact-success { margin-bottom:20px; padding:13px 15px; border:1px solid rgba(111,174,122,.42); border-radius:7px; color:var(--text-muted); background:rgba(111,174,122,.08); display:flex; align-items:center; gap:11px; }
.contact-success > span { width:34px; height:34px; flex:0 0 34px; border-radius:50%; color:#101510; background:var(--ok); display:flex; align-items:center; justify-content:center; }
.contact-success svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.contact-success strong { display:block; color:#a9d8b0; font-size:12px; }
.contact-success p { margin:2px 0 0; font-size:10.5px; }
.contact-options { min-width:0; }
.contact-options-heading { margin-bottom:17px; }
.contact-options-heading > span { color:var(--gold); font-size:9.5px; font-weight:800; letter-spacing:1.5px; }
.contact-options-heading h2 { margin:5px 0 6px; font-size:24px; }
.contact-options-heading p { margin:0; color:var(--text-muted); font-size:11.5px; }
.contact-methods { display:grid; gap:10px; }
.contact-method { min-width:0; min-height:68px; padding:11px 12px; border:1px solid var(--border); border-radius:8px; background:#121212; display:grid; grid-template-columns:42px minmax(0,1fr) 20px; align-items:center; gap:11px; transition:border-color .2s ease,background .2s ease,transform .2s ease; }
.contact-method:hover { border-color:var(--gold-line); background:#181713; transform:translateX(2px); }
.contact-method > span { width:42px; height:42px; border:1px solid var(--gold-line); border-radius:7px; color:var(--gold); background:#0c0c0c; display:flex; align-items:center; justify-content:center; }
.contact-method > span svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.contact-method-whatsapp > span { color:#fff; border-color:#25d366; background:#25d366; }
.contact-method-whatsapp > span svg { width:23px; height:23px; fill:currentColor; stroke:none; }
.contact-method div { min-width:0; }
.contact-method strong, .contact-method small { display:block; min-width:0; }
.contact-method strong { color:var(--text); font-size:11.5px; }
.contact-method small { overflow:hidden; margin-top:2px; color:var(--text-muted); font-size:9.5px; text-overflow:ellipsis; white-space:nowrap; }
.contact-method-arrow { width:17px; height:17px; color:var(--text-muted); fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.contact-location { margin-top:16px; padding:17px; border-top:1px solid var(--gold-line); border-bottom:1px solid var(--gold-line); color:var(--text-muted); display:flex; align-items:flex-start; gap:11px; }
.contact-location > span { color:var(--gold); }
.contact-location svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.contact-location strong { display:block; color:var(--text); font-size:11px; }
.contact-location p { margin:3px 0 0; font-size:10.5px; }
@media (max-width:860px) { .contact-layout { grid-template-columns:1fr; } .contact-options { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:20px; } .contact-options-heading { margin:0; } .contact-location { grid-column:1 / -1; } }
@media (max-width:620px) { .contact-page { padding-bottom:52px; } .contact-intro { display:block; padding:8px 0 24px; } .contact-intro h1 { font-size:32px; } .contact-intro-note { margin-top:17px; } .contact-layout { gap:28px; padding-top:24px; } .contact-form-panel { padding:19px 16px; } .contact-fields { grid-template-columns:1fr; } .contact-order-field,.contact-message-field { grid-column:auto; } .contact-options { display:block; } .contact-options-heading { margin-bottom:16px; } }
.cart-page { max-width:1240px; }
.checkout-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; padding:18px 0 30px; }
.checkout-kicker { display:block; margin-bottom:7px; color:var(--gold); font-size:10px; font-weight:800; letter-spacing:2px; }
.checkout-intro h1 { margin:0; color:var(--text); font-size:38px; line-height:1.15; }
.checkout-intro p { margin:8px 0 0; color:var(--text-muted); font-size:13px; }
.checkout-assurance { display:flex; align-items:center; gap:18px; color:var(--text-muted); font-size:11px; }
.checkout-assurance span { display:flex; align-items:center; gap:6px; white-space:nowrap; }
.checkout-assurance svg { width:18px; height:18px; color:var(--gold); fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.checkout-layout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(340px, 410px); gap:30px; align-items:start; }
.checkout-main { min-width:0; }
.checkout-form { display:grid; gap:18px; }
.checkout-section { padding:25px; border:1px solid var(--border); border-radius:8px; background:var(--bg-panel); }
.checkout-section-heading { display:flex; align-items:center; gap:12px; margin-bottom:22px; padding-bottom:17px; border-bottom:1px solid var(--border); }
.checkout-section-heading > span { width:32px; height:32px; flex:0 0 32px; border-radius:50%; color:#151109; background:var(--gold); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; }
.checkout-section-heading h2 { margin:0; color:var(--text); font-size:20px; }
.checkout-section-heading p { margin:2px 0 0; color:var(--text-muted); font-size:11px; }
.checkout-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.checkout-address { grid-column:1 / -1; }
.checkout-form .form-group { margin-bottom:16px; }
.checkout-form .form-group label { color:#d5cdbd; font-size:10.5px; font-weight:600; }
.checkout-form .form-group label small { margin-left:5px; color:var(--text-muted); font-size:9px; font-weight:400; text-transform:none; }
.checkout-form .form-group input, .checkout-form .form-group textarea { min-height:48px; border-color:#343434; background:#101010; }
.checkout-form .form-group textarea { min-height:94px; resize:vertical; }
.checkout-submit { width:100%; min-height:66px; padding:11px 16px; border:0; border-radius:8px; color:#151109; background:linear-gradient(100deg, var(--gold-grad-1), var(--gold-grad-2)); box-shadow:0 14px 32px rgba(201,162,39,.16); display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:12px; font:inherit; text-align:left; cursor:pointer; transition:transform .2s ease, box-shadow .2s ease; }
.checkout-submit:hover { transform:translateY(-2px); box-shadow:0 17px 38px rgba(201,162,39,.24); }
.checkout-submit svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.checkout-submit span, .checkout-submit strong, .checkout-submit small { display:block; min-width:0; }
.checkout-submit strong { font-size:12px; letter-spacing:.8px; }
.checkout-submit small { margin-top:2px; font-size:9px; font-weight:500; }
.checkout-submit b { font-size:13px; white-space:nowrap; }
.checkout-privacy { margin:-5px 0 0; color:var(--text-muted); display:flex; align-items:center; justify-content:center; gap:6px; font-size:10px; text-align:center; }
.checkout-privacy svg { width:15px; height:15px; flex:0 0 15px; color:var(--gold); fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.checkout-order-summary { position:sticky; top:108px; min-width:0; }
.checkout-summary-sticky { overflow:hidden; border:1px solid var(--gold-line); border-radius:8px; background:#121212; }
.checkout-order-heading { padding:19px 20px; border-bottom:1px solid var(--border); display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.checkout-order-heading span { color:var(--gold); font-size:9px; font-weight:800; letter-spacing:1.5px; }
.checkout-order-heading h2 { margin:3px 0 0; font-size:19px; }
.checkout-order-heading a { color:var(--text-muted); font-size:10px; text-decoration:underline; text-underline-offset:3px; }
.checkout-order-items { padding:3px 20px; }
.checkout-order-item { display:grid; grid-template-columns:60px minmax(0,1fr) auto; gap:11px; align-items:start; padding:15px 0; border-bottom:1px solid var(--border); }
.checkout-order-item:last-child { border-bottom:0; }
.checkout-order-item > img { width:60px; height:68px; border-radius:6px; object-fit:cover; background:#080808; }
.checkout-order-item > div { min-width:0; }
.checkout-order-item > div > strong { display:-webkit-box; overflow:hidden; color:var(--text); font-family:var(--serif); font-size:12.5px; line-height:1.3; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.checkout-order-item > div > span { display:block; margin-top:3px; color:var(--text-muted); font-size:9px; }
.checkout-order-item > b { padding-top:2px; color:var(--gold); font-size:10.5px; white-space:nowrap; }
.checkout-item-controls { display:flex; align-items:center; gap:7px; margin-top:8px; }
.checkout-item-controls .quantity-control { height:29px; }
.checkout-item-controls .quantity-btn { width:27px; font-size:17px; }
.checkout-item-controls .quantity-control input { width:31px; font-size:10px; }
.checkout-remove { width:29px; height:29px; padding:0; border:1px solid rgba(184,92,92,.3); border-radius:6px; color:#d18888; background:rgba(184,92,92,.08); display:flex; align-items:center; justify-content:center; cursor:pointer; }
.checkout-remove:hover { background:rgba(184,92,92,.16); }
.checkout-remove svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.checkout-coupon { padding:16px 20px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.checkout-coupon > label { display:block; margin-bottom:7px; color:var(--text-muted); font-size:9.5px; font-weight:600; text-transform:uppercase; letter-spacing:.6px; }
.checkout-coupon > div { display:flex; gap:7px; }
.checkout-coupon input { min-width:0; flex:1; height:39px; padding:8px 10px; border:1px solid var(--border); border-radius:6px; color:var(--text); background:#0c0c0c; font:inherit; font-size:11px; }
.checkout-coupon input:focus { outline:none; border-color:var(--gold); }
.checkout-coupon button { flex:0 0 auto; padding:7px 13px; border:1px solid var(--gold); border-radius:6px; color:var(--gold); background:transparent; font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
.checkout-coupon p { margin:8px 0 0; color:var(--ok); font-size:10px; }
.checkout-totals { padding:16px 20px; }
.checkout-totals > div { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:9px; color:var(--text-muted); font-size:11px; }
.checkout-totals > div strong { color:var(--text); font-size:11px; text-align:right; }
.checkout-totals .checkout-total-row { margin:14px 0 0; padding-top:13px; border-top:1px solid var(--border); color:var(--text); font-size:14px; font-weight:600; }
.checkout-totals .checkout-total-row strong { color:var(--gold); font-size:18px; }
.checkout-support-note { margin:0 20px 18px; padding:11px; border:1px solid var(--border); border-radius:7px; color:var(--text-muted); background:#0c0c0c; display:flex; align-items:center; gap:9px; font-size:9.5px; }
.checkout-support-note svg { width:20px; height:20px; flex:0 0 20px; color:var(--gold); fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.checkout-support-note strong { display:block; color:var(--text); font-size:10px; }
.cart-items-panel { min-width: 0; padding: 24px; background: var(--bg-panel); border: 1px solid var(--border); border-radius: var(--radius); }
.cart-items-heading, .cart-items-footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; color: var(--text-muted); font-size: 12px; text-transform: uppercase; letter-spacing: 1px; }
.cart-items-heading { padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.cart-item { display: grid; grid-template-columns: 82px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--border); }
.cart-item-image { width: 82px; height: 92px; object-fit: cover; border-radius: 9px; background: #101010; }
.cart-item-info { min-width: 0; }
.cart-item-info strong { display: block; color: var(--text); font-family: var(--serif); font-size: 17px; line-height: 1.3; overflow-wrap: anywhere; }
.cart-item-info > span { display: block; margin-top: 5px; color: var(--text-muted); font-size: 12px; }
.cart-item-actions { display: flex; align-items: center; gap: 14px; margin-top: 14px; }
.quantity-control { display: inline-flex; align-items: center; height: 34px; border: 1px solid var(--border); border-radius: 7px; overflow: hidden; background: #101010; }
.quantity-btn { width: 32px; height: 100%; border: 0; color: var(--gold); background: transparent; font-size: 20px; line-height: 1; cursor: pointer; }
.quantity-btn:hover { background: var(--gold-line); }
.quantity-control input { width: 38px; height: 100%; padding: 0; border: 0; border-left: 1px solid var(--border); border-right: 1px solid var(--border); outline: 0; color: var(--text); background: transparent; text-align: center; font: inherit; font-size: 13px; }
.quantity-control input::-webkit-inner-spin-button, .quantity-control input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.cart-remove { padding: 0; border: 0; color: var(--danger); background: transparent; font: inherit; font-size: 12px; cursor: pointer; }
.cart-remove:hover { text-decoration: underline; }
.cart-item-total { color: var(--gold); font-size: 15px; white-space: nowrap; }
.cart-items-footer { padding-top: 16px; text-transform: none; letter-spacing: 0; }
.cart-items-footer .btn { padding: 10px 16px; font-size: 11px; }
@media (max-width: 900px) { .checkout-layout { grid-template-columns:1fr; } .checkout-order-summary { position:static; order:-1; } }
@media (max-width: 620px) { .checkout-intro { display:block; padding:8px 0 22px; } .checkout-intro h1 { font-size:30px; } .checkout-assurance { margin-top:16px; gap:12px; flex-wrap:wrap; } .checkout-section { padding:19px 16px; } .checkout-fields { grid-template-columns:1fr; } .checkout-address { grid-column:auto; } .checkout-submit { grid-template-columns:22px minmax(0,1fr); } .checkout-submit b { grid-column:2; margin-top:-8px; } }
.form-group { margin-bottom: 18px; }
.form-group label { display: block; font-size: 12.5px; color: var(--text-muted); margin-bottom: 6px; text-transform: uppercase; letter-spacing: .5px; }
.form-group input, .form-group textarea, .form-group select {
  width: 100%; background: #101010; border: 1px solid var(--border); color: var(--text);
  padding: 12px 14px; border-radius: 8px; font-size: 14px; font-family: var(--sans);
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { outline: none; border-color: var(--gold); }
.alert { padding: 14px 18px; border-radius: 8px; font-size: 13.5px; margin-bottom: 18px; }
.alert-success { background: rgba(111,174,122,.12); border: 1px solid var(--ok); color: var(--ok); }
.alert-error { background: rgba(184,92,92,.12); border: 1px solid var(--danger); color: var(--danger); }
.order-success-overlay { position:fixed; inset:0; z-index:500; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(0,0,0,.78); backdrop-filter:blur(5px); animation:successBackdrop .28s ease both; }
.order-success-overlay.is-hidden { display:none; }
.order-success-card { position:relative; width:min(460px, 100%); padding:38px 34px 32px; border:1px solid var(--gold-line); border-radius:12px; background:#151515; box-shadow:0 28px 90px rgba(0,0,0,.7); text-align:center; animation:successCardIn .48s cubic-bezier(.2,.85,.25,1.2) both; }
.order-success-close { position:absolute; top:12px; right:12px; width:34px; height:34px; padding:0; border:0; border-radius:50%; color:var(--text-muted); background:transparent; font-size:24px; line-height:1; cursor:pointer; }
.order-success-close:hover { color:var(--text); background:var(--bg-panel-2); }
.order-success-icon { width:76px; height:76px; margin:0 auto 20px; border-radius:50%; color:#151515; background:var(--gold); display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 10px rgba(201,162,39,.1); }
.order-success-icon svg { width:40px; height:40px; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.order-success-icon path { stroke-dasharray:40; stroke-dashoffset:40; animation:successCheck .55s .28s ease forwards; }
.order-success-kicker { display:block; margin-bottom:7px; color:var(--gold); font-size:10px; font-weight:800; letter-spacing:2px; }
.order-success-card h2 { margin:0 0 10px; font-size:30px; }
.order-success-card p { margin:0 auto 22px; max-width:360px; color:var(--text-muted); font-size:13.5px; }
.order-success-number { margin:0 auto 24px; padding:13px 16px; border:1px solid var(--gold-line); border-radius:8px; color:var(--text-muted); background:#0c0c0c; font-size:12px; }
.order-success-number strong { display:block; margin-top:2px; color:var(--gold); font-size:18px; letter-spacing:1px; }
@keyframes successBackdrop { from { opacity:0; } to { opacity:1; } }
@keyframes successCardIn { from { opacity:0; transform:translateY(20px) scale(.94); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes successCheck { to { stroke-dashoffset:0; } }

/* ================= PRODUCT DETAIL / CATEGORY LISTING ================= */
.breadcrumb { font-size: 12.5px; color: var(--text-muted); padding: 20px 0; }
.breadcrumb a { color: var(--gold); }
.product-detail { display: grid; grid-template-columns: .9fr 1.1fr; gap: 44px; padding-bottom: 60px; }
@media (max-width: 820px) { .product-detail { grid-template-columns: 1fr; } }
.pd-gallery-main { border-radius: var(--radius); overflow: hidden; aspect-ratio: 1/1; background:#000; }
.product-gallery-radio { display: none; }
.pd-gallery-main { position: relative; }
.pd-gallery-main img { width:100%; height:100%; object-fit: cover; display:none; }
.pd-gallery-main img:first-child { display:block; }
.pd-thumbs { display: flex; gap: 10px; margin-top: 12px; }
.pd-thumbs label { display:block; cursor:pointer; }
.pd-thumbs img { width: 70px; height: 70px; object-fit: cover; border-radius: 8px; border: 1px solid var(--border); display:block; }
.pd-thumbs label:hover img { border-color: var(--gold); }
.pd-info .cat-label { color: var(--gold); text-transform: uppercase; font-size: 11px; letter-spacing: 1.5px; font-weight: 700; }
.pd-info h1 { font-size: 30px; margin: 10px 0; }
.pd-rating-summary { width:max-content; display:flex; align-items:center; gap:10px; margin:0 0 14px; color:var(--text-muted); font-size:11.5px; }
.pd-rating-summary:hover { color:var(--gold); }
.pd-rating-summary.is-empty .star-meter { opacity:.5; }
.pd-info .price { font-size: 24px; color: var(--gold); font-weight: 700; margin-bottom: 18px; }
.pd-info .desc { color: var(--text-muted); font-size: 14.5px; margin-bottom: 24px; }
.product-features { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--border); color: var(--text-muted); font-size: 14px; line-height: 1.8; }
.product-features h3 { color: var(--text); font-family: var(--serif); font-size: 20px; margin-bottom: 8px; }
.pd-buy-now-form, .pd-add-cart-form { display:inline-block; margin:0; }
.pd-buy-now-form .btn, .pd-add-cart-form .btn { min-width:150px; }
.pd-variant-group { margin-bottom: 24px; }
.pd-variant-group .vg-label { font-size: 12px; text-transform: uppercase; letter-spacing: 1px; color: var(--text-muted); margin-bottom: 10px; }
.pd-cta-row { display: flex; gap: 14px; align-items: stretch; flex-wrap: wrap; }
.pd-cta-row > a, .pd-cta-row > form { flex: 0 1 auto; }
.pd-action-btn { min-height:48px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:inherit; line-height:1.2; white-space:nowrap; }
.pd-action-btn svg { width:20px; height:20px; flex:0 0 20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.pd-action-btn.btn-whatsapp { border-color:#25d366; color:#f5f1e6; background:#102016; }
.pd-action-btn.btn-whatsapp svg { fill:#25d366; stroke:none; }
.pd-action-btn.btn-whatsapp:hover { background:#15291c; box-shadow:0 0 18px rgba(37,211,102,.2); transform:translateY(-1px); }
.product-reviews-section { padding:58px 0 70px; border-top:1px solid var(--border); scroll-margin-top:100px; outline:none; }
.product-reviews-section:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.product-reviews-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:26px; }
.product-reviews-heading h2 { margin:7px 0 0; font-family:var(--font-display); font-size:38px; font-weight:500; }
.product-rating-overview { display:flex; align-items:center; gap:12px; }
.product-rating-overview > strong { color:var(--text); font-family:var(--font-display); font-size:43px; line-height:1; font-weight:500; }
.product-rating-overview > span { display:flex; flex-direction:column; gap:6px; }
.product-rating-overview .star-meter { font-size:18px; }
.product-rating-overview small { color:var(--text-muted); font-size:10.5px; }
.product-reviews-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.product-review-card { width:auto; min-height:232px; }
.product-review-card .review-card-rating { margin:0 0 18px; }
.product-reviews-empty { padding:32px; border:1px dashed var(--border); border-radius:8px; color:var(--text-muted); background:#111; text-align:center; font-size:13px; }
@media (max-width:900px) { .product-reviews-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:620px) {
  .product-reviews-heading { display:block; }
  .product-reviews-heading h2 { font-size:29px; }
  .product-rating-overview { margin-top:18px; }
  .product-rating-overview > strong { font-size:38px; }
  .product-reviews-grid { grid-template-columns:1fr; }
  .product-review-card { width:100%; }
}

/* Category listing filter bar */
.filter-bar { display:flex; gap:14px; flex-wrap:wrap; align-items:center; padding: 26px 0; }
.filter-bar select, .filter-bar input[type=text] {
  background: var(--bg-panel); border: 1px solid var(--border); color: var(--text);
  padding: 10px 14px; border-radius: 8px; font-size: 13.5px;
}
@media (max-width: 560px) {
  .pd-info { min-width: 0; }
  .pd-info h1 { font-size: 28px; overflow-wrap: anywhere; }
  .pd-cta-row { gap: 10px; }
  .pd-cta-row > a, .pd-cta-row > form { flex: 1 1 calc(50% - 5px); min-width: 0; }
  .pd-cta-row > .pd-buy-now-form { flex-basis:100%; }
  .pd-cta-row .btn { width:100%; min-width:0; padding:11px 12px; border-radius:8px; font-size:11.5px; letter-spacing:.5px; text-align:center; }
  .pd-buy-now-form .btn, .pd-add-cart-form .btn { min-width:0; }
}
@media (max-width: 420px) {
  .pd-cta-row > a, .pd-cta-row > form { flex-basis:100%; }
}

.payment-select-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.pm-radio { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.payment-option { position:relative; min-width:0; min-height:76px; margin:0 !important; padding:10px 38px 10px 10px; border:1px solid var(--border); border-radius:7px; color:var(--text-muted); background:#111; display:flex !important; align-items:center; gap:10px; text-transform:none !important; letter-spacing:0 !important; cursor:pointer; transition:border-color .18s ease, background .18s ease, transform .18s ease; }
.payment-option:hover { border-color:#4a4330; transform:translateY(-1px); }
.pm-radio:focus-visible + .payment-option { outline:2px solid var(--gold); outline-offset:2px; }
.pm-radio:checked + .payment-option { border-color:var(--gold); background:#1d1a12; box-shadow:0 0 0 1px rgba(201,162,39,.12) inset; }
.pm-radio:disabled + .payment-option { opacity:.38; cursor:not-allowed; transform:none; }
.payment-option-copy { min-width:0; }
.payment-option-copy strong, .payment-option-copy small { display:block; }
.payment-option-copy strong { color:var(--text); font-size:11px; line-height:1.3; }
.payment-option-copy small { margin-top:3px; color:var(--text-muted); font-size:8.5px; line-height:1.3; }
.payment-logo { width:74px; height:38px; flex:0 0 74px; padding:5px 7px; border-radius:5px; background:#fff; display:flex; align-items:center; justify-content:center; }
.payment-logo img { max-width:100%; max-height:28px; object-fit:contain; }
.payment-icon { width:38px; height:38px; flex:0 0 38px; border:1px solid var(--gold-line); border-radius:7px; color:var(--gold); background:#19160f; display:flex; align-items:center; justify-content:center; }
.payment-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.payment-check { position:absolute; top:8px; right:8px; width:19px; height:19px; border:1px solid var(--border); border-radius:50%; color:#151109; display:flex; align-items:center; justify-content:center; }
.payment-check svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.pm-radio:checked + .payment-option .payment-check { border-color:var(--gold); background:var(--gold); }
.pm-panels { margin-top:14px; }
.pm-panel { display:none; padding:16px; border:1px solid var(--gold-line); border-radius:7px; background:#10100f; }
.pm-panel-title { display:flex; align-items:center; gap:11px; }
.pm-panel-title > svg { width:27px; height:27px; flex:0 0 27px; color:var(--gold); fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.pm-panel-title strong, .pm-panel-title span { display:block; }
.pm-panel-title strong { color:var(--text); font-size:12px; }
.pm-panel-title span { margin-top:2px; color:var(--text-muted); font-size:10px; }
.transfer-heading { margin-bottom:13px; }
.transfer-heading strong, .transfer-heading span { display:block; }
.transfer-heading strong { color:var(--text); font-size:12px; }
.transfer-heading span { margin-top:3px; color:var(--text-muted); font-size:9.5px; }
.transfer-detail { position:relative; display:grid; grid-template-columns:112px minmax(0,1fr) 28px; align-items:center; gap:8px; padding:9px 0; border-top:1px solid var(--border); }
.transfer-detail > span { color:var(--text-muted); font-size:9.5px; }
.transfer-detail > strong { min-width:0; overflow-wrap:anywhere; color:var(--text); font-size:11px; }
.copy-payment { width:28px; height:28px; padding:0; border:1px solid var(--border); border-radius:6px; color:var(--gold); background:#181818; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.copy-payment:hover { border-color:var(--gold); }
.copy-payment svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.copy-payment.is-copied { color:#151109; border-color:var(--ok); background:var(--ok); }
.transfer-instructions { margin:10px 0 0; color:var(--text-muted); font-size:9.5px; line-height:1.5; }
.cod-status { margin:10px 0 0; color:var(--text-muted); font-size:10px; }
#payment-method-group:has(#pm-cod:checked) .pm-panels #panel-cod { display: block; }
#payment-method-group:has(#pm-easypaisa:checked) .pm-panels #panel-easypaisa { display: block; }
#payment-method-group:has(#pm-jazzcash:checked) .pm-panels #panel-jazzcash { display: block; }
#payment-method-group:has(#pm-sadapay:checked) .pm-panels #panel-sadapay { display: block; }
#payment-method-group:has(#pm-bank-account:checked) .pm-panels #panel-bank_account { display: block; }
.pm-shared-wallet-fields { display:none; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; padding-top:15px; border-top:1px solid var(--border); }
.pm-shared-wallet-fields .form-group { margin:0; }
.payment-proof-field input[type=file] { min-height:48px; padding:8px; font-size:10px; }
.coupon-box { margin:18px 0; padding:16px; border:1px solid var(--gold-line); border-radius:10px; background:#101010; }
.coupon-box > div:first-child strong, .coupon-box > div:first-child span { display:block; }
.coupon-box > div:first-child span { margin-top:4px; color:var(--text-muted); font-size:12px; }
.coupon-entry { display:flex; gap:8px; margin-top:12px; }
.coupon-entry input { flex:1; min-width:0; }
.coupon-success { color:var(--ok); font-size:12px; margin-top:10px; }
.checkout-summary { margin:18px 0; padding:14px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); text-align:right; font-size:14px; line-height:1.9; }
.checkout-summary strong { color:var(--gold); margin-left:8px; }
.checkout-summary > div:last-child { font-size:18px; font-weight:600; }
.discount-line, .discount-line strong { color:var(--ok) !important; }
#payment-method-group:has(#pm-easypaisa:checked) .pm-shared-wallet-fields,
#payment-method-group:has(#pm-jazzcash:checked) .pm-shared-wallet-fields,
#payment-method-group:has(#pm-sadapay:checked) .pm-shared-wallet-fields,
#payment-method-group:has(#pm-bank-account:checked) .pm-shared-wallet-fields { display: grid; }
@media (max-width:620px) { .payment-select-options { grid-template-columns:1fr; } .payment-option { min-height:70px; } .pm-shared-wallet-fields { grid-template-columns:1fr; } .transfer-detail { grid-template-columns:94px minmax(0,1fr) 28px; } }
.pill { display:inline-block; padding: 3px 11px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.pill-green { background: rgba(111,174,122,.15); color: #8FCB98; }
.pill-amber { background: rgba(201,162,39,.15); color: var(--gold); }
.pill-red { background: rgba(184,92,92,.15); color: #D18888; }
.pill-gray { background: rgba(184,176,160,.15); color: var(--text-muted); }

@media (prefers-reduced-motion: reduce) {
  .floating-contact, .floating-contact::before, .floating-contact::after, .product-card-action, .product-card-action::before, .order-success-overlay, .order-success-card, .order-success-icon path { animation:none !important; transition:none !important; }
  .order-success-icon path { stroke-dashoffset:0; }
}

/* ---------- PROMO CODE (checkout) ---------- */
.checkout-coupon form { display:flex; gap:7px; }
.checkout-coupon[data-applied="1"] input { border-color:var(--ok); }
.coupon-feedback { display:flex; align-items:center; gap:7px; margin:9px 0 0; font-size:10.5px; line-height:1.5; }
.coupon-feedback[hidden] { display:none; }
.coupon-feedback svg { flex:0 0 auto; width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.coupon-feedback-ok { color:var(--ok); }
.coupon-feedback-error { color:var(--danger); }
.coupon-remove { margin-left:auto; padding:0; border:0; background:none; color:var(--text-muted); font:inherit; font-size:10px; text-decoration:underline; cursor:pointer; }
.coupon-remove:hover { color:var(--danger); }

.coupon-popup { position:fixed; inset:0; z-index:600; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(0,0,0,.78); backdrop-filter:blur(5px); }
.coupon-popup[hidden] { display:none; }
.coupon-popup-card { position:relative; width:min(400px,100%); padding:34px 28px 26px; border:1px solid var(--border); border-radius:16px; background:var(--bg-panel, #141414); text-align:center; box-shadow:0 24px 60px rgba(0,0,0,.6); animation:couponPopIn .26s ease both; }
.coupon-popup-close { position:absolute; top:12px; right:14px; border:0; background:none; color:var(--text-muted); font-size:24px; line-height:1; cursor:pointer; }
.coupon-popup-close:hover { color:var(--text); }
.coupon-popup-icon { width:56px; height:56px; margin:0 auto 16px; display:grid; place-items:center; border-radius:50%; background:rgba(111,174,122,.14); color:var(--ok); }
.coupon-popup-icon svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:3.4; stroke-linecap:round; stroke-linejoin:round; }
.coupon-popup-icon.is-error { background:rgba(184,92,92,.14); color:var(--danger); }
.coupon-popup-kicker { display:block; margin-bottom:9px; color:var(--gold); font-size:9.5px; font-weight:700; letter-spacing:1.6px; }
.coupon-popup h2 { margin:0 0 9px; font-size:21px; }
.coupon-popup p { margin:0 0 22px; color:var(--text-muted); font-size:13px; line-height:1.6; }
@keyframes couponPopIn { from { opacity:0; transform:translateY(14px) scale(.97); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) { .coupon-popup-card { animation:none; } }

/* ---------- COPYABLE ORDER NUMBER ---------- */
.order-number-row { display:flex; align-items:center; justify-content:center; gap:10px; margin-top:2px; }
.order-success-number .order-number-row strong { display:inline; margin:0; }
.order-number-copy { flex:0 0 auto; display:grid; place-items:center; width:32px; height:32px; padding:0; border:1px solid var(--gold-line); border-radius:7px; background:transparent; color:var(--gold); cursor:pointer; transition:border-color .18s ease, background .18s ease, color .18s ease; }
.order-number-copy:hover { border-color:var(--gold); background:rgba(201,162,39,.12); }
.order-number-copy:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.order-number-copy svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.order-number-copy .icon-copied { display:none; }
.order-number-copy.is-copied { border-color:var(--ok); color:var(--ok); background:rgba(111,174,122,.14); }
.order-number-copy.is-copied .icon-copy { display:none; }
.order-number-copy.is-copied .icon-copied { display:block; }
.order-copy-feedback { display:block; min-height:14px; margin-top:7px; color:var(--ok); font-size:10.5px; letter-spacing:.3px; }
@media (prefers-reduced-motion: reduce) { .order-number-copy { transition:none; } }
