/* Pages légales de Zyligo Billetterie : mêmes couleurs et caractères que la page d'accueil */
:root{
  --night:#0b0f1a; --paper:#f3f5f9; --paper-2:#fff; --line:#dfe3ec;
  --ink:#151a29; --ink-soft:#4a5268; --light:#eef1f6; --light-soft:#b8bfd0;
  --brass:#f0c04a; --brass-ink:#241a03; --brass-text:#8a6410;
  --serif:'Instrument Serif', Georgia, serif; --sans:'IBM Plex Sans', system-ui, sans-serif;
  --m:clamp(16px, 4vw, 56px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--sans)}
a{color:inherit;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
::selection{background:var(--brass);color:var(--brass-ink)}

.bar{background:var(--night);color:var(--light);display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px var(--m)}
.bar a{text-decoration:none}
.brand{font:400 24px/1 var(--serif);letter-spacing:-.01em}
.bar nav{display:flex;gap:20px;font-size:15px;color:var(--light-soft)}
.bar nav a:hover{color:var(--brass)}

.head{background:var(--night);color:var(--light);padding:40px var(--m) 56px}
.head .in{max-width:1080px;margin:0 auto}
.head h1{font:400 clamp(44px,6vw,80px)/1 var(--serif);letter-spacing:-.02em;margin:0;max-width:16ch}
.head p{margin:16px 0 0;color:var(--light-soft);max-width:60ch;font-size:18px}
.head .ver{margin-top:22px;font-size:14px;color:var(--light-soft)}
.head .ver b{color:var(--brass);font-weight:500}

.page{max-width:1080px;margin:0 auto;padding:48px var(--m) 80px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;align-items:start}
.toc{position:sticky;top:24px;font-size:14px;line-height:1.4}
.toc h2{font:600 13px/1 var(--sans);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:0 0 12px}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.toc a{display:block;padding:6px 0 6px 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--ink-soft);text-decoration:none}
.toc a:hover{color:var(--ink);border-left-color:var(--brass)}
.toc .other{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:8px}
.toc .other a{padding:0;border:0;margin:0;text-decoration:underline}

.doc{min-width:0;max-width:72ch}
.doc .lead{background:var(--paper-2);border-radius:14px;padding:20px 22px;margin:0 0 36px;font-size:17px}
.doc h2{font:400 34px/1.1 var(--serif);letter-spacing:-.01em;margin:48px 0 14px;scroll-margin-top:24px}
.doc h2:first-of-type{margin-top:0}
.doc h3{font:600 17px/1.4 var(--sans);margin:26px 0 8px}
.doc p{margin:0 0 14px}
.doc ul{margin:0 0 16px;padding-left:22px}
.doc li{margin:6px 0}
.doc li::marker{color:var(--brass-text)}
.doc strong{font-weight:600}
.facts{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);background:var(--paper-2);border-radius:14px;margin:0 0 18px;overflow:hidden}
.facts dt,.facts dd{margin:0;padding:10px 18px;border-top:1px solid var(--line)}
.facts dt{color:var(--ink-soft);font-size:15px}
.facts dt:first-of-type,.facts dt:first-of-type + dd{border-top:0}
.tbl{overflow-x:auto;margin:0 0 18px;background:var(--paper-2);border-radius:14px}
.tbl table{width:100%;min-width:560px;border-collapse:collapse;font-size:15px;line-height:1.5}
.tbl th{text-align:left;font-weight:600;padding:12px 16px;border-bottom:2px solid var(--line)}
.tbl td{padding:12px 16px;border-top:1px solid var(--line);vertical-align:top}

footer{background:var(--night);color:var(--light-soft);padding:28px var(--m) 32px;font-size:14px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px}
footer nav{display:flex;flex-wrap:wrap;gap:10px 22px}
footer a{color:var(--light);text-decoration:none}
footer a:hover,footer a[aria-current]{color:var(--brass)}

@media (max-width:860px){
  .page{grid-template-columns:1fr;gap:28px;padding-top:32px}
  .toc{position:static;background:var(--paper-2);border-radius:14px;padding:18px 20px}
  .bar nav a.opt{display:none}
}
@media (max-width:520px){
  body{font-size:16px}
  .facts{grid-template-columns:1fr}
  .facts dd{border-top:0;padding-top:0}
  .doc h2{font-size:29px}
}
@media print{
  .bar,.toc,footer{display:none}
  .head{background:none;color:#000;padding:0 0 12px}
  .head p,.head .ver{color:#333}
  .page{display:block;padding:12px 0}
  body{background:#fff;font-size:12pt}
  .doc{max-width:none}
  .doc h2{break-after:avoid}
}
