/* Même présentation que le bandeau de réservation de Become. */
.session-booking-bar {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 50;
  display: none;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 12px max(20px, calc((100vw - 1160px) / 2)) calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  background: var(--white);
  color: var(--ink);
  box-shadow: 0 -7px 25px #4b32400a;
}
.session-booking-bar[hidden] { display: none; }
.session-booking-bar-copy { min-width: 0; }
.session-booking-bar strong { display: block; font-size: 14px; font-weight: 800; line-height: 1.4; }
.session-booking-bar small { display: block; margin-top: 3px; font-size: 12px; line-height: 1.4; }
.session-booking-bar .button { flex-shrink: 0; min-height: 44px; padding: 0 24px; font-size: 12px; letter-spacing: .055em; }
.session-booking-bar .button:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.menu-open .session-booking-bar,
.modal-open .session-booking-bar { visibility: hidden; pointer-events: none; }
@media (max-width: 720px) {
  .session-booking-bar { display: flex; gap: 12px; min-height: 80px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); }
  .session-booking-bar strong { font-size: 11px; line-height: 1.35; }
  .session-booking-bar small { font-size: 10px; }
  .session-booking-bar .button { min-height: 48px; padding-inline: 20px; font-size: 11px; white-space: nowrap; }
  body:has([data-session-booking-bar]) { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
}
