/* ===== HOME (index.html inline <style>) ===== */
/* ===== HOME-SPECIFIC ===== */
/* HERO CARROSSEL — banners INDEPENDENTES, transição crossfade (dissolve, sem corte/emenda) */
.hero-slides { position:relative; width:100%; aspect-ratio:7 / 2; max-height:700px; min-height:300px; background:#000; overflow:hidden; border-bottom:1px solid var(--border); }
.hs-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.hs-track { position:absolute; inset:0; }
/* crossfade: slides empilhados; o ativo dissolve sobre o anterior (sem corte/emenda entre banners) */
.hs-slide { position:absolute; inset:0; width:100%; height:100%; opacity:0; z-index:1; pointer-events:none; transition:opacity 1.2s var(--ease); }
.hs-slide.is-active { opacity:1; z-index:2; pointer-events:auto; }
.hs-slide img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
/* enviesa o corte lateral para o lado LIVRE (o texto é overlay e não corta) → frascos/conteúdo preservados */
.hs-slide:nth-child(1) img, .hs-slide:nth-child(3) img, .hs-slide:nth-child(5) img { object-position:80% center; }  /* conteúdo à direita */
.hs-slide:nth-child(2) img, .hs-slide:nth-child(4) img { object-position:20% center; }                              /* conteúdo à esquerda */
/* ---- texto sobre o banner (no espaço livre) + botão ---- */
.hs-text { position:absolute; top:0; bottom:0; z-index:4; width:56%; display:flex; flex-direction:column; justify-content:center; pointer-events:none; }
.hs-text--left  { left:0;  align-items:flex-start; text-align:left;  padding:0 3% 0 clamp(58px,7vw,110px); background:linear-gradient(90deg, rgba(0,0,0,.7) 0%, rgba(0,0,0,.28) 56%, transparent 100%); }
.hs-text--right { right:0; align-items:flex-end;   text-align:right; padding:0 clamp(58px,7vw,110px) 0 3%; background:linear-gradient(270deg, rgba(0,0,0,.7) 0%, rgba(0,0,0,.28) 56%, transparent 100%); }
/* kicker (rótulo dourado acima do título) */
.hs-kicker { font-family:var(--font-display); font-size:.72rem; letter-spacing:.34em; text-transform:uppercase; color:var(--gold-light); display:inline-flex; align-items:center; gap:.7rem; margin-bottom:1rem; }
.hs-kicker::before { content:''; width:28px; height:1px; background:var(--gold); }
.hs-text--right .hs-kicker { flex-direction:row-reverse; }
.hs-text .htxt { font-family:var(--font-serif); color:#fff; font-size:clamp(1.5rem, 3vw, 2.9rem); line-height:1.12; text-shadow:0 1px 3px rgba(0,0,0,.5); margin:0; max-width:580px; }
.hs-text .htxt .gold { color:var(--gold-light); }
/* subtexto (marcas/benefício abaixo do título) */
.hs-sub { font-family:var(--font-body); font-weight:400; color:var(--text); font-size:clamp(.85rem,1.1vw,1.02rem); line-height:1.5; margin-top:1rem; max-width:440px; text-shadow:0 1px 2px rgba(0,0,0,.6); }
.hs-text--right .hs-sub { margin-left:auto; }
.hs-btn { position:relative; overflow:hidden; isolation:isolate; pointer-events:auto; display:inline-block; margin-top:1.4rem; font-family:var(--font-display); font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; color:var(--text); background:rgba(10,10,10,.5); border:1px solid var(--gold); padding:.9em 1.9em; backdrop-filter:blur(3px); transition:color .3s var(--ease); text-decoration:none; white-space:nowrap; }
/* preenchimento dourado que varre da esquerda p/ a direita no hover */
.hs-btn::before { content:''; position:absolute; inset:0; z-index:-1; background:var(--gold); transform:translateX(-101%); transition:transform .4s var(--ease); }
.hs-btn:hover { color:#1a1408; }
.hs-btn:hover::before { transform:none; }
.hs-bottom { position:absolute; left:0; right:0; bottom:0; height:42%; z-index:2; pointer-events:none; background:linear-gradient(0deg, rgba(0,0,0,.72), transparent); }
.hs-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:5; width:48px; height:48px; border-radius:50%; border:1px solid var(--border-strong); background:rgba(10,10,10,.45); color:var(--gold-light); font-size:1.6rem; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(4px); opacity:.6; transition:opacity .25s var(--ease), border-color .25s, background .25s; }
.hero-slides:hover .hs-arrow { opacity:1; }
.hs-arrow:hover { border-color:var(--gold); background:rgba(20,20,20,.8); }
.hs-prev { left:18px; } .hs-next { right:18px; }
.hs-dots { position:absolute; bottom:18px; left:50%; transform:translateX(-50%); z-index:6; display:flex; gap:10px; }
.hs-dot { width:34px; height:3px; border:none; padding:0; cursor:pointer; background:rgba(255,255,255,.26); position:relative; overflow:hidden; transition:background .3s var(--ease); }
.hs-dot:hover { background:rgba(255,255,255,.5); }
.hs-dot i { position:absolute; left:0; top:0; bottom:0; width:0; display:block; background:var(--gold); }
/* barra de progresso = tempo até o próximo banner (também controla o autoplay via animationend) */
.hs-dot.active i { animation:opus-dotfill 6s linear; }
.hero-slides:hover .hs-dot.active i,
.hero-slides:focus-within .hs-dot.active i { animation-play-state:paused; }
@keyframes opus-dotfill { from{ width:0 } to{ width:100% } }

/* Entrada do texto em sequência (kicker → título → subtítulo → botão) ao trocar de banner */
.hs-slide .hs-kicker, .hs-slide .htxt, .hs-slide .hs-sub, .hs-slide .hs-btn { opacity:0; transition:opacity .4s var(--ease); }
.hs-slide.is-active .hs-kicker { animation:hs-rise .7s var(--ease) .15s both; }
.hs-slide.is-active .htxt    { animation:hs-rise .7s var(--ease) .30s both; }
.hs-slide.is-active .hs-sub  { animation:hs-rise .7s var(--ease) .45s both; }
.hs-slide.is-active .hs-btn  { animation:hs-rise .7s var(--ease) .60s both; }
@keyframes hs-rise { from{ opacity:0; transform:translateY(20px) } to{ opacity:1; transform:none } }

@media (prefers-reduced-motion: reduce){
  .hs-dot.active i { animation:none; width:100%; }
  .hs-slide .hs-kicker, .hs-slide .htxt, .hs-slide .hs-sub, .hs-slide .hs-btn { opacity:1; }
  .hs-slide.is-active .hs-kicker, .hs-slide.is-active .htxt, .hs-slide.is-active .hs-sub, .hs-slide.is-active .hs-btn { animation:none; }
}
@media (max-width:600px){
  .hero-slides { aspect-ratio:auto; height:440px; max-height:none; }
  .hs-arrow { display:none; }                    /* mobile: sem setas (usa swipe + barrinhas) */
  .hs-dot.active i { animation-duration:3s; }    /* banners passam 2x mais rápido (era 6s) */
  .hs-text, .hs-text--left, .hs-text--right { width:100%; align-items:flex-start; text-align:left; justify-content:flex-end; padding:0 20px 54px; background:linear-gradient(0deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,.45) 55%, transparent 100%); }
  .hs-text--right .hs-kicker { flex-direction:row; }
  .hs-text--right .hs-sub { margin-left:0; }
  .hs-text .htxt { font-size:clamp(1.15rem, 5vw, 1.6rem); max-width:none; }
  .hs-sub { max-width:none; font-size:.9rem; }
  .hs-btn { margin-top:1rem; }
}

.trust-strip { position:relative; margin-top:var(--s-4); padding:var(--s-5) 0; border-top:1px solid var(--border-strong); border-bottom:1px solid var(--border-strong); overflow:hidden; }
.trust-strip::before { content:''; position:absolute; inset:0; z-index:0; background:url('/assets/selos-bg.jpg') center/cover; }
.trust-strip::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(8,8,8,.62), rgba(8,8,8,.74)); }
.trust-strip .wrap { position:relative; z-index:2; }
.trust-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--s-5); }
.trust-item { display:flex; flex-direction:column; align-items:flex-start; gap:var(--s-3); padding:0 var(--s-4); transition:transform .4s var(--ease); }
.trust-item:hover { transform:translateY(-2px); }
.trust-item .ti-icon { display:flex; }
/* pop dos ícones quando a faixa entra na tela (classe .in via app.js) — em cascata */
.trust-strip.in .ti-icon { animation:icon-pop .55s var(--ease) both; }
.trust-strip.in .trust-item:nth-child(2) .ti-icon { animation-delay:.09s }
.trust-strip.in .trust-item:nth-child(3) .ti-icon { animation-delay:.18s }
.trust-strip.in .trust-item:nth-child(4) .ti-icon { animation-delay:.27s }
@keyframes icon-pop { 0%{ transform:scale(.55); opacity:.3 } 60%{ transform:scale(1.14) } 100%{ transform:scale(1); opacity:1 } }
@media (prefers-reduced-motion: reduce){ .trust-strip.in .ti-icon { animation:none; } }
.trust-item .ti-icon svg { stroke:var(--gold-light); fill:none; stroke-width:1.4; width:34px; height:34px; }
.trust-item .ti-text h4 { font-family:var(--font-display); font-size:.78rem; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-light); position:relative; padding-bottom:.7rem; }
.trust-item .ti-text h4::after { content:''; position:absolute; left:0; bottom:0; width:30px; height:2px; background:var(--gold); }
.trust-item .ti-text p { font-family:var(--font-body); font-size:.86rem; font-weight:400; color:var(--text-mid); line-height:1.5; }
/* Barrinhas de posição do carrossel de selos (só aparecem no mobile) */
.trust-dots, .howto-dots { display:none; justify-content:center; gap:8px; margin-top:var(--s-5); }
.trust-dots i, .howto-dots i { width:24px; height:3px; border-radius:2px; background:rgba(255,255,255,.2); cursor:pointer; transition:background .3s var(--ease), width .3s var(--ease); }
.trust-dots i.active, .howto-dots i.active { background:var(--gold); width:32px; }

