/*
Theme Name:  VYRO
Theme URI:   https://vyro.sg
Author:      VYRO Singapore
Description: Premium lighting eShop theme — Light That Elevates Life.
Version:     3.2.0
License:     GNU General Public License v2 or later
Text Domain: vyro
*/

/* ══════════════════════════════════════════════════════════════
   0. TOKENS
══════════════════════════════════════════════════════════════ */
:root {
  --ink:          #0D0B09;
  --surface:      #16120E;
  --surface-2:    #1E1811;
  --line:         rgba(242,235,223,.10);
  --line-strong:  rgba(242,235,223,.18);
  --bone:         #F2EBDF;
  --ash:          #9C9184;
  --ember:        #E8813A;
  --glow:         #F3A96B;
  --deep-ember:   #B85C1E;
  --radius:       14px;
  --ease:         cubic-bezier(.22,.61,.2,1);
}

/* ══════════════════════════════════════════════════════════════
   1. RESET & BASE
══════════════════════════════════════════════════════════════ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html  { scroll-behavior:smooth; }
body  {
  background:var(--ink);
  color:var(--bone);
  font-family:'Jost',sans-serif;
  font-weight:300;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection { background:var(--ember); color:var(--ink); }
img    { max-width:100%; display:block; height:auto; }
a      { color:inherit; text-decoration:none; }
button { font-family:inherit; cursor:pointer; }
:focus-visible { outline:2px solid var(--glow); outline-offset:3px; border-radius:4px; }
ul     { list-style:none; }

/* ══════════════════════════════════════════════════════════════
   2. UTILITIES
══════════════════════════════════════════════════════════════ */
.wrap  { max-width:1240px; margin:0 auto; padding:0 clamp(20px,4vw,48px); }
.eyebrow {
  font-size:11px; letter-spacing:.34em; text-transform:uppercase;
  color:var(--ember); font-weight:500;
}
.serif  { font-family:'Cormorant Garamond',serif; font-weight:500; }
.serif em, em.ember { font-style:italic; color:var(--glow); }

.reveal { opacity:0; transform:translateY(34px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.in { opacity:1; transform:none; }

.btn {
  display:inline-flex; align-items:center; gap:12px;
  padding:15px 32px; border-radius:100px; font-size:12.5px; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase;
  transition:transform .35s var(--ease), box-shadow .35s, background .35s, border-color .35s;
  border:1px solid transparent;
}
.btn-fill {
  background:linear-gradient(120deg,var(--ember),var(--deep-ember)); color:var(--ink);
  box-shadow:0 8px 34px rgba(232,129,58,.32);
}
.btn-fill:hover { transform:translateY(-2px); box-shadow:0 14px 44px rgba(232,129,58,.45); }
.btn-ghost { border-color:var(--line-strong); color:var(--bone); background:rgba(13,11,9,.3); }
.btn-ghost:hover { border-color:var(--ember); background:rgba(232,129,58,.1); }

.link-arrow {
  display:inline-flex; align-items:center; gap:12px; font-size:12px; font-weight:500;
  letter-spacing:.22em; text-transform:uppercase; color:var(--bone); width:max-content;
}
.link-arrow svg { transition:transform .35s var(--ease); }
.link-arrow:hover svg { transform:translateX(6px); }
.link-arrow:hover { color:var(--glow); }

/* ══════════════════════════════════════════════════════════════
   3. NAVIGATION
══════════════════════════════════════════════════════════════ */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:90;
  transition:background .45s var(--ease), border-color .45s, backdrop-filter .45s;
  border-bottom:1px solid transparent;
}
.nav.scrolled {
  background:rgba(13,11,9,.85);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom-color:var(--line);
}
.nav-inner {
  display:flex; align-items:center; justify-content:space-between;
  height:76px; max-width:1360px; margin:0 auto; padding:0 clamp(20px,4vw,48px);
}
.nav-logo img { height:26px; width:auto; }
.nav-links { display:flex; gap:38px; align-items:center; }
.nav-links a {
  font-size:12.5px; letter-spacing:.18em; text-transform:uppercase; font-weight:400;
  color:var(--ash); transition:color .3s; position:relative; padding:6px 0;
}
.nav-links a::after {
  content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--ember); transition:width .35s var(--ease);
}
.nav-links a:hover { color:var(--bone); }
.nav-links a:hover::after { width:100%; }
.cart-btn {
  display:flex; align-items:center; gap:10px;
  background:transparent; border:1px solid var(--line-strong); color:var(--bone);
  padding:9px 18px; border-radius:100px; font-size:12px; letter-spacing:.14em;
  text-transform:uppercase; transition:border-color .3s, background .3s;
}
.cart-btn:hover { border-color:var(--ember); background:rgba(232,129,58,.08); }
.cart-count {
  background:var(--ember); color:var(--ink); font-weight:600; font-size:11px;
  min-width:19px; height:19px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center; padding:0 5px;
}
.menu-toggle { display:none; background:none; border:0; color:var(--bone); font-size:24px; line-height:1; }

