/* =====================================================================
   DUNA FRAGRÂNCIAS — IDENTIDADE VISUAL EM CÓDIGO
   Paleta, tipografia e elementos gráficos conforme o Manual de Marca 2026.
   ===================================================================== */

:root{
  /* --- Paleta oficial --- */
  --ouro:        #B08A3C;   /* cor principal · acentos & CTA  */
  --ouro-claro:  #CDAB63;   /* apoio · brilhos               */
  --ouro-fundo:  #856629;   /* sombras do dourado · texto    */
  --branco-q:    #F6F0E1;   /* fundo principal               */
  --branco-puro: #FFFEFB;   /* cartões · superfícies         */
  --areia:       #E6DDCA;   /* linhas · molduras             */
  --grafite:     #26221C;   /* texto principal               */
  --tinta:       #161410;   /* reversão · seções escuras     */

  /* --- Derivados --- */
  --grafite-60:  rgba(38,34,28,.62);
  --grafite-45:  rgba(38,34,28,.45);
  --creme-70:    rgba(246,240,225,.70);
  --creme-45:    rgba(246,240,225,.45);
  --linha-ouro:  rgba(176,138,60,.32);

  /* --- Tipografia --- */
  --serif: 'Cormorant Garamond', 'Georgia', serif;
  --sans:  'Jost', system-ui, -apple-system, sans-serif;

  /* --- Ritmo --- */
  --maxw: 1240px;
  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--sans);
  background:var(--branco-q);
  color:var(--grafite);
  line-height:1.6;
  overflow-x:hidden;
  font-weight:400;
  letter-spacing:.01em;
}
body.no-scroll{ overflow:hidden; }

/* Textura de grão sutilíssima sobre todo o fundo (tira o "digital chapado") */
body::before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none; z-index:1;
  opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }

::selection{ background:var(--ouro); color:var(--branco-puro); }

/* ---------- Tipografia base ---------- */
h1,h2,h3,h4{ font-family:var(--serif); font-weight:600; line-height:1.05; color:var(--grafite); }
.eyebrow{
  font-family:var(--sans);
  font-size:.72rem; font-weight:500;
  letter-spacing:.32em; text-transform:uppercase;
  color:var(--ouro-fundo);
}
.serif-italic{ font-style:italic; font-weight:500; color:var(--ouro-fundo); }

/* ---------- Elemento gráfico: ornamento losango ---------- */
.diamond{
  display:flex; align-items:center; justify-content:center;
  gap:14px; color:var(--ouro);
}
.diamond::before,.diamond::after{
  content:""; height:1px; width:46px;
  background:linear-gradient(90deg,transparent,var(--ouro),transparent);
}
.diamond i{ width:6px; height:6px; background:var(--ouro); transform:rotate(45deg); display:block; }

/* container */
.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 28px; position:relative; z-index:2; }
section{ position:relative; z-index:2; }

/* =====================================================================
   PRÉ-LOADER
   ===================================================================== */
#preloader{
  position:fixed; inset:0; z-index:9999;
  background:radial-gradient(120% 100% at 50% 35%, #FBF7EC 0%, #F2E9D5 60%, #EADFC6 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:22px;
  transition:opacity .9s var(--ease), visibility .9s;
}
#preloader.done{ opacity:0; visibility:hidden; }
.pre-lockup{ width:clamp(150px,40vw,210px); height:auto; opacity:0; transform:translateY(14px) scale(.96);
  animation:preIn 1.1s var(--ease-out) .15s forwards; filter:drop-shadow(0 14px 34px rgba(133,102,41,.22)); }
.pre-sub{
  font-family:var(--sans); font-size:.62rem; letter-spacing:.5em; text-transform:uppercase;
  color:var(--ouro-fundo);
  opacity:0; animation:preIn 1s var(--ease-out) .7s forwards;
}
.pre-bar{ width:0; height:1px; background:linear-gradient(90deg,transparent,var(--ouro),transparent);
  animation:preBar 1.5s var(--ease) .6s forwards; }
@keyframes preIn{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
@keyframes preBar{ to{ width:220px; } }

/* =====================================================================
   NAVEGAÇÃO
   ===================================================================== */
header.nav{
  position:fixed; top:0; left:0; right:0; z-index:900;
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 28px;
  transition:background .5s var(--ease), padding .5s var(--ease), box-shadow .5s var(--ease), border-color .5s;
  border-bottom:1px solid transparent;
}
header.nav.scrolled{
  background:rgba(246,240,225,.88);
  backdrop-filter:blur(14px) saturate(1.1);
  -webkit-backdrop-filter:blur(14px) saturate(1.1);
  padding:13px 28px;
  border-bottom:1px solid rgba(176,138,60,.22);
}
/* ao rolar (fundo claro), o texto da nav escurece */
header.nav.scrolled .nav-links a{ color:var(--grafite-60); }
header.nav.scrolled .nav-links a:hover{ color:var(--grafite); }
header.nav.scrolled .nav-logo .s{ color:var(--ouro-fundo); }
header.nav.scrolled .nav-burger span{ background:var(--grafite); }
.nav-logo{ display:flex; align-items:center; gap:11px; }
.nav-logo .emblem{ height:38px; width:auto; transition:height .5s var(--ease); }
.nav-logo .lockcol{ display:flex; flex-direction:column; gap:4px; }
.nav-logo .word{ height:15px; width:auto; }
.nav-logo .s{ display:block; font-family:var(--sans); font-size:.46rem; letter-spacing:.42em;
  color:var(--creme-45); padding-left:.42em; text-transform:uppercase; }
header.nav.scrolled .nav-logo .emblem{ height:32px; }
.nav-links{ display:flex; align-items:center; gap:34px; }
.nav-links a{
  font-family:var(--sans); font-size:.74rem; font-weight:400; letter-spacing:.18em;
  text-transform:uppercase; color:var(--creme-70); position:relative; padding:4px 0;
  transition:color .35s;
}
.nav-links a::after{ content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--ouro-claro); transition:width .4s var(--ease); }
.nav-links a:hover{ color:var(--branco-q); }
.nav-links a:hover::after{ width:100%; }
.btn-wa-nav{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--sans); font-size:.72rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase;
  color:var(--tinta); background:var(--ouro-claro);
  padding:10px 18px; border-radius:40px;
  transition:transform .3s var(--ease), background .3s, box-shadow .3s;
  box-shadow:0 4px 18px rgba(176,138,60,.28);
}
.btn-wa-nav:hover{ background:var(--ouro); transform:translateY(-2px); box-shadow:0 8px 26px rgba(176,138,60,.4); }
.btn-wa-nav svg{ width:15px; height:15px; }
.nav-burger{ display:none; flex-direction:column; gap:5px; padding:8px; z-index:951; }
.nav-burger span{ width:24px; height:2px; background:var(--branco-q); border-radius:2px; transition:.35s var(--ease); transform-origin:center; }
.nav-burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-burger.open span:nth-child(2){ opacity:0; }
.nav-burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ---------- Gaveta mobile ---------- */
.mm-overlay{ position:fixed; inset:0; z-index:940; background:rgba(22,20,16,.6);
  backdrop-filter:blur(3px); opacity:0; visibility:hidden; transition:opacity .4s var(--ease), visibility .4s; }
.mm-overlay.open{ opacity:1; visibility:visible; }
.mobile-menu{
  position:fixed; top:0; right:0; bottom:0; z-index:945;
  width:min(82vw,340px); background:var(--tinta);
  border-left:1px solid rgba(205,171,99,.2);
  transform:translateX(100%); transition:transform .5s var(--ease);
  display:flex; flex-direction:column; padding:90px 32px 36px;
  box-shadow:-20px 0 60px rgba(0,0,0,.4);
}
.mobile-menu.open{ transform:translateX(0); }
.mobile-menu .mm-emblem{ width:54px; margin-bottom:6px; }
.mobile-menu .mm-tag{ font-family:var(--sans); font-size:.56rem; letter-spacing:.4em; text-transform:uppercase;
  color:var(--ouro-claro); margin-bottom:30px; }
.mobile-menu nav{ display:flex; flex-direction:column; gap:4px; }
.mobile-menu nav a{ font-family:var(--serif); font-size:1.55rem; color:var(--branco-q);
  padding:13px 0; border-bottom:1px solid rgba(205,171,99,.12); transition:color .3s, padding-left .3s; }
.mobile-menu nav a:hover{ color:var(--ouro-claro); padding-left:8px; }
.mobile-menu .mm-wa{ margin-top:auto; display:inline-flex; align-items:center; justify-content:center; gap:9px;
  background:#25D366; color:#fff; font-family:var(--sans); font-size:.82rem; font-weight:500; letter-spacing:.08em;
  text-transform:uppercase; padding:16px; border-radius:44px; }
.mobile-menu .mm-wa svg{ width:18px; height:18px; }
.mobile-menu .mm-ig{ text-align:center; margin-top:18px; font-family:var(--sans); font-size:.74rem;
  letter-spacing:.1em; color:var(--creme-45); }

/* =====================================================================
   HERO
   ===================================================================== */
.hero{
  position:relative; min-height:100svh;
  display:flex; align-items:center;
  background:#2a1f12;
  overflow:hidden;
}
.hero-bg{ position:absolute; inset:0; z-index:0; }
.hero-bg img, .hero-bg video{
  width:100%; height:120%; object-fit:cover; object-position:center;
  position:absolute; top:-10%; left:0;
  opacity:.55; will-change:transform;
}
#heroImg{ display:none; } /* fallback: só aparece se vídeo não rodar / reduced-motion */
.hero-veil{ position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(120% 80% at 70% 18%, rgba(176,138,60,.20), transparent 55%),
    linear-gradient(180deg, rgba(48,34,17,.58) 0%, rgba(58,42,20,.40) 42%, rgba(40,29,15,.90) 100%);
}
/* Camadas de duna em parallax (SVG) */
.dune{ position:absolute; left:0; right:0; z-index:2; pointer-events:none; will-change:transform; }
.dune svg{ width:100%; height:auto; display:block; }
.dune-1{ bottom:-2%; opacity:.9; }
.dune-2{ bottom:-2%; opacity:.85; }
.dune-3{ bottom:-2%; opacity:1; }