.curadoria { padding:var(--s-10) 0 var(--s-9); }
/* Curadoria — layout EDITORIAL (E): imagem + texto, lados alternados (sem números) */
.cuE .rows { border-top:1px solid var(--border); }
.cuE .row { display:grid; grid-template-columns:1.05fr 1fr; border-bottom:1px solid var(--border); text-decoration:none; }
.cuE .media { position:relative; min-height:340px; overflow:hidden; }
/* parallax sutil + zoom no hover via custom properties (sem conflito de transform) */
.cuE .media img { position:absolute; left:0; right:0; top:-9%; width:100%; height:118%; object-fit:cover; transform:translateY(var(--py,0px)) scale(var(--sc,1)); transition:transform .3s var(--ease); will-change:transform; }
.cuE .row:hover .media img { --sc:1.05; }
/* reveal ALTERNADO: cada linha entra deslizando do lado da sua imagem */
.cuE .row.fade-up { transform:translateX(-40px); }
.cuE .row.fade-up:nth-child(even) { transform:translateX(40px); }
.cuE .row.fade-up.in { transform:none; }
.cuE .txt { padding:2.6rem clamp(1.5rem,4vw,3.4rem); display:flex; flex-direction:column; justify-content:center; }
.cuE h3 { font-family:var(--font-serif); font-weight:400; font-size:clamp(2rem,3.4vw,2.8rem); line-height:1; color:var(--text); margin-bottom:.8rem; }
.cuE .desc { font-family:var(--font-serif); font-style:italic; color:var(--text-mid); font-size:1.05rem; line-height:1.4; max-width:42ch; margin-bottom:1.2rem; font-weight:400 !important; }
.cuE .explore { font-family:var(--font-display); font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); display:inline-flex; align-items:center; gap:.6rem; }
.cuE .explore::after { content:''; width:24px; height:1px; background:var(--gold); transition:width .35s var(--ease); }
.cuE .row:hover .explore::after { width:46px; }
.cuE .row:nth-child(even) { grid-template-columns:1fr 1.05fr; }
.cuE .row:nth-child(even) .media { order:2; }
@media (max-width:860px){
  .cuE .row, .cuE .row:nth-child(even) { grid-template-columns:1fr; }
  .cuE .row:nth-child(even) .media { order:0; }
  .cuE .media { min-height:240px; }
  .cuE .txt { padding:2rem 1.4rem 2.4rem; }
}

/* ===== LOTE 3: traço dos títulos, "como funciona" animado ===== */
/* traço dourado que cresce sob o título da seção quando ela entra */
.section-head h2 { position:relative; }
.section-head h2::after { content:''; position:absolute; left:0; bottom:-12px; width:0; height:2px; background:var(--gold); transition:width .6s var(--ease) .25s; }
.section-head.in h2::after { width:48px; }

/* "Como funciona": a linha de conexão se desenha + ícones dão pop ao entrar */
.howto-grid.reveal::before { transform:scaleX(0); transform-origin:left; transition:transform .9s var(--ease); }
.howto-grid.reveal.in::before { transform:scaleX(1); }
.howto-grid.reveal.in .step-icon { animation:icon-pop .55s var(--ease) both; }
.howto-grid.reveal.in .howto-step:nth-child(2) .step-icon { animation-delay:.12s }
.howto-grid.reveal.in .howto-step:nth-child(3) .step-icon { animation-delay:.24s }
.howto-grid.reveal.in .howto-step:nth-child(4) .step-icon { animation-delay:.36s }
@media (prefers-reduced-motion: reduce){
  .howto-grid.reveal::before, .howto-grid.reveal.in::before { transform:none; }
  .howto-grid.reveal.in .step-icon { animation:none; }
}

.products { padding:var(--s-9) 0; }
/* MAIS VENDIDOS — cards de conversão (modelo J): preço grande + prova social + quick-add + favoritar */
.cuJ .bs-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s-5); }
.cuJ .jc { position:relative; background:linear-gradient(180deg, var(--black-card), var(--black-soft)); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; display:flex; flex-direction:column; transition:border-color .4s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease); }
.cuJ .jc:hover { border-color:var(--border-strong); transform:translateY(-5px); box-shadow:0 28px 54px -26px rgba(0,0,0,.9); }
.cuJ .jc-img { position:relative; aspect-ratio:1/1; overflow:hidden; background:var(--black); display:block; }
.cuJ .jc-img img { width:100%; height:100%; object-fit:cover; transform:scale(var(--pzoom)); transition:transform .8s var(--ease); }
.cuJ .jc:hover .jc-img img { transform:scale(calc(var(--pzoom) + .06)); }
.cuJ .jc-hot { position:absolute; top:10px; left:10px; z-index:2; display:inline-flex; align-items:center; gap:.45em; font-family:var(--font-display); font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; background:rgba(10,10,10,.55); border:1px solid var(--gold-light); color:var(--gold-light); padding:.42em .72em; border-radius:8px; backdrop-filter:blur(6px); }
.cuJ .jc-hot .fire { width:5px; height:5px; border-radius:50%; background:var(--gold-light); box-shadow:0 0 0 3px rgba(201,168,97,.18); }
.cuJ .wishlist { position:absolute; top:10px; right:10px; z-index:4; width:38px; height:38px; display:flex; align-items:center; justify-content:center; border:1px solid var(--border-strong); background:rgba(10,10,10,.5); border-radius:50%; backdrop-filter:blur(6px); cursor:pointer; opacity:0; transform:translateY(-6px) scale(.85); transition:opacity .35s var(--ease), transform .35s var(--ease), border-color .3s, background .3s, box-shadow .3s; }
.cuJ .jc:hover .wishlist, .cuJ .wishlist.on, .cuJ .wishlist:focus-visible { opacity:1; transform:none; }
.cuJ .wishlist:hover { border-color:var(--gold); background:rgba(201,168,97,.16); transform:scale(1.12); box-shadow:0 4px 16px rgba(201,168,97,.25); }
.cuJ .wishlist:active { transform:scale(.92); }
.cuJ .wishlist.on { border-color:var(--gold); background:rgba(201,168,97,.18); box-shadow:0 0 0 1px rgba(201,168,97,.35), 0 4px 18px rgba(201,168,97,.22); }
.cuJ .wishlist svg { width:17px; height:17px; stroke:var(--gold); fill:none; stroke-width:1.6; transition:fill .25s var(--ease), stroke .25s; }
.cuJ .wishlist.on svg { fill:var(--gold-light); stroke:var(--gold-light); animation:heart-pop .42s var(--ease); }
.cuJ .jc-quick { position:absolute; left:10px; right:10px; bottom:10px; z-index:3; font-family:var(--font-display); font-size:.66rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:#1a1408; background:linear-gradient(105deg, var(--gold-bright), var(--gold)); border:none; border-radius:var(--r-sm); padding:.8em; cursor:pointer; opacity:0; transform:translateY(8px); transition:.3s var(--ease); box-shadow:0 10px 24px -10px rgba(201,168,97,.5); }
.cuJ .jc:hover .jc-quick, .cuJ .jc-quick:focus-visible { opacity:1; transform:none; }
.cuJ .jc-info { padding:var(--s-4); display:flex; flex-direction:column; gap:.32rem; flex:1; }
.cuJ .jc-info .brand { font-family:var(--font-display); font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-light); }
.cuJ .jc-info .name { font-family:var(--font-serif); font-size:1.1rem; color:var(--text); text-decoration:none; }
.cuJ .jc-info .rate { display:flex; align-items:center; gap:.4rem; font-size:.7rem; color:var(--text-dim); }
.cuJ .jc-info .rate b { color:var(--text); }
.cuJ .jc-info .low { font-size:.68rem; color:var(--gold-light); }
.cuJ .jc-info .price { color:var(--text); font-family:var(--font-serif); font-size:1.5rem; margin-top:auto; padding-top:.2rem; }
.cuJ .jc-add { display:none; }
@media (max-width:860px){
  .cuJ .bs-grid { grid-template-columns:1fr 1fr; }
  .cuJ .jc-quick { opacity:1; transform:none; }
  .cuJ .wishlist { opacity:1; transform:none; }
}
/* Mobile: "Mais vendidos" vira carrossel horizontal (~2,2 cards por tela) com sangria até as bordas */
@media (max-width:580px){
  .cuJ .bs-grid{
    display:flex; gap:var(--s-4);
    overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    margin:0 calc(-1 * var(--s-4)); padding:.2rem var(--s-4) .5rem;
    scroll-padding-left:var(--s-4);
  }
  .cuJ .bs-grid::-webkit-scrollbar{ display:none; }
  .cuJ .bs-grid > .jc{ flex:0 0 46%; scroll-snap-align:start; }
  /* card mais limpo: sem o botão sobreposto na imagem; "Adicionar" limpo abaixo do preço */
  .cuJ .bs-grid > .jc .jc-quick{ display:none; }
  .cuJ .bs-grid > .jc .jc-add{ display:block; width:100%; margin-top:.55rem; padding:.62rem; border:none; border-radius:var(--r-sm); background:linear-gradient(105deg,var(--gold-bright),var(--gold)); color:#1a1408; font-family:var(--font-display); font-size:.6rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; cursor:pointer; }
  .cuJ .bs-grid > .jc .jc-add:active{ transform:scale(.97); }
  .cuJ .bs-grid > .jc .jc-info{ padding:var(--s-3) var(--s-3) var(--s-4); gap:.28rem; }
  .cuJ .bs-grid > .jc .jc-info .name{ font-size:1.02rem; line-height:1.2; }
  .cuJ .bs-grid > .jc .jc-info .price{ font-size:1.3rem; white-space:nowrap; }
  .cuJ .bs-grid > .jc .jc-hot{ top:8px; left:8px; font-size:.54rem; padding:.34em .58em; }
  .cuJ .bs-grid > .jc .wishlist{ top:8px; right:8px; width:32px; height:32px; }
}


/* QUIZ (seção .club = só o respiro vertical; o conteúdo é o chat .qzF abaixo) */
.club { margin:var(--s-9) 0; }

/* QUIZ OLFATIVO — chamada editorial (imagem de fundo + véu, sem UI falsa) */
.qzF { position:relative; overflow:hidden; border:1px solid var(--border-strong); border-radius:var(--r-lg); background:#0a0a0a; min-height:clamp(380px,42vw,460px); display:flex; align-items:center; }
/* caminho absoluto: este CSS é servido de /assets/, então 'img/...' relativo quebraria */
.qzF::before { content:''; position:absolute; inset:0; z-index:0; background:url('/img/quiz-bg.jpg') center/cover; transform:scale(1.03); }
.qzF-veil { position:absolute; inset:0; z-index:1; background:linear-gradient(100deg, rgba(8,7,5,.97) 0%, rgba(8,7,5,.86) 40%, rgba(10,9,6,.38) 72%, rgba(8,7,5,.62) 100%); }
.qzF-inner { position:relative; z-index:2; padding:clamp(2.2rem,5vw,4rem); max-width:600px; }
.qzF h2 { font-family:var(--font-serif); font-weight:300; font-size:clamp(2.1rem,4.2vw,3.2rem); line-height:1.06; color:var(--text); margin:var(--s-4) 0; }
.qzF h2 em { font-style:italic; color:var(--gold-light); font-weight:400; }
.qzF .lead { font-family:var(--font-serif); font-size:1.12rem; line-height:1.6; color:var(--text-mid); max-width:440px; margin-bottom:var(--s-5); }
.qzF-meta { display:flex; flex-wrap:wrap; gap:1.6rem; margin-bottom:var(--s-6); }
.qzF-meta span { display:inline-flex; align-items:center; gap:.55rem; font-family:var(--font-body); font-size:.85rem; color:var(--text-mid); }
.qzF-meta svg { width:17px; height:17px; stroke:var(--gold-light); fill:none; stroke-width:1.5; flex:none; }
.qzF .btn { align-self:flex-start; }
@media (max-width:680px){
  .qzF-veil { background:linear-gradient(175deg, rgba(8,7,5,.8) 0%, rgba(8,7,5,.93) 55%, rgba(8,7,5,.97) 100%); }
  .qzF-meta { flex-direction:column; gap:.7rem; }
}
@media (prefers-reduced-motion: reduce){ .qzF::before { transform:none; } }


.howto { padding:var(--s-10) 0 var(--s-9); background:radial-gradient(ellipse at 50% 0%, rgba(201,168,97,.08) 0%, transparent 50%), var(--black); }
.howto-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--s-5); margin-top:var(--s-7); position:relative; }
/* linha de conexão entre os passos */
.howto-grid::before { content:''; position:absolute; top:calc(var(--s-6) + 44px); left:12%; right:12%; height:1px; background:linear-gradient(90deg, transparent, var(--border-strong) 15%, var(--border-strong) 85%, transparent); z-index:0; }
.howto-step { position:relative; z-index:1; padding:var(--s-7) var(--s-5) var(--s-6); background:linear-gradient(180deg, var(--black-card), var(--black-soft)); border:1px solid var(--border); border-radius:var(--r-lg); text-align:center; transition:border-color .4s var(--ease), transform .4s var(--ease); }
.howto-step:hover { border-color:var(--gold); transform:translateY(-4px); }
.howto-step .step-num { position:absolute; top:var(--s-3); right:var(--s-4); font-family:var(--font-display); font-size:.6rem; letter-spacing:.22em; color:var(--gold-dim); }
.howto-step .step-icon {
  width:84px; height:84px; margin:0 auto var(--s-5); border-radius:50%; position:relative;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--border-strong);
  background:radial-gradient(circle at 32% 28%, rgba(201,168,97,.2), rgba(201,168,97,.02) 65%), var(--black);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:border-color .45s var(--ease), box-shadow .45s var(--ease);
}
.howto-step .step-icon::after { content:''; position:absolute; inset:7px; border-radius:50%; border:1px solid rgba(201,168,97,.14); }
.howto-step:hover .step-icon { border-color:var(--gold); box-shadow:0 0 0 5px rgba(201,168,97,.07), inset 0 1px 0 rgba(255,255,255,.07); }
.howto-step .step-icon svg { width:34px; height:34px; stroke:var(--gold-light); fill:none; stroke-width:1.2; }
.howto-step h4 { font-family:var(--font-serif); font-size:1.3rem; font-weight:400; color:var(--text); margin-bottom:var(--s-3); }
/* sem itálico: são 3 linhas de texto corrido, não legenda (o itálico puxava o olho p/ a decoração) */
.howto-step p { font-family:var(--font-serif); color:var(--text-mid); font-size:.95rem; line-height:1.55; }
@media (max-width:1080px){ .howto-grid::before { display:none; } }

