/* ══════════════════════════════════════════════════════════════════════
   ASTRAL VITA · Site multiproduto — acrescento ao style.css da landing
   Carrega DEPOIS do style.css. Não altera tokens da marca; acrescenta:
   A. acento por produto   B. correções de contraste   C. cabeçalho com produtos
   D. hero de produto      E. hub (cartões, escolha, pacote)   F. blocos de produto
   G. barra de compra móvel   H. rodapé com produtos   I. movimento reduzido
   ══════════════════════════════════════════════════════════════════════ */

/* ══ A · ACENTO POR PRODUTO ══════════════════════════════════════════
   --acc      acento sobre noite (texto, traço, selo)
   --acc-d    acento escuro sobre papel/creme/branco (texto ≥ 4,5:1)
   --acc-tint fundo claro do acento (caixas)
   --acc-rgb  para rgba() em brilhos e contornos
   O hub e o Mapa da Alma usam o ouro: ficam iguais à landing de hoje.
   [data-acc] serve para um cartão do hub ter o acento do seu produto. */
:root,[data-product="mapa-da-alma"],[data-acc="mapa-da-alma"]{
  --acc:#DDA81E;--acc-d:#7E5D0F;--acc-tint:#F6EBCF;--acc-rgb:221,168,30;
}
[data-product="dois-ceus"],[data-acc="dois-ceus"]{
  --acc:#F08AA4;--acc-d:#A1304E;--acc-tint:#F7E3E8;--acc-rgb:240,138,164;
}
[data-product="meridiano"],[data-acc="meridiano"]{
  --acc:#5CCFBC;--acc-d:#0B6E62;--acc-tint:#DDF0EC;--acc-rgb:92,207,188;
}
[data-product="meridiano-a-dois"],[data-acc="meridiano-a-dois"]{
  --acc:#8FB4F0;--acc-d:#2D5C9E;--acc-tint:#E3EAF5;--acc-rgb:143,180,240;
}
:root{
  --folio:#6E655A;                       /* rótulos em creme (4,81:1) */
  --notice-bg:#EEE9F7;
  --on-dark-f:rgba(240,237,247,.62);     /* era .44 → 3,9:1; passa a 6,7:1 */
  --bar-h:64px;
}

/* Onde o acento entra (e só aqui): eyebrow, itálico dos títulos, selo,
   ícones de cartão, marcadores de lista, ícone da FAQ, filete do topo do
   cartão, fita do tier. O ouro continua em: logótipo, «ASTRAL VITA», botões,
   filetes (.rule), barra de progresso, estrela da marca, números dos passos. */
.eyebrow{color:var(--acc)}
.h2 em,.hero__h1 em,.final__h em{color:var(--acc)}
.card__ic{color:var(--acc)}
.tier__list li::before{background:var(--acc-d)}
.tier--hero .tier__list li::before{background:var(--acc)}
.faq__ic::before,.faq__ic::after{background:var(--acc-d)}

/* ══ B · CORREÇÕES DE CONTRASTE (medidas em tools/contraste_web.py) ══ */
.sec--light .eyebrow{color:var(--acc-d)}                  /* ouro em creme: 1,82 → 5,11 */
.sec--light .h2 em,.sec--light .pull em{color:var(--acc-d)}
.faq__q:hover{color:var(--acc-d)}                          /* gold-d 3,59 → ≥ 5,1 */
.tier__tag,.tier__pages,.fact span,.tiers__note{color:var(--folio)}   /* ink-m em creme 4,08 → 4,81 */
.tier--hero .tier__tag{color:var(--on-dark-m)}
.tier--hero .tier__pages{color:var(--acc)}
.foot__disclaimer{color:rgba(240,237,247,.58)}             /* 2,36 → 6,09 */
.fab{color:var(--night)}                                   /* ícone branco em verde 1,98 → noite 9,54 */
.sec--light a:focus-visible,.sec--light button:focus-visible,.sec--light summary:focus-visible,
.toc a:focus-visible{outline-color:var(--indigo)}
summary:focus-visible{outline:2px solid var(--gold-l);outline-offset:3px;border-radius:4px}

