/* La fenêtre « Réserver en un geste » (`modules/schedule/booking-flow.js`),
   sortie de `site.css` au lot 8 : ses sélecteurs (`.rapide`, `.rap-*`) n'existent
   qu'ici, et l'emportent sur `.sheet.pay` par le rang, comme avant. */

/* ================= RÉSERVER EN UN GESTE =================
   La fenêtre que la maquette appelait « Réserver » (Delphine, 15 octobre 2026) :
   le jour, la pratique, les créneaux, puis la formule déjà choisie. Elle
   emprunte la fenêtre `.sheet.pay` et les boutons `.opt` du tunnel — un même
   choix de règlement se lit de la même façon aux deux endroits.
   ⚠️ Sa taille est FIXE : le choix reste en haut, seuls les créneaux défilent —
   une fenêtre qui grandit ou rétrécit d'un jour à l'autre fait chercher le
   bouton. Les bandes des jours et des pratiques défilent dans leur conteneur,
   jamais la fenêtre. */
.rapide.sheet{height:min(640px,calc(100dvh - 32px));max-height:none}
.rapide .sheet-body{display:flex;flex-direction:column;gap:14px;padding-top:20px}
/* La liste : le choix reste en place, seuls les créneaux défilent. */
.rapide .sheet-body.rap-liste{overflow:hidden;padding-bottom:0}
.rap-choix{flex:none;display:flex;flex-direction:column;gap:8px;min-width:0}
.rap-etiquette{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--encre-60)}
.rap-etiquette + .rap-jours,.rap-etiquette + .rap-filtres{margin-bottom:6px}
.rap-resultats{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px;
  padding:14px 0 28px;border-top:1px solid rgba(104,76,74,.12)}
.rapide .ttl .link-back{font-size:20px;letter-spacing:0;padding:0 4px;line-height:1}
.rap-jours,.rap-filtres{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;padding-bottom:2px;flex:none}
.rap-jours::-webkit-scrollbar,.rap-filtres::-webkit-scrollbar{display:none}
.rap-jours button{flex:none;min-width:56px;height:62px;border-radius:16px;border:1px solid rgba(104,76,74,.2);
  background:var(--blanc);color:var(--encre);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer}
.rap-jours button span:first-child{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--encre-60)}
.rap-jours button span:last-child{font-family:var(--font-serif);font-size:23px;line-height:1}
.rap-jours button[aria-pressed="true"]{background:var(--brun);border-color:var(--brun);color:var(--creme)}
.rap-jours button[aria-pressed="true"] span:first-child{color:var(--creme)}
.rap-jours button:disabled{opacity:.4;cursor:default;border-style:dashed}
.rap-filtres{gap:6px}
.rap-filtres button{flex:none;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(104,76,74,.22);
  background:none;color:var(--encre);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.rap-filtres button[aria-pressed="true"]{background:var(--encre);border-color:var(--encre);color:var(--creme)}
.rap-date{flex:none;font-size:12.5px;color:var(--encre-60)}
.rap-date::first-letter{text-transform:uppercase}
.rap-creneaux{display:flex;flex-direction:column;gap:8px;flex:none}
.rap-creneau{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:var(--creme)}
.rap-heure{flex:none;width:52px;text-align:center}
.rap-heure b{display:block;font-family:var(--font-serif);font-size:20px;font-weight:400;line-height:1.1}
.rap-heure small{font-size:11px;color:var(--encre-60)}
.rap-quoi{flex:1;min-width:0}
.rap-quoi b{display:block;font-size:14px;font-weight:600}
.rap-quoi small{font-size:12px;color:var(--encre-60)}
.rap-creneau .btn{flex:none}
.rap-attente{flex:none;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--terracotta);background:none;
  color:var(--terracotta-2);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
.rap-etat{flex:none;font-size:12px;font-weight:600;color:var(--encre-60);white-space:nowrap}
.rap-vide{padding:18px;text-align:center;color:var(--encre-60);font-size:13px}
.rap-seance h4{font-family:var(--font-serif);font-weight:500;font-size:26px;line-height:1.1;color:var(--brun);margin-bottom:4px}
.rap-seance p{font-size:14px}
.rap-petit{font-size:12.5px;color:var(--encre-60)}
.rap-modes{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.rap-modes legend{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--encre-60);margin-bottom:8px}
.rap-modes .opt{margin:0}
.reprise-bandeau{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:22px}
