.mobile-menu-btn{display:none;width:44px;height:44px;border:1px solid #d6d8d2;background:#fff;color:var(--ink);font-size:23px;align-items:center;justify-content:center;position:relative;z-index:52}
@media(max-width:900px){
  .site-header{height:70px;padding:0 14px;gap:10px}
  .mobile-menu-btn{display:flex}
  .site-header nav.mobile-open{display:flex!important;position:fixed;z-index:50;left:0;right:0;top:70px;bottom:0;padding:18px;background:#fff;flex-direction:column;align-items:stretch;gap:2px;overflow-y:auto;box-shadow:0 16px 35px #0003}
  .site-header nav.mobile-open .nav-link{display:block;width:100%;padding:15px 12px;text-align:left;border-bottom:1px solid #e4e5df;color:var(--ink)!important;font-size:15px!important;margin:0!important}
  .site-header nav.mobile-open .nav-link.active:after{display:none}
  .site-header nav.mobile-open .nav-blocked{border-left:0!important;padding-left:12px!important;color:#9b352d!important}
  .head-actions{margin-left:auto}.head-actions .outline-btn{padding:0 11px}.head-actions .outline-btn span{display:none}
  body.mobile-menu-open{overflow:hidden}
}

/* ─── CALENDRIERS SUR CELLULAIRE ──────────────────────────────────
   Les 7 colonnes tiennent dans l'écran : plus de défilement horizontal
   ni de largeur minimale de 620px. */
@media(max-width:900px){
  .calendar-layout{display:block}
  .calendar-card{padding:8px;overflow-x:visible}
  .calendar-grid,.weekdays{min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))}
  .calendar-nav{margin-bottom:14px;gap:8px;flex-wrap:wrap}
  .calendar-nav h2{font-size:21px}
  .calendar-nav button{width:38px;height:38px}
  .weekdays span{padding:6px 0;font-size:9px;letter-spacing:.5px;overflow:hidden}
  .cal-day{min-height:52px;padding:3px;min-width:0;overflow:hidden}
  .cal-day>span{font-size:13px}
  .cal-day small{font-size:8px;line-height:1.15;max-height:2.3em;overflow:hidden}
  .cal-day .cal-thumb,.cal-flyer-thumb{height:22px}
  .cal-day.available:before,.cal-day.pending:before,.cal-day.busy:before{width:7px;height:7px;top:4px;right:4px}
  .cal-day .today-label{font-size:7px;letter-spacing:0}
  /* Pas de survol sur écran tactile : l'aperçu agrandi gênait le tap. */
  .cal-day.has-event:hover .cal-thumb{position:static;width:100%;height:22px;transform:none;margin-top:3px;box-shadow:none;border:0}
  .cal-day.has-event:hover small{position:static;background:none;padding:0;box-shadow:none}
  .calendar-aside{margin-top:18px}

  /* Calendrier de l'admin */
  .acal-grid{gap:2px}
  .acal-day{min-height:54px;padding:4px;overflow:hidden}
  .acal-day span{font-size:11px}
  .acal-day small{font-size:8px;line-height:1.15;max-height:2.3em;overflow:hidden}
  .acal-day img.acal-thumb{height:20px}
  .acal-day.acal-today span:after{content:"·"}
}
@media(max-width:380px){
  .cal-day{min-height:46px;padding:2px}
  .cal-day>span{font-size:11px}
  .cal-day small{display:none}
  .acal-day small{display:none}
}

/* Les coordonnées et la demande spéciale du client restent visibles sur mobile. */
@media(max-width:900px){
  .data-row{grid-template-columns:60px 1fr auto}
  .data-row>span.row-detail{display:block;grid-column:1/-1;font-size:12px;line-height:1.4}
}

/* Le message de confirmation doit rester lisible et atteignable sur mobile. */
@media(max-width:640px){
  .toast{left:12px;right:12px;bottom:12px;padding:16px 18px}
  .toast p{font-size:15px;line-height:1.35}
}