/* ══ Selo (SVG inline, traço = currentColor) ══ */
.seal{display:block;color:var(--acc);flex:0 0 auto}
.seal svg{width:100%;height:100%;display:block}
.sec--light .seal,.on-paper .seal{color:var(--acc-d)}

/* ══ C · CABEÇALHO: menu «Produtos» + língua que mantém a página ══════ */
.prod{position:relative}
.prod__btn{
  display:inline-flex;align-items:center;gap:8px;background:none;border:0;cursor:pointer;
  font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--on-dark);
  padding:5px 0;min-height:44px;
}
.prod__btn svg{transition:rotate .3s var(--e)}
.prod.is-open .prod__btn svg{rotate:180deg}
.prod__btn:hover{color:var(--gold-l)}
.prod__menu{
  position:absolute;top:calc(100% + 12px);left:-24px;width:min(560px,calc(100vw - 40px));
  background:rgba(14,11,34,.97);backdrop-filter:blur(22px) saturate(160%);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid var(--glass-brd);border-radius:var(--r-lg);padding:10px;
  box-shadow:0 30px 80px rgba(0,0,0,.66);
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .3s var(--e-out);
}
.prod.is-open .prod__menu{opacity:1;visibility:visible;transform:none}
.prod__item{
  display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:4px 16px;align-items:center;
  padding:12px 14px;border-radius:10px;transition:background .25s;position:relative;
}
.prod__item .seal{width:44px;height:44px;grid-row:span 2}
.prod__item b{font-family:'Playfair Display','Playfair Fallback Georgia','Playfair Fallback Noto','Playfair Fallback DejaVu',Georgia,serif;font-weight:500;font-size:17px;color:var(--on-dark);line-height:1.25}
.prod__item small{font-size:12px;color:var(--on-dark-m);line-height:1.45;grid-column:2}
.prod__item em{font-style:normal;font-size:11px;letter-spacing:.08em;color:var(--on-dark-m);grid-row:1;grid-column:3;white-space:nowrap}
.prod__item:hover{background:rgba(var(--acc-rgb),.10)}
.prod__item:hover b{color:var(--acc)}
.prod__item[aria-current="page"]{background:rgba(var(--acc-rgb),.08)}
.prod__item[aria-current="page"]::before{
  content:'';position:absolute;left:0;top:14px;bottom:14px;width:2px;border-radius:2px;background:var(--acc);
}
.prod__all{
  display:flex;justify-content:space-between;align-items:center;margin-top:6px;
  padding:14px;border-top:1px solid var(--hair);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold);
}
.prod__all:hover{color:var(--gold-l)}

/* Gaveta: os produtos vêm primeiro */
.drawer{justify-content:flex-start}
.drawer__label{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--on-dark-f);margin-bottom:-18px}
.drawer__prods{display:grid;gap:2px}
.drawer__prods a{
  display:grid;grid-template-columns:36px minmax(0,1fr);gap:2px 14px;align-items:center;
  padding:11px 0;border-bottom:1px solid var(--hair);min-height:56px;
}
.drawer__prods .seal{width:36px;height:36px;grid-row:span 2}
.drawer__prods b{font-family:'Playfair Display','Playfair Fallback Georgia','Playfair Fallback Noto','Playfair Fallback DejaVu',Georgia,serif;font-weight:400;font-size:20px;color:var(--on-dark);line-height:1.2}
.drawer__prods small{font-size:12px;color:var(--on-dark-m);line-height:1.4}
.drawer__prods a[aria-current="page"] b{color:var(--acc)}
.drawer__nav a{font-size:clamp(20px,5.6vw,26px);padding:10px 0}

/* Língua: a ligação aponta para a MESMA página noutra língua */
.lang__menu a span{display:flex;flex-direction:column}
.lang__menu a small{font-size:10.5px;color:var(--on-dark-f);letter-spacing:.02em}

/* ══ Trilho (breadcrumb visível) ══ */
.crumb{
  display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:26px;
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--on-dark-f);
}
.crumb a{color:var(--on-dark-m);border-bottom:1px solid transparent;transition:border-color .25s,color .25s}
.crumb a:hover{color:var(--gold-l);border-bottom-color:var(--hair-s)}
.crumb [aria-current]{color:var(--acc)}