.hero-inner{ position:relative; z-index:5; width:100%; }
.hero-content{ max-width:760px; }
.hero .eyebrow{ color:var(--ouro-claro); opacity:0; transform:translateY(20px); animation:heroUp .9s var(--ease-out) .3s forwards; }
.hero h1{
  font-size:clamp(3rem, 8.5vw, 6.6rem);
  color:var(--branco-q); line-height:.98; margin:18px 0 0;
  font-weight:600;
}
.hero h1 .gold{ color:var(--ouro-claro); font-style:italic; font-weight:500; }
.hero h1 span{ display:block; opacity:0; transform:translateY(28px); }
.hero h1 span:nth-child(1){ animation:heroUp 1s var(--ease-out) .45s forwards; }
.hero h1 span:nth-child(2){ animation:heroUp 1s var(--ease-out) .6s forwards; }
.hero-lead{
  font-family:var(--serif); font-size:clamp(1.25rem,2.4vw,1.7rem);
  color:var(--creme-70); margin-top:26px; max-width:540px; line-height:1.45;
  font-weight:400;
  opacity:0; transform:translateY(20px); animation:heroUp 1s var(--ease-out) .8s forwards;
}
.hero-lead em{ color:var(--ouro-claro); }
.hero-cta{ display:flex; gap:16px; margin-top:38px; flex-wrap:wrap;
  opacity:0; transform:translateY(20px); animation:heroUp 1s var(--ease-out) .95s forwards; }
@keyframes heroUp{ to{ opacity:1; transform:none; } }

.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--sans); font-size:.82rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase;
  padding:16px 30px; border-radius:44px; transition:all .35s var(--ease);
}
.btn-gold{ background:var(--ouro); color:var(--branco-puro); box-shadow:0 8px 30px rgba(176,138,60,.35); }
.btn-gold:hover{ background:var(--ouro-claro); transform:translateY(-3px); box-shadow:0 14px 40px rgba(176,138,60,.5); }
.btn-ghost{ border:1px solid rgba(205,171,99,.45); color:var(--branco-q); }
.btn-ghost:hover{ border-color:var(--ouro-claro); background:rgba(205,171,99,.08); transform:translateY(-3px); }
.btn svg{ width:17px; height:17px; }

.scroll-hint{
  position:absolute; bottom:28px; left:0; right:0; margin-inline:auto; width:max-content; z-index:5;
  display:flex; flex-direction:column; align-items:center; gap:8px;
  font-family:var(--sans); font-size:.6rem; letter-spacing:.4em; text-transform:uppercase; color:var(--creme-45);
  text-align:center;
  opacity:0; animation:heroUp 1s ease 1.4s forwards;
}
.scroll-hint .line{ width:1px; height:34px; background:linear-gradient(var(--ouro-claro),transparent);
  animation:scrollLine 2s var(--ease) infinite; transform-origin:top; }
@keyframes scrollLine{ 0%{ transform:scaleY(0); } 50%{ transform:scaleY(1); } 100%{ transform:scaleY(0); transform-origin:bottom; } }

/* =====================================================================
   FAIXA DE CONFIANÇA (marquee)
   ===================================================================== */
.trust{ background:var(--areia); padding:22px 0; overflow:hidden; border-top:1px solid rgba(176,138,60,.2); border-bottom:1px solid rgba(176,138,60,.2); }
.marquee{ display:flex; gap:0; white-space:nowrap; }
.marquee-track{ display:flex; align-items:center; gap:46px; padding-right:46px;
  animation:marquee 32s linear infinite; }
.trust:hover .marquee-track{ animation-play-state:paused; }
.marquee-track span{ font-family:var(--sans); font-size:.78rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--grafite-60); display:inline-flex; align-items:center; gap:46px; }
.marquee-track span::after{ content:"◆"; color:var(--ouro); font-size:.6rem; }
@keyframes marquee{ to{ transform:translateX(-50%); } }

/* =====================================================================
   SEÇÃO GENÉRICA / CABEÇALHOS
   ===================================================================== */
.section-pad{ padding:clamp(80px,11vw,150px) 0; }
.section-head{ text-align:center; max-width:660px; margin:0 auto clamp(46px,6vw,72px); }
.section-head .diamond{ margin-bottom:22px; }
.section-head h2{ font-size:clamp(2.3rem,5vw,3.7rem); margin-bottom:18px; }
.section-head h2 .gold{ color:var(--ouro); font-style:italic; font-weight:500; }
.section-head p{ color:var(--grafite-60); font-size:1.02rem; max-width:520px; margin:0 auto; }

/* =====================================================================
   COLEÇÃO — filtros + cards olfativos
   ===================================================================== */
.filters{ display:flex; flex-direction:column; align-items:center; gap:16px; margin-bottom:48px; }
.filter-group{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; align-items:center; }
.filter-label{ font-family:var(--sans); font-size:.6rem; letter-spacing:.26em; text-transform:uppercase;
  color:var(--ouro-fundo); width:100%; text-align:center; margin-bottom:3px; }
.filter-secondary{ margin-top:10px; padding-top:20px; border-top:1px solid var(--areia); width:100%; max-width:720px; }
.filter-secondary .filter-label{ color:var(--grafite-45); }
.filter-secondary .chip{ font-size:.64rem; padding:7px 15px; }
.chip{
  font-family:var(--sans); font-size:.72rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase;
  padding:9px 19px; border-radius:40px; border:1px solid var(--areia); color:var(--grafite-60);
  background:var(--branco-puro); transition:all .3s var(--ease);
}
.chip:hover{ border-color:var(--ouro-claro); color:var(--ouro-fundo); }
.chip.active{ background:var(--grafite); color:var(--branco-q); border-color:var(--grafite); }
.filter-secondary .chip.active{ background:var(--ouro); border-color:var(--ouro); color:var(--branco-puro); }
.grid-empty{ grid-column:1/-1; text-align:center; color:var(--grafite-60); padding:50px 0;
  font-family:var(--serif); font-size:1.25rem; }
.grid-reset{ color:var(--ouro-fundo); border-bottom:1px solid var(--ouro-fundo); font-family:var(--sans);
  font-size:.78rem; letter-spacing:.05em; margin-left:6px; }

/* botão "Ver toda a coleção" (prévia da home) */
.ver-todos{ text-align:center; margin-top:54px; }

/* ===== Página de catálogo: cabeçalho ===== */
.cat-header{ padding:130px 0 30px; text-align:center; background:var(--branco-q);
  border-bottom:1px solid var(--areia); }
.cat-header .crumb{ font-family:var(--sans); font-size:.68rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--grafite-45); margin-bottom:14px; }
.cat-header .crumb a{ color:var(--ouro-fundo); }
.cat-header .crumb a:hover{ color:var(--ouro); }
.cat-header h1{ font-size:clamp(2.6rem,6vw,4.4rem); color:var(--grafite); }
.cat-header h1 .gold{ color:var(--ouro); font-style:italic; font-weight:500; }
.cat-header p{ color:var(--grafite-60); max-width:560px; margin:14px auto 0; }
.cat-count{ display:inline-block; margin-top:18px; font-family:var(--sans); font-size:.72rem;
  letter-spacing:.18em; text-transform:uppercase; color:var(--ouro-fundo);
  border:1px solid var(--areia); border-radius:30px; padding:7px 18px; background:var(--branco-puro); }
