/* Shared styles for the LGPD legal pages (legal/<slug>/index.html).
   Reuses the DinerTheme day-mode tokens from index.html so the legal pages
   read as the same product. Kept as a separate file (not inlined) because
   three pages share it; index.html keeps its CSS embedded on purpose. */
:root{
  --font-display:"Bebas Neue","Anton","Archivo Narrow",sans-serif;
  --font-ui:"Space Grotesk",system-ui,-apple-system,sans-serif;
  --bg:#F4E9D2;
  --surface:#FBF5E5;
  --surface-soft:#EDDFC2;
  --surface-contrast:#1B1612;
  --text:#1B1612;
  --muted:#74624C; /* AA-compliant (4.5:1) on cream */
  --border:#D9C9A8;
  --accent:#D62828;
  --label-track:1.5px;
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}

body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-ui);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

::selection{
  background:var(--accent);
  color:#fff;
}

a{
  color:var(--accent);
  text-decoration:none;
}

a:hover{text-decoration:underline}

.legal-wrap{
  max-width:760px;
  margin:0 auto;
  padding:0 24px;
}

/* ─── NAV ─── */
.legal-nav{
  background:var(--surface);
  border-bottom:2px solid var(--surface-contrast);
}

.legal-nav .legal-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:64px;
}

.brand{
  font-family:var(--font-display);
  font-size:26px;
  letter-spacing:.5px;
  display:inline-flex;
  gap:6px;
  color:var(--text);
}

.brand .pdv{color:var(--accent)}

.brand:hover{text-decoration:none}

.legal-nav .back{
  font-size:14px;
  font-weight:600;
  color:var(--muted);
}

.legal-nav .back:hover{
  color:var(--accent);
  text-decoration:none;
}

/* ─── DOCUMENT ─── */
.legal-doc{padding:48px 24px 72px}

.legal-doc .label{
  font-family:var(--font-ui);
  font-size:11.5px;
  font-weight:700;
  letter-spacing:var(--label-track);
  text-transform:uppercase;
  color:var(--muted);
  display:inline-flex;
  align-items:center;
  gap:9px;
}

.legal-doc .label::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent);
}

.legal-doc h1{
  font-family:var(--font-display);
  text-transform:uppercase;
  letter-spacing:.5px;
  line-height:.98;
  font-weight:400;
  font-size:clamp(38px,7vw,58px);
  margin:14px 0 10px;
}

.legal-doc .updated{
  color:var(--muted);
  font-size:13.5px;
  margin-bottom:36px;
}

.legal-doc h2{
  font-family:var(--font-display);
  text-transform:uppercase;
  letter-spacing:.5px;
  font-weight:400;
  font-size:24px;
  margin:38px 0 12px;
}

.legal-doc h3{
  font-size:16px;
  font-weight:700;
  margin:24px 0 8px;
}

.legal-doc p{margin:0 0 16px}

.legal-doc ul,.legal-doc ol{
  margin:0 0 16px;
  padding-left:22px;
}

.legal-doc li{margin:0 0 8px}

.legal-doc li::marker{color:var(--accent)}

.legal-doc strong{font-weight:700}

.legal-doc a{font-weight:600}

/* Tables (DPA sub-processor list) */
.legal-doc table{
  width:100%;
  border-collapse:collapse;
  margin:4px 0 20px;
  font-size:14.5px;
}

.legal-doc th,.legal-doc td{
  border:1px solid var(--border);
  padding:10px 12px;
  text-align:left;
  vertical-align:top;
}

.legal-doc th{
  background:var(--surface-soft);
  font-weight:700;
  text-transform:none;
}

/* ─── FOOTER ─── */
.legal-foot{
  background:#15110C;
  color:#A99A82;
  border-top:2px solid var(--surface-contrast);
  padding:40px 0;
}

.legal-foot .legal-wrap{
  display:flex;
  flex-wrap:wrap;
  gap:14px 28px;
  align-items:center;
  justify-content:space-between;
}

.legal-foot .links{
  display:flex;
  flex-wrap:wrap;
  gap:8px 22px;
}

.legal-foot a{
  color:#A99A82;
  font-size:13.5px;
  font-weight:500;
}

.legal-foot a:hover{
  color:#fff;
  text-decoration:none;
}

.legal-foot span{
  font-size:11px;
  letter-spacing:.5px;
  text-transform:uppercase;
  font-weight:600;
}

.legal-foot .end{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 18px;
}

.legal-foot .poweredby{
  display:inline-flex;
  align-items:center;
  gap:9px;
  opacity:.85;
  transition:opacity .15s;
  font-size:11px;
  letter-spacing:.5px;
  text-transform:uppercase;
  font-weight:600;
}

.legal-foot .poweredby:hover{
  opacity:1;
  text-decoration:none;
}

.legal-foot .poweredby img{
  height:22px;
  width:auto;
  display:block;
}

a:focus-visible,.brand:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:3px;
  border-radius:6px;
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