/* ══════════════════════════════════════════════════════════════
   4. HERO
══════════════════════════════════════════════════════════════ */
.hero {
  position:relative; height:100svh; min-height:640px;
  display:flex; align-items:flex-end; overflow:hidden;
}
.hero-media { position:absolute; inset:0; }
.hero-ambient { position:absolute; inset:0; background:var(--ink); overflow:hidden; }
.pool { position:absolute; border-radius:50%; filter:blur(70px); opacity:.55; mix-blend-mode:screen; }
.pool-1 {
  width:60vw; height:60vw; right:-14vw; top:-22vw;
  background:radial-gradient(circle,rgba(232,129,58,.5),rgba(232,129,58,0) 62%);
  animation:drift1 16s ease-in-out infinite alternate;
}
.pool-2 {
  width:44vw; height:44vw; left:-10vw; bottom:-16vw;
  background:radial-gradient(circle,rgba(243,169,107,.32),rgba(243,169,107,0) 60%);
  animation:drift2 20s ease-in-out infinite alternate;
}
.pool-3 {
  width:30vw; height:30vw; left:34vw; top:22vh;
  background:radial-gradient(circle,rgba(184,92,30,.3),rgba(184,92,30,0) 62%);
  animation:drift1 24s ease-in-out infinite alternate-reverse;
}
@keyframes drift1 { from { transform:translate(0,0) scale(1) } to { transform:translate(-6vw,5vh) scale(1.12) } }
@keyframes drift2 { from { transform:translate(0,0) scale(1) } to { transform:translate(5vw,-4vh) scale(1.08) } }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1.4s ease; }
.hero-video.playing { opacity:1; }
.hero-shade {
  position:absolute; inset:0;
  background:linear-gradient(to top,var(--ink) 4%,rgba(13,11,9,.55) 34%,rgba(13,11,9,.25) 60%,rgba(13,11,9,.45) 100%);
}
.hero-vignette { position:absolute; inset:0; box-shadow:inset 0 0 220px 60px rgba(13,11,9,.85); }
.hero-content { position:relative; z-index:2; padding-bottom:clamp(60px,10vh,110px); width:100%; }
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:14px; margin-bottom:26px;
  opacity:0; animation:rise .9s var(--ease) .2s forwards;
}
.hero-eyebrow::before { content:""; width:44px; height:1px; background:var(--ember); }
.hero h1 {
  font-family:'Cormorant Garamond',serif; font-weight:500;
  font-size:clamp(48px,8.4vw,118px); line-height:.98; letter-spacing:-.01em; max-width:12ch;
}
.hero h1 .w { display:inline-block; opacity:0; animation:rise 1s var(--ease) forwards; }
.hero h1 .w:nth-child(1) { animation-delay:.35s; }
.hero h1 .w:nth-child(2) { animation-delay:.45s; }
.hero h1 .w:nth-child(3) { animation-delay:.55s; }
.hero h1 .w:nth-child(4) { animation-delay:.68s; }
.hero-sub {
  max-width:52ch; color:var(--ash); font-size:clamp(15px,1.4vw,17.5px);
  margin:26px 0 38px; opacity:0; animation:rise 1s var(--ease) .85s forwards;
}
.hero-ctas { display:flex; gap:16px; flex-wrap:wrap; opacity:0; animation:rise 1s var(--ease) 1s forwards; }
@keyframes rise { from { opacity:0; transform:translateY(26px) } to { opacity:1; transform:none } }
.hero-scroll {
  position:absolute; right:clamp(20px,4vw,48px); bottom:36px; z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:12px;
  color:var(--ash); font-size:10px; letter-spacing:.3em; text-transform:uppercase; writing-mode:vertical-rl;
}
.hero-scroll::after {
  content:""; width:1px; height:52px; background:linear-gradient(var(--ember),transparent);
  animation:pulse 2.2s ease-in-out infinite;
}
@keyframes pulse { 0%,100% { opacity:.35 } 50% { opacity:1 } }

/* ══════════════════════════════════════════════════════════════
   5. TICKER
══════════════════════════════════════════════════════════════ */
.ticker {
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  overflow:hidden; padding:20px 0; background:rgba(22,18,14,.5);
}
.ticker-track { display:flex; width:max-content; animation:tickscroll 34s linear infinite; }
.ticker:hover .ticker-track { animation-play-state:paused; }
.ticker-item {
  display:flex; align-items:center; gap:22px; padding:0 34px; white-space:nowrap;
  font-size:12px; letter-spacing:.28em; text-transform:uppercase; color:var(--ash);
}
.ticker-item::after { content:"✦"; color:var(--ember); font-size:10px; }
@keyframes tickscroll { to { transform:translateX(-50%); } }

/* ══════════════════════════════════════════════════════════════
   6. SECTIONS
══════════════════════════════════════════════════════════════ */
.section { padding:clamp(80px,11vw,140px) 0; position:relative; }
.section-head { max-width:640px; margin-bottom:clamp(44px,6vw,72px); }
.section-head .eyebrow { display:block; margin-bottom:18px; }
.section-head h2 {
  font-family:'Cormorant Garamond',serif; font-weight:500;
  font-size:clamp(34px,4.6vw,58px); line-height:1.08; letter-spacing:-.01em;
}
.section-head p { color:var(--ash); margin-top:18px; font-size:16px; max-width:50ch; }