.cat-main{ padding:40px 0 100px; background:var(--branco-q); }
.dept-switch{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;
  max-width:760px; margin:0 auto 36px;
}
.dept-card{
  min-height:92px; padding:18px 22px; display:flex; align-items:center; gap:16px;
  text-align:left; border:1px solid var(--areia); border-radius:4px;
  background:rgba(255,254,251,.72); transition:.3s var(--ease-out);
}
.dept-card:hover{ transform:translateY(-2px); border-color:var(--ouro-claro); box-shadow:0 12px 34px rgba(60,44,20,.08); }
.dept-card.active{ border-color:var(--ouro); background:linear-gradient(135deg,#fffdf8,#f4ead5); box-shadow:inset 0 0 0 1px rgba(176,138,60,.12); }
.dept-icon{
  width:48px; height:48px; flex:none; display:grid; place-items:center; border-radius:50%;
  color:var(--ouro-fundo); background:rgba(176,138,60,.1);
}
.dept-icon svg{ width:26px; height:26px; stroke-width:1.35; }
.dept-card b{ display:block; font:600 1.24rem/1.1 var(--serif); }
.dept-card small{ display:block; margin-top:5px; color:var(--grafite-60); font-size:.72rem; letter-spacing:.06em; }
.skincare-intro{
  position:relative; overflow:hidden; max-width:900px; min-height:360px; margin:18px auto 0;
  padding:72px 12%; display:flex; flex-direction:column; justify-content:center;
  border:1px solid var(--areia); background:radial-gradient(circle at 82% 28%,rgba(205,171,99,.18),transparent 32%),linear-gradient(135deg,#fffdf9,#eee5d4);
}
.skin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:34px;text-align:left}
.skin-card{background:rgba(255,255,255,.72);border:1px solid rgba(177,138,62,.25);border-radius:18px;padding:14px;box-shadow:0 18px 45px rgba(48,36,18,.08);transition:transform .35s ease,box-shadow .35s ease;cursor:pointer}
.skin-card{position:relative}
.skin-card:hover{transform:translateY(-6px);box-shadow:0 24px 55px rgba(48,36,18,.14)}
.skin-photo{height:270px;border-radius:13px;overflow:hidden;background:#f6f3ec;display:grid;place-items:center}
.skin-photo img{width:100%;height:100%;object-fit:contain;transition:transform .5s ease}
.skin-card:hover .skin-photo img{transform:scale(1.04)}
.skin-brand{margin:15px 0 3px!important;color:var(--ouro-fundo)!important;font-family:var(--sans);font-size:.6rem!important;font-weight:600;letter-spacing:.26em;text-align:center;text-transform:uppercase}
.skin-card h3{font-family:var(--serif);font-size:1.85rem;font-weight:600;line-height:1.05;color:var(--grafite);margin:4px 0 6px;text-align:center}
.skin-card>p:not(.skin-brand){font-family:var(--sans);font-size:.64rem!important;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:var(--ouro-fundo)!important;margin:0 0 16px!important;line-height:1.5!important}
.skin-price{display:block;font-family:var(--serif);font-size:1.7rem;font-weight:700;color:var(--ouro-fundo);line-height:1;margin:0 0 15px;text-align:center}
.skin-card.is-soldout .skin-photo img{filter:grayscale(.45);opacity:.66}
.skin-card.is-soldout .skin-price{opacity:.58}
.skin-soldout{position:absolute;z-index:2;top:25px;right:25px;padding:5px 12px;border:1px solid rgba(118,90,40,.3);border-radius:30px;background:rgba(176,138,60,.08);color:#765a28;font-family:var(--sans);font-size:.6rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
.skin-wa{display:flex;justify-content:center;align-items:center;gap:8px;min-height:42px;border-radius:999px;background:var(--grafite);color:#fff;text-decoration:none;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;transition:background .25s ease,transform .25s ease}
.skin-add{width:100%;border:0;cursor:pointer;font-family:var(--sans)}
.skin-wa:hover{background:var(--ouro);transform:translateY(-1px)}
.skin-wa svg,.skin-qv-action svg{width:16px;height:16px;flex:0 0 auto}
@media(max-width:900px){.skin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.skin-grid{grid-template-columns:1fr}.skin-photo{height:310px}}
.skincare-intro h2{ margin:10px 0 16px; font-size:clamp(2.4rem,5vw,4.4rem); }
.skincare-intro>p:not(.eyebrow){ max-width:590px; color:var(--grafite-60); }
.skin-status{ margin-top:24px; width:max-content; padding:8px 13px; border:1px solid var(--linha-ouro); color:var(--ouro-fundo); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; }
.skin-orbit{ position:absolute; width:240px; height:240px; right:-35px; top:60px; border:1px solid var(--linha-ouro); border-radius:50%; }
.skin-orbit::before,.skin-orbit::after{ content:""; position:absolute; inset:24px; border:1px solid rgba(176,138,60,.18); border-radius:50%; }
.skin-orbit::after{ inset:62px; background:rgba(255,255,255,.24); }
@media(max-width:640px){
  .dept-switch{ grid-template-columns:1fr; }
  .dept-card{ min-height:78px; }
  .skincare-intro{ padding:52px 28px; }
  .skin-orbit{ opacity:.45; right:-100px; }
}
.cat-main .filters{ margin-bottom:40px; }

/* página exclusiva de skincare */
.skincare-page{max-width:1180px;min-height:0;margin:0 auto;padding:72px 7%;}
.skincare-page .skin-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.skincare-page::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.34) 49%,transparent 63%);transform:translateX(-100%);animation:skinSheen 9s ease-in-out infinite;}
@keyframes skinSheen{0%,65%{transform:translateX(-100%)}85%,100%{transform:translateX(100%)}}

/* guia simples de uso dos produtos de skincare */
.skin-qv-overlay{position:fixed;inset:0;z-index:1050;background:rgba(20,18,15,.68);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}
.skin-qv-overlay.open{opacity:1;visibility:visible}
.skin-qv{position:fixed;inset:0;z-index:1060;display:flex;align-items:center;justify-content:center;padding:22px;pointer-events:none}
.skin-qv-card{pointer-events:none;width:min(940px,100%);max-height:90svh;overflow:auto;background:var(--branco-puro);border:1px solid var(--areia);border-radius:12px;display:grid;grid-template-columns:350px 1fr;position:relative;opacity:0;visibility:hidden;transform:translateY(24px) scale(.97);transition:opacity .45s var(--ease-out),transform .45s var(--ease-out),visibility .45s;box-shadow:0 40px 90px -30px rgba(22,20,16,.55)}
.skin-qv.open .skin-qv-card{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.skin-qv-left{position:relative;min-height:520px;padding:54px 38px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 48% 35%,rgba(255,255,255,.92),transparent 44%),linear-gradient(155deg,#f8f2e6,#e9dcc4)}
.skin-qv-left::after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(176,138,60,.28);border-radius:50%}
.skin-qv-photo{position:relative;z-index:2;width:100%;height:330px;padding:20px;display:grid;place-items:center;background:#fff;border-radius:18px;box-shadow:0 24px 50px -28px rgba(38,34,28,.55)}
.skin-qv-photo img{width:100%;height:100%;object-fit:contain}
.skin-qv-badge{position:absolute;z-index:3;top:20px;left:20px;padding:7px 12px;border-radius:999px;background:var(--ouro);color:#fff;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.skin-qv-badge.is-soldout{background:var(--grafite)}
.skin-qv-right{padding:44px 44px 34px}
.skin-qv-right .qv-name{margin-bottom:10px}
.skin-qv-time{display:inline-flex;align-items:center;gap:7px;margin-bottom:20px;padding:7px 11px;border-radius:999px;background:rgba(205,171,99,.14);color:var(--ouro-fundo);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.skin-qv-time::before{content:"◷";font-size:.9rem}
.skin-qv-explain{display:grid;gap:10px}
.skin-qv-explain section{padding:12px 14px;border:1px solid rgba(176,138,60,.2);border-radius:9px;background:#fdfbf7}
.skin-qv-explain section>span{display:block;margin-bottom:4px;color:var(--ouro-fundo);font-size:.64rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.skin-qv-explain p{margin:0;color:var(--grafite-60);font-size:.86rem;line-height:1.5}
.skin-qv-explain .skin-qv-care{background:rgba(205,171,99,.1)}
.skin-qv-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 14px;color:var(--grafite-60);font-size:.8rem}
.skin-qv-meta strong{font-family:var(--serif);font-size:1.35rem;color:var(--grafite);font-weight:600}
.skin-qv-action{width:100%;justify-content:center}
.skin-qv-actions .skin-qv-action{width:auto;flex:1;min-width:180px}
.skin-qv-action[hidden]{display:none}
.skin-qv-note{margin:12px 0 0;color:var(--grafite-45);font-size:.68rem;line-height:1.45;text-align:center}
@media(max-width:760px){.skin-qv{padding:12px}.skin-qv-card{grid-template-columns:1fr;max-height:94svh}.skin-qv-left{min-height:230px;padding:34px 26px}.skin-qv-photo{height:190px;width:min(250px,82%);padding:12px}.skin-qv-right{padding:28px 22px 24px}.skin-qv-right .qv-name{font-size:2rem}.skin-qv-explain section{padding:10px 12px}.skin-qv-explain p{font-size:.82rem}.skin-qv-meta{margin-top:14px}}

/* encomendas especiais — destaque logo após o hero */
.special-order{padding:64px 0;background:var(--branco-q);overflow:hidden;}
.special-order-card{position:relative;display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:36px;padding:38px 44px;border:1px solid rgba(205,171,99,.35);background:linear-gradient(120deg,#191611 0%,#2a2419 58%,#3d321d 100%);box-shadow:0 26px 70px rgba(38,30,18,.18);overflow:hidden;}
.special-order-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 15%,rgba(205,171,99,.2),transparent 32%);pointer-events:none;}
.special-order-art{position:relative;width:130px;height:130px;display:grid;place-items:center;color:var(--ouro-claro);z-index:1;}
.special-order-art svg{width:65px;stroke-width:1;filter:drop-shadow(0 0 18px rgba(205,171,99,.3));}
.so-ring{position:absolute;border:1px solid rgba(205,171,99,.27);border-radius:50%;animation:soPulse 4.5s ease-in-out infinite;}.so-ring-1{inset:5px}.so-ring-2{inset:22px;animation-delay:-2.2s}
@keyframes soPulse{50%{transform:scale(1.08);opacity:.45}}
.special-order-copy{position:relative;z-index:1;max-width:670px}.special-order-copy .eyebrow{color:var(--ouro-claro);margin-bottom:8px}.special-order-copy h2{color:var(--branco-q);font-size:clamp(2rem,3.6vw,3.35rem);font-weight:500}.special-order-copy h2 em{color:var(--ouro-claro);font-weight:500}.special-order-copy>p:not(.eyebrow){color:rgba(246,240,225,.7);max-width:650px;margin-top:13px;font-size:.93rem}.special-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.special-tags span{padding:5px 11px;border:1px solid rgba(205,171,99,.28);color:rgba(246,240,225,.74);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.special-order-btn{position:relative;z-index:1;white-space:nowrap;min-width:230px;justify-content:center}.special-order-btn svg{width:18px;margin-left:8px}
@media(max-width:980px){.special-order-card{grid-template-columns:110px 1fr}.special-order-btn{grid-column:2;justify-self:start}.special-order-art{width:105px;height:105px}}
@media(max-width:640px){.skincare-page{padding:50px 20px}.skincare-page .skin-grid{grid-template-columns:1fr}.special-order{padding:38px 0}.special-order-card{grid-template-columns:1fr;padding:34px 26px;text-align:center;gap:20px}.special-order-art{margin:auto}.special-order-copy>p:not(.eyebrow){font-size:.86rem}.special-tags{justify-content:center}.special-order-btn{grid-column:1;justify-self:stretch;min-width:0}}

/* página de fundo claro no topo (catálogo): navbar sempre legível */
body.page-light .nav{ background:rgba(246,240,225,.92); border-bottom:1px solid rgba(176,138,60,.22);
  -webkit-backdrop-filter:blur(14px) saturate(1.1); backdrop-filter:blur(14px) saturate(1.1); padding:13px 28px; }
body.page-light .nav-links a{ color:var(--grafite-60); }
body.page-light .nav-links a:hover{ color:var(--grafite); }
body.page-light .nav-links a[aria-current="page"]{color:var(--ouro-fundo);}
body.page-light .nav-links a[aria-current="page"]::after{transform:scaleX(1);}
body.page-light .nav-logo .s{ color:var(--ouro-fundo); }
body.page-light .nav-burger span{ background:var(--grafite); }

.grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:26px; }

.card{
  position:relative; background:var(--branco-puro);
  border:1px solid var(--areia); border-radius:4px;
  padding:30px 26px 26px; overflow:hidden;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease), border-color .5s;
  display:flex; flex-direction:column;
}
.card::after{ /* moldura de cantos em ouro no hover */
  content:""; position:absolute; inset:10px; pointer-events:none;
  border:1px solid transparent; border-radius:2px; opacity:0; transition:opacity .5s var(--ease);
  -webkit-mask:linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0);
}
.card:hover{ transform:translateY(-8px); box-shadow:0 24px 50px -20px rgba(38,34,28,.28); border-color:rgba(205,171,99,.4); }
.card-corner{ position:absolute; inset:12px; pointer-events:none; opacity:0; transition:opacity .5s var(--ease); }
.card:hover .card-corner{ opacity:1; }
.card-corner span{ position:absolute; width:16px; height:16px; border:1.5px solid var(--ouro-claro); }
.card-corner span:nth-child(1){ top:0; left:0; border-right:0; border-bottom:0; }
.card-corner span:nth-child(2){ top:0; right:0; border-left:0; border-bottom:0; }
.card-corner span:nth-child(3){ bottom:0; left:0; border-right:0; border-top:0; }
.card-corner span:nth-child(4){ bottom:0; right:0; border-left:0; border-top:0; }

.card-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.card-pill{ font-family:var(--sans); font-size:.6rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase;
  padding:5px 12px; border-radius:30px; }
.pill-solid{ background:var(--ouro); color:var(--branco-puro); }
.pill-line{ border:1px solid var(--areia); color:var(--grafite-45); }

.bottle{ height:170px; display:flex; align-items:flex-end; justify-content:center; margin:6px 0 14px;
  transition:transform .6s var(--ease); }
.card:hover .bottle{ transform:translateY(-4px) scale(1.04); }
.bottle svg{ height:100%; width:auto; }
.bottle img{ height:100%; width:auto; object-fit:contain; filter:drop-shadow(0 12px 22px rgba(38,34,28,.22)); }

.card-fam{ font-family:var(--sans); font-size:.64rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ouro-fundo); text-align:center; }
.card-name{ font-family:var(--serif); font-size:1.85rem; font-weight:600; text-align:center; line-height:1.05; margin:4px 0 2px; }
.card-insp{ font-family:var(--serif); font-style:italic; font-size:.92rem; color:var(--grafite-45); text-align:center; }

.notes{ margin:18px 0 6px; border-top:1px solid var(--areia); padding-top:16px; }
.note-row{ display:grid; grid-template-columns:64px 1fr; gap:10px; padding:5px 0; align-items:baseline; }
.note-row dt{ font-family:var(--sans); font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ouro-fundo); }
.note-row dd{ font-family:var(--serif); font-size:1.02rem; color:var(--grafite); line-height:1.3; }

.card-foot{ margin-top:auto; padding-top:18px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.card-meta{ display:flex; flex-direction:column; }
.card-size{ font-family:var(--sans); font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; color:var(--grafite-45); }
.card-price{ font-family:var(--serif); font-size:1.7rem; font-weight:700; color:var(--ouro-fundo); line-height:1; margin-top:2px; }
.card-price small{ font-size:1em; font-weight:inherit; }
.card-price s{ text-decoration-thickness:1px; text-decoration-color:currentColor; }
.card-wa{
  display:inline-flex; align-items:center; gap:7px;
  font-family:var(--sans); font-size:.68rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  background:var(--grafite); color:var(--branco-q);
  padding:11px 16px; border-radius:40px; transition:all .3s var(--ease); white-space:nowrap;
}
.card-wa:hover{ background:var(--ouro); transform:translateY(-2px); }
.card-wa:disabled,
.card-wa:disabled:hover{
  cursor:not-allowed; transform:none; color:var(--grafite-45);
  border-color:rgba(38,34,28,.16); background:rgba(38,34,28,.04);
}
.card.is-unavailable .bottle img{ filter:grayscale(.45); opacity:.66; }
.card.is-unavailable .card-price{ opacity:.58; }
.card.is-unavailable .pill-line{ color:#765a28; border-color:rgba(118,90,40,.3); background:rgba(176,138,60,.08); }
.card-wa svg{ width:14px; height:14px; }

/* =====================================================================
   QUIZ — Descubra seu perfume
   ===================================================================== */
.quiz{ background:linear-gradient(180deg,#F3EAD7 0%,#ECE0C8 100%); color:var(--grafite); overflow:hidden; position:relative; }
.quiz::before{ content:""; position:absolute; inset:0; opacity:.35;
  background:url("assets/dunes-bg.png") center/cover no-repeat; mix-blend-mode:multiply; pointer-events:none; }
.quiz .wrap{ max-width:840px; }
.quiz .section-head h2{ color:var(--grafite); }
.quiz .section-head h2 .gold{ color:var(--ouro); }
.quiz .section-head p{ color:var(--grafite-60); }
.quiz .section-head .eyebrow{ color:var(--ouro-fundo); }

.quiz-card{
  background:var(--branco-puro); border:1px solid var(--areia);
  border-radius:6px; padding:clamp(28px,5vw,52px);
  box-shadow:0 30px 70px -34px rgba(38,34,28,.4); min-height:340px;
  display:flex; flex-direction:column; justify-content:center;
}
.quiz-progress{ display:flex; gap:8px; justify-content:center; margin-bottom:30px; }
.quiz-progress i{ width:38px; height:3px; border-radius:3px; background:var(--areia); transition:.4s; }
.quiz-progress i.on{ background:var(--ouro); }
.quiz-step{ display:none; animation:fadeUp .6s var(--ease-out); }
.quiz-step.active{ display:block; }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
.quiz-q{ font-family:var(--serif); font-size:clamp(1.7rem,3.6vw,2.5rem); text-align:center; margin-bottom:8px; color:var(--grafite); }
.quiz-hint{ text-align:center; color:var(--ouro-fundo); font-size:.82rem; letter-spacing:.16em; text-transform:uppercase; margin-bottom:30px; }
.quiz-opts{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.quiz-opt{
  text-align:left; border:1px solid var(--areia); border-radius:5px;
  padding:18px 20px; color:var(--grafite); transition:all .3s var(--ease);
  display:flex; flex-direction:column; gap:4px; background:var(--branco-q);
}
.quiz-opt:hover{ border-color:var(--ouro); background:#FBF6E9; transform:translateY(-3px); box-shadow:0 12px 24px -14px rgba(176,138,60,.5); }
.quiz-opt b{ font-family:var(--serif); font-size:1.3rem; font-weight:600; color:var(--grafite); }
.quiz-opt span{ font-size:.82rem; color:var(--grafite-60); }

/* resultado */
.quiz-result{ display:none; text-align:center; animation:fadeUp .7s var(--ease-out); }
.quiz-result.active{ display:block; }
.quiz-result .eyebrow{ color:var(--ouro-fundo); }
.quiz-result .r-bottle{ height:170px; margin:14px auto 10px; display:flex; align-items:center; justify-content:center; }
.quiz-result .r-bottle svg{ height:100%; width:auto; }
.quiz-result .r-bottle img{ height:100%; width:auto; max-width:80%; object-fit:contain;
  filter:drop-shadow(0 12px 22px rgba(38,34,28,.22)); }
.quiz-result h3{ font-family:var(--serif); font-size:2.6rem; color:var(--grafite); margin:6px 0; }
.quiz-result .r-fam{ color:var(--ouro-fundo); letter-spacing:.2em; text-transform:uppercase; font-size:.72rem; }
.quiz-result .r-desc{ color:var(--grafite-60); max-width:440px; margin:16px auto 8px; font-family:var(--serif); font-size:1.15rem; }
.quiz-result .r-price{ font-family:var(--serif); font-size:1.6rem; color:var(--ouro-fundo); font-weight:700; margin:10px 0 26px; }
.quiz-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.quiz-restart{ font-family:var(--sans); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--grafite-45);
  border-bottom:1px solid transparent; padding-bottom:3px; transition:.3s; }
.quiz-restart:hover{ color:var(--ouro-fundo); border-color:var(--ouro-fundo); }

/* =====================================================================
   ESSÊNCIA / SOBRE
   ===================================================================== */
.essence{ position:relative; }
.essence-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:center; }
.essence-copy h2{ font-size:clamp(2.2rem,4.6vw,3.4rem); margin:16px 0 22px; }
.essence-copy h2 .gold{ color:var(--ouro); font-style:italic; font-weight:500; }
.essence-copy p{ color:var(--grafite-60); font-size:1.06rem; margin-bottom:18px; max-width:520px; }
.pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:34px; }
.pillar{ border-top:1px solid var(--areia); padding-top:16px; }
.pillar .num{ font-family:var(--serif); font-style:italic; color:var(--ouro); font-size:1.1rem; }
.pillar h4{ font-size:1.35rem; margin:6px 0 8px; }
.pillar p{ font-size:.9rem; color:var(--grafite-60); margin:0; }

/* moldura emoldurada com emblema */
.essence-frame{ position:relative; aspect-ratio:4/5; border-radius:4px; overflow:hidden;
  background:linear-gradient(160deg,#1d1a14,#161410); display:flex; align-items:center; justify-content:center; }
.essence-frame > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.32; }
.essence-frame .veil{ position:absolute; inset:0;
  background:radial-gradient(80% 60% at 50% 42%, rgba(22,20,16,.35), rgba(22,20,16,.82)); }
.frame-corners span{ position:absolute; width:34px; height:34px; border:1.5px solid var(--ouro-claro); z-index:3; }
.frame-corners span:nth-child(1){ top:18px; left:18px; border-right:0; border-bottom:0; }
.frame-corners span:nth-child(2){ top:18px; right:18px; border-left:0; border-bottom:0; }
.frame-corners span:nth-child(3){ bottom:18px; left:18px; border-right:0; border-top:0; }
.frame-corners span:nth-child(4){ bottom:18px; right:18px; border-left:0; border-top:0; }
.essence-frame .emblem-wrap{ position:relative; z-index:4; text-align:center; color:var(--ouro-claro); padding:0 20px; }
.essence-frame .frame-logo{ width:clamp(180px,52%,250px); margin:0 auto; filter:drop-shadow(0 10px 34px rgba(0,0,0,.55)); }
.essence-frame .emblem-wrap .s{ font-family:var(--sans); font-size:.56rem; letter-spacing:.4em; color:var(--creme-45); margin-top:14px; text-transform:uppercase; }

/* =====================================================================
   DEPOIMENTOS
   ===================================================================== */
.proof{ background:var(--branco-puro); }
.proof-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.quote{ background:var(--branco-q); border:1px solid var(--areia); border-radius:5px; padding:34px 30px; position:relative; }
.quote .mark{ font-family:var(--serif); font-size:4rem; line-height:.4; color:var(--ouro-claro); height:30px; display:block; }
.quote p{ font-family:var(--serif); font-size:1.18rem; color:var(--grafite); line-height:1.45; margin:10px 0 20px; }
.quote .who{ display:flex; align-items:center; gap:12px; }
.quote .av{ width:38px; height:38px; border-radius:50%; background:var(--ouro); color:var(--branco-puro);
  display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:1.1rem; }
.quote .who b{ font-family:var(--sans); font-size:.82rem; font-weight:500; display:block; }
.quote .who span{ font-family:var(--sans); font-size:.7rem; color:var(--grafite-45); }
.stars{ color:var(--ouro); font-size:.8rem; letter-spacing:2px; margin-bottom:4px; }

/* =====================================================================
   COMO PEDIR
   ===================================================================== */
.how-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.step{ text-align:center; }
.step .n{ width:64px; height:64px; margin:0 auto 18px; border:1px solid var(--ouro-claro); border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:1.5rem; color:var(--ouro);
  position:relative; }
.step .n::after{ content:""; position:absolute; inset:-6px; border:1px solid var(--linha-ouro); border-radius:50%; }
.step h4{ font-size:1.4rem; margin-bottom:8px; }
.step p{ color:var(--grafite-60); font-size:.94rem; max-width:280px; margin:0 auto; }

.how-cta{ text-align:center; margin-top:60px; }
.btn-gold-lg{ background:var(--ouro); color:var(--branco-puro); font-size:.9rem; padding:18px 40px;
  box-shadow:0 10px 34px rgba(176,138,60,.32); }
.btn-gold-lg:hover{ background:var(--ouro-claro); transform:translateY(-3px); box-shadow:0 16px 44px rgba(176,138,60,.45); }

/* =====================================================================
   FOOTER
   ===================================================================== */
footer{ background:var(--areia); color:var(--grafite-60); padding:70px 0 36px; position:relative; border-top:1px solid rgba(176,138,60,.25); }
.foot-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:48px;
  border-bottom:1px solid rgba(176,138,60,.25); }
.foot-brand .nav-logo{ margin-bottom:18px; }
.foot-brand .nav-logo .s{ color:var(--ouro-fundo); }
.foot-brand p{ font-size:.9rem; max-width:280px; color:var(--grafite-60); }
.foot-col h5{ font-family:var(--sans); font-size:.68rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ouro-fundo); margin-bottom:18px; }
.foot-col a{ display:block; font-size:.88rem; color:var(--grafite-60); margin-bottom:11px; transition:color .3s; }
.foot-col a:hover{ color:var(--grafite); }
.foot-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:26px; flex-wrap:wrap; gap:14px; }
.foot-bottom p{ font-size:.74rem; color:var(--grafite-45); letter-spacing:.04em; }
.foot-bottom .diamond{ flex:1; max-width:120px; }

/* =====================================================================
   SACOLA / CARRINHO
   ===================================================================== */
.cart-float{
  position:fixed; bottom:92px; right:24px; z-index:851;
  width:58px; height:58px; border-radius:50%;
  background:var(--ouro); color:var(--branco-puro);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 26px rgba(176,138,60,.42);
  transition:transform .35s var(--ease), background .3s;
}
.cart-float:hover{ transform:scale(1.08); background:var(--ouro-claro); }
.cart-float svg{ width:26px; height:26px; }
.cart-float.bump{ animation:cartBump .45s var(--ease); }
@keyframes cartBump{ 0%{transform:scale(1);} 40%{transform:scale(1.24);} 100%{transform:scale(1);} }
.cart-count{
  position:absolute; top:-5px; right:-5px; min-width:22px; height:22px; padding:0 5px;
  border-radius:20px; background:var(--grafite); color:var(--branco-q);
  font-family:var(--sans); font-size:.72rem; font-weight:600;
  display:flex; align-items:center; justify-content:center; border:2px solid var(--branco-q);
  transform:scale(0); transition:transform .3s var(--ease);
}
.cart-count.show{ transform:scale(1); }

.cart-overlay{
  position:fixed; inset:0; z-index:980; background:rgba(38,34,28,.45);
  opacity:0; visibility:hidden; transition:opacity .4s var(--ease), visibility .4s;
  -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
}
.cart-overlay.open{ opacity:1; visibility:visible; }

.cart{
  position:fixed; top:0; right:0; bottom:0; z-index:990;
  width:min(420px,92vw); background:var(--branco-q);
  display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform .45s var(--ease);
  box-shadow:-20px 0 60px -20px rgba(38,34,28,.4);
}
.cart.open{ transform:none; }
.cart-head{ display:flex; align-items:flex-start; justify-content:space-between;
  padding:26px 26px 18px; border-bottom:1px solid var(--areia); }
.cart-head h3{ font-family:var(--serif); font-size:2rem; color:var(--grafite); line-height:1; margin-top:4px; }
.cart-close{ font-size:2rem; line-height:1; color:var(--grafite-45); transition:color .3s; }
.cart-close:hover{ color:var(--ouro); }
.cart-body{ flex:1; overflow-y:auto; padding:14px 26px; }
.cart-empty{ text-align:center; color:var(--grafite-45); padding:54px 20px; font-family:var(--serif); font-size:1.2rem; }
.cart-empty svg{ width:46px; height:46px; margin:0 auto 14px; color:var(--areia); display:block; }
.cart-item{ display:flex; gap:14px; align-items:center; padding:16px 0; border-bottom:1px solid var(--areia); }
.cart-item:last-child{ border-bottom:0; }
.ci-thumb{ width:54px; height:54px; flex:0 0 54px; border-radius:6px; background:var(--branco-puro);
  border:1px solid var(--areia); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.ci-thumb svg{ height:44px; width:auto; } .ci-thumb img{ height:48px; width:auto; object-fit:contain; }
.ci-info{ flex:1; min-width:0; }
.ci-name{ font-family:var(--serif); font-size:1.15rem; color:var(--grafite); line-height:1.1; }
.ci-meta{ font-family:var(--sans); font-size:.68rem; letter-spacing:.04em; color:var(--grafite-45); margin-top:2px; }
.ci-price{ font-family:var(--serif); font-weight:700; color:var(--ouro-fundo); font-size:1.05rem; margin-top:3px; }
.ci-side{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.ci-qty{ display:flex; align-items:center; gap:9px; }
.qbtn{ width:26px; height:26px; border-radius:50%; border:1px solid var(--areia); color:var(--ouro-fundo);
  display:flex; align-items:center; justify-content:center; font-size:1rem; line-height:0; transition:all .25s; }
.qbtn:hover{ border-color:var(--ouro); background:var(--ouro); color:#fff; }
.qval{ font-family:var(--sans); font-weight:600; min-width:16px; text-align:center; font-size:.9rem; color:var(--grafite); }
.ci-remove{ font-family:var(--sans); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--grafite-45); transition:color .25s; }
.ci-remove:hover{ color:#a23; }
.cart-foot{ padding:18px 26px 24px; border-top:1px solid var(--areia); background:var(--branco-puro); }
.cart-foot.hidden{ display:none; }
.cart-total{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:14px; }
.cart-total span{ font-family:var(--sans); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--grafite-60); }
.cart-total strong{ font-family:var(--serif); font-size:1.8rem; color:var(--ouro-fundo); }
.cart-send{ width:100%; justify-content:center; margin-bottom:8px; }
.cart-send svg{ width:18px; height:18px; }
.cart-continue{ width:100%; text-align:center; font-family:var(--sans); font-size:.74rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--grafite-60); padding:10px; transition:color .3s; }
.cart-continue:hover{ color:var(--ouro-fundo); }
.card-wa.added{ background:var(--ouro)!important; }

/* =====================================================================
   BOTÃO FLUTUANTE WHATSAPP
   ===================================================================== */
.wa-float{
  position:fixed; bottom:24px; right:24px; z-index:850;
  width:58px; height:58px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 28px rgba(37,211,102,.45);
  transition:transform .35s var(--ease); animation:waPulse 2.6s var(--ease) infinite;
}
.wa-float:hover{ transform:scale(1.08); }
.wa-float svg{ width:30px; height:30px; }
@keyframes waPulse{ 0%,100%{ box-shadow:0 8px 28px rgba(37,211,102,.45); } 50%{ box-shadow:0 8px 28px rgba(37,211,102,.45),0 0 0 14px rgba(37,211,102,0); } }

/* =====================================================================
   SCROLL REVEAL
   ===================================================================== */
.reveal{ opacity:0; transform:translateY(34px); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.08s; }
.reveal[data-d="2"]{ transition-delay:.16s; }
.reveal[data-d="3"]{ transition-delay:.24s; }
.reveal[data-d="4"]{ transition-delay:.32s; }
.reveal[data-d="5"]{ transition-delay:.40s; }
.reveal[data-d="6"]{ transition-delay:.48s; }

/* =====================================================================
   RESPONSIVO
   ===================================================================== */
@media (max-width:1024px){
  .essence-grid{ grid-template-columns:1fr; gap:40px; }
  .foot-top{ grid-template-columns:1fr 1fr; gap:34px; }
}
@media (max-width:860px){
  .nav-links{ display:none; }
  .nav-burger{ display:flex; }
  .btn-wa-nav{ display:none; }
  .proof-grid{ grid-template-columns:1fr; }
  .how-grid{ grid-template-columns:1fr; gap:40px; }
  .pillars{ grid-template-columns:1fr; gap:18px; }
}
@media (max-width:620px){
  .wrap{ padding:0 20px; }
  .quiz-opts{ grid-template-columns:1fr; }
  .card-foot{ flex-direction:column; align-items:stretch; }
  .card-wa{ justify-content:center; }
  .hero-cta{ flex-direction:column; }
  .btn{ justify-content:center; }
  .foot-top{ grid-template-columns:1fr; }
  .foot-bottom{ justify-content:center; text-align:center; }
}

/* =====================================================================
   ✨ MELHORIAS v2 — fundos animados, interações e micro-detalhes
   ===================================================================== */

/* ---------- Scrollbar da marca ---------- */
html{ scrollbar-color:var(--ouro) var(--branco-q); scrollbar-width:thin; }
::-webkit-scrollbar{ width:11px; }
::-webkit-scrollbar-track{ background:var(--branco-q); }
::-webkit-scrollbar-thumb{ background:linear-gradient(var(--ouro-claro),var(--ouro));
  border-radius:8px; border:3px solid var(--branco-q); }

/* ---------- Foco visível + toque ---------- */
a:focus-visible, button:focus-visible{ outline:2px solid var(--ouro); outline-offset:3px; border-radius:4px; }
a, button{ touch-action:manipulation; }

/* números tabulares em preços */
.card-price, .ci-price, .cart-total strong, .r-price{ font-variant-numeric:tabular-nums; }

/* ---------- Barra de progresso de leitura ---------- */
.scroll-progress{
  position:fixed; top:0; left:0; right:0; height:2px; z-index:1001;
  background:linear-gradient(90deg,var(--ouro-fundo),var(--ouro-claro));
  transform:scaleX(0); transform-origin:left; pointer-events:none;
}

/* ---------- Aurora dourada do hero ---------- */
.hero-aurora{ position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.hero-aurora i{ position:absolute; border-radius:50%; filter:blur(70px); opacity:.30; will-change:transform; }
.hero-aurora i:nth-child(1){ width:46vw; height:46vw; left:-8vw; top:-12vw;
  background:radial-gradient(circle, rgba(205,171,99,.6), transparent 65%);
  animation:aur1 16s ease-in-out infinite alternate; }
.hero-aurora i:nth-child(2){ width:38vw; height:38vw; right:-6vw; top:8vh;
  background:radial-gradient(circle, rgba(176,138,60,.55), transparent 60%);
  animation:aur2 21s ease-in-out infinite alternate; }
.hero-aurora i:nth-child(3){ width:32vw; height:32vw; left:30vw; bottom:-10vw;
  background:radial-gradient(circle, rgba(133,102,41,.5), transparent 60%);
  animation:aur1 26s ease-in-out -8s infinite alternate; }
@keyframes aur1{ from{ transform:translate3d(0,0,0) scale(1); } to{ transform:translate3d(6vw,4vh,0) scale(1.18); } }
@keyframes aur2{ from{ transform:translate3d(0,0,0) scale(1.1); } to{ transform:translate3d(-5vw,6vh,0) scale(.92); } }

/* ---------- Canvas de poeira de ouro ---------- */
.fx-dust{ position:absolute; inset:0; z-index:3; pointer-events:none; }
.cat-header{ position:relative; overflow:hidden; }
.cat-header .fx-dust{ z-index:1; }
.cat-header::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(60% 80% at 70% 0%, rgba(205,171,99,.22), transparent 60%);
  animation:catGlow 9s ease-in-out infinite alternate;
}
@keyframes catGlow{ from{ opacity:.45; transform:translateX(0); } to{ opacity:1; transform:translateX(-6%); } }

/* ---------- Texto dourado com shimmer ---------- */
.hero h1 .gold, .section-head h2 .gold, .cat-header h1 .gold, .essence-copy h2 .gold{
  background-size:220% 100%;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:goldShine 7s linear infinite;
}
.hero h1 .gold{
  background-image:linear-gradient(110deg,#CDAB63 20%,#F0DCA8 38%,#CDAB63 52%,#B08A3C 70%,#CDAB63 85%);
}
.section-head h2 .gold, .cat-header h1 .gold, .essence-copy h2 .gold{
  background-image:linear-gradient(110deg,#A8812F 20%,#CDAB63 42%,#856629 58%,#B08A3C 78%,#A8812F 92%);
}
@keyframes goldShine{ to{ background-position:-220% 0; } }

/* ---------- Sheen nos botões dourados ---------- */
.btn{ position:relative; overflow:hidden; }
.btn-gold::after, .btn-gold-lg::after, .btn-wa-nav::after{
  content:""; position:absolute; top:-10%; bottom:-10%; left:-45%; width:34%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-20deg) translateX(0); transition:transform .7s var(--ease);
  pointer-events:none;
}
.btn-wa-nav{ position:relative; overflow:hidden; }
.btn-gold:hover::after, .btn-gold-lg:hover::after, .btn-wa-nav:hover::after{ transform:skewX(-20deg) translateX(460%); }
.btn:active{ transform:translateY(-1px) scale(.97); }

/* ---------- Marquee com bordas esfumadas ---------- */
.trust .marquee{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}

/* ---------- Fundo do quiz: brilho de areia em movimento ---------- */
.quiz::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(205,171,99,.14) 46%,transparent 62%);
  background-size:260% 100%;
  animation:sandShine 10s linear infinite;
}
@keyframes sandShine{ from{ background-position:130% 0; } to{ background-position:-130% 0; } }

/* botão voltar do quiz */
.quiz-back{
  display:none; align-items:center; gap:8px; margin:24px auto 0;
  font-family:var(--sans); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--grafite-45); transition:color .3s;
}
.quiz-back.show{ display:flex; }
.quiz-back svg{ width:15px; height:15px; }
.quiz-back:hover{ color:var(--ouro-fundo); }

/* Depoimentos em carrossel rolante (full-width, loop infinito) */
.proof-marquee{ position:relative; overflow:hidden; padding:10px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.proof-track{ display:flex; align-items:stretch; gap:24px; width:max-content; padding:0 12px;
  animation:proofScroll 75s linear infinite; }
.proof-marquee:hover .proof-track{ animation-play-state:paused; }
.proof-track .quote{ flex:0 0 360px; width:360px; margin:0; display:flex; flex-direction:column; }
.proof-track .quote p{ flex:1; }
@keyframes proofScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (max-width:620px){ .proof-track .quote{ flex-basis:290px; width:290px; } }
@media (prefers-reduced-motion:reduce){
  .proof-track{ animation:none; }
  .proof-marquee{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
}

/* Catálogo — barra de busca + ordenação */
.cat-toolbar{ display:flex; gap:14px; align-items:center; justify-content:space-between;
  flex-wrap:wrap; margin-bottom:26px; }
.cat-search{ position:relative; flex:1 1 320px; max-width:460px; }
.cat-search svg{ position:absolute; left:16px; top:50%; transform:translateY(-50%);
  width:17px; height:17px; color:var(--ouro-fundo); pointer-events:none; }
.cat-search input{ width:100%; font-family:var(--sans); font-size:.92rem; color:var(--grafite);
  background:var(--branco-puro); border:1px solid var(--areia); border-radius:44px;
  padding:13px 18px 13px 44px; transition:border-color .3s, box-shadow .3s; }
.cat-search input::placeholder{ color:var(--grafite-45); }
.cat-search input:focus{ outline:none; border-color:var(--ouro-claro); box-shadow:0 0 0 3px rgba(205,171,99,.18); }
.cat-sort{ display:inline-flex; align-items:center; gap:10px; font-family:var(--sans);
  font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ouro-fundo); }
.cat-sort select{ font-family:var(--sans); font-size:.86rem; letter-spacing:normal; text-transform:none;
  color:var(--grafite); background:var(--branco-puro); border:1px solid var(--areia); border-radius:30px;
  padding:11px 16px; cursor:pointer; transition:border-color .3s; }
.cat-sort select:focus{ outline:none; border-color:var(--ouro-claro); }
.cat-actions{ display:flex; align-items:center; gap:14px; }
.cat-filter-toggle,.cat-filter-summary,.filter-mobile-head,.filter-mobile-foot{ display:none; }
.label-compact{ display:none; }
@media (max-width:620px){
  .cat-search{ flex-basis:100%; max-width:none; }
  .cat-sort{ width:auto; justify-content:space-between; }
  .cat-sort select{ flex:1; }
}

/* Quiz v2 — pergunta de gênero (3 opções) + alternativas no resultado */
.quiz-opts-3{ grid-template-columns:repeat(3,1fr); }
.r-alts{ margin-top:30px; padding-top:24px; border-top:1px solid var(--areia); }
.r-alts-title{ font-family:var(--sans); font-size:.66rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--ouro-fundo); margin-bottom:16px; }
.r-alts-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.r-alt{ display:flex; align-items:center; gap:12px; text-align:left; padding:12px 14px;
  border:1px solid var(--areia); border-radius:6px; background:var(--branco-q); cursor:pointer;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s, background .3s; }
.r-alt:hover{ border-color:var(--ouro-claro); background:#FBF6E9; transform:translateY(-2px);
  box-shadow:0 12px 24px -16px rgba(176,138,60,.5); }
.r-alt-bottle{ flex:0 0 46px; width:46px; height:62px; display:flex; align-items:center; justify-content:center; }
.r-alt-bottle svg{ height:100%; width:auto; }
.r-alt-bottle img{ height:62px; width:auto; object-fit:contain; }
.r-alt-info{ display:flex; flex-direction:column; min-width:0; gap:1px; }
.r-alt-brand{ font-family:var(--sans); font-size:.54rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ouro-fundo); }
.r-alt-name{ font-family:var(--serif); font-size:1.12rem; color:var(--grafite); line-height:1.1;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.r-alt-price{ font-family:var(--serif); font-weight:700; color:var(--ouro-fundo); font-size:.95rem; }
@media (max-width:560px){
  .quiz-opts-3{ grid-template-columns:1fr; }
  .r-alts-grid{ grid-template-columns:1fr; }
}

/* ---------- Cards: tilt 3D + brilho que segue o mouse ---------- */
.card{ cursor:pointer; will-change:transform; transform-style:preserve-3d; }
.card:hover .card-name{ color:var(--ouro-fundo); }
.card-name{ transition:color .35s var(--ease); }

/* marca acima do nome do perfume */
.card-brand{ font-family:var(--sans); font-size:.6rem; font-weight:600; letter-spacing:.26em;
  text-transform:uppercase; color:var(--ouro-fundo); text-align:center; margin-top:2px; }

/* selo "Sob consulta" no lugar do preço */
.preco-consulta{ font-family:var(--sans); font-size:.82rem; font-weight:500; letter-spacing:.04em;
  color:var(--ouro-fundo); white-space:nowrap; }
.qv-meta .preco-consulta{ font-size:1rem; }

/* card mais limpo: dica "Ver detalhes" no hover/foco */
.card-fam{ margin-bottom:2px; }
.card-hint{ display:block; text-align:center; margin-top:10px;
  font-family:var(--sans); font-size:.58rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--grafite-45); opacity:0; transform:translateY(4px);
  transition:opacity .35s var(--ease), transform .35s var(--ease), color .35s; }
.card:hover .card-hint, .card:focus-visible .card-hint{ opacity:1; transform:none; color:var(--ouro-fundo); }

/* quick-view: PIRÂMIDE OLFATIVA visual — faixas douradas que se alargam (topo→fundo) */
.qv-pyramid{ display:flex; flex-direction:column; align-items:center; gap:9px; margin:20px 0 10px; }
.pyr-tier{ width:100%; border-radius:10px; padding:11px 16px 13px; text-align:center;
  border:1px solid var(--linha-ouro); position:relative; }
.pyr-top{ width:62%; background:linear-gradient(180deg, rgba(205,171,99,.16), rgba(205,171,99,.07)); }
.pyr-heart{ width:81%; background:linear-gradient(180deg, rgba(205,171,99,.22), rgba(205,171,99,.10)); }
.pyr-base{ width:100%; background:linear-gradient(180deg, rgba(176,138,60,.26), rgba(176,138,60,.12)); }
.pyr-label{ display:block; font-family:var(--sans); font-size:.55rem; letter-spacing:.26em;
  text-transform:uppercase; color:var(--ouro-fundo); margin-bottom:8px; }
.pyr-notes{ display:flex; flex-wrap:wrap; gap:6px; justify-content:center; }
.note-chip{ display:inline-flex; align-items:center; gap:6px; font-family:var(--serif); font-size:.95rem;
  color:var(--grafite); line-height:1; background:var(--branco-puro); border:1px solid var(--areia);
  border-radius:30px; padding:5px 13px 5px 9px; }
.note-chip svg{ width:14px; height:14px; color:var(--ouro); flex:0 0 auto; }

/* revela em cascata ao abrir o quick-view */
.qv .qv-pyramid .pyr-tier{ opacity:0; transform:translateY(10px); }
.qv.open .qv-pyramid .pyr-tier{ animation:noteIn .5s var(--ease-out) forwards; }
.qv.open .qv-pyramid .pyr-tier:nth-child(1){ animation-delay:.16s; }
.qv.open .qv-pyramid .pyr-tier:nth-child(2){ animation-delay:.30s; }
.qv.open .qv-pyramid .pyr-tier:nth-child(3){ animation-delay:.44s; }
@keyframes noteIn{ to{ opacity:1; transform:none; } }
@media (max-width:560px){
  .pyr-top{ width:84%; } .pyr-heart{ width:93%; }
}
.card-glare{
  position:absolute; inset:0; z-index:5; pointer-events:none; opacity:0;
  background:radial-gradient(420px circle at var(--gx,50%) var(--gy,30%), rgba(255,244,214,.5), transparent 46%);
  mix-blend-mode:soft-light; transition:opacity .4s var(--ease);
}
.card:hover .card-glare{ opacity:1; }

/* gleam que varre o frasco */
.bottle{ position:relative; }
.bottle::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:0;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);
  background-size:300% 100%; background-position:140% 0;
  transition:background-position .9s var(--ease), opacity .3s;
}
.card:hover .bottle::after{ background-position:-40% 0; opacity:1; }