.story { padding:var(--s-10) 0; position:relative; overflow:hidden; }
.story::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 50%, rgba(201,168,97,.06) 0%, transparent 50%); pointer-events:none; }
.story-content { text-align:center; max-width:820px; margin:0 auto; position:relative; z-index:2; }
.story .ornament-roman { font-family:var(--font-display); font-size:.95rem; letter-spacing:.5em; color:var(--gold); margin-bottom:var(--s-5); }
.story h2 { font-family:var(--font-serif); font-weight:300; font-size:clamp(2.4rem, 5.5vw, 4rem); line-height:1.1; color:var(--text); margin-bottom:var(--s-6); letter-spacing:-.01em; }
.story h2 em { font-style:italic; color:var(--gold-light); font-weight:400; }
.story p.lead { font-family:var(--font-serif); font-size:1.25rem; line-height:1.7; color:var(--text); margin-bottom:var(--s-5); }
.story p.body { font-family:var(--font-serif); font-size:1.1rem; line-height:1.75; color:var(--text-mid); margin-bottom:var(--s-4); }
.story .sign { font-family:var(--font-display); font-size:.72rem; letter-spacing:.32em; color:var(--gold); margin-top:var(--s-6); }

.newsletter { background:linear-gradient(180deg, var(--black) 0%, var(--black-soft) 100%); padding:var(--s-9) 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.newsletter-inner { display:grid; grid-template-columns:1fr 1fr; gap:var(--s-8); align-items:center; }
.newsletter h3 { font-family:var(--font-serif); font-weight:300; font-size:2.4rem; line-height:1.1; color:var(--text); margin-bottom:var(--s-3); }
.newsletter h3 em { font-style:italic; color:var(--gold-light); font-weight:400; }
.newsletter p { font-family:var(--font-serif); font-style:italic; color:var(--text-mid); margin-bottom:var(--s-2); }
.news-form { display:flex; gap:var(--s-3); background:var(--black-card); border:1px solid var(--border); border-radius:999px; padding:6px; transition:border-color .3s var(--ease); }
.news-form input { padding-left:var(--s-5); }
.news-form button { border-radius:999px; }
.news-form:focus-within { border-color:var(--gold); }
.news-form input { flex:1; min-width:0; background:none; border:none; outline:none; padding:var(--s-3) var(--s-4); font-family:var(--font-body); font-size:.9rem; color:var(--text); }
.news-form input::placeholder { color:var(--text-mid); }
.news-form button { padding:var(--s-3) var(--s-6); font-family:var(--font-display); font-size:.7rem; letter-spacing:.24em; background:var(--gold); color:var(--black); transition:background .3s var(--ease); }
.news-form button:hover { background:var(--gold-light); }
.news-note { font-family:var(--font-body); font-size:.75rem; color:var(--text-dim); margin-top:var(--s-3); }

@media (max-width:1080px) {
  .trust-grid { grid-template-columns:1fr 1fr; }
  .howto-grid { grid-template-columns:1fr 1fr; }
  .newsletter-inner { grid-template-columns:minmax(0,1fr); gap:var(--s-5); }
}
@media (max-width:580px) {
  /* "Como funciona" vira carrossel horizontal (~1,3 card por tela) com sangria até as bordas */
  .howto-grid{
    display:flex; gap:var(--s-4);
    overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    margin:var(--s-6) calc(-1 * var(--s-4)) 0; padding:.2rem var(--s-4) .4rem;
    scroll-padding-left:var(--s-4);
  }
  .howto-grid::before{ display:none; }
  .howto-grid::-webkit-scrollbar{ display:none; }
  /* estáticos no carrossel: sem a revelação fade-up que os fazia "flutuar" pra cima ao carregar */
  .howto-grid .howto-step.fade-up{ flex:0 0 77%; scroll-snap-align:start; opacity:1; transform:none; transition:none; }
  /* Selos viram carrossel de cards (~1,5 por tela) com sangria até as bordas */
  .trust-grid{
    display:flex; gap:var(--s-4);
    overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    margin:0 calc(-1 * var(--s-4)); padding:.2rem var(--s-4) .4rem;
    scroll-padding-left:var(--s-4);
  }
  .trust-grid::-webkit-scrollbar{ display:none; }
  .trust-item{
    flex:0 0 48%; scroll-snap-align:start;
    background:rgba(12,12,12,.55); border:1px solid var(--border);
    border-radius:var(--r-lg); padding:var(--s-4);
  }
  .trust-dots, .howto-dots{ display:flex; }
  /* Espaçamento vertical enxuto e PADRÃO na home mobile (seções + título→conteúdo) */
  .curadoria, .products, .story, .newsletter, .howto{ padding:var(--s-4) 0; }
  .club{ margin:var(--s-4) 0; }
  .trust-strip{ margin-top:var(--s-2); padding:var(--s-3) 0; }
  .section-head, .section-head-center{ margin-bottom:var(--s-4); padding-bottom:var(--s-3); }
  .howto-grid{ margin-top:var(--s-4); }
  .trust-dots, .howto-dots{ margin-top:var(--s-3); }
}

/* ===== CATEGORIA (categoria.html inline <style>) ===== */
/* ===== CATEGORIA — padrão 2026 ===== */
.cat-hero {
  position:relative; overflow:hidden;
  display:flex; align-items:flex-end; min-height:340px;
  background:radial-gradient(ellipse at 50% -10%, rgba(201,168,97,.14) 0%, transparent 58%), var(--black);
  border-bottom:1px solid var(--border);
}
.cat-hero .hero-img { position:absolute; inset:0; z-index:0; background-size:cover; background-position:center; opacity:0; transform:scale(1.05); transition:opacity 1s var(--ease), transform 1.3s var(--ease); }
.cat-hero.has-img .hero-img { opacity:1; transform:none; }
.cat-hero.has-img::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(8,8,8,.95) 0%, rgba(8,8,8,.7) 40%, rgba(8,8,8,.25) 100%), linear-gradient(0deg, rgba(8,8,8,.55), transparent 42%); }
.cat-hero .wrap { position:relative; z-index:2; padding:var(--s-8) 0 var(--s-7); }
.cat-hero .eyebrow { margin-bottom:var(--s-3); }
.cat-hero h1 { font-family:var(--font-serif); font-weight:300; font-size:clamp(2.3rem, 5vw, 3.6rem); color:var(--text); letter-spacing:-.01em; }
.cat-hero h1 em { font-style:italic; color:var(--gold-light); }
.cat-hero p { font-family:var(--font-serif); font-style:italic; color:var(--text-mid); font-size:1.12rem; max-width:580px; margin-top:.6rem; line-height:1.5; }
.cat-hero.has-img h1, .cat-hero.has-img p { text-shadow:0 2px 22px rgba(0,0,0,.85); }
.cat-hero.has-img p { color:var(--text); }