/* ══════════════════════════════════════════════════════════════
   7. COLLECTIONS
══════════════════════════════════════════════════════════════ */
.collections { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.collection {
  position:relative; border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; min-height:520px; display:flex; flex-direction:column; justify-content:flex-end;
  padding:44px 40px; isolation:isolate; background:var(--surface); transition:border-color .4s;
}
.collection:hover { border-color:rgba(232,129,58,.4); }
.collection-bg { position:absolute; inset:0; z-index:-1; transition:transform 1.2s var(--ease); }
.collection:hover .collection-bg { transform:scale(1.05); }
.cbg-a {
  background:
    radial-gradient(70% 55% at 78% 18%,rgba(232,129,58,.34),transparent 65%),
    radial-gradient(50% 40% at 15% 85%,rgba(184,92,30,.22),transparent 70%),
    linear-gradient(160deg,#211812,#0F0C09 70%);
}
.cbg-b {
  background:
    radial-gradient(60% 50% at 22% 20%,rgba(243,169,107,.2),transparent 65%),
    radial-gradient(55% 45% at 85% 80%,rgba(150,110,70,.18),transparent 70%),
    linear-gradient(200deg,#1A1610,#0E0C09 72%);
}
.collection-art { position:absolute; top:40px; right:40px; width:min(46%,240px); opacity:.9; z-index:-1; }
.collection .tag {
  font-size:10.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--ember);
  border:1px solid rgba(232,129,58,.4); border-radius:100px; padding:6px 16px;
  width:max-content; margin-bottom:20px; background:rgba(13,11,9,.4);
}
.collection h3 {
  font-family:'Cormorant Garamond',serif; font-weight:500;
  font-size:clamp(30px,3.4vw,44px); line-height:1.05; margin-bottom:14px;
}
.collection p { color:var(--ash); font-size:15px; max-width:42ch; margin-bottom:26px; }

/* ══════════════════════════════════════════════════════════════
   8. BENEFITS
══════════════════════════════════════════════════════════════ */
.benefits { background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.benefit-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
}
.benefit { background:var(--ink); padding:38px 30px; position:relative; overflow:hidden; transition:background .4s; }
.benefit::before {
  content:""; position:absolute; top:-40%; left:50%; transform:translateX(-50%);
  width:120%; height:70%; border-radius:50%;
  background:radial-gradient(ellipse,rgba(232,129,58,.16),transparent 70%); opacity:0; transition:opacity .5s;
}
.benefit:hover::before { opacity:1; }
.benefit .b-icon {
  width:46px; height:46px; border-radius:50%; border:1px solid rgba(232,129,58,.45);
  display:flex; align-items:center; justify-content:center; margin-bottom:22px; color:var(--ember);
}
.benefit h4 { font-size:16px; font-weight:500; margin-bottom:10px; letter-spacing:.03em; }
.benefit p  { color:var(--ash); font-size:13.5px; line-height:1.6; }

/* ══════════════════════════════════════════════════════════════
   9. CTA
══════════════════════════════════════════════════════════════ */
.cta { position:relative; text-align:center; overflow:hidden; }
.cta .pool { filter:blur(90px); }
.cta h2 {
  font-family:'Cormorant Garamond',serif; font-weight:500;
  font-size:clamp(38px,6vw,76px); line-height:1.05; max-width:16ch; margin:0 auto 22px;
}
.cta p { color:var(--ash); max-width:46ch; margin:0 auto 40px; font-size:16px; }

/* ══════════════════════════════════════════════════════════════
   10. FOOTER
══════════════════════════════════════════════════════════════ */
footer { border-top:1px solid var(--line); padding:64px 0 40px; background:#0A0806; }
.foot-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:44px; margin-bottom:52px; }
.foot-grid p { color:var(--ash); font-size:13.5px; max-width:34ch; }
.foot-col h5 { font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:var(--bone); margin-bottom:20px; font-weight:500; }
.foot-col a  { display:block; color:var(--ash); font-size:14px; margin-bottom:12px; transition:color .3s; }
.foot-col a:hover { color:var(--glow); }
.foot-base {
  border-top:1px solid var(--line); padding-top:28px; display:flex;
  justify-content:space-between; gap:20px; flex-wrap:wrap;
  color:var(--ash); font-size:12.5px; letter-spacing:.06em;
}

/* ══════════════════════════════════════════════════════════════
   11. WOO PAGE HERO BANNER
══════════════════════════════════════════════════════════════ */
.woo-page-hero {
  padding:160px 0 52px;
  background:linear-gradient(180deg,var(--ink) 0%,var(--surface) 100%);
  border-bottom:1px solid var(--line);
  position:relative; overflow:hidden;
}
.woo-page-hero::before {
  content:""; position:absolute; inset:0;
  background:radial-gradient(60% 80% at 80% 0%,rgba(232,129,58,.18),transparent 65%);
}
.woo-page-title {
  font-family:'Cormorant Garamond',serif; font-weight:500;
  font-size:clamp(36px,5.5vw,64px); line-height:1.05;
  margin-top:18px; position:relative; z-index:1;
}

/* ══════════════════════════════════════════════════════════════
   12. WOOCOMMERCE — BREADCRUMB
══════════════════════════════════════════════════════════════ */
.woo-breadcrumb { position:relative; z-index:1; }
.woocommerce-breadcrumb,
nav.woo-breadcrumb {
  font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--ash);
}
.woocommerce-breadcrumb a,
nav.woo-breadcrumb a { color:var(--ash); transition:color .3s; }
.woocommerce-breadcrumb a:hover,
nav.woo-breadcrumb a:hover { color:var(--ember); }
.bc-sep { color:var(--ember); margin:0 6px; }

/* ══════════════════════════════════════════════════════════════
   13. WOOCOMMERCE — NOTICES & FLASH
══════════════════════════════════════════════════════════════ */
.woo-section { padding:clamp(40px,6vw,80px) 0 clamp(60px,10vw,120px); }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background:var(--surface-2) !important;
  border-top:3px solid var(--ember) !important;
  border-radius:0 0 var(--radius) var(--radius);
  color:var(--bone) !important;
  padding:16px 22px !important;
  margin-bottom:28px !important;
  display:flex; align-items:center; gap:14px; font-size:14px;
}
.woocommerce-message::before { color:var(--ember) !important; }
.woocommerce-message a.button,
.woocommerce-error a.button { color:var(--bone) !important; }