/* ---------- Quick View (modal de detalhes) ---------- */
.qv-overlay{
  position:fixed; inset:0; z-index:1050; background:rgba(22,20,16,.58);
  -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px);
  opacity:0; visibility:hidden; transition:opacity .45s var(--ease), visibility .45s;
}
.qv-overlay.open{ opacity:1; visibility:visible; }
.qv{
  position:fixed; inset:0; z-index:1060; display:flex; align-items:center; justify-content:center;
  padding:22px; pointer-events:none;
}
.qv-card{
  pointer-events:none; width:min(880px,100%); max-height:88svh; overflow:auto;
  background:var(--branco-puro); border:1px solid var(--areia); border-radius:8px;
  display:grid; grid-template-columns:340px 1fr; position:relative;
  opacity:0; visibility:hidden; transform:translateY(28px) scale(.96);
  transition:opacity .5s var(--ease-out), transform .5s var(--ease-out), visibility .5s;
  box-shadow:0 40px 90px -30px rgba(22,20,16,.55);
}
.qv.open .qv-card{ opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.qv-close{
  position:absolute; top:14px; right:18px; z-index:6;
  font-size:2rem; line-height:1; color:var(--grafite-45); transition:color .3s, transform .3s;
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
}
.qv-close:hover{ color:var(--ouro); transform:rotate(90deg); }
.qv-left{
  position:relative; background:linear-gradient(160deg,#F6F0E1,#ECE0C8);
  display:flex; align-items:center; justify-content:center; padding:48px 36px;
  min-height:380px; overflow:hidden;
}
.qv-left::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(70% 60% at 50% 38%, rgba(205,171,99,.3), transparent 70%);
  animation:catGlow 7s ease-in-out infinite alternate;
}
.qv-left .qv-pill{ position:absolute; top:18px; left:18px; z-index:3; }
.qv-bottle{ position:relative; z-index:2; height:260px; animation:qvFloat 5s ease-in-out infinite; }
.qv-bottle svg{ height:100%; width:auto; }
.qv-bottle img{ height:100%; width:auto; object-fit:contain; filter:drop-shadow(0 18px 34px rgba(38,34,28,.3)); }
/* foto de produto no modal: azulejo branco arredondado (some o fundo branco/serve transparências) */
.qv-bottle:has(img){ background:#fff; border-radius:12px; padding:18px; box-shadow:0 20px 44px -22px rgba(38,34,28,.5); }
.qv-bottle:has(img) img{ filter:none; }
@keyframes qvFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-12px); } }
.qv-right{ padding:46px 44px 40px; }
.qv-name{ font-family:var(--serif); font-size:clamp(2rem,4vw,2.8rem); line-height:1.02; margin:8px 0 2px; color:var(--grafite); }
.qv-insp{ font-family:var(--serif); font-style:italic; color:var(--grafite-45); margin-bottom:14px; }
.qv-desc{ color:var(--grafite-60); font-size:1.02rem; max-width:420px; }
.qv-notes-help{
  margin-top:18px; border:1px solid var(--areia); border-radius:10px;
  background:linear-gradient(135deg,rgba(205,171,99,.09),rgba(255,255,255,.9));
  overflow:hidden;
}
.qv-notes-help summary{
  position:relative; cursor:pointer; list-style:none; padding:12px 42px 12px 16px;
  font-family:var(--sans); font-size:.72rem; font-weight:600; letter-spacing:.08em;
  color:var(--ouro-fundo);
}
.qv-notes-help summary::-webkit-details-marker{ display:none; }
.qv-notes-help summary::after{
  content:"+"; position:absolute; top:50%; right:16px; transform:translateY(-50%);
  font-family:var(--serif); font-size:1.25rem; font-weight:400; line-height:1;
  transition:transform .25s var(--ease);
}
.qv-notes-help[open] summary::after{ transform:translateY(-50%) rotate(45deg); }
.qv-notes-help-content{
  display:grid; gap:10px; padding:2px 16px 14px; border-top:1px solid rgba(205,171,99,.2);
}
.qv-notes-help-content p{
  display:grid; grid-template-columns:72px 1fr; gap:10px; margin:0; padding-top:10px;
  color:var(--grafite-60); font-size:.86rem; line-height:1.45;
}
.qv-notes-help-content strong{
  font-family:var(--sans); font-size:.65rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ouro-fundo);
}
.qv-right .notes{ margin:20px 0 8px; }
.qv-meta{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin:14px 0 22px; }
.qv-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.qv-actions .btn{ font-size:.76rem; padding:14px 24px; }
.qv-actions .btn:disabled{
  cursor:not-allowed; opacity:.52; transform:none; box-shadow:none;
}
.btn-line-dark{ border:1px solid var(--ouro); color:var(--ouro-fundo); }
.btn-line-dark:hover{ background:var(--ouro); color:var(--branco-puro); transform:translateY(-2px); }
.btn-line-dark svg{ width:16px; height:16px; }