/* ══ D · HERO DE PRODUTO ══════════════════════════════════════════════ */
.hero--product .hero__seal{width:96px;height:96px;margin:0 auto 26px}
.hero--product .hero__h1{margin-bottom:10px}
.hero__name{display:block;font-size:clamp(44px,12vw,58px);line-height:1.02;letter-spacing:-.02em}
.hero--product .hero__h1 em{
  display:block;margin-top:14px;font-size:clamp(20px,5.4vw,24px);line-height:1.3;letter-spacing:0;
  max-width:30ch;margin-inline:auto;
}
.hero__from{
  display:inline-flex;align-items:center;gap:10px;margin-top:4px;
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-m);
  border-bottom:1px solid var(--hair-s);padding-bottom:4px;
}
.hero__from b{font-weight:600;color:var(--on-dark)}
.hero__from:hover{color:var(--gold-l)}

/* ══ E · HUB ══════════════════════════════════════════════════════════ */
.hero--hub .hero__h1 em{color:var(--gold)}
.pgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:8px}
.pcard{
  position:relative;display:flex;flex-direction:column;gap:0;
  padding:calc(var(--surf-pad) + 4px) var(--surf-pad-x) var(--surf-pad);
  border-radius:var(--surf-r);overflow:hidden;
  transition:transform .28s var(--e-out),box-shadow .28s,border-color .28s;
}
.pcard::before{  /* filete do acento: a única cor do cartão além do selo e do rótulo */
  content:'';position:absolute;inset:0 0 auto 0;height:2px;background:var(--acc);opacity:.9;
}
.pcard::after{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s;
  background:radial-gradient(circle at 18% -10%,rgba(var(--acc-rgb),.16),transparent 62%);
}
.pcard:hover{border-color:rgba(var(--acc-rgb),.45);transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,0,0,.34)}
.pcard:hover::after{opacity:1}
.pcard__head{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.pcard .seal{width:64px;height:64px}
.pcard__cat{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);line-height:1.5}
.pcard__name{
  font-family:'Playfair Display','Playfair Fallback Georgia','Playfair Fallback Noto','Playfair Fallback DejaVu',Georgia,serif;font-weight:400;font-size:clamp(26px,7vw,30px);
  line-height:1.12;color:var(--on-dark);margin-top:4px;overflow-wrap:anywhere;
}
.pcard__name a::after{content:'';position:absolute;inset:0;z-index:1}   /* cartão inteiro clicável */
.pcard__name a:focus-visible{outline:none}
.pcard:has(a:focus-visible){outline:2px solid var(--gold-l);outline-offset:3px}
.pcard__p{font-size:14.5px;line-height:1.72;color:var(--on-dark-m);margin-bottom:22px;flex:1}
.pcard__foot{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;
  padding-top:16px;border-top:1px solid var(--glass-brd);
}
.pcard__who{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-m)}
.pcard__who i{display:inline-flex;gap:3px}
.pcard__who i::before,.pcard__who i::after{content:'';width:7px;height:7px;border-radius:50%;background:var(--on-dark-m)}
.pcard__who i.one::after{display:none}
.pcard__who i::after{background:none;border:1.3px solid var(--on-dark-m);box-sizing:border-box}
.pcard__price{font-family:'Playfair Display','Playfair Fallback Georgia','Playfair Fallback Noto','Playfair Fallback DejaVu',Georgia,serif;font-size:19px;color:var(--on-dark);white-space:nowrap}
.pcard__price small{font-family:'Montserrat','Montserrat Fallback Arial','Montserrat Fallback Roboto','Montserrat Fallback DejaVu',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-m);margin-right:6px}
.pcard__go{
  display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--acc);
}
.pcard__go svg{transition:translate .3s var(--e)}
.pcard:hover .pcard__go svg{translate:4px 0}
.pcard__badge{
  position:absolute;top:16px;right:16px;font-size:9.5px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);border:1px solid var(--hair-s);border-radius:99px;padding:5px 10px;
}

