
.legal-page{background:#eef3f9}
.legal-hero{position:relative;padding:calc(var(--header-h) + 72px) 0 86px;color:var(--ice);overflow:hidden;background:radial-gradient(circle at 78% 28%,rgba(94,124,255,.24),transparent 30%),radial-gradient(circle at 8% 10%,rgba(255,107,74,.075),transparent 23%),linear-gradient(145deg,#06101d,#07111f 68%)}
.legal-hero::before{content:"";position:absolute;inset:0;opacity:.38;background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 96%)}
.legal-hero-inner{position:relative;z-index:1}
.legal-rubric{display:flex;align-items:center;gap:11px;margin-top:30px;color:var(--blue-2);font-size:.68rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.legal-rubric>span{width:28px;height:2px;background:var(--coral)}
.legal-hero h1{max-width:1050px;margin:20px 0 0;font-size:clamp(3.6rem,7.7vw,8.2rem);line-height:.88;letter-spacing:-.07em}
.legal-hero>div>p{max-width:760px;margin:25px 0 0;color:var(--muted);font-size:1.05rem;line-height:1.75}
.legal-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.legal-meta span{padding:8px 11px;color:rgba(237,244,255,.48);border:1px solid var(--line-dark);border-radius:999px;background:rgba(255,255,255,.025);font-size:.58rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.legal-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:30px;align-items:start;padding-top:70px;padding-bottom:100px}
.legal-toc{position:relative}
.legal-toc-card{position:sticky;top:calc(var(--header-h) + 26px);padding:22px;border:1px solid var(--line-light);border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 18px 55px rgba(20,35,60,.055)}
.legal-toc-card>strong{display:block;margin-bottom:15px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.legal-toc nav{display:grid}
.legal-toc nav a{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:11px 0;color:var(--muted-dark);border-bottom:1px solid var(--line-light);text-decoration:none;font-size:.72rem;line-height:1.4}
.legal-toc nav a span{color:var(--blue);font-size:.58rem;font-weight:900;letter-spacing:.1em}
.legal-toc nav a:hover,.legal-toc nav a.is-active{color:var(--ink)}
.legal-contact-link{display:flex;justify-content:space-between;margin-top:18px;color:var(--blue);text-decoration:none;font-size:.76rem;font-weight:850}
.legal-content{display:grid;gap:13px}
.legal-section{display:grid;grid-template-columns:58px minmax(0,1fr);gap:20px;padding:34px;border:1px solid var(--line-light);border-radius:24px;background:rgba(255,255,255,.9);box-shadow:0 18px 55px rgba(20,35,60,.045);scroll-margin-top:calc(var(--header-h) + 25px)}
.legal-section-number{width:45px;height:45px;display:grid;place-items:center;color:var(--blue);border:1px solid rgba(94,124,255,.18);border-radius:14px;background:rgba(94,124,255,.06);font-size:.62rem;font-weight:900;letter-spacing:.1em}
.legal-section-body h2{margin:4px 0 20px;font-size:clamp(1.65rem,3vw,2.55rem);line-height:1.05;letter-spacing:-.045em}
.legal-section-body p{margin:0;color:var(--muted-dark);font-size:.9rem;line-height:1.78}
.legal-section-body p+p{margin-top:13px}
.legal-section-body a{color:var(--blue)}
.legal-list{display:grid;gap:9px;padding:0;margin:17px 0 0;list-style:none}
.legal-list li{display:grid;grid-template-columns:8px 1fr;gap:10px;color:var(--muted-dark);font-size:.88rem;line-height:1.65}
.legal-list li::before{content:"";width:7px;height:7px;margin-top:8px;border-radius:50%;background:var(--blue)}
.legal-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:18px 0}
.legal-data-grid>div{padding:15px;border:1px solid var(--line-light);border-radius:14px;background:#f7f9fc}
.legal-data-grid>div.wide{grid-column:1/-1}
.legal-data-grid span,.legal-data-grid strong{display:block}
.legal-data-grid span{color:var(--muted-dark);font-size:.56rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.legal-data-grid strong{margin-top:6px;font-size:.78rem;line-height:1.45}
.legal-table-wrap{overflow-x:auto;margin:18px 0}
.legal-table{width:100%;border-collapse:collapse;font-size:.78rem}
.legal-table th{padding:12px 14px;color:var(--ice);text-align:left;background:var(--steel);font-size:.58rem;letter-spacing:.09em;text-transform:uppercase}
.legal-table td{padding:14px;color:var(--muted-dark);border-bottom:1px solid var(--line-light);background:#f9fbfd;line-height:1.55;vertical-align:top}
.legal-table tr:last-child td{border-bottom:0}
.legal-table code{color:var(--blue);font-weight:850}
.legal-callout{margin:18px 0;padding:18px;border-radius:16px}
.legal-callout strong{display:block;margin-bottom:7px;font-size:.78rem}
.legal-callout p{font-size:.8rem}
.legal-callout.warning{color:#7e321f;border:1px solid rgba(255,107,74,.24);background:rgba(255,107,74,.085)}
.legal-callout.info{color:#304895;border:1px solid rgba(94,124,255,.22);background:rgba(94,124,255,.075)}
.cookie-status{display:grid;grid-template-columns:12px 1fr;gap:13px;padding:18px;border:1px solid rgba(54,201,142,.22);border-radius:17px;background:rgba(54,201,142,.075)}
.cookie-status-dot{width:10px;height:10px;margin-top:4px;border-radius:50%;background:#36c98e;box-shadow:0 0 13px rgba(54,201,142,.55)}
.cookie-status strong{display:block;font-size:.88rem}
.cookie-status p{margin-top:5px;font-size:.78rem}
.legal-last-update{padding:28px;color:var(--ice);border-radius:22px;background:radial-gradient(circle at 85% 10%,rgba(94,124,255,.18),transparent 35%),linear-gradient(145deg,#0b1b30,#07111f)}
.legal-last-update span,.legal-last-update strong{display:block}
.legal-last-update span{color:var(--coral);font-size:.58rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.legal-last-update strong{margin-top:7px;font-size:1.05rem}
.legal-last-update p{margin:8px 0 0;color:var(--muted);font-size:.76rem;line-height:1.6}
@media(max-width:920px){.legal-layout{grid-template-columns:1fr}.legal-toc-card{position:static}.legal-toc nav{grid-template-columns:repeat(2,1fr);column-gap:20px}}
@media(max-width:660px){.legal-hero{padding-top:calc(var(--header-h) + 46px);padding-bottom:60px}.legal-hero h1{font-size:clamp(3rem,15vw,4.7rem)}.legal-layout{padding-top:42px;padding-bottom:75px}.legal-toc nav{grid-template-columns:1fr}.legal-section{grid-template-columns:1fr;padding:23px}.legal-section-number{width:40px;height:40px}.legal-data-grid{grid-template-columns:1fr}.legal-data-grid>div.wide{grid-column:auto}}
@media print{.site-header,.site-footer,.legal-toc,.cursor-glow,.site-noise{display:none!important}.legal-hero{padding:30px 0;color:#111;background:#fff}.legal-hero h1{font-size:40px}.legal-hero>div>p,.legal-meta span{color:#333}.legal-layout{display:block;padding:20px 0}.legal-section{break-inside:avoid;box-shadow:none}.legal-last-update{color:#111;background:#fff;border:1px solid #ddd}}


/* V8.1 — listes juridiques avec texte mixte
   Empêche le texte suivant un <strong> de tomber dans une colonne de 8 px. */
.legal-list li {
  position: relative;
  display: block;
  padding-left: 18px;
}

.legal-list li::before {
  position: absolute;
  top: .78em;
  left: 0;
  margin: 0;
}
