.booking-hub{max-width:44rem}.booking-hub h1,.booking-hub h2{margin-bottom:1rem}.booking-hub>.button,.booking-hub>a.button{display:inline-flex;margin:0 1rem 1rem 0}.booking-return{border-top:1px solid var(--line,#d4dedb);margin-top:2rem;padding-top:1.5rem}.booking-return h2{font-size:1.25rem}.booking-return-button{display:block;text-align:left;text-decoration:underline;text-underline-offset:.22em;padding:.7rem 0;min-height:44px}.booking-form{display:grid;gap:1rem;margin-top:1.5rem}.booking-field{display:grid;gap:.5rem;font-weight:600}.booking-field input{box-sizing:border-box;min-height:48px;width:100%;max-width:30rem;padding:.75rem;border:1px solid #668680;border-radius:6px;font:inherit;color:#153d37;background:#fff}.booking-check{display:flex;gap:.8rem;align-items:flex-start;line-height:1.5;min-height:44px}.booking-check input{width:22px;height:22px;flex:0 0 22px;margin-top:2px;accent-color:#14584e}.booking-help,.booking-notice{font-size:.95rem;line-height:1.6;color:#425e58}.booking-help{margin-top:-.5rem}.booking-notice{padding:1rem;background:#eef3f0;border-radius:6px}.booking-form>button{justify-self:start}.booking-form [role=status]:empty{display:none}.booking-form [role=status]{color:#78352d}.booking-direct .progress,.booking-direct .actions,.booking-direct .actions-toggle{display:none}.booking-direct .shell{display:block}.booking-direct main{max-width:52rem;margin:auto}.booking-direct .site-head{grid-template-columns:1fr auto}.booking-direct .site-head #reset-journey{display:none}.booking-management{max-width:48rem;margin:3rem auto;padding:0 1.25rem}.booking-management h1{line-height:1.15}.booking-management .site-head{margin-bottom:2rem}.booking-hub [aria-busy=true]{opacity:.6}@media(max-width:600px){.booking-direct .site-head{padding:1rem;gap:1rem}.booking-direct .site-head .brand{font-size:1rem}.booking-direct #screen{padding:1.5rem 1rem}.booking-return{margin-top:1.5rem}.booking-form>button{width:100%;justify-self:stretch}.booking-field input{min-width:0}.booking-management{margin:1.5rem auto}.booking-hub>.button{width:100%;justify-content:center;margin-right:0}.booking-direct .site-footer{display:block}.booking-direct .site-footer span:last-child{display:none}}
.booking-management{width:min(100%,48rem)}.booking-management main{display:block;width:100%;min-width:0;padding:clamp(1.25rem,5vw,3rem)}.booking-management .site-head{width:100%;padding:1rem 1.25rem}.booking-management h1{overflow-wrap:break-word}
#booking-management button.secondary{background:transparent;color:var(--encre);border:1px solid var(--encre)}

.booking-return-highlight{border-top-color:var(--encre,#153d37)}.booking-return-highlight [data-declare]{font-weight:700}
/* 03/10/2026 : la fermeture dispose de sa propre ligne sur les petites fenêtres. */
@media(max-width:760px){
  #booking-dialog .dialog-close{position:static;display:block;margin:var(--e2) var(--e4) 0 auto;min-height:var(--cible)}
  #booking-dialog .booking-placeholder{padding-top:0}
}
.booking-panel{margin-top:var(--e6,1.5rem)}
.booking-panel__loading{display:flex;align-items:center;gap:.6rem;padding:var(--e4,1rem);margin-bottom:var(--e4,1rem);border:var(--trait,1px) solid var(--filet,#d4dedb);border-radius:8px;background:var(--blanc,#fff);color:var(--encre,#153d37);font-size:var(--t-petit,.875rem)}
.booking-panel__spinner{width:1rem;height:1rem;flex:0 0 auto;border-radius:50%;border:2px solid color-mix(in srgb,var(--encre,#153d37) 25%,transparent);border-top-color:var(--encre,#153d37);animation:booking-panel-spin 800ms linear infinite}
@keyframes booking-panel-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.booking-panel__spinner{animation-duration:2400ms}}
.booking-panel__fallback{display:inline-flex}
.mobminder-embed{margin:0 0 1.5rem;padding:var(--e6,1.5rem);border:var(--trait,1px) solid var(--filet,#d4dedb);border-radius:10px;background:var(--blanc,#fff);box-shadow:0 .75rem 2rem color-mix(in srgb,var(--encre,#153d37) 10%,transparent)}
.mobminder-embed h2{margin:0 0 .5rem;font-size:var(--t-bloc,1.25rem)}
.mobminder-embed__hint{margin:0 0 var(--e4,1rem);font-size:var(--t-petit,.875rem);color:var(--encre,#153d37)}
.mobminder-embed__cta{display:inline-flex}
@media(max-width:600px){.mobminder-embed{padding:var(--e4,1rem)}.mobminder-embed__cta{width:100%;justify-content:center}}

/* 2026-09-30: alerte rendez-vous non réservé sur l'étape Agenda */
.calendar-rdv-alert{background:#fff8e1;border:1.5px solid #f0a500;border-radius:6px;padding:12px 16px;margin:0 0 1.25rem;font-size:.95rem;line-height:1.5;color:#153d37}
.calendar-rdv-alert strong{display:block;margin-bottom:.25rem}
/* 2026-09-20: opt-in iframe; the external agenda link remains visible. */
.mobminder-frame{display:block;width:100%;height:70vh;min-height:32rem;border:0;margin:0 0 1rem;background:#fff}
@media(max-width:600px){.mobminder-frame{height:75vh;min-height:30rem}.mobminder-embed:has(.mobminder-frame){padding:.5rem}}