/* Pacote «A Dois» */
.bundle{
  margin-top:14px;display:grid;gap:18px;align-items:center;
  padding:var(--surf-pad) var(--surf-pad-x);border-radius:var(--surf-r);
  border:1px dashed rgba(240,237,247,.22);background:rgba(255,255,255,.02);
}
.bundle__seals{display:flex}
.bundle__seals .seal{width:48px;height:48px}
.bundle__seals .seal + .seal{margin-left:-12px}
.bundle__h{font-family:'Playfair Display','Playfair Fallback Georgia','Playfair Fallback Noto','Playfair Fallback DejaVu',Georgia,serif;font-size:22px;color:var(--on-dark);margin-bottom:6px}
.bundle__p{font-size:14px;color:var(--on-dark-m);line-height:1.65}
.bundle__price{font-family:'Playfair Display','Playfair Fallback Georgia','Playfair Fallback Noto','Playfair Fallback DejaVu',Georgia,serif;font-size:30px;color:var(--on-dark);line-height:1}
.bundle__price small{display:block;margin-top:6px;font-family:'Montserrat','Montserrat Fallback Arial','Montserrat Fallback Roboto','Montserrat Fallback DejaVu',sans-serif;font-size:11.5px;letter-spacing:.06em;color:var(--on-dark-m)}

/* «Qual é para mim?» — matriz 2×2: (sobre ti | onde viver) × (só tu | a dois) */
.chooser{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.chooser__col{
  font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--folio);
  padding:0 4px 4px;line-height:1.5;align-self:end;
}
.chooser__row{
  grid-column:1/-1;margin-top:14px;padding-top:14px;border-top:1px solid var(--hair-lt);
  font-family:'Playfair Display','Playfair Fallback Georgia','Playfair Fallback Noto','Playfair Fallback DejaVu',Georgia,serif;font-style:italic;font-size:18px;color:var(--indigo);
}
.chooser__cell{
  position:relative;display:flex;flex-direction:column;gap:10px;min-height:132px;
  padding:16px 14px;border-radius:var(--surf-r);background:#fff;border:1px solid var(--hair-lt);
  box-shadow:0 2px 10px rgba(49,37,131,.05);transition:transform .28s var(--e-out),box-shadow .28s,border-color .28s;
}
.chooser__cell .seal{width:40px;height:40px;color:var(--acc-d)}
.chooser__cell b{font-family:'Playfair Display','Playfair Fallback Georgia','Playfair Fallback Noto','Playfair Fallback DejaVu',Georgia,serif;font-weight:500;font-size:17px;line-height:1.2;color:var(--ink);overflow-wrap:anywhere}
.chooser__cell small{font-size:12.5px;line-height:1.5;color:var(--ink-l)}
.chooser__cell:hover{border-color:var(--acc-d);transform:translateY(-3px);box-shadow:0 10px 26px rgba(49,37,131,.10)}
.chooser__corner{display:none}