/* ---------- Toast "adicionado ao pedido" ---------- */
.toast{
  position:fixed; left:50%; bottom:26px; z-index:1200;
  transform:translate(-50%,160%); opacity:0; visibility:hidden;
  display:flex; align-items:center; gap:13px;
  background:var(--grafite); color:var(--branco-q);
  border:1px solid rgba(205,171,99,.4); border-radius:50px;
  padding:13px 20px; font-family:var(--sans); font-size:.86rem;
  box-shadow:0 18px 44px rgba(22,20,16,.4);
  transition:transform .55s var(--ease-out), opacity .45s, visibility .55s;
  max-width:min(92vw,460px);
}
.toast.show{ transform:translate(-50%,0); opacity:1; visibility:visible; }
.toast .t-check{
  flex:0 0 24px; width:24px; height:24px; border-radius:50%; background:var(--ouro);
  display:flex; align-items:center; justify-content:center;
}
.toast .t-check svg{ width:13px; height:13px; }
.toast b{ color:var(--ouro-claro); font-weight:500; }
.toast .t-view{
  flex:0 0 auto; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ouro-claro); border-bottom:1px solid currentColor; padding-bottom:2px;
  transition:color .3s; white-space:nowrap;
}
.toast .t-view:hover{ color:var(--branco-q); }