.shop { padding:var(--s-7) 0 var(--s-10); }
.shop-layout { display:grid; grid-template-columns:270px 1fr; gap:2.4rem; align-items:start; }

/* Toolbar */
.shop-toolbar { display:flex; align-items:center; justify-content:space-between; gap:var(--s-4); margin-bottom:var(--s-5); padding-bottom:var(--s-4); border-bottom:1px solid var(--border); flex-wrap:wrap; }
.shop-count { font-family:var(--font-body); font-size:.86rem; font-weight:400; color:var(--text-mid); letter-spacing:.02em; }
.shop-count b { color:var(--text); font-weight:600; font-size:1rem; }
.toolbar-right { display:flex; align-items:center; gap:var(--s-4); }
.sort-select { display:flex; align-items:center; gap:var(--s-3); }
.sort-select label { font-family:var(--font-display); font-weight:600; font-size:.62rem; letter-spacing:.18em; color:var(--text-mid); text-transform:uppercase; }
.sel-wrap { position:relative; display:inline-flex; align-items:center; }
.sel-wrap select { appearance:none; -webkit-appearance:none; -moz-appearance:none; background:var(--black-card); border:1px solid var(--border-strong); color:var(--text); padding:.66em 2.4em .66em 1em; font-family:var(--font-body); font-size:.82rem; cursor:pointer; border-radius:11px; transition:border-color .25s var(--ease), box-shadow .25s var(--ease); }
.sel-wrap select:hover { border-color:var(--gold-dim); }
.sel-wrap select:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,168,97,.12); }
.sel-wrap .chev { position:absolute; right:.8em; pointer-events:none; color:var(--gold); display:flex; }
.sel-wrap .chev svg { width:14px; height:14px; }
.filter-toggle { display:none; align-items:center; gap:var(--s-2); border:1px solid var(--border-strong); border-radius:11px; color:var(--text); padding:.62em 1.1em; font-family:var(--font-display); font-size:.62rem; letter-spacing:.16em; background:var(--black-card); }
.filter-toggle svg { width:16px; height:16px; stroke:var(--gold); fill:none; stroke-width:1.6; }