/* ══ F · BLOCOS DE PRODUTO ═══════════════════════════════════════════ */
/* Nota 0–100: o componente real do relatório (DESIGN §2.6), em HTML, em papel */
.split{display:grid;gap:34px;align-items:start}
.points{display:grid;gap:18px;margin-top:8px}
.points li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;font-size:15px;line-height:1.72;color:var(--on-dark-m)}
.points b{color:var(--on-dark);font-weight:500}
.points svg{color:var(--gold);margin-top:5px}
.specimen{
  background:var(--warm);color:var(--ink);border-radius:var(--surf-r);
  padding:22px 20px 20px;box-shadow:0 30px 80px rgba(0,0,0,.45);position:relative;
}
.specimen__tag{
  display:inline-flex;align-items:center;gap:8px;font-size:9.5px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--folio);border:1px solid var(--hair-lt);border-radius:99px;padding:5px 10px;margin-bottom:18px;
}
.specimen__rank{font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--acc-d)}
.specimen__place{font-family:'Playfair Display','Playfair Fallback Georgia','Playfair Fallback Noto','Playfair Fallback DejaVu',Georgia,serif;font-size:28px;line-height:1.15;margin:6px 0 2px}
.specimen__meta{font-size:12px;color:var(--folio);font-variant-numeric:tabular-nums}
.specimen__top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;padding-bottom:18px;border-bottom:1px solid var(--hair-lt)}
.grade{
  background:var(--acc-tint);border-radius:10px;padding:12px 16px;text-align:center;min-width:112px;
}
.grade__lbl{font-size:9.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--acc-d)}
.grade__n{font-family:'Montserrat','Montserrat Fallback Arial','Montserrat Fallback Roboto','Montserrat Fallback DejaVu',sans-serif;font-weight:600;font-size:44px;line-height:1.05;color:var(--ink);font-variant-numeric:tabular-nums lining-nums}
.grade__n small{font-size:13px;font-weight:500;color:var(--folio)}
.grade__idx{font-size:11.5px;color:var(--ink-l);font-variant-numeric:tabular-nums}
.chip{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:12px;color:var(--ink-l)}
.chip i{display:inline-flex;gap:3px}
.chip i b{width:8px;height:8px;border-radius:50%;background:var(--ink-l)}
.chip i b.o{background:none;border:1.3px solid var(--ink-l)}
.bars{display:grid;gap:11px;margin-top:18px}
.bar{display:grid;grid-template-columns:112px minmax(0,1fr) 30px;gap:12px;align-items:center;font-size:12.5px;color:var(--ink-l)}
.bar__t{position:relative;height:6px;border-radius:3px;background:#E4DDD2}
.bar__t i{position:absolute;inset:0 auto 0 0;border-radius:3px;background:var(--acc-d)}
.bar__t::after{content:'';position:absolute;left:50%;top:-4px;bottom:-4px;width:1.5px;background:var(--ink-l)}  /* mediana */
.bar b{font-weight:600;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.specimen__foot{margin-top:16px;font-size:11.5px;line-height:1.6;color:var(--folio)}

/* Robustez à hora (ilustração ±30 min) */
.robust{margin-top:clamp(56px,8vw,96px);display:grid;gap:30px;align-items:center}
.robust__fig{border:1px solid var(--glass-brd);border-radius:var(--surf-r);padding:20px 16px 14px;background:rgba(255,255,255,.025)}
.robust__fig svg{width:100%;height:auto;overflow:visible}
.robust__legend{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:12px;font-size:12.5px;color:var(--on-dark-m)}
.robust__legend span{display:inline-flex;align-items:center;gap:8px}
.robust__legend i{width:10px;height:10px;border-radius:50%;background:var(--acc)}
.robust__legend i.o{background:none;border:1.5px solid var(--on-dark-m)}
.robust__cap{margin-top:10px;font-size:11.5px;color:var(--on-dark-f)}

/* Índice do relatório (em vez da faixa de amostras, até haver amostra real) */
.toc{counter-reset:ch;border-top:1px solid var(--hair-lt);margin-top:10px}
.toc li{
  display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 14px;padding:20px 2px;
  border-bottom:1px solid var(--hair-lt);
}
.toc__n{font-family:'Cinzel',Georgia,serif;font-weight:600;font-size:14px;letter-spacing:.08em;color:var(--acc-d);padding-top:4px;grid-row:span 2}
.toc h3{font-family:'Playfair Display','Playfair Fallback Georgia','Playfair Fallback Noto','Playfair Fallback DejaVu',Georgia,serif;font-weight:500;font-size:19px;line-height:1.3;color:var(--indigo);display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.toc p{font-size:14.5px;line-height:1.7;color:var(--ink-l)}
.tag{
  font-family:'Montserrat','Montserrat Fallback Arial','Montserrat Fallback Roboto','Montserrat Fallback DejaVu',sans-serif;font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--acc-d);border:1px solid currentColor;border-radius:99px;padding:3px 9px;line-height:1.4;white-space:nowrap;
}
.toc__note{margin-top:22px;font-size:13px;color:var(--folio);line-height:1.7}

/* Edições com 2 tiers */
.tiers--2{max-width:920px;margin-inline:auto}
.tier__ribbon{background:var(--acc)}
.tier__price small{font-family:'Montserrat','Montserrat Fallback Arial','Montserrat Fallback Roboto','Montserrat Fallback DejaVu',sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--folio);margin-left:8px;vertical-align:middle}
.tier--hero .tier__price small{color:var(--on-dark-m)}
.notice{
  display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;max-width:760px;margin:30px auto 0;
  background:var(--notice-bg);border-left:3px solid var(--indigo);border-radius:0 var(--r) var(--r) 0;
  padding:18px 20px;font-size:14.5px;line-height:1.7;color:var(--ink-l);
}
.notice svg{color:var(--indigo);margin-top:3px}
.notice b{color:var(--ink);font-weight:600}
.notice a{color:var(--indigo);text-decoration:underline;text-underline-offset:3px}

/* FAQ com <details> (funciona sem JS) */
.faq details{border-bottom:1px solid var(--hair-lt)}
.faq summary{list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq details[open] .faq__ic{rotate:135deg}
.faq details[open] .faq__ic::after{opacity:0}
.faq details .faq__a{height:auto}

/* Venda cruzada: no máximo uma, no fim */
.cross{
  display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;align-items:center;
  padding:var(--surf-pad) var(--surf-pad-x);border-radius:var(--surf-r);position:relative;
}
.cross .seal{width:56px;height:56px}
.cross__k{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--acc)}
.cross h3{font-family:'Playfair Display','Playfair Fallback Georgia','Playfair Fallback Noto','Playfair Fallback DejaVu',Georgia,serif;font-size:21px;color:var(--on-dark);margin:4px 0 6px;font-weight:400}
.cross h3 a::after{content:'';position:absolute;inset:0}
.cross p{font-size:14px;line-height:1.7;color:var(--on-dark-m)}
.cross__all{display:inline-block;margin-top:22px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--hair-s);padding-bottom:3px}