/* ══════════════════════════════════════════════════════════════
   14. WOOCOMMERCE — PRODUCT GRID (archive / shop)
══════════════════════════════════════════════════════════════ */
.woocommerce-page ul.products,
.woocommerce ul.products {
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr)) !important;
  gap:22px !important;
  padding:0 !important; margin:0 !important;
}
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  padding:0 !important;
  float:none !important;
  width:auto !important;
  margin:0 !important;
  display:flex;
  flex-direction:column;
  transition:transform .5s var(--ease), border-color .5s, box-shadow .5s;
}
.woocommerce ul.products li.product:hover {
  transform:translateY(-6px);
  border-color:rgba(232,129,58,.45);
  box-shadow:0 24px 60px -18px rgba(232,129,58,.28);
}
/* Product image */
.woocommerce ul.products li.product a img {
  width:100%; height:240px; object-fit:cover;
  transition:transform .7s var(--ease);
}
.woocommerce ul.products li.product:hover a img { transform:scale(1.04); }
/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-size:17px !important; font-weight:500 !important;
  color:var(--bone) !important; padding:18px 20px 4px !important;
  font-family:'Jost',sans-serif !important;
}
/* Price */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product span.price {
  font-family:'Cormorant Garamond',serif !important;
  font-size:22px !important; color:var(--glow) !important;
  padding:4px 20px 16px !important; display:block !important;
}
.woocommerce ul.products li.product .price del,
.woocommerce span.price del { color:var(--ash) !important; font-size:16px !important; }
/* Add-to-cart button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  margin:0 20px 20px !important;
  display:block !important;
  background:transparent !important;
  border:1px solid var(--line-strong) !important;
  color:var(--bone) !important;
  border-radius:100px !important;
  padding:11px 20px !important;
  font-size:11px !important; font-weight:500 !important;
  letter-spacing:.18em !important; text-transform:uppercase !important;
  text-align:center !important;
  transition:background .3s, border-color .3s, color .3s !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
  background:var(--ember) !important;
  border-color:var(--ember) !important;
  color:var(--ink) !important;
}
/* Sale badge */
.woocommerce ul.products li.product .onsale {
  background:var(--ember) !important; color:var(--ink) !important;
  border-radius:100px !important; font-weight:600 !important;
  top:12px !important; left:12px !important; min-height:auto !important;
  padding:5px 14px !important;
}
/* Result count / ordering */
.woocommerce-result-count { color:var(--ash); font-size:13px; letter-spacing:.06em; }
.woocommerce-ordering select {
  background:var(--surface-2); color:var(--bone); border:1px solid var(--line-strong);
  border-radius:100px; padding:9px 18px; font-size:12px; letter-spacing:.1em;
  font-family:'Jost',sans-serif; appearance:none;
}
/* Archive header */
.woocommerce-products-header h1,
.woocommerce-products-header .page-title {
  font-family:'Cormorant Garamond',serif !important; font-weight:500 !important;
  font-size:clamp(34px,4.8vw,58px) !important; color:var(--bone) !important;
}

/* ══════════════════════════════════════════════════════════════
   15. WOOCOMMERCE — SINGLE PRODUCT
══════════════════════════════════════════════════════════════ */
.woocommerce div.product {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(30px,5vw,72px);
  align-items:start;
}
.woocommerce div.product .woocommerce-product-gallery { position:relative; }
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper img {
  border-radius:var(--radius); width:100%; object-fit:cover;
}
.woocommerce div.product .woocommerce-product-gallery__trigger {
  background:rgba(232,129,58,.15); color:var(--ember); border-radius:50%;
}
.woocommerce div.product .summary { display:flex; flex-direction:column; gap:16px; }
.woocommerce div.product .product_title {
  font-family:'Cormorant Garamond',serif !important; font-weight:500 !important;
  font-size:clamp(32px,4vw,52px) !important; line-height:1.05 !important;
  color:var(--bone) !important; margin-bottom:0 !important;
}
.woocommerce div.product .woocommerce-product-rating { display:flex; align-items:center; gap:10px; }
.woocommerce div.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family:'Cormorant Garamond',serif !important; font-size:36px !important;
  color:var(--glow) !important; display:block !important;
}
.woocommerce div.product .woocommerce-product-details__short-description p { color:var(--ash); font-size:15.5px; }
/* Quantity input */
.woocommerce .quantity .qty {
  background:var(--surface-2); color:var(--bone); border:1px solid var(--line-strong);
  border-radius:8px; padding:12px 16px; font-size:16px; font-family:'Jost',sans-serif; width:80px;
}
/* Single add-to-cart */
.woocommerce div.product .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background:linear-gradient(120deg,var(--ember),var(--deep-ember)) !important;
  color:var(--ink) !important; border:none !important; border-radius:100px !important;
  padding:15px 32px !important; font-size:12.5px !important; font-weight:500 !important;
  letter-spacing:.18em !important; text-transform:uppercase !important;
  box-shadow:0 8px 34px rgba(232,129,58,.32) !important;
  transition:transform .35s var(--ease), box-shadow .35s !important; height:auto !important;
}
.woocommerce div.product .single_add_to_cart_button:hover { transform:translateY(-2px) !important; box-shadow:0 14px 44px rgba(232,129,58,.45) !important; }
/* Product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom:1px solid var(--line); padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background:transparent !important; border:0 !important; border-bottom:2px solid transparent !important;
  border-radius:0 !important; margin:0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-size:12px; letter-spacing:.22em; text-transform:uppercase; font-weight:500;
  color:var(--ash) !important; padding:14px 20px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom-color:var(--ember) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:var(--bone) !important; }
.woocommerce div.product .woocommerce-tabs .panel { background:transparent; border:0; padding:28px 0; }
.woocommerce div.product .woocommerce-tabs .panel p,
.woocommerce div.product .woocommerce-tabs .panel table { color:var(--ash); }
.woocommerce div.product .woocommerce-tabs .panel h2 { color:var(--bone); font-family:'Cormorant Garamond',serif; font-size:28px; margin-bottom:16px; }
/* Related products */
.related.products > h2,
.upsells.products > h2 {
  font-family:'Cormorant Garamond',serif !important; font-weight:500 !important;
  font-size:clamp(28px,3.5vw,42px) !important; color:var(--bone) !important;
  margin-bottom:32px !important;
}

