/* ============================================================
   Natureza Cura — Legal pages (Terms + Privacy)
   Brand identity: forest-green / beige, Cormorant Garamond + Inter.
   Shared by termos-de-uso-naturezacura.html and
   politica-privacidade-cookies-naturezacura.html.
   ============================================================ */
:root{
  --bg:#F2F0E6;          /* brand beige */
  --panel:#FFFFFF;
  --panel-soft:#FAF9F6;
  --ink:#2a2a2a;         /* body text */
  --muted:#6B6B67;       /* captions */
  --green:#1A3C34;       /* brand primary */
  --green-soft:#EBF3F0;
  --terra:#8B6E52;       /* warm accent (was gold) */
  --sage:#7A9E8A;
  --line:rgba(26,60,52,.12);
  --warn-bg:#FBF3DC; --warn-bd:#8B6E52;
  --note-bg:#EBF3F0; --note-bd:#1A3C34;
  --ok-bg:#EBF3F0; --ok-bd:#7A9E8A;
  --maxw:760px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:'Inter',system-ui,sans-serif;font-size:17px;line-height:1.72;-webkit-font-smoothing:antialiased;
}
a{color:var(--green);text-decoration:none;border-bottom:1px solid rgba(26,60,52,.3)}
a:hover{border-bottom-color:var(--green)}
.font-serif{font-family:'Cormorant Garamond',Georgia,serif}

/* ── Top bar (back to site) ── */
.legal-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 24px;border-bottom:1px solid var(--line);background:rgba(242,240,230,.9);
  position:sticky;top:0;z-index:20;backdrop-filter:blur(8px);
}
.legal-topbar a{border:none}
.legal-topbar .wordmark{font-family:'Cormorant Garamond',serif;font-size:21px;color:var(--green);display:inline-flex;align-items:center;gap:8px}
.legal-topbar .back{font-size:13px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}

/* ── Masthead ── */
header.masthead{padding:56px 24px 38px;text-align:center;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.5),transparent)}
.glyph{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--terra);font-weight:500;margin-bottom:16px}
.glyph::before,.glyph::after{content:"·";margin:0 .8em;color:var(--terra);opacity:.7}
header.masthead h1{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(32px,5.5vw,52px);line-height:1.05;margin:0 0 10px;color:var(--green)}
header.masthead .doc-kind{font-style:italic;color:var(--muted);font-size:18px;margin:0;font-family:'Cormorant Garamond',serif}
.meta{margin-top:24px;font-size:13.5px;color:var(--muted);line-height:1.6}
.meta strong{color:var(--green);font-weight:600}

/* ── Layout ── */
.layout{display:grid;grid-template-columns:240px 1fr;gap:56px;padding:48px 24px 96px;max-width:1180px;margin:0 auto}
nav.toc{position:sticky;top:88px;align-self:start;max-height:calc(100vh-110px);overflow:auto;font-size:14px}
nav.toc .toc-title{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);margin:0 0 14px}
nav.toc ol{list-style:none;margin:0;padding:0}
nav.toc li{margin:0 0 2px}
nav.toc a{display:block;padding:6px 10px;border:none;border-left:2px solid transparent;color:var(--muted);line-height:1.35;border-radius:0 4px 4px 0;transition:all .18s}
nav.toc a:hover{color:var(--green);background:rgba(26,60,52,.05)}
nav.toc a.active{color:var(--green);border-left-color:var(--terra);background:var(--green-soft);font-weight:500}

main{max-width:var(--maxw);min-width:0}
section{scroll-margin-top:88px}
h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(24px,3.4vw,32px);line-height:1.15;margin:40px 0 14px;color:var(--green);display:flex;gap:14px;align-items:baseline}
h2 .num{font-size:15px;color:var(--terra);font-weight:600;flex:none;padding-top:6px;font-family:'Inter',sans-serif}
h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:21px;margin:26px 0 8px;color:var(--green)}
p{margin:0 0 16px}
ul,ol.body{margin:0 0 18px;padding-left:22px}
li{margin:0 0 9px}
.lead{font-size:19px;color:var(--muted);font-style:italic;font-family:'Cormorant Garamond',serif;border-left:3px solid var(--terra);padding:2px 0 2px 20px;margin:0 0 30px;line-height:1.55}

table{width:100%;border-collapse:collapse;margin:8px 0 22px;font-size:15px}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:16px;color:var(--green);background:rgba(26,60,52,.04)}

.callout{border-radius:12px;padding:20px 22px;margin:24px 0;font-size:15.5px;line-height:1.6}
.callout .tag{display:inline-block;font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.callout p:last-child{margin-bottom:0}
.callout.note{background:var(--note-bg);border-left:4px solid var(--note-bd)}
.callout.note .tag{color:var(--note-bd)}
.callout.warn{background:var(--warn-bg);border-left:4px solid var(--warn-bd)}
.callout.warn .tag{color:var(--terra)}
.callout.ok{background:var(--ok-bg);border-left:4px solid var(--ok-bd)}
.callout.ok .tag{color:var(--ok-bd)}

/* Consent rows (privacy §6) */
.consent{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px 22px;margin:0 0 16px}
.consent .row{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.consent .row:last-child{border-bottom:none}
.consent .box{flex:none;width:22px;height:22px;border:2px solid var(--green);border-radius:6px;margin-top:3px;position:relative}
.consent .box.req{background:var(--green)}
.consent .box.req::after{content:"✓";position:absolute;inset:0;color:#fff;font-size:14px;text-align:center;line-height:18px}
.consent .txt{flex:1}
.consent .label{font-weight:600;margin-bottom:3px;display:block;color:var(--green)}
.consent .pill{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 9px;border-radius:20px;margin-left:8px;vertical-align:middle}
.pill.obrig{background:var(--green);color:#fff}
.pill.opc{background:var(--green-soft);color:var(--green)}
.consent .desc{font-size:14px;color:var(--muted);line-height:1.5}
.basis{font-size:12.5px;color:var(--terra);font-style:italic;margin-top:4px}

.product-block{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin:0 0 16px}
.product-block h3{margin-top:4px}
.product-block .tagline{font-size:13.5px;color:var(--muted);font-style:italic;margin:-4px 0 12px}

hr{border:none;border-top:1px solid var(--line);margin:40px 0}
.fineprint{font-size:14px;color:var(--muted)}
footer.legal-footer{border-top:1px solid var(--line);padding:40px 24px 80px;text-align:center;font-size:13.5px;color:var(--muted);max-width:760px;margin:0 auto}
footer.legal-footer .sig{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:var(--green);margin-bottom:8px}
footer.legal-footer .links{margin:14px 0;display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
footer.legal-footer .links a{color:var(--green);border:none;font-size:13.5px}

@media(max-width:900px){
  body{font-size:16px}
  .layout{grid-template-columns:1fr;gap:0;padding:28px 20px 72px}
  nav.toc{position:static;max-height:none;margin-bottom:30px;border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--panel)}
  nav.toc details summary{cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--terra);list-style:none}
  nav.toc details summary::-webkit-details-marker{display:none}
  nav.toc details summary::after{content:"▾";float:right;color:var(--muted)}
  nav.toc .toc-title{display:none}
  nav.toc ol{margin-top:12px}
  table,thead,tbody,th,td,tr{display:block}
  thead{display:none}
  td{border:none;padding:4px 0}
  .consent tr{display:flex}
}
@media print{body{background:#fff;font-size:12pt}.legal-topbar,nav.toc,.glyph{display:none}.layout{display:block;padding:0}a{color:var(--ink);border:none}}