/* ---------- Voltar ao topo ---------- */
.to-top{
  position:fixed; bottom:24px; left:24px; z-index:840;
  width:46px; height:46px; border-radius:50%;
  border:1px solid rgba(176,138,60,.45);
  background:rgba(246,240,225,.88);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  color:var(--ouro-fundo);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transform:translateY(14px);
  transition:all .4s var(--ease);
}
.to-top.show{ opacity:1; visibility:visible; transform:none; }
.to-top:hover{ background:var(--ouro); color:#fff; transform:translateY(-3px); }
.to-top svg{ width:18px; height:18px; }

/* ---------- Chips com feedback de toque ---------- */
.chip:active, .quiz-opt:active{ transform:scale(.96); }

/* ---------- Responsivo das novidades ---------- */
@media (max-width:760px){
  .qv-card{ grid-template-columns:1fr; max-height:90svh; }
  .qv-left{ min-height:250px; padding:34px 24px; }
  .qv-bottle{ height:170px; }
  .qv-right{ padding:28px 24px 30px; }
  .qv-actions .btn{ flex:1; justify-content:center; }
  .to-top{ bottom:20px; left:16px; width:42px; height:42px; }
  .toast{ bottom:18px; width:max-content; }
}

/* Acessibilidade: respeita reduced-motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .reveal{ opacity:1; transform:none; }
  .hero-bg img,.hero-bg video,.dune{ transform:none !important; }
  #heroVideo{ display:none; }   /* sem movimento: troca vídeo pela imagem */
  #heroImg{ display:block; }
  .hero-aurora, .fx-dust{ display:none; }
  .hero h1 .gold, .section-head h2 .gold, .cat-header h1 .gold, .essence-copy h2 .gold{
    background:none; -webkit-text-fill-color:currentColor; }
  .qv .qv-pyramid .pyr-tier{ opacity:1 !important; transform:none !important; }
  .card-hint{ opacity:1; transform:none; }
}

