.page-book .top{background:rgba(47,33,28,.94)}
.page-book .top .marque,.page-book .top .burger{color:var(--eau-clair)}
.page-book .top .mini-cta{display:none}
.bk{min-height:100svh;padding:84px var(--pad) 130px;border-left:var(--montant) solid var(--brun);border-right:var(--montant) solid var(--brun)}
.bk-in{max-width:760px;margin:0 auto}
.bk-tete{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 24px;margin-bottom:20px}
.bk h1{margin:0;font:600 clamp(34px,6vw,64px)/.95 var(--caps);text-transform:uppercase;color:var(--brun)}
.etapes{list-style:none;display:flex;gap:6px;margin:0;padding:0}
.etapes li{display:flex;align-items:center;gap:6px;font:500 12px/1 var(--caps);letter-spacing:.16em;text-transform:uppercase;color:var(--doux);padding:7px 10px 7px 7px;border-radius:999px;transition:background .3s,color .3s}
.etapes b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid currentColor;font-weight:500;font-size:11px;letter-spacing:0}
.etapes li.on{background:var(--brun);color:var(--eau-clair)}
.etapes li.past{color:var(--eau-encre)}
fieldset{border:0;margin:0;padding:0;min-width:0;animation:entre .5s var(--ease)}
@keyframes entre{from{opacity:0;transform:translateY(10px)}}
.svc-liste .grp{margin-bottom:14px}
.svc-liste h2{font:500 13px/1 var(--caps);letter-spacing:.22em;text-transform:uppercase;color:var(--eau-encre);margin:16px 0 8px}
.svc-btn{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;text-align:left;padding:11px 16px;margin-bottom:6px;border-radius:12px;border:1px solid rgba(47,33,28,.14);background:rgba(255,255,255,.45);color:var(--texte);font:inherit;cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.svc-btn:hover{background:rgba(255,255,255,.75)}
.svc-btn .nm{font-weight:600;font-size:15.5px;line-height:1.3}
.svc-btn .pr{font:500 15px/1.2 var(--caps);letter-spacing:.04em;white-space:nowrap}
.svc-btn[aria-pressed=true]{background:var(--brun);color:var(--eau-clair);border-color:var(--brun)}
.bk-note{font-size:13.5px;color:var(--doux);margin:12px 0 0}
.sel{font:400 22px/1.25 var(--voix);color:var(--brun);margin:0 0 14px}
.jours-tete{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.mois{font:500 13px/1 var(--caps);letter-spacing:.2em;text-transform:uppercase;color:var(--doux)}
.pg{display:flex;gap:6px}
.rond{width:40px;height:40px;border-radius:50%;border:1px solid rgba(47,33,28,.25);background:transparent;color:var(--brun);cursor:pointer;display:grid;place-items:center}
.rond svg{width:12px;height:12px}
.rond:disabled{opacity:.3;cursor:default}
.jours{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:16px}
.day{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 7px;border-radius:12px;border:1px solid rgba(47,33,28,.14);background:rgba(255,255,255,.5);font:inherit;color:var(--texte);cursor:pointer}
.day small{font:500 11px/1 var(--caps);letter-spacing:.12em;text-transform:uppercase}
.day b{font:500 20px/1 var(--caps)}
.day i{font-style:normal;font-size:10px;line-height:1;min-height:10px;color:var(--doux)}
.day:disabled{background:transparent;color:rgba(47,33,28,.35);cursor:default;border-style:dashed}
.day[aria-pressed=true]{background:var(--brun);color:var(--eau-clair);border-color:var(--brun)}
.creneaux{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.slot{padding:12px 0;border-radius:999px;border:1px solid rgba(47,33,28,.18);background:rgba(255,255,255,.55);font:500 15px/1 var(--caps);letter-spacing:.04em;color:var(--texte);cursor:pointer}
.slot:hover{background:#fff}
.slot[aria-pressed=true]{background:var(--brun);color:var(--eau-clair);border-color:var(--brun)}
.creneaux .vide{grid-column:1/-1;margin:6px 0;color:var(--doux)}
.slot-pg{display:flex;justify-content:space-between;margin-top:10px}
.lien{background:none;border:0;padding:10px 4px;font:500 13px/1 var(--caps);letter-spacing:.18em;text-transform:uppercase;color:var(--brun);cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.lien:disabled{opacity:.3;cursor:default}
.champs{display:grid;gap:10px}
.ch{display:grid;gap:4px}
.ch span{font:500 12px/1 var(--caps);letter-spacing:.18em;text-transform:uppercase;color:var(--doux)}
.ch input{font:inherit;font-size:16px;padding:12px 14px;border-radius:10px;border:1px solid rgba(47,33,28,.22);background:rgba(255,255,255,.7);color:var(--texte)}
.ch input:focus{outline:2px solid var(--eau-encre);outline-offset:1px}
.ch input[aria-invalid=true]{border-color:#9b2c2c}
.ch .err{color:#8a2222;font-size:13px}
.pay{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.opt{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:12px;border:1px solid rgba(47,33,28,.16);background:rgba(255,255,255,.45);cursor:pointer}
.opt:has(input:checked){border-color:var(--brun);background:rgba(255,255,255,.85)}
.opt input{accent-color:var(--brun);margin-top:3px}
.opt b{display:block;font-size:15px}
.opt small{display:block;font-size:12.5px;color:var(--doux);line-height:1.35;margin-top:2px}
.bk-status:empty{display:none}
.bk-status{margin:0 0 12px;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.6);font-size:14.5px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.bk-status p{margin:0}
.bk-status.err{background:#f6e3df;color:#6b1f1f}
.bk-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px var(--pad) calc(12px + env(safe-area-inset-bottom));background:rgba(47,33,28,.96);color:var(--eau-clair);backdrop-filter:blur(8px)}
.bk-bar .bar-resume{margin:0;font-size:14px;line-height:1.35;color:var(--eau);max-width:52ch;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.bar-btns{display:flex;align-items:center;gap:8px;flex-shrink:0}
.bk-bar .lien{color:var(--eau-clair)}
.bk-bar .cta{--h:50px;background:var(--eau-clair);color:var(--brun);padding:0 20px 0 22px;font-size:15px}
.bk-bar .cta:hover{background:#fff}
.bk-bar .cta[hidden],.lien[hidden]{display:none}
[data-done] [data-booking-confirmed]{padding:30px 0}
.done h2{font:600 clamp(40px,8vw,80px)/.95 var(--caps);text-transform:uppercase;color:var(--brun);margin:8px 0 16px}
.done .caps{font:500 13px/1 var(--caps);letter-spacing:.24em;text-transform:uppercase;color:var(--eau-encre);margin:0}
.done .what{font:400 24px/1.25 var(--voix);margin:0 0 12px}
.done .acts{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:24px}
.credit-bk{margin:28px 0 0;font-size:12px;color:var(--doux);text-align:center}
@media (max-width:760px){
  .bk{padding:68px 16px 96px;border-width:0 0 0 6px}
  .bk-tete{margin-bottom:12px}
  .bk h1{font-size:30px}
  .etapes span{display:none}
  .etapes li.on span{display:inline}
  .svc-btn{padding:9px 13px;margin-bottom:5px}
  .svc-btn .nm{font-size:14.5px}
  .svc-liste h2{margin:12px 0 6px}
  .creneaux{grid-template-columns:repeat(4,1fr)}
  .slot{padding:11px 0;font-size:14px}
  .pay{grid-template-columns:1fr 1fr}
  .opt{padding:10px}
  .bk-bar{padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
  .bk-bar .bar-resume{font-size:12.5px}
  .bk-bar .cta{--h:46px;padding:0 16px 0 18px;font-size:14px}
  .sel{font-size:19px;margin-bottom:10px}
  .day{padding:7px 0 5px}
}