/* Sidebar */
.filters { background:linear-gradient(180deg, var(--black-card), var(--black-soft)); border:1px solid var(--border-strong); border-radius:18px; padding:1.5rem; position:sticky; top:88px; }
.filter-group { padding-bottom:1.3rem; margin-bottom:1.3rem; border-bottom:1px solid var(--border); }
.filter-group:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.filter-group h4 { font-family:var(--font-display); font-size:.64rem; letter-spacing:.22em; color:var(--gold); margin-bottom:var(--s-4); font-weight:600; text-transform:uppercase; }
.filter-opt { display:flex; align-items:center; gap:var(--s-3); margin-bottom:.65rem; cursor:pointer; font-size:.86rem; font-weight:400; color:var(--text-mid); transition:color .2s var(--ease); }
.filter-opt:hover { color:var(--text); }
.filter-opt input { appearance:none; -webkit-appearance:none; width:18px; height:18px; border:1px solid var(--border-strong); border-radius:5px; background:var(--black); position:relative; flex-shrink:0; cursor:pointer; transition:background .2s, border-color .2s; }
.filter-opt input:checked { background:var(--gold); border-color:var(--gold); }
.filter-opt input:checked::after { content:'✓'; position:absolute; inset:0; color:#1a1408; font-size:12px; display:flex; align-items:center; justify-content:center; font-weight:700; }
.filter-opt .count { margin-left:auto; font-size:.72rem; font-weight:400; color:var(--text-dim); }
.price-range { display:flex; align-items:center; gap:var(--s-3); padding-top:.3rem; }
.price-range input[type=range] { -webkit-appearance:none; appearance:none; width:100%; height:5px; border-radius:99px; background:linear-gradient(90deg, var(--gold-dim), var(--gold-light)); cursor:pointer; }
.price-range input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; width:18px; height:18px; border-radius:50%; background:var(--gold-light); border:2px solid var(--black); box-shadow:0 2px 8px rgba(0,0,0,.6); cursor:pointer; }
.price-range input[type=range]::-moz-range-thumb { width:18px; height:18px; border-radius:50%; background:var(--gold-light); border:2px solid var(--black); cursor:pointer; }
.price-vals { display:flex; justify-content:space-between; font-size:.8rem; font-weight:400; color:var(--text); margin-top:.7rem; }
.price-vals b { color:var(--gold-light); }
.size-filter { display:flex; gap:.4rem; flex-wrap:wrap; }
.size-filter span { font-family:var(--font-display); font-size:.66rem; font-weight:600; padding:.45em .8em; border:1px solid var(--border); border-radius:9px; color:var(--text-mid); cursor:pointer; transition:all .2s var(--ease); }
.size-filter span.active { border-color:var(--gold); color:#1a1408; background:var(--gold); }
.size-filter span:not(.active):hover { border-color:var(--gold); color:var(--gold); }
.clear-filters { font-family:var(--font-display); font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; color:var(--text-mid); border:1px solid var(--border); border-radius:8px; padding:.4em .7em; transition:all .2s var(--ease); }
.clear-filters:hover { color:var(--gold); border-color:var(--gold); }

/* Filtros recolhíveis (accordion) */
.filter-group .fg-toggle { display:flex; align-items:center; justify-content:space-between; cursor:pointer; user-select:none; transition:color .2s var(--ease); }
.filter-group .fg-toggle:hover { color:var(--gold-light); }
.filter-group .fg-chev { color:var(--gold); display:inline-flex; transition:transform .3s var(--ease); }
.filter-group .fg-chev svg { width:13px; height:13px; }
.filter-group.collapsed .fg-chev { transform:rotate(-90deg); }
.filter-group .fg-body { overflow:hidden; transition:max-height .35s var(--ease), opacity .3s var(--ease); max-height:1600px; opacity:1; }
.filter-group.collapsed .fg-body { max-height:0; opacity:0; }

/* Active chips */
.active-chips { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:var(--s-5); }
.active-chips:empty { margin:0; }
.chip { display:inline-flex; align-items:center; gap:.45rem; background:rgba(201,168,97,.08); border:1px solid var(--border-strong); border-radius:99px; padding:.4em .55em .4em .85em; font-size:.74rem; color:var(--text); }
.chip button { display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; border-radius:50%; background:rgba(201,168,97,.18); color:var(--gold-light); font-size:.78rem; line-height:1; transition:background .2s; }
.chip button:hover { background:var(--gold); color:#1a1408; }

.shop .product-grid { grid-template-columns:repeat(3, 1fr); }
.empty-state { text-align:center; padding:var(--s-9) 1rem; color:var(--text-mid); }
.empty-state .es-ic { width:64px; height:64px; margin:0 auto 1.3rem; border-radius:50%; border:1px solid var(--border-strong); display:flex; align-items:center; justify-content:center; color:var(--gold); }
.empty-state .es-ic svg { width:28px; height:28px; stroke:var(--gold); fill:none; stroke-width:1.4; }
.empty-state p { font-family:var(--font-serif); font-style:italic; font-size:1.18rem; line-height:1.5; margin-bottom:1.4rem; }
.empty-state .btn { display:inline-block; }

/* Mobile filter drawer */
.filters-overlay { position:fixed; inset:0; background:rgba(0,0,0,.65); backdrop-filter:blur(2px); opacity:0; visibility:hidden; transition:all .3s var(--ease); z-index:70; }
.filters-overlay.open { opacity:1; visibility:visible; }

.load-more { text-align:center; margin-top:var(--s-7); }

@media (max-width:1080px) {
  .shop-layout { grid-template-columns:1fr; }
  .shop .product-grid { grid-template-columns:1fr 1fr; }
  .filter-toggle { display:inline-flex; }
  .filters {
    position:fixed; top:0; left:0; bottom:0; width:min(360px,90vw); z-index:71; border-radius:0 22px 22px 0;
    transform:translateX(-100%); transition:transform .4s var(--ease); overflow-y:auto; padding:var(--s-6);
  }
  .filters.open { transform:translateX(0); box-shadow:30px 0 60px -20px rgba(0,0,0,.8); }
}
@media (max-width:580px) {
  .shop .product-grid { grid-template-columns:1fr 1fr; gap:.9rem; }
  .cat-hero { min-height:230px; }
}

/* ===== PRODUTO (produto.html inline <style>) ===== */
/* ===== PRODUTO — padrão 2026 ===== */
.pdp { padding:var(--s-6) 0 var(--s-9); }
.pdp-top { display:grid; grid-template-columns:1.05fr 1fr; gap:3rem; align-items:start; }

/* Galeria */
.gallery { position:sticky; top:88px; }
.gallery-main {
  aspect-ratio:1 / 1; border:1px solid var(--border-strong); border-radius:20px;
  background:radial-gradient(ellipse at 50% 30%, rgba(201,168,97,.10), transparent 70%), var(--black-deep);
  overflow:hidden; position:relative; box-shadow:0 30px 60px -36px rgba(0,0,0,.9);
}
.gallery-main img { width:100%; height:100%; object-fit:cover; }
.gallery-main .badge-exclusivo { position:absolute; top:1rem; left:1rem; z-index:2; background:linear-gradient(135deg, var(--gold-light), var(--gold)); color:#1a1408; font-family:var(--font-display); font-size:.56rem; font-weight:700; letter-spacing:.22em; padding:.5em .85em; border-radius:8px; box-shadow:0 6px 16px -4px rgba(201,168,97,.5); }
.gallery-thumbs { display:flex; gap:.6rem; margin-top:.7rem; }
.gallery-thumbs button { width:74px; aspect-ratio:1; border:1px solid var(--border); border-radius:12px; background:var(--black-deep); overflow:hidden; transition:border-color .25s var(--ease); }
.gallery-thumbs button.active, .gallery-thumbs button:hover { border-color:var(--gold); }
.gallery-thumbs img { width:100%; height:100%; object-fit:cover; }

/* Zoom na imagem (a lente segue o cursor; só em telas com hover) */
@media (hover:hover) {
  .gallery-main { cursor:zoom-in; }
  .gallery-main img { transition:transform .35s var(--ease); }
  .gallery-main.zooming img { transform:scale(1.9); transition:transform .12s linear; }
}

/* Ações da PDP (favoritar / compartilhar) */
.pdp-actions { display:inline-flex; gap:var(--s-3); margin-left:auto; }
.pdp-act { width:40px; height:40px; border-radius:50%; border:1px solid var(--border-strong); background:var(--black-card); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:all .25s var(--ease); }
.pdp-act:hover { border-color:var(--gold); transform:scale(1.08); }
.pdp-act svg { width:17px; height:17px; stroke:var(--gold); fill:none; stroke-width:1.6; }
.pdp-act.on { border-color:var(--gold); background:rgba(201,168,97,.16); box-shadow:0 0 0 1px rgba(201,168,97,.3); }
.pdp-act.on svg { fill:var(--gold-light); stroke:var(--gold-light); }

/* Info */
.pdp-brand { font-family:var(--font-display); font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); margin-bottom:var(--s-3); }
.pdp-name { font-family:var(--font-serif); font-weight:300; font-size:clamp(2.2rem, 4vw, 3rem); line-height:1.05; color:var(--text); margin-bottom:var(--s-3); letter-spacing:-.01em; }
.pdp-name em { font-style:italic; color:var(--gold-light); }
.pdp-sub { display:flex; align-items:center; gap:var(--s-4); flex-wrap:wrap; margin-bottom:var(--s-5); padding-bottom:var(--s-5); border-bottom:1px solid var(--border); }
.pdp-family { font-family:var(--font-serif); font-style:italic; color:var(--text-mid); font-size:1.05rem; }

.price-block { display:flex; align-items:baseline; gap:var(--s-4); flex-wrap:wrap; margin-bottom:var(--s-3); }
.price-block .big { font-family:var(--font-serif); font-size:2.5rem; font-weight:500; color:var(--text); line-height:1; }
.price-block .ml { font-family:var(--font-body); font-size:.82rem; font-weight:400; color:var(--text-mid); }
.price-block .ml b { color:var(--gold-light); }
.pix-line { display:inline-flex; align-items:center; gap:.4rem; font-size:.82rem; font-weight:600; color:var(--gold-light); margin-bottom:.5rem; background:rgba(201,168,97,.08); border:1px solid var(--border); border-radius:99px; padding:.35em .85em; }
.parcel-line { font-size:.84rem; font-weight:400; color:var(--text-mid); margin-bottom:var(--s-5); }

.opt-label { font-family:var(--font-display); font-weight:600; font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--text); margin-bottom:var(--s-3); display:flex; justify-content:space-between; align-items:baseline; }
.opt-label .hint { color:var(--gold-light); font-family:var(--font-body); letter-spacing:0; text-transform:none; font-size:.74rem; font-weight:400; }
.vol-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:.6rem; margin-bottom:var(--s-5); }
.vol-opt { border:1px solid var(--border-strong); background:var(--black-card); border-radius:14px; padding:.9rem .5rem; text-align:center; cursor:pointer; transition:all .25s var(--ease); position:relative; }
.vol-opt:hover { border-color:var(--gold-dim); transform:translateY(-2px); }
.vol-opt.active { border-color:var(--gold); background:linear-gradient(180deg, rgba(201,168,97,.14), rgba(201,168,97,.05)); box-shadow:0 8px 22px -12px rgba(201,168,97,.5); }
.vol-opt .vol { font-family:var(--font-serif); font-size:1.3rem; color:var(--text); }
.vol-opt .vol-price { font-size:.74rem; font-weight:400; color:var(--text-mid); margin-top:2px; }
.vol-opt.active .vol-price { color:var(--gold-light); }
.vol-opt .vol-tag { position:absolute; top:-9px; left:50%; transform:translateX(-50%); background:linear-gradient(135deg, var(--gold-light), var(--gold)); color:#1a1408; font-family:var(--font-display); font-weight:700; font-size:.52rem; letter-spacing:.1em; padding:.3em .6em; border-radius:6px; white-space:nowrap; box-shadow:0 4px 12px -3px rgba(201,168,97,.5); }
/* volumetria não vendida: riscada, não clicável */
.vol-opt.vol-off { opacity:.5; cursor:not-allowed; }
.vol-opt.vol-off:hover { transform:none; border-color:var(--border-strong); }
.vol-opt.vol-off .vol, .vol-opt.vol-off .vol-price { text-decoration:line-through; }
.vol-opt .vol-tag.vol-tag-off { background:rgba(16,16,18,.72); color:#fff; box-shadow:none; border:1px solid rgba(255,255,255,.18); letter-spacing:.08em; }
.buy-row .btn.btn-soldout, .buy-row .btn.btn-soldout:hover { background:var(--black-elev); color:var(--text-dim); border-color:var(--border); box-shadow:none; transform:none; cursor:not-allowed; }
.buy-now.btn-soldout, .buy-now.btn-soldout:hover { color:var(--text-dim); border-color:var(--border); cursor:not-allowed; }

.buy-row { display:flex; gap:.7rem; margin-bottom:.7rem; }
.qty-stepper { display:inline-flex; align-items:center; border:1px solid var(--border-strong); border-radius:12px; overflow:hidden; }
.qty-stepper button { width:44px; align-self:stretch; color:var(--text); font-size:1.1rem; }
.qty-stepper span { min-width:40px; text-align:center; font-family:var(--font-body); }
.buy-row .btn { flex:1; border-radius:12px; background:linear-gradient(105deg, var(--gold-bright), var(--gold)); color:#1a1408; border:1px solid var(--gold); box-shadow:0 14px 30px -14px rgba(201,168,97,.6); }
.buy-row .btn:hover { box-shadow:0 18px 38px -14px rgba(201,168,97,.78); transform:translateY(-1px); }
.buy-now { width:100%; padding:.95rem; border:1px solid var(--border-strong); border-radius:12px; color:var(--text); background:var(--black-elev); font-family:var(--font-display); font-size:.66rem; letter-spacing:.2em; transition:all .3s var(--ease); margin-bottom:var(--s-5); }
.buy-now:hover { border-color:var(--gold); color:var(--gold-light); }

/* CEP / frete */
.cep-box { background:linear-gradient(180deg, var(--black-card), var(--black-soft)); border:1px solid var(--border-strong); border-radius:16px; padding:1.1rem 1.2rem; margin-bottom:var(--s-5); }
.cep-box h4 { font-family:var(--font-display); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:var(--s-3); }
.cep-form { display:flex; gap:.5rem; }
.cep-form input { flex:1; background:var(--black); border:1px solid var(--border); border-radius:10px; color:var(--text); padding:.7rem .9rem; font-size:.85rem; }
.cep-form input:focus { outline:none; border-color:var(--gold); }
.cep-form button { padding:0 1.2rem; border:1px solid var(--gold); border-radius:10px; color:var(--gold); font-family:var(--font-display); font-size:.58rem; letter-spacing:.16em; white-space:nowrap; }
.cep-form button:hover { background:var(--gold); color:#1a1408; }
.cep-result { margin-top:.7rem; font-size:.82rem; color:var(--text-mid); }
.cep-result .row { display:flex; justify-content:space-between; gap:1rem; padding:.4rem 0; border-bottom:1px dashed var(--border); }
.cep-result .row:last-child { border-bottom:none; }
.cep-result .row b { color:var(--text); }

.trust-mini { display:flex; gap:var(--s-5); flex-wrap:wrap; }
.trust-mini div { display:flex; align-items:center; gap:var(--s-2); font-size:.78rem; color:var(--text-mid); }
.trust-mini svg { width:16px; height:16px; stroke:var(--gold); fill:none; stroke-width:1.5; }


/* Pirâmide olfativa */
.pyramid { padding:var(--s-9) 0; border-top:1px solid var(--border); }
.accords-wrap { text-align:center; margin-top:var(--s-6); }
.accords-label { font-family:var(--font-display); font-weight:600; font-size:.6rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:var(--s-3); }
.accords-row { display:flex; flex-wrap:wrap; gap:var(--s-2); justify-content:center; }
.accords-row span { font-family:var(--font-display); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-light); border:1px solid var(--border-strong); border-radius:999px; padding:.45em 1em; background:rgba(201,168,97,.07); }
.pyramid-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1.2rem; margin-top:var(--s-6); }
.pyr-card { background:linear-gradient(180deg, var(--black-card), var(--black-soft)); border:1px solid var(--border-strong); border-radius:18px; padding:1.8rem 1.4rem; text-align:center; transition:border-color .3s var(--ease), transform .3s; }
.pyr-card:hover { border-color:var(--gold-dim); transform:translateY(-3px); }
.pyr-card h4 { font-family:var(--font-serif); font-size:1.35rem; color:var(--text); margin-bottom:var(--s-2); font-weight:400; }
.pyr-card .pyr-desc { font-family:var(--font-serif); font-style:italic; font-size:.86rem; color:var(--text-mid); margin-bottom:var(--s-4); }
.pyr-notes { display:flex; flex-wrap:wrap; gap:var(--s-2); justify-content:center; }
.pyr-notes span { font-size:.8rem; font-weight:400; color:var(--text-mid); border:1px solid var(--border); border-radius:9px; padding:.35em .75em; }

/* Accordion */
.accordion { max-width:880px; margin:0 auto; }
.acc-item { border:1px solid var(--border); border-radius:14px; margin-bottom:.7rem; overflow:hidden; background:var(--black-card); transition:border-color .3s var(--ease); }
.acc-item.open { border-color:var(--border-strong); }
.acc-head { width:100%; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.1rem 1.3rem; font-family:var(--font-serif); font-size:1.15rem; color:var(--text); text-align:left; }
.acc-head .ico { color:var(--gold); font-size:1.4rem; transition:transform .3s var(--ease); flex-shrink:0; }
.acc-item.open .acc-head .ico { transform:rotate(45deg); }
.acc-body { max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.acc-body-inner { padding:0 1.3rem 1.2rem; color:var(--text-mid); font-family:var(--font-serif); font-size:1.02rem; line-height:1.7; }
.acc-item.open .acc-body { max-height:600px; }

/* Relacionados */
.related { padding:var(--s-9) 0; }

/* Sticky add bar (mobile) */
.sticky-bar { position:fixed; bottom:0; left:0; right:0; z-index:80; background:rgba(12,12,12,.94); backdrop-filter:blur(12px); border-top:1px solid var(--border-strong); padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom)); display:none; align-items:center; justify-content:space-between; gap:var(--s-4); transform:translateY(120%); transition:transform .35s var(--ease); }
.sticky-bar.show { transform:translateY(0); }
.sticky-bar .sb-info .n { font-family:var(--font-serif); font-size:1rem; color:var(--text); }
.sticky-bar .sb-info .p { font-size:.82rem; color:var(--gold-light); }
.sticky-bar .btn { padding:.8rem 1.4rem; border-radius:11px; }

@media (max-width:1080px) {
  .pdp-top { grid-template-columns:1fr; gap:var(--s-6); }
  .gallery { position:static; }
}
@media (max-width:580px) {
  .pyramid-grid { grid-template-columns:1fr; }
  .sticky-bar { display:flex; }
  /* Pirâmide encostada logo abaixo do cálculo de frete (era ~192px de vão) */
  .pdp { padding-bottom:var(--s-4); }
  .pyramid { padding-top:var(--s-4); }
}

/* ============ QUIZ OLFATIVO (port de quiz.html) ============ */
.quiz-stage { padding:var(--s-7) 0 var(--s-9); min-height:66vh; }

.quiz-progress { max-width:760px; margin:0 auto var(--s-7); }
.quiz-progress .pbar { height:3px; background:var(--border); border-radius:2px; overflow:hidden; }
.quiz-progress .pbar i { display:block; height:100%; width:0;
  background:linear-gradient(90deg, var(--gold-dim), var(--gold-light)); border-radius:2px; transition:width .5s var(--ease); }
.quiz-progress .plabel { display:flex; justify-content:space-between; align-items:center;
  margin-top:var(--s-3); font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-mid); }