/* Catálogo compacto no celular: menos rolagem, filtros sob demanda e duas colunas. */
@media (max-width:620px){
  body.page-light .nav{ padding:10px 16px; }
  .cat-header{ padding:88px 0 20px; }
  .cat-header .crumb{ display:none; }
  .cat-header h1{ font-size:2.35rem; line-height:1; }
  .cat-header p{ max-width:330px; margin-top:10px; font-size:.84rem; line-height:1.45; }
  .cat-count{ margin-top:11px; padding:6px 14px; font-size:.62rem; }
  .cat-header::before{ animation:none; }
  .cat-header .gold{ background:none!important; -webkit-text-fill-color:currentColor!important; }
  .cat-header .fx-dust{ display:none; }

  .cat-main{ padding:18px 0 72px; }
  .cat-main .wrap{ padding:0 12px; }
  .cat-toolbar{ gap:10px; margin-bottom:8px; }
  .cat-search input{ min-height:46px; padding:11px 15px 11px 42px; font-size:.82rem; }
  .cat-search svg{ left:15px; width:16px; height:16px; }
  .cat-actions{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:9px; width:100%; }
  .cat-filter-toggle{
    min-width:0; min-height:46px; padding:10px 12px; display:flex; align-items:center; justify-content:center; gap:8px;
    border:1px solid var(--areia); border-radius:4px; background:var(--branco-puro); color:var(--grafite);
    font-family:var(--sans); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase;
  }
  .cat-filter-toggle svg{ width:17px; height:17px; color:var(--ouro-fundo); }
  .cat-filter-toggle small{ min-width:20px; height:20px; padding:0 5px; display:grid; place-items:center;
    border-radius:20px; background:var(--ouro); color:#fff; font-size:.62rem; letter-spacing:0; }
  .cat-filter-toggle small[hidden]{ display:none; }
  .cat-sort{ position:relative; min-width:0; min-height:46px; gap:0; border:1px solid var(--areia);
    border-radius:4px; background:var(--branco-puro); overflow:hidden; }
  .cat-sort span{ position:absolute; z-index:1; left:11px; top:6px; font-size:.48rem; letter-spacing:.14em;
    color:var(--grafite-45); pointer-events:none; }
  .cat-sort select{ width:100%; height:44px; min-width:0; margin:0; padding:16px 25px 4px 11px;
    border:0; border-radius:0; background:transparent; font-size:.74rem; }
  .cat-filter-summary{ min-height:26px; margin:0 2px 8px; display:flex; align-items:center; justify-content:space-between;
    color:var(--grafite-45); font-family:var(--sans); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; }
  .cat-filter-summary button{ color:var(--ouro-fundo); border-bottom:1px solid currentColor;
    font:500 .62rem/1.2 var(--sans); letter-spacing:.06em; text-transform:uppercase; }

  .cat-main .filters{ display:none; gap:13px; margin:0 0 14px; padding:16px 12px 12px;
    border:1px solid var(--areia); border-radius:4px; background:rgba(255,254,251,.96);
    box-shadow:0 18px 45px -30px rgba(38,34,28,.4); }
  .cat-main .filters.is-open{ display:flex; }
  .filter-mobile-head{ width:100%; display:flex; align-items:center; justify-content:space-between;
    padding-bottom:12px; border-bottom:1px solid var(--areia); }
  .filter-mobile-head span{ display:block; color:var(--grafite-45); font-size:.5rem; letter-spacing:.18em; text-transform:uppercase; }
  .filter-mobile-head strong{ display:block; margin-top:2px; font:600 1.35rem/1 var(--serif); }
  .filter-mobile-close{ width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--areia);
    border-radius:50%; color:var(--grafite); font:300 1.55rem/1 var(--sans); }
  .filter-group{ gap:7px; }
  .filter-label{ margin-bottom:1px; font-size:.54rem; }
  .filter-secondary{ margin-top:2px; padding-top:12px; }
  .filter-secondary .chip,.chip{ min-height:36px; padding:7px 12px; font-size:.57rem; letter-spacing:.1em; }
  .filter-mobile-foot{ width:100%; display:block; padding-top:2px; }
  .filter-apply{ width:100%; min-height:44px; border-radius:30px; background:var(--grafite); color:var(--branco-q);
    font:500 .67rem/1 var(--sans); letter-spacing:.1em; text-transform:uppercase; }

  .catalog-page .grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 10px; }
  .catalog-page .card{ min-width:0; min-height:326px; padding:10px 8px 9px; border-radius:3px;
    transition:border-color .2s; will-change:auto; transform-style:flat; contain:layout paint; }
  .catalog-page .card:hover{ transform:none; box-shadow:none; }
  .catalog-page .card-glare,.catalog-page .card-corner{ display:none; }
  .catalog-page .card-top{ position:absolute; z-index:4; top:8px; left:8px; right:8px; }
  .catalog-page .card-top .pill-solid,.catalog-page .card-top .pill-line{ display:none; }
  .catalog-page .card.is-unavailable .card-top .pill-line{ display:inline-flex; margin-left:auto; padding:4px 7px;
    background:rgba(255,254,251,.92); font-size:.48rem; letter-spacing:.1em; }
  .catalog-page .bottle{ height:137px; margin:2px 0 8px; align-items:center; }
  .catalog-page .card:hover .bottle{ transform:none; }
  .catalog-page .bottle img{ max-width:100%; filter:drop-shadow(0 8px 14px rgba(38,34,28,.16)); }
  .catalog-page .card-brand{ margin-top:0; overflow:hidden; color:var(--ouro-fundo); font-size:.49rem; letter-spacing:.16em;
    text-overflow:ellipsis; white-space:nowrap; }
  .catalog-page .card-name{ min-height:2.18em; margin:4px 0 0; display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical;
    -webkit-line-clamp:2; font-size:1.16rem; line-height:1.09; }
  .catalog-page .card-fam,.catalog-page .card-hint{ display:none; }
  .catalog-page .card-foot{ gap:8px; margin-top:auto; padding-top:9px; align-items:stretch; }
  .catalog-page .card-meta{ align-items:center; min-width:0; }
  .catalog-page .card-size{ max-width:100%; overflow:hidden; font-size:.48rem; letter-spacing:.09em; text-overflow:ellipsis; white-space:nowrap; }
  .catalog-page .card-price{ margin-top:3px; font-size:1.22rem; }
  .catalog-page .card-price small{ font-size:.72em; }
  .catalog-page .card-wa{ width:100%; min-height:40px; padding:9px 7px; justify-content:center; gap:5px;
    border-radius:30px; font-size:.57rem; letter-spacing:.07em; }
  .catalog-page .card-wa svg{ width:13px; height:13px; }
  .catalog-page .label-wide{ display:none; }
  .catalog-page .label-compact{ display:inline; }
  .catalog-page .reveal,.catalog-page .reveal[data-d]{ opacity:1; transform:none; transition:none; }

  .catalog-page .wa-float{ display:none; }
  .catalog-page .cart-float{ top:10px; right:58px; bottom:auto; z-index:1002; width:42px; height:42px;
    border:1px solid rgba(176,138,60,.24); background:rgba(255,254,251,.72); color:var(--ouro-fundo); box-shadow:none; }
  .catalog-page .cart-float svg{ width:21px; height:21px; }
  .catalog-page .cart-float:hover{ transform:none; background:var(--branco-puro); }
  .catalog-page .cart-count{ top:-4px; right:-4px; min-width:19px; height:19px; font-size:.62rem; }
}
