/* portal-prod.shop — folha de estilo compartilhada
   Direção visual: editorial, serifada, alto contraste.
   Deliberadamente distinta de nutrisuppify.com. */

:root{
  --ink:#1a1a18;
  --ink-soft:#4d4d47;
  --ink-faint:#7a7a72;
  --line:#ddd9d0;
  --line-strong:#1a1a18;
  --bg:#fbfaf7;
  --bg-card:#ffffff;
  --bg-dark:#1a1a18;
  --accent:#8a4b2a;
  --accent-soft:#f4ece6;
  --maxw:1020px;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--serif);
  font-size:18px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-underline-offset:3px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.narrow{max-width:680px}

h1,h2,h3{line-height:1.22;margin:0 0 .5em;font-weight:600;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,1.5rem + 2.6vw,3.3rem)}
h2{font-size:clamp(1.5rem,1.25rem + 1.1vw,2rem)}
h3{font-size:1.2rem}
p{margin:0 0 1.15em}
.lede{font-size:clamp(1.1rem,1.03rem + .4vw,1.3rem);color:var(--ink-soft);line-height:1.6}

/* ---------- cabeçalho ---------- */

.masthead{border-bottom:1px solid var(--line-strong);background:var(--bg)}
.masthead .wrap{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:20px;flex-wrap:wrap;padding-block:20px;
}
.wordmark{
  font-family:var(--sans);font-weight:700;font-size:.86rem;
  letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--ink);
}
.masthead nav{font-family:var(--sans);font-size:.85rem;display:flex;gap:20px;flex-wrap:wrap}
.masthead nav a{color:var(--ink-soft);text-decoration:none}
.masthead nav a:hover{color:var(--accent)}

/* seletor de idioma — links reais, sem JS */
.langbar{
  border-bottom:1px solid var(--line);background:var(--bg-card);
  font-family:var(--sans);font-size:.78rem;
}
.langbar .wrap{display:flex;gap:16px;align-items:center;padding-block:8px;flex-wrap:wrap}
.langbar span{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase}
.langbar a{color:var(--ink-soft);text-decoration:none}
.langbar a[aria-current="true"]{color:var(--ink);font-weight:600;text-decoration:underline}
.langbar .soon{color:var(--ink-faint);opacity:.6}

/* ---------- seções ---------- */

section{padding:clamp(44px,6vw,78px) 0}
.rule{border-top:1px solid var(--line)}
.band{background:var(--bg-card);border-block:1px solid var(--line)}

.kicker{
  font-family:var(--sans);font-size:.74rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--accent);
  margin:0 0 14px;
}

.hero{padding-top:clamp(46px,6vw,84px);padding-bottom:clamp(38px,5vw,60px)}
.hero h1{max-width:16ch}

/* ---------- listagem editorial ---------- */

.entries{border-top:1px solid var(--line-strong);margin-top:34px}
.entry{
  display:grid;grid-template-columns:auto 1fr;gap:6px 26px;
  padding:26px 0;border-bottom:1px solid var(--line);
}
.entry .num{
  font-family:var(--sans);font-size:.78rem;font-weight:700;
  color:var(--ink-faint);letter-spacing:.1em;padding-top:.35em;
}
.entry h3{margin-bottom:.3em}
.entry p{margin-bottom:0;color:var(--ink-soft)}
@media(max-width:640px){
  .entry{grid-template-columns:1fr;gap:4px}
  .entry .num{padding-top:0}
}

/* ---------- caixas ---------- */

.note{
  border-left:3px solid var(--accent);background:var(--accent-soft);
  padding:20px 24px;font-size:.98rem;
}
.note p:last-child{margin-bottom:0}
.note strong{color:var(--ink)}

.pending{
  border:1px dashed var(--line-strong);background:transparent;
  padding:28px 26px;text-align:center;color:var(--ink-soft);
  font-family:var(--sans);font-size:.95rem;
}
.pending p:last-child{margin-bottom:0}

/* ---------- botão ---------- */

.btn{
  display:inline-block;font-family:var(--sans);font-weight:600;font-size:.95rem;
  background:var(--ink);color:var(--bg);text-decoration:none;
  padding:14px 28px;border:1px solid var(--ink);
  transition:background .15s ease,color .15s ease;
}
.btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* ---------- páginas legais ---------- */

.doc{padding:clamp(40px,5vw,70px) 0}
.doc h2{margin-top:2.1em;font-size:1.3rem}
.doc h2:first-of-type{margin-top:1.1em}
.doc ul{padding-left:1.15em}
.doc li{margin-bottom:.45em}
.doc .meta{
  font-family:var(--sans);font-size:.82rem;color:var(--ink-faint);
  border-top:1px solid var(--line);padding-top:18px;margin-top:3em;
}

/* ---------- rodapé ---------- */

.smallprint{
  background:var(--bg-card);border-top:1px solid var(--line);
  font-family:var(--sans);font-size:.85rem;color:var(--ink-soft);
  padding:32px 0;line-height:1.6;
}
.smallprint p{margin-bottom:.75em}
.smallprint p:last-child{margin-bottom:0}

footer.site{
  background:var(--bg-dark);color:#b3ada2;
  font-family:var(--sans);font-size:.86rem;padding:36px 0;
}
footer.site a{color:#e8e3da;text-decoration:none}
footer.site a:hover{text-decoration:underline}
footer.site .row{display:flex;flex-wrap:wrap;gap:22px;justify-content:space-between}
footer.site .links{display:flex;flex-wrap:wrap;gap:18px}
footer.site .base{margin-top:24px;padding-top:18px;border-top:1px solid #33322e;color:#87837a}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}