.quiz-progress .plabel button { background:none; border:none; cursor:pointer; color:var(--text-dim); text-decoration:none; font:inherit; }
.quiz-progress .plabel button:hover { color:var(--gold-light); }

.quiz-screen { animation:qfade .55s var(--ease) both; }
@keyframes qfade { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }

.quiz-intro { text-align:center; max-width:660px; margin:0 auto; padding-top:var(--s-5); }
.quiz-intro .ic { width:92px; height:92px; margin:0 auto var(--s-5); border:1px solid var(--border-strong); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 32% 28%, rgba(201,168,97,.24), transparent 65%), var(--black); }
.quiz-intro .ic svg { width:38px; height:38px; stroke:var(--gold-light); fill:none; stroke-width:1.3; }
.quiz-intro h1 { font-family:var(--font-serif); font-size:clamp(2.5rem,5.6vw,3.9rem); color:var(--text); margin-bottom:var(--s-4); line-height:1.06; }
.quiz-intro h1 em { font-style:italic; color:var(--gold-light); }
.quiz-intro .lead { font-style:italic; color:var(--text-mid); font-size:1.18rem; max-width:560px; margin:0 auto var(--s-6); line-height:1.6; font-weight:400 !important; }
.quiz-intro .meta-row { display:flex; gap:var(--s-6); justify-content:center; flex-wrap:wrap; margin-bottom:var(--s-6); color:var(--text-dim); font-size:.9rem; }
.quiz-intro .meta-row span { display:inline-flex; align-items:center; gap:.45em; }
.quiz-intro .meta-row svg { width:16px; height:16px; stroke:var(--gold); fill:none; stroke-width:1.5; }
.quiz-intro .nowrong { color:var(--text-dim); font-size:.85rem; font-style:italic; margin-top:var(--s-5); font-weight:400 !important; }

.quiz-q { max-width:780px; margin:0 auto; }
.quiz-q .q-eyebrow { text-align:center; color:var(--gold); letter-spacing:.2em; text-transform:uppercase; font-size:.8rem; margin-bottom:var(--s-3); }
.quiz-q h2 { font-family:var(--font-serif); font-size:clamp(1.85rem,3.6vw,2.7rem); text-align:center; color:var(--text); line-height:1.12; margin-bottom:var(--s-3); }
.quiz-q .q-sub { text-align:center; color:var(--text-mid); font-style:italic; margin-bottom:var(--s-6); font-weight:400 !important; }

.q-options { display:grid; gap:var(--s-3); grid-template-columns:repeat(2,1fr); }
.q-options.cols-1 { grid-template-columns:1fr; max-width:540px; margin:0 auto; }
.q-options.cols-3 { grid-template-columns:repeat(3,1fr); }

.q-opt { position:relative; text-align:left; cursor:pointer; display:flex; gap:var(--s-4); align-items:flex-start;
  padding:var(--s-4) var(--s-5); background:var(--black-card); border:1px solid var(--border); border-radius:14px;
  transition:border-color .25s var(--ease), background .25s var(--ease), transform .25s var(--ease); }
.q-opt:hover { border-color:var(--border-gold); transform:translateY(-2px); }
.q-opt.sel { border-color:var(--gold); background:linear-gradient(180deg, rgba(201,168,97,.1), rgba(201,168,97,.03)); }
.q-opt .o-ic { flex:0 0 auto; width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--border-strong); background:var(--black); transition:border-color .25s, background .25s; }
.q-opt.sel .o-ic { border-color:var(--gold); background:radial-gradient(circle at 35% 30%, rgba(201,168,97,.25), transparent 70%), var(--black); }
.q-opt .o-ic svg { width:21px; height:21px; stroke:var(--gold-light); fill:none; stroke-width:1.4; }
.q-opt .o-txt { display:flex; flex-direction:column; gap:.2em; min-width:0; }
.q-opt .o-label { color:var(--text); font-size:1.06rem; }
.q-opt .o-desc { color:var(--text-dim); font-size:.88rem; font-weight:400 !important; line-height:1.45; }
.q-opt .o-check { position:absolute; top:12px; right:12px; width:20px; height:20px; border-radius:50%;
  border:1px solid var(--border-strong); display:flex; align-items:center; justify-content:center; opacity:0; transform:scale(.6); transition:.25s var(--ease); }
.q-opt.sel .o-check { opacity:1; transform:scale(1); border-color:var(--gold); background:var(--gold); }
.q-opt .o-check svg { width:11px; height:11px; stroke:var(--black); fill:none; stroke-width:2.4; }

.q-foot { display:flex; align-items:center; justify-content:space-between; gap:var(--s-4); margin-top:var(--s-6); }
.q-hint { color:var(--text-dim); font-size:.85rem; font-style:italic; font-weight:400 !important; }
.q-back { background:none; border:none; color:var(--text-mid); cursor:pointer; font-size:.92rem; display:inline-flex; align-items:center; gap:.4em; padding:.4em .2em; }
.q-back:hover { color:var(--gold-light); }
.q-back svg { width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:1.6; }
.q-next:disabled { opacity:.35; cursor:not-allowed; }