/* ══════════════════════════════════════════════════════════════
   16. WOOCOMMERCE — CART
══════════════════════════════════════════════════════════════ */
.woocommerce-cart-form table.shop_table,
.woocommerce table.shop_table {
  border-collapse:collapse; width:100%;
  border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
}
.woocommerce-cart-form table.shop_table th,
.woocommerce table.shop_table th {
  background:var(--surface-2); color:var(--bone);
  font-size:11px; letter-spacing:.28em; text-transform:uppercase; font-weight:500;
  padding:16px 22px; border-bottom:1px solid var(--line); text-align:left;
}
.woocommerce-cart-form table.shop_table td,
.woocommerce table.shop_table td {
  padding:20px 22px; border-bottom:1px solid var(--line); color:var(--bone);
  background:var(--surface); vertical-align:middle;
}
.woocommerce-cart-form table.shop_table tr:last-child td { border-bottom:0; }
.woocommerce-cart-form table.shop_table .product-name a { color:var(--bone); font-weight:500; }
.woocommerce-cart-form table.shop_table .product-name a:hover { color:var(--glow); }
.woocommerce-cart-form table.shop_table .product-thumbnail img { width:72px; height:72px; object-fit:cover; border-radius:8px; }
.woocommerce-cart-form table.shop_table .product-price,
.woocommerce-cart-form table.shop_table .product-subtotal {
  font-family:'Cormorant Garamond',serif; font-size:22px; color:var(--glow);
}
/* Cart remove button */
.woocommerce-cart-form a.remove {
  color:var(--ash) !important; font-size:20px !important;
  width:28px; height:28px; display:flex; align-items:center; justify-content:center;
  border-radius:50%; transition:background .3s, color .3s;
}
.woocommerce-cart-form a.remove:hover { background:rgba(232,129,58,.15); color:var(--ember) !important; }
/* Cart quantity */
.woocommerce-cart-form .qty { background:var(--surface-2); border:1px solid var(--line-strong); color:var(--bone); border-radius:8px; padding:8px 12px; font-family:'Jost',sans-serif; }
/* Cart totals */
.cart_totals { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:30px; }
.cart_totals h2 { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:500; margin-bottom:22px; }
.cart_totals table th,
.cart_totals table td { padding:13px 0; border-bottom:1px solid var(--line); color:var(--bone); }
.cart_totals table .order-total td { font-family:'Cormorant Garamond',serif; font-size:26px; color:var(--glow); border-bottom:0; }
.wc-proceed-to-checkout a.checkout-button {
  display:block; margin-top:22px; text-align:center;
  background:linear-gradient(120deg,var(--ember),var(--deep-ember)) !important;
  color:var(--ink) !important; border-radius:100px !important;
  padding:16px 32px !important; font-size:12.5px !important; font-weight:500 !important;
  letter-spacing:.18em !important; text-transform:uppercase !important;
  box-shadow:0 8px 34px rgba(232,129,58,.32) !important;
  transition:transform .35s var(--ease), box-shadow .35s !important;
}
.wc-proceed-to-checkout a.checkout-button:hover { transform:translateY(-2px) !important; box-shadow:0 14px 44px rgba(232,129,58,.45) !important; }
/* General WooCommerce button */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background:transparent !important; color:var(--bone) !important;
  border:1px solid var(--line-strong) !important; border-radius:100px !important;
  padding:11px 24px !important; font-size:12px !important; font-weight:500 !important;
  letter-spacing:.16em !important; text-transform:uppercase !important;
  transition:background .3s, border-color .3s, color .3s !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover { background:rgba(232,129,58,.1) !important; border-color:var(--ember) !important; }

/* ══════════════════════════════════════════════════════════════
   17. WOOCOMMERCE — CHECKOUT
══════════════════════════════════════════════════════════════ */
.woocommerce-checkout .col2-set { display:grid; grid-template-columns:1.1fr 1fr; gap:44px; }
.woocommerce-billing-fields__field-wrapper .form-row { margin-bottom:16px; }
.woocommerce-checkout label,
.woocommerce form label {
  font-size:11.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--ash);
  display:block; margin-bottom:8px; font-weight:500;
}
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea {
  background:var(--surface-2) !important; color:var(--bone) !important;
  border:1px solid var(--line-strong) !important; border-radius:10px !important;
  padding:13px 16px !important; font-family:'Jost',sans-serif !important;
  font-size:14px !important; width:100% !important; transition:border-color .3s !important;
}
.woocommerce-checkout .input-text:focus,
.woocommerce form .input-text:focus { border-color:var(--ember) !important; outline:none !important; }
/* Order review */
#order_review_heading {
  font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:500; margin-bottom:22px;
}
#order_review table.shop_table { margin-bottom:24px; }
.woocommerce-checkout #payment { background:var(--surface); border-radius:var(--radius); padding:28px; border:1px solid var(--line); }
.woocommerce-checkout #payment ul.payment_methods { padding:0; border-bottom:1px solid var(--line); margin-bottom:22px; }
.woocommerce-checkout #payment ul.payment_methods li { color:var(--bone); font-size:14px; padding:12px 0; }
.woocommerce-checkout #payment div.payment_box { background:var(--surface-2); color:var(--ash); border-radius:8px; padding:16px; font-size:13.5px; margin-top:10px; }
#place_order {
  width:100%; display:block; text-align:center;
  background:linear-gradient(120deg,var(--ember),var(--deep-ember)) !important;
  color:var(--ink) !important; border:none !important; border-radius:100px !important;
  padding:16px 32px !important; font-size:13px !important; font-weight:500 !important;
  letter-spacing:.18em !important; text-transform:uppercase !important;
  box-shadow:0 8px 34px rgba(232,129,58,.32) !important;
  transition:transform .35s var(--ease) !important; height:auto !important;
}
#place_order:hover { transform:translateY(-2px) !important; }
/* Checkout section titles */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3 {
  font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:500;
  margin-bottom:22px; color:var(--bone);
}

/* ══════════════════════════════════════════════════════════════
   18. WOOCOMMERCE — MY ACCOUNT
══════════════════════════════════════════════════════════════ */
.woocommerce-account .woocommerce { display:grid; grid-template-columns:220px 1fr; gap:44px; align-items:start; }
.woocommerce-MyAccount-navigation { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.woocommerce-MyAccount-navigation ul { padding:0; }
.woocommerce-MyAccount-navigation ul li { border-bottom:1px solid var(--line); }
.woocommerce-MyAccount-navigation ul li:last-child { border-bottom:0; }
.woocommerce-MyAccount-navigation ul li a {
  display:block; padding:14px 22px; font-size:13px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ash); transition:color .3s, background .3s;
}
.woocommerce-MyAccount-navigation ul li a:hover { color:var(--bone); background:var(--surface-2); }
.woocommerce-MyAccount-navigation ul li.is-active a { color:var(--ember); font-weight:500; }
.woocommerce-MyAccount-content { color:var(--bone); }
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:500; margin-bottom:20px; }
.woocommerce-MyAccount-content p { color:var(--ash); font-size:14.5px; }
.woocommerce-orders-table th { background:var(--surface-2) !important; }
.woocommerce-orders-table .button { font-size:11px !important; }

