/* Pages légales — mêmes repères visuels que le site (noir, bleu marine, blanc, accent bleu). */
:root{--bg:#070a12;--surface:#0c121e;--panel:#101928;--panel-2:#14213a;--text:#edf2f9;--muted:#9aa8bc;--blue:#6b9fff;--blue-strong:#3d7df0;--line:rgba(166,187,219,.16);--line-strong:#30445f;--danger:#ff8a8a;--ok:#7fd6a5;--radius:6px;color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;background-image:radial-gradient(ellipse at 10% -10%,#1b3260 0,transparent 55%),radial-gradient(ellipse at 110% 20%,#13244399 0,transparent 50%);background-attachment:fixed}
a{color:#adc9f5}
:focus-visible{outline:2px solid #87b3ff;outline-offset:3px}
h1,h2,h3,p{margin:0}
h1,h2{font-weight:500;letter-spacing:-.04em}
.serif{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;color:#94bbf6}
.skip{position:absolute;left:-9999px;top:0;background:#edf3ff;color:#142749;padding:8px 12px;z-index:5}
.skip:focus{left:12px;top:12px}
.test-bar{height:30px;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.12em;color:#bcc9db;background:#0c1320;border-bottom:1px solid var(--line)}
.test-bar.demo{background:#2a2410;color:#f3dc9a;border-color:#5b4a1d}
.site-header{max-width:1120px;margin:0 auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:inline-flex;align-items:center;gap:11px;line-height:1;font-size:21px;font-weight:650;letter-spacing:.06em;color:var(--text);text-decoration:none}
.brand img{border:1px solid rgba(137,163,204,.2);border-radius:12px}
.brand-sub{display:block;font-size:7px;letter-spacing:.18em;margin-top:7px;font-weight:500;color:#b6c1d1}
.brand.wwm{flex-direction:column;align-items:flex-start;gap:6px}
.brand .brand-logo{display:block;height:28px;width:auto;border:0;border-radius:0}
.brand.wwm .brand-sub{margin-top:0;letter-spacing:.16em}
@media(max-width:680px){.brand .brand-logo{height:22px}}
.header-note{font-size:11px;color:#8fa6c6}
.wrap{max-width:820px;margin:0 auto;padding:10px 24px 60px}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.17em;font-weight:600;color:#8baada;margin-bottom:18px}
.line{height:1px;width:28px;background:#6687b8;display:inline-block}
.intro h1{font-size:clamp(32px,5vw,48px);line-height:1.08}
.lead{margin-top:18px;color:#a9bad2;font-size:15px;max-width:640px}
.stepper{list-style:none;padding:0;margin:34px 0 22px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.stepper li{display:flex;align-items:center;gap:8px;font-size:11px;color:#6f83a3;border-top:2px solid #22324d;padding-top:10px}
.stepper li span{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;border:1px solid #33486b;font-size:11px}
.stepper li.done{color:#9fb6d8;border-color:#3d6bbf}
.stepper li.done span{background:#1f3a6b;border-color:#3d6bbf}
.stepper li[aria-current=step]{color:#edf3ff;border-color:var(--blue)}
.stepper li[aria-current=step] span{background:var(--blue-strong);border-color:#5790ff;color:white}
form,.panel{background:linear-gradient(180deg,#101928,#0d1522);border:1px solid #233451;border-radius:10px;padding:28px}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font-size:22px;letter-spacing:-.02em;margin-bottom:18px;padding:0}
.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.field{margin-bottom:14px}
label,.label{display:block;font-size:12px;color:#c2d0e4;margin:0 0 7px}
.opt{color:#6b84a6;font-size:11px}
input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;background:#0b1526;border:1px solid var(--line-strong);border-radius:4px;color:#e1eafb;padding:11px 12px;font:inherit;font-size:14px;line-height:1.4}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8fa6c6 50%),linear-gradient(135deg,#8fa6c6 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
textarea{resize:vertical;min-height:84px}
input::placeholder,textarea::placeholder{color:#5f7698}
[aria-invalid=true]{border-color:#c25b5b!important}
.hint{font-size:11px;color:#7e9ac1;margin-top:6px}
.err{font-size:12px;color:var(--danger);margin-top:5px;min-height:0}
.err:empty{display:none}
.choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.choices.compact{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.choice{position:relative;display:flex;gap:10px;align-items:flex-start;border:1px solid #2b3d5c;border-radius:6px;padding:10px 12px;background:#0b1526;cursor:pointer;font-size:13px;color:#d6e2f4;margin:0}
.choice:hover{border-color:#4a6797}
.choice input{margin-top:3px;accent-color:#649cff;width:15px;height:15px;flex-shrink:0}
.choice .price{margin-left:auto;color:#7f97bb;font-size:11px;white-space:nowrap;padding-left:6px}
.choice.selected{border-color:#5a8ff0;background:#132648}
.choice.pack{border-color:#38507a}
.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.scale label{margin:0;text-align:center;border:1px solid #2b3d5c;border-radius:6px;padding:12px 0;background:#0b1526;font-size:16px;cursor:pointer;color:#d6e2f4}
.scale input{position:absolute;opacity:0;pointer-events:none}
.scale label.selected{background:var(--blue-strong);border-color:#5790ff;color:white}
.scale label:focus-within{outline:2px solid #87b3ff;outline-offset:2px}
.scale-legend{display:flex;justify-content:space-between;font-size:11px;color:#7e9ac1;margin-top:6px}
.privacy{border:1px solid #2b3d5c;border-radius:8px;background:#0b1424;margin-bottom:18px}
.privacy summary{cursor:pointer;padding:12px 14px;font-size:13px;color:#cfe0fa}
.privacy-body{padding:0 16px 14px}
.privacy-body h3{font-size:13px;margin:12px 0 4px;color:#dbe6f7;letter-spacing:0}
.privacy-body p{font-size:12px;color:#9fb2cc;line-height:1.7}
.privacy-list{margin:6px 0 10px;padding-left:18px}
.privacy-list li{font-size:12px;color:#9fb2cc;line-height:1.7;margin-bottom:4px}
.privacy-list strong{color:#dbe6f7}
.legal-page h1{font-size:clamp(28px,4vw,40px);margin:10px 0 18px}
.legal-page h2{font-size:20px;margin:28px 0 10px;letter-spacing:-.02em}
.legal-page p,.legal-page li{color:#a9bad2;font-size:14px;line-height:1.75}
.legal-page ul{padding-left:20px}
.legal-page table{width:100%;border-collapse:collapse;margin:10px 0;font-size:13px}
.legal-page th,.legal-page td{border:1px solid #2b3d5c;padding:8px 10px;text-align:left;vertical-align:top;color:#c9d6ea}
.legal-page th{background:#0f1d33}
.legal-page .draft{display:block;margin:6px 0 18px}
.legal-page a{color:#adc9f5}
.draft{display:inline-block;font-size:11px!important;color:#f3dc9a!important;background:#2a2410;border:1px solid #5b4a1d;border-radius:4px;padding:3px 8px;margin-bottom:4px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:#dbe6f7;cursor:pointer}
.check input{width:18px;height:18px;margin-top:2px;accent-color:#649cff;flex-shrink:0}
.consent{border-top:1px solid var(--line);padding-top:14px}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;flex-wrap:wrap}
.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid #37465f;border-radius:4px;padding:12px 20px;background:#182236;color:#edf3ff;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s}
.button:hover{background:#23334e;border-color:#6381ae}
.button.primary{background:var(--blue-strong);border-color:#5790ff;color:white}
.button.primary:hover{background:#4c8bff}
.button.ghost{background:transparent}
.button.danger{background:#3a1820;border-color:#7a3340;color:#ffd6dc}
.button.small{min-height:38px;padding:8px 14px;font-size:12px}
.button:disabled{opacity:.55;cursor:default}
.button.busy{position:relative;color:transparent!important}
.button.busy::after{content:"";position:absolute;width:16px;height:16px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.alert{border:1px solid #7a3340;background:#2a1218;color:#ffd6dc;border-radius:8px;padding:12px 14px;font-size:13px;margin-bottom:16px}
.alert.info{border-color:#35507d;background:#0f1d33;color:#cfe0fa}
.panel{margin-top:6px}
.panel h2{font-size:26px;margin-bottom:6px}
.muted{color:#93a6c2;font-size:13px}
.tz-note{margin-top:4px;color:#f3dc9a}
.days{display:grid;gap:16px;margin-top:20px}
.day h3{font-size:14px;font-weight:600;margin-bottom:8px;color:#dbe6f7;letter-spacing:0}
.day h3::first-letter{text-transform:uppercase}
.times{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px}
.time{border:1px solid #2b3d5c;background:#0b1526;color:#d6e2f4;border-radius:4px;padding:9px 0;font:inherit;font-size:13px;cursor:pointer}
.time:hover{border-color:#5a8ff0}
.time[aria-pressed=true]{background:var(--blue-strong);border-color:#5790ff;color:white}
.empty{color:#93a6c2;font-size:13px;padding:14px;border:1px dashed #2b3d5c;border-radius:6px}
.success h2{font-size:34px}
.big{font-size:18px;margin-top:10px;color:#dbe6f7}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}
.facts div{border:1px solid #2b3d5c;border-radius:6px;padding:10px 12px}
.facts dt{font-size:10px;letter-spacing:.12em;color:#7e9ac1;text-transform:uppercase}
.facts dd{margin:4px 0 0;font-size:14px;overflow-wrap:anywhere}
.manage-box{border:1px solid #35507d;background:#0f1d33;border-radius:8px;padding:14px;margin-bottom:16px;font-size:13px;color:#cfe0fa}
.copy{display:flex;gap:8px;margin-top:10px}
.copy input{font-size:12px!important}
.confirm-box{border:1px solid #7a3340;border-radius:8px;padding:14px;margin-top:16px;font-size:13px}
.result{margin-top:14px;font-size:14px}
.result.ok{color:var(--ok)}
.result.ko{color:var(--danger)}
.foot{margin-top:28px;font-size:11px;color:#647a99;text-align:center}
.foot a{color:#8fa5c4}
@media (max-width:640px){
  .site-header{padding:16px}
  .header-note{display:none}
  .wrap{padding:6px 16px 40px}
  form,.panel{padding:20px 16px}
  .grid.two{grid-template-columns:1fr}
  .stepper{gap:4px}
  .stepper li{font-size:0;justify-content:center}
  .stepper li span{font-size:11px}
  .facts{grid-template-columns:1fr}
  .actions{justify-content:stretch}
  .actions .button{flex:1 1 100%}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Champs à compléter (mentions légales, données) : visibles tant qu’ils ne sont pas remplis. */
.legal-page mark.todo{background:#2a2410;color:#f3dc9a;border:1px solid #5b4a1d;border-radius:4px;padding:0 5px;font-weight:600}
