/* ══════════════════════════════════════════════════════════════════════════
   legal.css — shared styling for privacy / terms / refunds / mentions-legales

   Same palette and type as the landing, deliberately quieter: legal pages are
   read, not scrolled past. Narrow measure, generous leading, no decoration.
   ══════════════════════════════════════════════════════════════════════════ */

:root{
  --cream:#FBF5EC; --paper:#FFFBF4; --ink:#2C2230; --prune:#6E3B5E;
  --prune-deep:#552C49; --coral:#E8815E; --lilac:#EFE4EE; --peach:#FBE8DE;
  --muted:#8A7E84; --hairline:#E7DBCC;
  --font-display:'Fraunces',serif; --font-body:'Instrument Sans',sans-serif;
}

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

body{
  background:var(--cream); color:var(--ink);
  font-family:var(--font-body); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.15;letter-spacing:-0.01em;}
a{color:inherit;}

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

/* ── top bar ─────────────────────────────────────────────────────────────── */
.legal-nav{background:var(--ink);padding:18px 0;}
.legal-nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.legal-nav .brand{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-display);font-size:19px;font-weight:600;
  color:var(--cream);text-decoration:none;
}
.legal-nav .brand:hover{color:#fff;}
.legal-nav .back{font-size:14px;color:#B7ADB2;text-decoration:none;}
.legal-nav .back:hover{color:#fff;}

/* ── header ──────────────────────────────────────────────────────────────── */
header.legal-head{padding:54px 0 8px;}
header.legal-head .eyebrow{
  display:block;font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--prune);font-weight:600;margin-bottom:12px;
}
header.legal-head h1{font-size:clamp(30px,5.4vw,42px);margin-bottom:14px;}
header.legal-head .updated{font-size:14.5px;color:var(--muted);}

/* ── the two standing notices ────────────────────────────────────────────── */
.notice{
  border-radius:14px;padding:18px 20px;margin:26px 0;
  font-size:15px;line-height:1.55;
}
.notice strong{font-weight:600;}

/* "this is a template, have a professional review it" — framework §4.5 */
.notice.template{background:var(--peach);border:1px solid #F0C9B4;color:#7A3F26;}

/* the founder still has blanks to fill */
.notice.todo{background:#FFF4CE;border:1px solid #E8CE6B;color:#6B5310;}
.notice.todo ul{margin:9px 0 0 20px;}
.notice.todo li{margin-bottom:4px;}

/* ── placeholders the founder must replace ───────────────────────────────── */
.ph{
  background:#FFE9A8;border-bottom:2px solid #D9A93A;
  padding:1px 5px;border-radius:3px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.88em;font-weight:600;color:#5C4508;white-space:nowrap;
}

/* ── body copy ───────────────────────────────────────────────────────────── */
main{padding-bottom:20px;}
section.block{padding:22px 0;border-top:1px solid var(--hairline);}
section.block:first-of-type{border-top:none;}
h2{font-size:clamp(21px,3.4vw,26px);margin:14px 0 12px;}
h3{font-size:18px;margin:20px 0 8px;}
p{margin-bottom:14px;}
ul,ol{margin:0 0 15px 22px;}
li{margin-bottom:7px;}
strong{font-weight:600;}
main a{color:var(--prune);text-decoration:underline;text-underline-offset:2px;}
main a:hover{color:var(--coral);}

table{width:100%;border-collapse:collapse;margin:6px 0 18px;font-size:15px;display:block;overflow-x:auto;}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--hairline);vertical-align:top;}
th{font-weight:600;background:var(--paper);white-space:nowrap;}

.lang-switch{
  display:inline-block;margin:18px 0 4px;padding:9px 16px;
  background:var(--lilac);border-radius:999px;
  font-size:14.5px;font-weight:600;color:var(--prune-deep);
  text-decoration:none;
}
.lang-switch:hover{background:var(--peach);}

/* ── footer ──────────────────────────────────────────────────────────────── */
footer.legal-foot{background:var(--ink);color:#B7ADB2;padding:36px 0;margin-top:44px;font-size:14px;}
footer.legal-foot a{color:#B7ADB2;text-decoration:none;margin-right:16px;line-height:2.1;display:inline-block;}
footer.legal-foot a:hover{color:#fff;}
footer.legal-foot .copy{margin-top:14px;font-size:13px;color:#8C8188;}

@media(max-width:640px){
  body{font-size:16px;}
  .wrap{padding:0 18px;}
  header.legal-head{padding:36px 0 6px;}
  .ph{white-space:normal;}
}
