/* ══════════════════════════════════════
   LEGAL PAGES — Termos, Privacidade, Cookies
   Shares the site's "paper & lime" editorial system:
   warm paper bg, ink text, single lime accent, Domine
   display serif + DM Sans body. Standalone document
   layout (no chapter/stage choreography needed here).
══════════════════════════════════════ */

*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --lime:#BDFD50; --limed:#5A8200; --limebg:#F2FBDC;
  --bg:#F5F5F2; --white:#FFFFFF;
  --s2:#F0F0ED; --border:#E8E8E4; --borderlt:#EFEFEB;
  --text:#111110; --t2:#6B6B67; --t3:#A8A8A4;
  --sh:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.03);
  --sh-md:0 4px 20px rgba(0,0,0,.07),0 1px 6px rgba(0,0,0,.04);
}
html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%;}
body{
  font-family:'DM Sans',sans-serif;
  background:var(--bg);color:var(--text);
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}

/* ── NAV — slim version of the site nav, always ink-on-paper ── */
.legal-nav{
  position:sticky;top:0;z-index:100;
  background:rgba(245,245,242,.82);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--border);
  height:70px;display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(20px,5vw,56px);
}
.legal-nav-logo img{height:26px;width:auto;display:block;}
.legal-nav-back{
  display:inline-flex;align-items:center;gap:7px;
  font-size:14px;font-weight:500;color:var(--t2);
  text-decoration:none;transition:color .18s;
}
.legal-nav-back:hover{color:var(--text);}
.legal-nav-back svg{width:16px;height:16px;}

/* ── DOCUMENT LAYOUT ── */
.legal-wrap{
  max-width:760px;
  margin:0 auto;
  padding:clamp(48px,8vw,88px) clamp(20px,5vw,32px) 96px;
}

.legal-eyebrow{
  display:inline-flex;align-items:center;
  font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--limed);
  background:var(--limebg);border:1px solid #DCF3B0;
  padding:6px 13px;border-radius:999px;
  margin-bottom:22px;
}
.legal-title{
  font-family:'Domine',serif;font-weight:400;
  font-size:clamp(34px,5.5vw,54px);
  line-height:1.08;letter-spacing:-.01em;
  margin-bottom:18px;
}
/* On paper, the site's lime is too light to read as text — use the app's
   deep olive so the accent stays on-brand but legible. */
.legal-title em{font-style:normal;color:var(--limed);}
.legal-lede{
  font-size:clamp(16px,2vw,18px);color:var(--t2);
  max-width:60ch;margin-bottom:14px;
}
.legal-updated{
  font-size:13px;color:var(--t3);
  padding-top:22px;margin-top:26px;
  border-top:1px solid var(--border);
}

/* ── SECTIONS ── */
.legal-body{margin-top:44px;}
.legal-section{margin-bottom:44px;}
.legal-section:last-child{margin-bottom:0;}

.legal-section h2{
  font-family:'Domine',serif;font-weight:400;
  font-size:clamp(22px,3vw,27px);
  line-height:1.2;letter-spacing:-.005em;
  margin-bottom:14px;
  display:flex;align-items:baseline;gap:12px;
}
.legal-section h2 .legal-num{
  font-family:'DM Sans',sans-serif;
  font-size:14px;font-weight:600;color:var(--limed);
  flex:none;padding-top:2px;
  font-variant-numeric:tabular-nums;
}
.legal-section h3{
  font-size:16px;font-weight:600;color:var(--text);
  margin:24px 0 8px;
}
.legal-section p{
  font-size:15.5px;color:var(--t2);
  margin-bottom:14px;
}
.legal-section p:last-child{margin-bottom:0;}
.legal-section a{color:var(--limed);text-decoration:underline;text-underline-offset:2px;}
.legal-section a:hover{color:var(--text);}
.legal-section strong{color:var(--text);font-weight:600;}

.legal-section ul{
  list-style:none;margin:0 0 14px;padding:0;
}
.legal-section li{
  position:relative;
  font-size:15.5px;color:var(--t2);
  padding-left:22px;margin-bottom:10px;
}
.legal-section li::before{
  content:"";position:absolute;left:2px;top:9px;
  width:6px;height:6px;border-radius:2px;
  background:var(--lime);
  box-shadow:0 0 0 1px rgba(90,130,0,.2);
}
.legal-section li:last-child{margin-bottom:0;}
.legal-section li strong{color:var(--text);}

/* Definition-style rows (e.g. cookie table, data categories) */
.legal-defs{
  border:1px solid var(--border);border-radius:16px;
  background:var(--white);overflow:hidden;
  box-shadow:var(--sh);
  margin:8px 0 14px;
}
.legal-def-row{
  display:grid;grid-template-columns:180px 1fr;gap:20px;
  padding:16px 20px;
  border-bottom:1px solid var(--borderlt);
}
.legal-def-row:last-child{border-bottom:none;}
.legal-def-term{font-weight:600;font-size:14.5px;color:var(--text);}
.legal-def-desc{font-size:14.5px;color:var(--t2);}

/* Callout card — used for the controller identity / contact block */
.legal-card{
  background:var(--white);border:1px solid var(--border);
  border-radius:16px;padding:22px 24px;
  box-shadow:var(--sh);
  margin:8px 0 14px;
}
.legal-card p{margin-bottom:6px;font-size:15px;}
.legal-card p:last-child{margin-bottom:0;}
.legal-card .legal-card-label{
  font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--t3);margin-bottom:10px;
}

/* Cross-links between legal pages */
.legal-morelinks{
  display:flex;flex-wrap:wrap;gap:10px;
  margin-top:56px;padding-top:32px;
  border-top:1px solid var(--border);
}
.legal-morelinks-title{
  width:100%;font-size:12px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--t3);margin-bottom:4px;
}
.legal-chip{
  font-size:14px;font-weight:500;color:var(--text);
  text-decoration:none;
  background:var(--white);border:1px solid var(--border);
  padding:9px 16px;border-radius:999px;
  transition:border-color .18s,transform .18s;
}
.legal-chip:hover{border-color:var(--limed);transform:translateY(-1px);}
.legal-chip[aria-current="page"]{
  background:var(--limebg);border-color:#DCF3B0;color:var(--limed);
  pointer-events:none;
}

/* ── FOOTER — same ink footer as the main site ── */
.legal-foot{
  background:var(--text);border-top:1px solid rgba(255,255,255,.08);
  padding:40px clamp(20px,5vw,40px) 28px;
  text-align:center;
}
.legal-foot-logo img{height:26px;width:auto;filter:invert(1);opacity:.9;}
.legal-foot-copy{
  font-size:12px;color:rgba(255,255,255,.28);margin-top:16px;
}

@media (max-width:560px){
  .legal-def-row{grid-template-columns:1fr;gap:4px;}
  .legal-section h2{gap:9px;}
}