.quiz-calc { text-align:center; padding:var(--s-9) 0; }
.quiz-calc .spinner { width:56px; height:56px; margin:0 auto var(--s-5); border:2px solid var(--border); border-top-color:var(--gold-light); border-radius:50%; animation:qspin 1s linear infinite; }
@keyframes qspin { to { transform:rotate(360deg); } }
.quiz-calc p { font-style:italic; color:var(--text-mid); font-size:1.18rem; font-weight:400 !important; }

.quiz-results { max-width:1080px; margin:0 auto; }

.qr-arch { text-align:center; max-width:720px; margin:0 auto var(--s-8); padding:var(--s-7) var(--s-6) var(--s-6);
  border:1px solid var(--border-strong); border-radius:18px; position:relative;
  background:radial-gradient(ellipse at 50% 0%, rgba(201,168,97,.14) 0%, transparent 60%), var(--black-card); }
.qr-arch .qr-medal { width:64px; height:64px; margin:0 auto var(--s-4); border-radius:50%; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--gold); background:radial-gradient(circle at 35% 30%, rgba(201,168,97,.3), transparent 70%), var(--black); }
.qr-arch .qr-medal svg { width:28px; height:28px; stroke:var(--gold-light); fill:none; stroke-width:1.3; }
.qr-arch .qr-eyebrow { color:var(--gold); letter-spacing:.22em; text-transform:uppercase; font-size:.78rem; margin-bottom:var(--s-3); }
.qr-arch h2 { font-family:var(--font-serif); font-size:clamp(2.1rem,4.8vw,3.2rem); line-height:1.05; margin-bottom:var(--s-3);
  background:linear-gradient(180deg, var(--gold-bright), var(--gold)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.qr-arch .qr-sub { color:var(--text); font-style:italic; font-size:1.12rem; margin-bottom:var(--s-3); font-weight:400 !important; }
.qr-arch .qr-desc { color:var(--text-mid); line-height:1.65; font-weight:400 !important; max-width:600px; margin:0 auto; }
.qr-profile { display:flex; flex-wrap:wrap; gap:var(--s-2); justify-content:center; margin-top:var(--s-5); }
.qr-profile .chip { font-size:.82rem; letter-spacing:.05em; color:var(--gold-light); border:1px solid var(--border-strong);
  border-radius:999px; padding:.4em 1em; background:rgba(201,168,97,.06); display:inline-flex; align-items:center; gap:.5em; }
.qr-profile .chip svg { width:13px; height:13px; stroke:var(--gold); fill:none; stroke-width:1.6; }

.qr-recos h3 { text-align:center; font-family:var(--font-serif); font-size:clamp(1.5rem,3vw,2rem); color:var(--text); margin-bottom:var(--s-2); }
.qr-recos .qr-recosub { text-align:center; color:var(--text-dim); font-size:.92rem; margin-bottom:var(--s-7); font-weight:400 !important; }
.qr-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-5); margin-bottom:var(--s-6); align-items:start; justify-content:center; }
.qr-rank { position:relative; }
.qr-rank .rank-tag { position:absolute; top:-12px; left:50%; transform:translateX(-50%); z-index:3;
  font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; padding:.35em 1.1em; border-radius:999px;
  background:var(--black-elev); border:1px solid var(--border-strong); color:var(--text-mid); white-space:nowrap; }
.qr-rank.top .rank-tag { background:linear-gradient(180deg, var(--gold-light), var(--gold)); color:var(--black); border-color:var(--gold-light); }
.qr-rank .product-card { margin-top:8px; }
.qr-rank .qr-meta { text-align:center; margin-top:var(--s-3); }
.qr-rank .match { display:block; color:var(--gold-light); font-size:.92rem; letter-spacing:.05em; }
.qr-rank .reason { display:block; color:var(--text-dim); font-size:.8rem; margin-top:.3em; font-weight:400 !important; }

.qr-tip { max-width:680px; margin:0 auto var(--s-7); padding:var(--s-4) var(--s-5); border:1px solid var(--border); border-radius:12px;
  background:var(--black-soft); display:flex; gap:var(--s-4); align-items:flex-start; }
.qr-tip svg { flex:0 0 auto; width:22px; height:22px; stroke:var(--gold-light); fill:none; stroke-width:1.5; margin-top:2px; }
.qr-tip p { color:var(--text-mid); line-height:1.55; font-weight:400 !important; font-size:.95rem; }
.qr-tip strong { color:var(--text); font-weight:700 !important; }

.qr-actions { display:flex; gap:var(--s-4); justify-content:center; flex-wrap:wrap; margin-bottom:var(--s-5); }
.qr-actions .btn svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.7; vertical-align:-3px; margin-right:.45em; }
.qr-trust { text-align:center; color:var(--text-dim); font-size:.85rem; font-style:italic; font-weight:400 !important; }

@media (max-width:860px) {
  /* !important porque o Results define grid-template-columns inline (o nº de
     colunas depende de quantos decants sobraram) — sem ele o mobile não empilha. */
  .qr-grid { grid-template-columns:1fr !important; max-width:420px; margin:0 auto var(--s-6); }
  .qr-rank .product-card { margin-top:18px; }
}
@media (max-width:600px) {
  .q-options, .q-options.cols-3 { grid-template-columns:1fr; }
  .q-opt { padding:var(--s-4); }
  .q-foot { flex-direction:column-reverse; align-items:stretch; }
  .q-foot .q-next { width:100%; }
}

/* ============ SOBRE (port de sobre.html) ============ */
.about-hero { padding:var(--s-9) 0 var(--s-8); text-align:center; background:radial-gradient(ellipse at 50% -10%, rgba(201,168,97,.14) 0%, transparent 55%), var(--black); border-bottom:1px solid var(--border); }
.about-hero .ornament { font-family:var(--font-display); letter-spacing:.5em; color:var(--gold); margin-bottom:var(--s-4); }
.about-hero h1 { font-family:var(--font-serif); font-weight:300; font-size:clamp(2.4rem,5vw,4rem); line-height:1.1; color:var(--text); margin-bottom:var(--s-4); }
.about-hero h1 em { font-style:italic; color:var(--gold-light); }
.about-hero p { font-family:var(--font-serif); font-style:italic; color:var(--text-mid); font-size:1.2rem; max-width:640px; margin:0 auto; }

.story-sec { padding:var(--s-9) 0; }
.story-sec .wrap-narrow { text-align:center; }
.story-sec p.lead { font-family:var(--font-serif); font-size:1.3rem; line-height:1.7; color:var(--text); margin-bottom:var(--s-5); }
.story-sec p.body { font-family:var(--font-serif); font-size:1.1rem; line-height:1.75; color:var(--text-mid); margin-bottom:var(--s-4); }

.values { padding:var(--s-9) 0; background:var(--black-soft); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-5); }
.value-card { background:var(--black-card); border:1px solid var(--border); padding:var(--s-7) var(--s-6); text-align:center; transition:border-color .35s var(--ease); }
.value-card:hover { border-color:var(--gold); }
.value-card .ic { width:64px; height:64px; margin:0 auto var(--s-5); border:1px solid var(--border-strong); border-radius:50%; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle at 30% 30%, rgba(201,168,97,.1), transparent 60%); }
.value-card .ic svg { width:28px; height:28px; stroke:var(--gold); fill:none; stroke-width:1.3; }
.value-card h3 { font-family:var(--font-serif); font-size:1.4rem; color:var(--text); margin-bottom:var(--s-3); font-weight:400; }
.value-card p { font-family:var(--font-serif); font-style:italic; color:var(--text-mid); font-size:1rem; line-height:1.55; }

.stats { padding:var(--s-8) 0; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s-5); text-align:center; }
.stat .n { font-family:var(--font-serif); font-style:italic; font-size:3rem; color:var(--gold-light); line-height:1; }
.stat .l { font-family:var(--font-display); font-size:.64rem; letter-spacing:.22em; color:var(--text-mid); margin-top:var(--s-3); }

