/* ARIEL TV — pages légales (CGU/CGV, confidentialité, remboursement, mentions légales).
   Lecture longue sur le thème sombre de l'application. Chargé après base.css et auth.css. */
.legal-body{--legal-max:780px;--legal-amber-bg:#382f1e;--legal-amber-line:#6d5631;--legal-amber-text:#f2d695;min-height:100dvh;display:flex;flex-direction:column;background:#061525;color:#f7f5ec;font-size:16px;line-height:1.7;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(prefers-reduced-motion:no-preference){html:has(.legal-body){scroll-behavior:smooth}}

/* Lien d'évitement : invisible jusqu'au focus clavier. */
.legal-skip{position:absolute;left:16px;top:-60px;z-index:10;background:#edc66b;color:#102337!important;font-weight:800;font-size:14px;text-decoration:none;border-radius:8px;padding:9px 14px}
.legal-skip:focus{top:12px}

/* En-tête */
.legal-body .legal-header{width:100%;max-width:calc(var(--legal-max) + 48px);margin:0 auto;padding:22px 24px 0;flex-wrap:wrap;row-gap:12px}
.legal-body .auth-header-link{display:inline-block;white-space:nowrap}

/* Contenu */
.legal{width:100%;max-width:calc(var(--legal-max) + 48px);margin:0 auto;padding:44px 24px 64px;flex:1 0 auto;overflow-wrap:break-word}
.legal h1{font-size:clamp(28px,4.6vw,42px);line-height:1.14;letter-spacing:-.035em;font-weight:850;color:#fff;margin:0 0 12px;text-wrap:balance}
.legal-updated{color:#b6c9d5;font-size:14px;margin:0 0 24px}
.legal h2{font-size:clamp(21px,2.8vw,26px);line-height:1.25;letter-spacing:-.02em;font-weight:800;color:#fff;margin:48px 0 14px;padding-top:24px;border-top:1px solid #284253;scroll-margin-top:18px}
.legal h3{font-size:17px;line-height:1.35;font-weight:780;color:#edc66b;margin:28px 0 8px}
.legal p{margin:0 0 15px}
.legal ul,.legal ol{margin:0 0 18px;padding-left:22px}
.legal li{margin:0 0 8px;padding-left:2px}
.legal li::marker{color:#edc66b}
.legal strong{color:#fff;font-weight:780}
.legal a{color:#48d9cb;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.legal a:hover{color:#8ff0e6}
.legal a:focus-visible,.legal-footer a:focus-visible,.legal-body .auth-brand:focus-visible,.legal-body .auth-header-link:focus-visible{outline:2px solid #48d9cb;outline-offset:3px;border-radius:4px}
.legal-muted{color:#b6c9d5}

/* Avertissement « modèle à compléter » */
.legal-notice{background:var(--legal-amber-bg);border:1px solid var(--legal-amber-line);color:var(--legal-amber-text);border-radius:12px;padding:15px 18px;margin:0 0 30px;font-size:15px;line-height:1.6}
.legal-notice p{margin:0}
.legal-notice p+p{margin-top:8px}
.legal-notice strong{color:#ffe3a6}

/* Note de rédaction à compléter dans le corps du texte */
.legal .legal-todo{color:var(--legal-amber-text);font-size:14px;line-height:1.55;border-left:3px solid var(--legal-amber-line);padding:2px 0 2px 12px;margin:0 0 16px}

/* Encadré d'information (sécurité, points clés) */
.legal-callout{background:#10333b;border:1px solid #295969;color:#d2efec;border-radius:12px;padding:15px 18px;margin:0 0 20px}
.legal-callout p:last-child,.legal-callout ul:last-child{margin-bottom:0}
.legal-callout strong{color:#fff}
.legal-callout li::marker{color:#48d9cb}

/* Sommaire */
.legal-toc{background:#0c2236;border:1px solid #284253;border-radius:13px;padding:18px 22px 12px;margin:0 0 12px}
.legal .legal-toc-title{font-size:11px;letter-spacing:.2em;font-weight:800;text-transform:uppercase;color:#b6c9d5;margin:0 0 10px}
.legal-toc ul{list-style:none;margin:0;padding:0;columns:2 240px;column-gap:32px;font-size:14.5px;line-height:1.45}
.legal-toc li{break-inside:avoid;margin:0;padding:0 0 9px}
.legal-toc a{color:#f7f5ec;text-decoration:none;border-bottom:1px solid transparent}
.legal-toc a:hover{color:#edc66b;border-bottom-color:#6d5631}

/* Tableaux */
.legal-table{margin:0 0 22px;border:1px solid #284253;border-radius:12px;overflow:hidden;background:#081b2b}
.legal table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.55}
.legal caption{caption-side:top;text-align:left;font-size:13px;color:#b6c9d5;padding:10px 14px;border-bottom:1px solid #284253;background:#0c2236}
.legal th,.legal td{text-align:left;vertical-align:top;padding:11px 14px;border-bottom:1px solid #284253}
.legal thead th{background:#0c2236;color:#edc66b;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
.legal tbody th{color:#fff;font-weight:750}
.legal tbody tr:last-child th,.legal tbody tr:last-child td{border-bottom:0}
.legal td ul{margin:0;padding-left:18px}
.legal td li{margin:0 0 4px}

/* Pied de page */
.legal-footer{border-top:1px solid #284253;margin-top:auto}
.legal-footer-inner{max-width:calc(var(--legal-max) + 48px);margin:0 auto;padding:22px 24px 30px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;font-size:13px;color:#b6c9d5}
.legal-footer nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.legal-footer a{color:#b6c9d5;text-decoration:none}
.legal-footer a:hover{color:#fff}
.legal-footer a[aria-current="page"]{color:#edc66b}
.legal-footer p{margin:0}

/* Téléphones : gouttière de 16 px, tableaux empilés, aucun défilement horizontal. */
@media(max-width:640px){
  .legal-body{font-size:15.5px;line-height:1.68}
  .legal-body .legal-header{padding:16px 16px 0}
  .legal-body .auth-brand{font-size:21px}
  .legal-body .auth-header-link{font-size:12.5px;padding:7px 12px}
  .legal{padding:28px 16px 48px}
  .legal h2{margin-top:38px;padding-top:20px}
  .legal ul,.legal ol{padding-left:20px}
  .legal-notice,.legal-callout{padding:13px 14px}
  .legal-toc{padding:16px 16px 8px}
  .legal-toc ul{columns:1}
  .legal table,.legal tbody,.legal tr,.legal th,.legal td{display:block;width:100%}
  .legal thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .legal tbody tr{padding:12px 14px;border-bottom:1px solid #284253}
  .legal tbody tr:last-child{border-bottom:0}
  .legal tbody th,.legal td{padding:0;border:0}
  .legal tbody th{font-size:15px;margin-bottom:6px}
  .legal td+td{margin-top:6px}
  .legal td[data-label]::before{content:attr(data-label);display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#edc66b;margin-bottom:2px}
  .legal-footer-inner{padding:20px 16px 26px;flex-direction:column;align-items:flex-start}
}

/* Impression */
@media print{
  .legal-body{background:#fff;color:#000;font-size:11pt}
  .legal-body .auth-header-link,.legal-toc,.legal-footer nav,.legal-skip{display:none!important}
  .legal-body .auth-brand,.legal h1,.legal h2,.legal strong,.legal tbody th{color:#000}
  .legal h3,.legal thead th{color:#333}
  .legal a{color:#000}
  .legal h2{break-after:avoid;border-top-color:#999}
  .legal-notice,.legal .legal-todo,.legal-callout{background:#fff;color:#000;border-color:#999}
  .legal-table,.legal caption,.legal thead th{background:#fff}
  .legal th,.legal td,.legal-table{border-color:#999}
  .legal-updated,.legal-footer-inner{color:#333}
}
