/* Habillage sobre façon Apple : clair, typographie système, cartes blanches, très peu de couleur */
:root{--bg:#f5f5f7;--panel:#ffffff;--panel2:#ffffff;--line:rgba(0,0,0,.09);--fg:#1d1d1f;--muted:#6e6e73;--accent:#1d1d1f;--accent-ink:#ffffff;--hl:#c4501b;color-scheme:light;
--f-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Inter,Arial,sans-serif;--f-body:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Inter,Arial,sans-serif;--f-mono:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Inter,Arial,sans-serif}
html,body{background:var(--bg)!important;background-image:none!important}
body{color:var(--fg);font-family:var(--f-body);text-transform:none!important;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
button,input,textarea{text-transform:none!important;letter-spacing:inherit}
h1,h2{font-family:var(--f-display);font-weight:700;letter-spacing:-.025em;line-height:1.1}
h1{font-size:30px}h2{font-size:24px}
/* en-tête translucide */
.top{background:rgba(245,245,247,.82);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}
.brand{font-family:var(--f-display);font-weight:700;letter-spacing:-.02em}
.where{font-family:var(--f-body);text-transform:none;letter-spacing:0;font-size:11px;color:var(--muted);line-height:1.35}
.where b{color:var(--fg);font-weight:600}
.bk{color:var(--fg);font-size:15px;font-weight:500;text-transform:none}
/* scène 3D */
.stage{background:#e8edf3}
.tag,.hint,.reset{background:rgba(255,255,255,.82)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--fg)!important;border:0!important;box-shadow:0 2px 10px rgba(0,0,0,.12);font-family:var(--f-body);letter-spacing:0;text-transform:none}
.tag{font-weight:600;font-size:13px;padding:6px 12px 6px 9px}
.tag small{font-family:var(--f-body);color:var(--muted)}
.tag.is-on{background:#fff!important}
.tag.off{display:none!important}
.hint{font-size:12px;color:var(--muted)!important;border-radius:99px;padding:6px 12px;letter-spacing:0}
.reset{border-radius:99px;padding:8px 14px;font-size:14px;font-weight:600}
.toast{background:rgba(29,29,31,.92)!important;color:#fff!important;border:0;box-shadow:0 6px 20px rgba(0,0,0,.2)}
/* feuille de réservation */
.sheet{background:var(--bg);border-top:0;border-radius:22px 22px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.10);margin-top:-18px;position:relative;z-index:2}
@media(min-width:900px){.sheet{border-radius:0;box-shadow:none;margin-top:0;border-left:1px solid var(--line)}}
.sheet-in{gap:16px}
.eyebrow{font-family:var(--f-body);text-transform:none;letter-spacing:0;font-size:13px;font-weight:600;color:var(--hl)}
.lede{font-size:15px;line-height:1.45;color:var(--muted);font-weight:400;text-transform:none;letter-spacing:-.01em}
.lede b,.lede strong{color:var(--fg);font-weight:600}
.back{color:var(--hl);font-size:15px;font-weight:500}
.back:hover{color:var(--hl);opacity:.7}
/* zones */
.zone-row{background:#fff;border:0;border-radius:18px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 4px 14px rgba(0,0,0,.05);transition:transform .15s,box-shadow .15s}
.zone-row:hover{border:0;box-shadow:0 2px 4px rgba(0,0,0,.05),0 8px 22px rgba(0,0,0,.09)}
.zone-row:active{transform:scale(.985)}
.zone-row b{font-size:17px;font-weight:600;letter-spacing:-.02em;text-transform:none}
.zone-row .sub{text-transform:none;letter-spacing:0;font-size:13px;color:var(--muted);margin-top:2px}
.dot{width:10px;height:10px}
.price{font-family:var(--f-body);font-size:17px;font-weight:600;color:var(--fg);letter-spacing:-.02em}
.price small,.zone-row .price span{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0;text-transform:none}
/* tables */
.chips{gap:10px;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
.chip{background:#fff;border:1.5px solid transparent;border-radius:16px;padding:12px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 3px 10px rgba(0,0,0,.05)}
.chip b{font-family:var(--f-body);font-weight:600;font-size:16px}
.chip small{font-size:12px}
.chip:not([disabled]):hover,.chip.on{border-color:var(--c)}
/* cartes & lignes */
.card{background:#fff;border:0;border-radius:18px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 4px 14px rgba(0,0,0,.05)}
.line .n{font-family:var(--f-body);font-weight:500}
.line.total{border-top:1px solid var(--line)}
.line.due .n{color:var(--fg);font-weight:700;font-size:19px}
.stepper button{background:#f2f2f4;border:0;border-radius:50%;width:42px;height:42px;font-size:22px}
.stepper button:hover:not([disabled]){background:#e8e8ed}
.stepper output{font-family:var(--f-body);font-weight:600}
/* boutons */
.cta{background:#1d1d1f;color:#fff;border-radius:99px;font-weight:600;font-size:17px;padding:15px 18px;letter-spacing:-.01em}
.cta:hover{filter:none;background:#000}
.cta:active{transform:scale(.98)}
.cta.ghost{background:#fff;color:var(--fg);border:0;box-shadow:inset 0 0 0 1px var(--line)}
/* formulaires */
label{color:var(--muted);font-size:13px;font-weight:500}
input,textarea{background:#fff;border:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);border-radius:12px;color:var(--fg);padding:13px 14px}
input:focus,textarea:focus{outline:none;box-shadow:inset 0 0 0 2px #0071e3}
button:focus-visible,input:focus-visible{outline:2px solid #0071e3;outline-offset:2px}
.note,.legend{color:var(--muted)}
.err{color:#d70015}
.pill{font-family:var(--f-body);font-weight:600}