/* ══ G · BARRA DE COMPRA (telemóvel) ════════════════════════════════
   Substitui a bola verde no telemóvel nas páginas de produto. Aparece depois
   do hero e recolhe quando as edições, o CTA final ou o rodapé estão à vista. */
.buybar{
  position:fixed;left:0;right:0;bottom:0;z-index:70;
  display:flex;align-items:center;gap:12px;
  padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom,0px));
  background:rgba(8,6,20,.92);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);
  border-top:1px solid var(--hair);
  transform:translateY(110%);transition:transform .4s var(--e-out);
}
.buybar.is-on{transform:none}
.buybar .seal{width:32px;height:32px}
.buybar__txt{display:flex;flex-direction:column;min-width:0;margin-right:auto;line-height:1.3}
.buybar__txt b{font-family:'Playfair Display','Playfair Fallback Georgia','Playfair Fallback Noto','Playfair Fallback DejaVu',Georgia,serif;font-weight:400;font-size:16px;color:var(--on-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.buybar__price{font-size:11px;letter-spacing:.08em;color:var(--on-dark-m);white-space:nowrap}
.buybar .btn{min-height:44px;padding:10px 16px;font-size:11px;letter-spacing:.1em;flex:0 0 auto}
.has-buybar .fab{display:none}

/* ══ H · RODAPÉ ══════════════════════════════════════════════════════ */
.foot__prods a{display:inline-flex;align-items:center;gap:10px}
.foot__prods .seal{width:22px;height:22px}
.foot__tag b{font-style:normal;font-weight:400;color:var(--on-dark-m)}

/* ══ ESCALA ══════════════════════════════════════════════════════════ */
@media (min-width:641px){
  .hero--product .hero__seal{width:clamp(104px,11vw,136px);height:clamp(104px,11vw,136px);margin-bottom:30px}
  .hero__name{font-size:clamp(60px,8.4vw,104px)}
  .hero--product .hero__h1 em{font-size:clamp(22px,2.5vw,32px);margin-top:18px}
  .pcard__name{font-size:32px}
  .bundle{grid-template-columns:auto minmax(0,1fr) auto auto;gap:24px}
  .chooser{grid-template-columns:minmax(150px,.7fr) repeat(2,minmax(0,1fr));gap:14px}
  .chooser__corner{display:block}
  .chooser__row{grid-column:auto;margin:0;padding:0;border:0;align-self:center;font-size:21px}
  .chooser__cell{min-height:150px;padding:22px 20px;flex-direction:row;align-items:flex-start;gap:16px}
  .chooser__cell .seal{width:48px;height:48px}
  .chooser__cell b{font-size:20px;display:block;margin-bottom:6px}
  .specimen{padding:30px 30px 26px}
  .bar{grid-template-columns:132px minmax(0,1fr) 34px}
  .toc li{grid-template-columns:64px minmax(0,1fr);padding:24px 4px}
  .toc h3{font-size:21px}
  .buybar{display:none}
  .has-buybar .fab{display:grid}
}
@media (min-width:760px){
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
}
@media (min-width:1000px){
  .nav__links{align-items:center}
  .tiers.tiers--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(48px,6vw,96px)}
  .robust{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(48px,6vw,96px)}
  .robust__fig{order:-1}
  .pcard{padding:calc(var(--surf-pad) + 6px) var(--surf-pad-x) var(--surf-pad)}
  .pcard .seal{width:76px;height:76px}
}
@media (min-width:900px){
  .foot__grid{grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(110px,1fr))}
}
/* Nav do computador com línguas longas: se não couber, as âncoras saem e fica «Produtos» */
@media (min-width:1000px) and (max-width:1199px){
  .nav__links .nav__anchor{display:none}
}