/* ══════════════════════════════════════════════════════════════
   19. PAGE & BLOG CONTENT
══════════════════════════════════════════════════════════════ */
.page-main { padding:clamp(80px,12vh,140px) 0 clamp(60px,10vw,120px); min-height:60vh; }
.page-title {
  font-family:'Cormorant Garamond',serif; font-weight:500;
  font-size:clamp(36px,5.5vw,64px); line-height:1.05; margin-bottom:36px;
}
.page-body { color:var(--ash); font-size:16px; max-width:72ch; line-height:1.8; }
.page-body h1, .page-body h2, .page-body h3 { color:var(--bone); font-family:'Cormorant Garamond',serif; font-weight:500; margin:28px 0 12px; }
.page-body a { color:var(--ember); text-decoration:underline; text-underline-offset:3px; }
.page-body p { margin-bottom:16px; }
.post-list { display:flex; flex-direction:column; gap:0; }
.post-card { padding:44px 0; border-bottom:1px solid var(--line); }
.post-card:last-child { border-bottom:0; }
.pagination .page-numbers { color:var(--ash); margin:0 6px; transition:color .3s; }
.pagination .page-numbers.current { color:var(--ember); font-weight:500; }
.pagination .page-numbers:hover { color:var(--bone); }

/* ══════════════════════════════════════════════════════════════
   20. STARS (WooCommerce reviews)
══════════════════════════════════════════════════════════════ */
.star-rating span::before { color:var(--ember) !important; }
.star-rating { color:var(--ember) !important; }

