/* Shared styles for legal pages — CGV, Privacy, Cookies */
:root {
  --bg:#efece6; --bg-soft:#e8e3d8; --ink:#2a241c; --ink-soft:#6b6055; --ink-faint:#a89e8f;
  --accent:#b95c2c; --accent-deep:#8a3f1c; --accent-soft:#e9d5c0; --line:#d8d0c2;
  --green:#7a8a5a; --sand:#c9a67b;
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--ink); font-family:'Inter',sans-serif; line-height:1.6; }
a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
a:hover { color:var(--accent-deep); }

nav { position:sticky; top:0; padding:18px 24px; background:rgba(239,236,230,0.9); backdrop-filter:blur(12px); display:flex; justify-content:space-between; align-items:center; z-index:50; border-bottom:1px solid var(--line); }
.logo { display:flex; align-items:center; gap:8px; font-family:'DM Serif Display',serif; font-size:20px; color:var(--ink); text-decoration:none; }
.logo img { width:32px; height:32px; }
.logo span { color:var(--ink); }
.back-link { font-size:14px; color:var(--ink-soft); text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
.back-link:hover { color:var(--ink); }

.hero { padding:80px 0 50px; background:linear-gradient(180deg, var(--bg) 0%, var(--bg-soft) 100%); border-bottom:1px solid var(--line); }
.container { max-width:780px; margin:0 auto; padding:0 24px; }
.container-wide { max-width:1100px; margin:0 auto; padding:0 24px; }
.eyebrow { font-size:11px; letter-spacing:2.5px; text-transform:uppercase; color:var(--accent); font-weight:700; }
h1 { font-family:'DM Serif Display',serif; font-size:56px; line-height:1.05; letter-spacing:-0.02em; margin-top:14px; }
.lead { font-family:'Fraunces',serif; font-style:italic; font-size:18px; color:var(--ink-soft); margin-top:18px; max-width:580px; line-height:1.5; }
.meta { font-size:12px; color:var(--ink-soft); margin-top:24px; }

.content { padding:60px 0 100px; }
.toc { padding:24px 28px; background:var(--bg-soft); border-radius:16px; margin-bottom:50px; }
.toc-title { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--accent); font-weight:700; margin-bottom:14px; }
.toc ol { list-style:none; counter-reset:toc; column-count:2; column-gap:30px; }
.toc li { counter-increment:toc; padding:5px 0; font-size:13px; break-inside:avoid; }
.toc li:before { content:counter(toc, decimal-leading-zero) "  "; color:var(--accent); font-family:'DM Serif Display',serif; font-size:12px; margin-right:6px; }
.toc a { color:var(--ink); text-decoration:none; }
.toc a:hover { color:var(--accent); }

h2 { font-family:'DM Serif Display',serif; font-size:32px; line-height:1.1; letter-spacing:-0.01em; margin-top:50px; margin-bottom:14px; scroll-margin-top:90px; }
h2 .num { color:var(--accent); font-size:18px; display:inline-block; vertical-align:middle; margin-right:14px; }
h3 { font-family:'DM Serif Display',serif; font-size:20px; margin-top:30px; margin-bottom:8px; }

p { color:var(--ink); margin-bottom:14px; font-size:15px; line-height:1.65; }
p.muted { color:var(--ink-soft); font-size:14px; }

ul, ol.body-list { margin:14px 0 14px 22px; }
ul li, ol.body-list li { padding:5px 0; font-size:15px; }
ul li::marker { color:var(--accent); }

.callout { padding:20px 24px; background:var(--accent-soft); border-radius:14px; margin:24px 0; border-left:3px solid var(--accent); }
.callout p { margin-bottom:0; font-family:'Fraunces',serif; font-style:italic; }
.callout b { font-weight:600; color:var(--ink); font-style:normal; font-family:'Inter',sans-serif; }

.tldr { padding:28px 30px; background:var(--ink); color:var(--bg); border-radius:18px; margin-bottom:36px; }
.tldr .eye { color:var(--sand); font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:700; }
.tldr h3 { font-family:'DM Serif Display',serif; font-size:22px; color:var(--bg); margin-top:10px; margin-bottom:8px; }
.tldr ul { margin:10px 0 0 22px; }
.tldr ul li { font-size:14px; color:#d8cfb9; line-height:1.5; }
.tldr ul li::marker { color:var(--sand); }

.data-table { margin:24px 0; border-radius:14px; overflow:hidden; border:1px solid var(--line); }
.data-table .row { display:grid; grid-template-columns:1fr 2fr 1fr; padding:14px 18px; gap:16px; font-size:13px; border-top:1px solid var(--line); }
.data-table .row:first-child { border-top:none; background:var(--bg-soft); font-weight:600; color:var(--ink-soft); font-size:11px; letter-spacing:1px; text-transform:uppercase; }
.data-table .row .what { color:var(--ink); font-weight:500; }
.data-table .row .why { color:var(--ink-soft); }
.data-table .row .keep { color:var(--ink-soft); font-style:italic; font-family:'Fraunces',serif; }

footer { padding:50px 0 30px; background:var(--ink); color:var(--ink-faint); }
.foot-grid { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:13px; }
.foot-grid .links { display:flex; gap:24px; flex-wrap:wrap; }
.foot-grid a { color:var(--ink-faint); text-decoration:none; }
.foot-grid a:hover { color:#fff; }

@media (max-width:760px){
  h1 { font-size:38px; }
  h2 { font-size:24px; }
  .toc ol { column-count:1; }
  .data-table .row { grid-template-columns:1fr; }
  .data-table .row:first-child { display:none; }
}