.atacado { padding:var(--s-9) 0; }
.atacado-inner { background:radial-gradient(circle at 12% 50%, rgba(201,168,97,.22) 0%, transparent 50%), linear-gradient(135deg, #1a1610 0%, #0a0a0a 100%); border:1px solid var(--border-strong); padding:var(--s-9) var(--s-8); display:grid; grid-template-columns:1fr 1fr; gap:var(--s-8); align-items:center; }
.atacado h2 { font-family:var(--font-serif); font-weight:300; font-size:clamp(2rem,4vw,3rem); line-height:1.1; color:var(--text); margin:var(--s-4) 0; }
.atacado h2 em { font-style:italic; color:var(--gold-light); }
.atacado p.lead { font-family:var(--font-serif); font-size:1.15rem; color:var(--text-mid); margin-bottom:var(--s-6); }
.atacado-perks { list-style:none; margin-bottom:var(--s-6); }
.atacado-perks li { display:flex; align-items:flex-start; gap:var(--s-3); margin-bottom:var(--s-4); font-size:.95rem; color:var(--text); }
.atacado-perks svg { width:20px; height:20px; stroke:var(--gold); fill:none; stroke-width:1.6; flex-shrink:0; margin-top:2px; }
.atacado-form { background:rgba(8,8,8,.7); border:1px solid var(--border); padding:var(--s-6); }
.atacado-form h3 { font-family:var(--font-display); font-size:.72rem; letter-spacing:.22em; color:var(--gold); margin-bottom:var(--s-5); }
.field { margin-bottom:var(--s-4); }
.field label { display:block; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-mid); margin-bottom:6px; }
.field input, .field textarea { width:100%; background:var(--black); border:1px solid var(--border); color:var(--text); padding:var(--s-3) var(--s-4); font-size:.88rem; font-family:var(--font-body); }
.field input:focus, .field textarea:focus { outline:none; border-color:var(--gold); }
.field textarea { resize:vertical; min-height:80px; }

.faq { padding:var(--s-9) 0; background:var(--black-soft); border-top:1px solid var(--border); }
.faq .accordion { max-width:860px; margin:var(--s-6) auto 0; }
.acc-item { border-bottom:1px solid var(--border); }
.acc-head { width:100%; display:flex; justify-content:space-between; align-items:center; gap:var(--s-4); padding:var(--s-5) 0; font-family:var(--font-serif); font-size:1.2rem; color:var(--text); text-align:left; }
.acc-head .ico { color:var(--gold); font-size:1.4rem; transition:transform .3s var(--ease); flex-shrink:0; }
.acc-item.open .acc-head .ico { transform:rotate(45deg); }
.acc-body { max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.acc-body-inner { padding:0 0 var(--s-5); color:var(--text-mid); font-family:var(--font-serif); font-size:1.05rem; line-height:1.7; }
.acc-item.open .acc-body { max-height:400px; }

@media (max-width:1080px){ .values-grid{grid-template-columns:1fr;} .stats-grid{grid-template-columns:1fr 1fr;} .atacado-inner{grid-template-columns:1fr;gap:var(--s-7);padding:var(--s-7);} }

/* ============ LEGAL (port de legal.html) ============ */
  .legal-wrap { max-width:860px; margin:0 auto; padding:0 var(--s-5) var(--s-9); }
  .legal-hero { text-align:center; padding:var(--s-8) 0 var(--s-6); }
  .legal-hero h1 { font-family:var(--font-serif); font-weight:500; font-size:clamp(1.9rem, 4vw, 2.6rem); color:var(--text); }
  .legal-hero h1 em { font-style:italic; color:var(--gold-light); }
  .legal-hero p { font-weight:400; color:var(--text-mid); margin-top:var(--s-3); }
  .legal-nav { display:flex; flex-wrap:wrap; gap:var(--s-3); justify-content:center; margin:var(--s-5) 0 var(--s-7); }
  .legal-nav a {
    font-family:var(--font-display); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase;
    color:var(--gold); border:1px solid var(--gold-dim); border-radius:999px; padding:.55rem 1.1rem;
    transition:all .25s var(--ease);
  }
  .legal-nav a:hover { background:var(--gold); color:var(--black); }
  .legal-sec { border:1px solid var(--border); background:var(--black-soft); padding:var(--s-6); margin-bottom:var(--s-6); scroll-margin-top:110px; }
  .legal-sec h2 { font-family:var(--font-serif); font-weight:500; font-size:1.5rem; color:var(--gold-light); margin-bottom:var(--s-4); }
  .legal-sec h3 { font-size:.95rem; color:var(--text); margin:var(--s-5) 0 var(--s-2); }
  .legal-sec p, .legal-sec li { font-weight:400; font-size:.9rem; line-height:1.75; color:var(--text-mid); }
  .legal-sec p { margin-bottom:var(--s-3); }
  .legal-sec ul { padding-left:1.2rem; margin-bottom:var(--s-3); }
  .legal-sec li { margin-bottom:.4rem; }
  .legal-sec b { color:var(--text); }
  .legal-updated { font-size:.74rem; font-weight:400; color:var(--text-dim); margin-top:var(--s-4); }

/* ============================================================
   QUIZ OLFATIVO — complemento do port da v3
   Regras que faltavam no bloco original: orb animado da intro,
   glow de fundo, dots de progresso e as letras A/B/C/D das opções.
   Copiadas de opus-decants-vercelv3/quiz.html.
============================================================ */
.quiz-intro { position:relative; z-index:1; }
.quiz-intro .qi-bg { position:absolute; left:50%; top:-40px; width:640px; height:540px; margin-left:-320px; z-index:-1; pointer-events:none;
  background:radial-gradient(300px 260px at 50% 34%, rgba(201,168,97,.22), rgba(201,168,97,.05) 55%, transparent 72%);
  filter:blur(6px); animation:qiBreath 7s ease-in-out infinite; transition:transform .35s var(--ease); will-change:transform; }
@keyframes qiBreath { 0%,100% { opacity:.55; } 50% { opacity:1; } }

.quiz-intro .qi-orb { position:relative; width:112px; height:112px; margin:0 auto var(--s-5); }
.quiz-intro .qi-orb .ic { position:absolute; inset:10px; margin:0; box-shadow:0 0 40px -6px rgba(201,168,97,.45); animation:qiFloat 5s ease-in-out infinite; }
.quiz-intro .qi-orb .spin { position:absolute; inset:0; border-radius:50%;
  background:conic-gradient(from 0deg, transparent 0 58%, var(--gold-light) 78%, var(--gold-bright) 85%, transparent 93%);
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px));
          mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px));
  animation:qiSpin 5.5s linear infinite; }
.quiz-intro .qi-orb .pulse { position:absolute; inset:0; border-radius:50%; border:1px solid rgba(201,168,97,.35); animation:qiPulse 3.2s ease-out infinite; }
.quiz-intro .qi-orb .pulse.d { animation-delay:1.6s; }
@keyframes qiSpin { to { transform:rotate(360deg); } }
@keyframes qiPulse { 0% { transform:scale(.78); opacity:.7; } 100% { transform:scale(1.72); opacity:0; } }
@keyframes qiFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-6px); } }

.quiz-progress .pdots { display:flex; gap:8px; justify-content:center; margin-bottom:var(--s-3); }
.quiz-progress .pdot { width:7px; height:7px; border-radius:50%; background:var(--border-strong); transition:.45s var(--ease); }
.quiz-progress .pdot.done { background:var(--gold); }
.quiz-progress .pdot.now { background:var(--gold-light); box-shadow:0 0 0 4px rgba(201,168,97,.16); transform:scale(1.3); }
.quiz-progress .pbar i { box-shadow:0 0 14px rgba(201,168,97,.45); }

.q-opt .o-letter { position:absolute; top:12px; right:13px; width:23px; height:23px; border-radius:7px;
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:.72rem; letter-spacing:.04em;
  color:var(--text-dim); border:1px solid var(--border); transition:.25s var(--ease); }
.q-opt:hover .o-letter { border-color:var(--border-gold); color:var(--gold-light); }
.q-opt.sel .o-letter { opacity:0; transform:scale(.5); }
.q-opt.sel { animation:qSelPulse .55s var(--ease); }
@keyframes qSelPulse { 0% { box-shadow:0 0 0 0 rgba(201,168,97,.45); } 100% { box-shadow:0 0 0 16px rgba(201,168,97,0); } }

/* --- passe "2026" da v3: entrada escalonada da intro, shimmer do título,
       pílulas do meta-row, CTA com brilho e as micro-interações do .q-opt.
       (o port original tinha ficado só com o layout base) --- */
.quiz-intro h1 em { background:linear-gradient(100deg, var(--gold) 28%, var(--gold-bright) 44%, #fff6dd 50%, var(--gold-bright) 56%, var(--gold) 72%);
  background-size:220% auto; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  animation:qiShine 4.5s linear infinite; }
@keyframes qiShine { to { background-position:-220% center; } }

.quiz-intro .meta-row span { border:1px solid var(--border); border-radius:999px; padding:.5em 1.1em; background:var(--black-card);
  transition:border-color .25s var(--ease), transform .25s var(--ease), color .25s; }
.quiz-intro .meta-row span:hover { border-color:var(--border-gold); transform:translateY(-2px); color:var(--text); }

.quiz-intro #quiz-start { position:relative; overflow:hidden; box-shadow:0 14px 44px -14px rgba(201,168,97,.6);
  transition:transform .25s var(--ease), box-shadow .3s var(--ease); }
.quiz-intro #quiz-start:hover { transform:translateY(-2px); box-shadow:0 20px 56px -14px rgba(201,168,97,.85); }
.quiz-intro #quiz-start::after { content:""; position:absolute; top:0; left:-130%; width:55%; height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.42), transparent); transform:skewX(-18deg); animation:qiSweep 3.6s ease-in-out infinite; }
@keyframes qiSweep { 0% { left:-130%; } 58%,100% { left:175%; } }

.quiz-intro > *:not(.qi-bg) { animation:qiUp .7s var(--ease) both; }
.quiz-intro .qi-orb { animation-delay:.05s; }
.quiz-intro > .eyebrow { animation-delay:.16s; }
.quiz-intro h1 { animation-delay:.26s; }
.quiz-intro .lead { animation-delay:.36s; }
.quiz-intro .meta-row { animation-delay:.46s; }
.quiz-intro #quiz-start { animation-delay:.56s; }
.quiz-intro .nowrong { animation-delay:.66s; }
@keyframes qiUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .quiz-intro *, .quiz-intro *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; } }

.q-opt { overflow:hidden; will-change:transform; }
.q-opt::before { content:""; position:absolute; left:0; top:16%; bottom:16%; width:3px; border-radius:0 3px 3px 0;
  background:linear-gradient(var(--gold-light), var(--gold)); transform:scaleY(0); transform-origin:center; transition:transform .3s var(--ease); }
.q-opt:hover::before, .q-opt.sel::before { transform:scaleY(1); }
.q-opt:hover { border-color:var(--border-gold); transform:translateY(-3px); box-shadow:0 16px 40px -22px rgba(201,168,97,.6); }
.q-opt .o-ic svg { transition:transform .35s var(--ease); }
.q-opt:hover .o-ic { box-shadow:0 0 22px -6px rgba(201,168,97,.5); }
.q-opt:hover .o-ic svg { transform:scale(1.12) rotate(-5deg); }

.q-options .q-opt { animation:qOptIn .5s var(--ease) both; }
.q-options .q-opt:nth-child(1) { animation-delay:.04s; }
.q-options .q-opt:nth-child(2) { animation-delay:.12s; }
.q-options .q-opt:nth-child(3) { animation-delay:.20s; }
.q-options .q-opt:nth-child(4) { animation-delay:.28s; }
.q-options .q-opt:nth-child(5) { animation-delay:.36s; }
.q-options .q-opt:nth-child(6) { animation-delay:.44s; }
@keyframes qOptIn { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .q-options .q-opt { animation-duration:.01ms !important; } }