/* ══════════════════════════════════════════════════════════════
   21. RESPONSIVE
══════════════════════════════════════════════════════════════ */
@media (max-width: 960px) {
  .collections               { grid-template-columns:1fr; }
  .benefit-grid              { grid-template-columns:1fr 1fr; }
  .foot-grid                 { grid-template-columns:1fr 1fr; }
  .woocommerce div.product   { grid-template-columns:1fr; }
  .woocommerce-checkout .col2-set { grid-template-columns:1fr; }
  .woocommerce-account .woocommerce { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  .nav-links {
    position:fixed; top:76px; left:0; right:0; background:rgba(13,11,9,.97);
    flex-direction:column; padding:30px; gap:26px;
    border-bottom:1px solid var(--line);
    transform:translateY(-130%); transition:transform .45s var(--ease);
  }
  .nav-links.open { transform:none; }
  .menu-toggle    { display:block; }
  .benefit-grid   { grid-template-columns:1fr; }
  .foot-grid      { grid-template-columns:1fr; }
  .hero-scroll    { display:none; }
  .woocommerce-cart-form table.shop_table td { display:block; }
  .woocommerce-cart-form table.shop_table thead { display:none; }
}

/* ══════════════════════════════════════════════════════════════
   22. REDUCED MOTION
══════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; }
  .hero-eyebrow, .hero h1 .w, .hero-sub, .hero-ctas { opacity:1; animation:none; }
}

/* ══════════════════════════════════════════════════════════════
   23. v2 — SECRETLAB-STYLE HOMEPAGE (VYRO palette)
══════════════════════════════════════════════════════════════ */

/* ── Announcement bar ── */
.announce {
  background:linear-gradient(120deg,var(--deep-ember),var(--ember));
  text-align:center; position:relative; z-index:91;
}
.announce a {
  display:block; padding:9px 16px; color:var(--ink);
  font-size:11.5px; font-weight:500; letter-spacing:.2em; text-transform:uppercase;
}
.announce-arrow { margin-left:6px; }
body { padding-top:0; }
.nav { top:0; position:sticky; background:rgba(13,11,9,.92); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border-bottom:1px solid var(--line); }
.nav-icon { color:var(--ash); display:flex; align-items:center; transition:color .3s; }
.nav-icon:hover { color:var(--ember); }

/* ── Centered hero ── */
.hero-center { align-items:center; }
.hero-content-center { text-align:center; display:flex; flex-direction:column; align-items:center; padding-bottom:0; }
.hero-content-center h1 { max-width:none; }
.hero-content-center .hero-sub { margin-left:auto; margin-right:auto; }
.hero-ctas-center { justify-content:center; }
.hero-shade-center {
  background:
    radial-gradient(70% 60% at 50% 55%, rgba(13,11,9,.55), rgba(13,11,9,.15) 60%, transparent),
    linear-gradient(to top, var(--ink) 2%, rgba(13,11,9,.35) 30%, rgba(13,11,9,.2) 70%, rgba(13,11,9,.5) 100%);
}
.hero-eyebrow::after { content:""; width:44px; height:1px; background:var(--ember); }

/* ── Full-bleed feature blocks ── */
.feature-block {
  position:relative; min-height:78vh; display:flex; align-items:center; overflow:hidden;
  border-bottom:1px solid var(--line);
}
.feature-bg { position:absolute; inset:0; }
.fbg-a {
  background:
    radial-gradient(75% 90% at 82% 30%, rgba(232,129,58,.30), transparent 62%),
    radial-gradient(45% 55% at 10% 90%, rgba(184,92,30,.18), transparent 70%),
    linear-gradient(160deg,#1E1610,#0D0B09 70%);
}
.fbg-b {
  background:
    radial-gradient(75% 90% at 18% 30%, rgba(243,169,107,.22), transparent 62%),
    radial-gradient(45% 55% at 90% 90%, rgba(150,110,70,.16), transparent 70%),
    linear-gradient(200deg,#191510,#0D0B09 72%);
}
.feature-content { position:relative; z-index:2; max-width:1240px; width:100%; padding-top:90px; padding-bottom:90px; }
.feature-content h2 {
  font-family:'Cormorant Garamond',serif; font-weight:500;
  font-size:clamp(38px,5.6vw,72px); line-height:1.04; margin:18px 0 20px; max-width:14ch;
}
.feature-content p { color:var(--ash); font-size:clamp(15px,1.4vw,17px); max-width:46ch; margin-bottom:34px; }
.feature-ctas { display:flex; gap:16px; flex-wrap:wrap; }
.feature-flip .feature-content { display:flex; flex-direction:column; align-items:flex-end; text-align:right; }
.feature-flip .feature-content p { text-align:right; }
.feature-art {
  position:absolute; top:50%; transform:translateY(-50%);
  width:min(38vw,480px); opacity:.85; z-index:1; pointer-events:none;
}
.art-right { right:clamp(16px,6vw,100px); }
.art-left  { left:clamp(16px,6vw,100px); }

/* ── Lineup grid ── */
.section-head-center { max-width:640px; margin-left:auto; margin-right:auto; text-align:center; }
.lineup-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:22px;
}
.lineup-card {
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .5s var(--ease), border-color .5s, box-shadow .5s;
}
.lineup-card:hover {
  transform:translateY(-6px); border-color:rgba(232,129,58,.45);
  box-shadow:0 24px 60px -18px rgba(232,129,58,.28);
}
.lineup-img { position:relative; display:block; background:linear-gradient(175deg,#1C1610,#100D0A 80%); }
.lineup-img img { width:100%; height:230px; object-fit:cover; transition:transform .7s var(--ease); }
.lineup-card:hover .lineup-img img { transform:scale(1.05); }
.lineup-badge {
  position:absolute; top:14px; left:14px; z-index:2;
  font-size:9.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--bone);
  border:1px solid var(--line-strong); border-radius:100px; padding:5px 13px;
  background:rgba(13,11,9,.6); backdrop-filter:blur(6px);
}
.lineup-body { padding:20px 22px 24px; display:flex; flex-direction:column; gap:10px; flex:1; }
.lineup-body h3 { font-size:16.5px; font-weight:500; }
.lineup-body h3 a { color:var(--bone); transition:color .3s; }
.lineup-body h3 a:hover { color:var(--glow); }
.lineup-price { font-size:22px; color:var(--glow); }
.lineup-price del { color:var(--ash); font-size:16px; }
.btn-sm { padding:11px 22px; font-size:11px; justify-content:center; margin-top:auto; }
.lineup-more { text-align:center; margin-top:48px; }
.lineup-empty { color:var(--ash); text-align:center; padding:40px 0; }

/* ── Reviews carousel ── */
.reviews { background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.review-track-wrap { position:relative; }
.review-track {
  display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding-bottom:12px; scrollbar-width:none;
}
.review-track::-webkit-scrollbar { display:none; }
.review-card {
  flex:0 0 min(360px,82vw); scroll-snap-align:start;
  background:var(--ink); border:1px solid var(--line); border-radius:var(--radius);
  padding:30px 28px; display:flex; flex-direction:column; gap:16px;
}
.review-card .stars { color:var(--ember); font-size:15px; letter-spacing:4px; }
.review-card p { color:var(--bone); font-size:15px; line-height:1.7; flex:1; }
.review-card footer { color:var(--ash); font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; }
.review-nav {
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:44px; height:44px; border-radius:50%;
  background:var(--surface-2); border:1px solid var(--line-strong); color:var(--bone);
  font-size:22px; line-height:1; transition:all .3s;
}
.review-nav:hover { border-color:var(--ember); color:var(--ember); }
.review-prev { left:-12px; }
.review-next { right:-12px; }

/* ── Newsletter ── */
.newsletter-cta { position:relative; overflow:hidden; }
.newsletter-cta h2 {
  font-family:'Cormorant Garamond',serif; font-weight:500;
  font-size:clamp(34px,5vw,64px); line-height:1.05; margin-bottom:18px;
}
.nl-sub { color:var(--ash); max-width:46ch; margin:0 auto 34px; font-size:16px; }
.nl-form {
  display:flex; gap:12px; max-width:520px; margin:0 auto; flex-wrap:wrap; justify-content:center;
}
.nl-form input {
  flex:1; min-width:240px;
  background:var(--surface-2); color:var(--bone);
  border:1px solid var(--line-strong); border-radius:100px;
  padding:15px 24px; font-family:'Jost',sans-serif; font-size:14px;
  transition:border-color .3s;
}
.nl-form input:focus { border-color:var(--ember); outline:none; }
.nl-note { color:var(--ash); font-size:11.5px; margin-top:18px; letter-spacing:.06em; opacity:.7; }

/* ── Footer socials ── */
.foot-socials { display:flex; gap:14px; margin-top:22px; }
.foot-socials a {
  width:38px; height:38px; border-radius:50%;
  border:1px solid var(--line-strong); color:var(--ash);
  display:flex; align-items:center; justify-content:center;
  transition:all .3s;
}
.foot-socials a:hover { border-color:var(--ember); color:var(--ember); background:rgba(232,129,58,.08); }

/* ── Responsive v2 ── */
@media (max-width: 960px) {
  .feature-art { opacity:.28; width:60vw; }
  .feature-flip .feature-content { align-items:flex-start; text-align:left; }
  .feature-flip .feature-content p { text-align:left; }
  .feature-block { min-height:auto; }
}
@media (max-width: 720px) {
  .review-prev { left:4px; }
  .review-next { right:4px; }
}

/* ══════════════════════════════════════════════════════════════
   24. v3 — EVSUN / VYRO DROPDOWN NAVIGATION
══════════════════════════════════════════════════════════════ */
.nav-inner { position:relative; }
.nav-actions { display:flex; gap:14px; align-items:center; }

/* Reset list styling on nav */
.nav-links { list-style:none; margin:0; padding:0; }
.nav-links > li { position:relative; }
.nav-links > li > a {
  font-size:12.5px; letter-spacing:.18em; text-transform:uppercase; font-weight:400;
  color:var(--ash); transition:color .3s; position:relative; padding:26px 0;
  display:inline-flex; align-items:center; gap:8px;
}
.nav-links > li > a::after {
  content:""; position:absolute; left:0; bottom:22px; height:1px; width:0;
  background:var(--ember); transition:width .35s var(--ease);
}
.nav-links > li > a:hover { color:var(--bone); }
.nav-links > li > a:hover::after { width:100%; }

/* Caret */
.caret {
  width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px); transition:transform .3s var(--ease); opacity:.7;
}
.has-drop:hover .caret,
.has-drop.open .caret { transform:rotate(-135deg) translateY(-2px); }

/* Hidden toggle used on mobile only */
.drop-toggle { display:none; }

/* ── Desktop mega panel ── */
.drop-panel {
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(10px);
  min-width:max-content; z-index:95;
  background:rgba(18,15,11,.97);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:0 32px 70px -20px rgba(0,0,0,.75);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;
}
.has-drop:hover .drop-panel,
.has-drop:focus-within .drop-panel {
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.drop-inner { display:flex; gap:44px; padding:32px 36px; }
.drop-col { display:flex; flex-direction:column; gap:2px; min-width:190px; }
.drop-head {
  font-size:10.5px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--ember); font-weight:500; margin-bottom:14px; display:block;
}
.drop-head-link { transition:color .3s; }
.drop-head-link:hover { color:var(--glow); }
.drop-col > a:not(.drop-head) {
  font-size:14px; color:var(--ash); padding:7px 0; letter-spacing:.02em;
  text-transform:none; transition:color .3s, padding-left .3s; position:relative;
}
.drop-col > a:not(.drop-head):hover { color:var(--bone); padding-left:8px; }
.drop-col > a:not(.drop-head)::before {
  content:""; position:absolute; left:0; top:50%; width:0; height:1px;
  background:var(--ember); transition:width .3s var(--ease); transform:translateY(-50%);
}
.drop-col > a:not(.drop-head):hover::before { width:4px; }

/* Feature panel on the right of the dropdown */
.drop-feature {
  border-left:1px solid var(--line); padding-left:34px;
  max-width:240px; display:flex; flex-direction:column;
}
.drop-feature p { color:var(--ash); font-size:13.5px; line-height:1.6; margin-bottom:20px; }
.drop-feature .link-arrow { font-size:11px; }

/* ══ Mobile navigation ══ */
@media (max-width: 900px) {
  .nav-links {
    position:fixed; top:0; left:0; right:0; bottom:0;
    background:var(--ink); z-index:96;
    flex-direction:column; align-items:stretch;
    gap:0; padding:96px 24px 40px;
    overflow-y:auto;
    transform:translateX(100%);
    transition:transform .45s var(--ease);
    display:flex;
  }
  .nav-links.open { transform:none; }
  .nav-links > li { border-bottom:1px solid var(--line); }
  .nav-links > li > a {
    padding:20px 0; font-size:15px; letter-spacing:.14em; color:var(--bone);
    width:100%; justify-content:flex-start;
  }
  .nav-links > li > a::after { display:none; }
  .caret { display:none; }

  /* Accordion toggle button */
  .has-drop { position:relative; }
  .drop-toggle {
    display:block; position:absolute; top:0; right:0;
    width:56px; height:60px; background:none; border:0; cursor:pointer;
  }
  .drop-toggle::before, .drop-toggle::after {
    content:""; position:absolute; top:50%; left:50%;
    background:var(--ember); transition:transform .3s var(--ease), opacity .3s;
  }
  .drop-toggle::before { width:13px; height:1.5px; transform:translate(-50%,-50%); }
  .drop-toggle::after  { width:1.5px; height:13px; transform:translate(-50%,-50%); }
  .has-drop.open .drop-toggle::after { transform:translate(-50%,-50%) rotate(90deg); opacity:0; }

  /* Accordion panel */
  .drop-panel {
    position:static; transform:none; opacity:1; visibility:visible; pointer-events:auto;
    background:transparent; border:0; box-shadow:none; backdrop-filter:none;
    min-width:0; max-height:0; overflow:hidden;
    transition:max-height .45s var(--ease);
  }
  .has-drop:hover .drop-panel { transform:none; }
  .has-drop.open .drop-panel { max-height:900px; }
  .drop-inner { flex-direction:column; gap:22px; padding:4px 0 24px 14px; }
  .drop-col { min-width:0; }
  .drop-feature { border-left:0; padding-left:0; max-width:none; border-top:1px solid var(--line); padding-top:20px; }

  .menu-toggle { display:block; position:relative; z-index:97; }
  .nav-links.open ~ .nav-actions .menu-toggle { color:var(--bone); }
}

/* ── v3.1: hero claim strip ── */
.hero-claims{
  list-style:none; margin:22px 0 34px; padding:0;
  display:flex; flex-wrap:wrap; gap:10px 26px; justify-content:center;
  opacity:0; animation:rise 1s var(--ease) .95s forwards;
}
.hero-claims li{
  display:flex; align-items:center; gap:9px;
  font-size:12.5px; letter-spacing:.11em; text-transform:uppercase;
  color:var(--bone); white-space:nowrap;
}
.hc-ico{ color:var(--ember); font-size:7px; line-height:1; }
@media (max-width:720px){
  .hero-claims{ gap:8px 18px; }
  .hero-claims li{ font-size:11px; letter-spacing:.08em; }
}
@media (prefers-reduced-motion:reduce){ .hero-claims{ opacity:1; animation:none; } }

/* ── v3.2: reviews empty state ── */
.reviews-empty{
  text-align:center; padding:20px 0 8px;
  display:flex; flex-direction:column; align-items:center; gap:20px;
}
.reviews-empty p{ color:var(--ash); font-size:16px; }