/* ══ I · MOVIMENTO REDUZIDO ══════════════════════════════════════════ */
@media (prefers-reduced-motion:reduce){
  .pcard,.chooser__cell,.buybar,.prod__menu{transition:none}
  .pcard:hover,.chooser__cell:hover{transform:none}
}
@media (hover:none){
  .pcard:hover,.chooser__cell:hover{transform:none}
}

/* ══ B2 · BUG DA LANDING ATUAL: o template usa <h3> mas o CSS estiliza <h4>
   (.feat/.steps/.guarantee). Hoje os títulos desses blocos saem em Montserrat
   300 sem tamanho. Corrige-se aqui para todas as páginas. ══ */
.feat h3{font-family:'Playfair Display','Playfair Fallback Georgia','Playfair Fallback Noto','Playfair Fallback DejaVu',Georgia,serif;font-size:17.5px;font-weight:500;color:var(--gold-l);margin-bottom:11px}
.steps h3{font-family:'Playfair Display','Playfair Fallback Georgia','Playfair Fallback Noto','Playfair Fallback DejaVu',Georgia,serif;font-size:19px;font-weight:500;color:var(--on-dark);margin-bottom:9px}
.guarantee h3{font-family:'Playfair Display','Playfair Fallback Georgia','Playfair Fallback Noto','Playfair Fallback DejaVu',Georgia,serif;font-size:19px;color:var(--gold-l);margin-bottom:8px;font-weight:500}
.seal.final__mark{height:88px;animation:none}
.specimen,.robust__fig{margin:0}
.specimen .chip{grid-column:1/-1;margin-top:0}
.tier--hero .tier__name{color:var(--acc)}
/* Selo em dois tons (só ≥ 96 px sobre noite: hero, final, OG): a estrela da marca em ouro */
.seal--duo{--star:#DDA81E}
/* O menu vive dentro de .nav__links: anula as regras de ligação da navegação */
.nav__links .prod__menu a{text-transform:none;letter-spacing:normal;color:inherit;padding:12px 14px;font-size:inherit}
.nav__links .prod__menu a::after{display:none}
.nav__links .prod__menu .prod__all{text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--gold);padding:14px}
.nav__links .prod__menu .prod__all::after{display:none}
.nav__links .prod__menu .prod__item em{letter-spacing:.06em;text-transform:none}
.pcard__foot{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px 18px}
.chooser__cell b,.chooser__cell small{display:block}
/* Sem JS o menu abre com o foco (e o rodapé tem sempre as 4 ligações) */
html:not(.js) .prod:focus-within .prod__menu,html:not(.js) .prod:hover .prod__menu{opacity:1;visibility:visible;transform:none}
