
/* ==========================================================
   Correctifs ciblés demandés - 3 points uniquement
   1) espace au-dessus du menu/logo mobile
   2) cartes du calendrier mobile non coupées
   3) espace entre le bloc logo et les titres de pages
   Aucune logique PHP/SQL/FCM modifiée.
   ========================================================== */

@media screen and (max-width: 900px) {
  /* 1) Le bloc menu/logo ne doit plus coller à l'heure Android */
  body:not(.page-login):not(.page-register):not(.page-forgot_password):not(.page-reset_password) .modern-topbar,
  body:not(.page-login):not(.page-register):not(.page-forgot_password):not(.page-reset_password) .topbar.modern-topbar,
  body:not(.page-login):not(.page-register):not(.page-forgot_password):not(.page-reset_password) .topbar {
    margin-top: max(14px, env(safe-area-inset-top)) !important;
  }

  /* 3) Les titres ne doivent plus se glisser sous/coller au bloc logo */
  body.page-my_reservations .content,
  body.page-notifications .content,
  body.page-reserver .content,
  body.page-profile_photo .content,
  body.page-index .content,
  body.page-planning_general .content,
  body.page-planning_vehicles .content,
  body.page-planning_rooms .content {
    padding-top: 18px !important;
  }

  body.page-my_reservations .content > h1:first-of-type,
  body.page-my_reservations main.content > h1:first-of-type,
  body.page-notifications .notifications-header,
  body.page-reserver .content > h1:first-of-type,
  body.page-profile_photo .content > h1:first-of-type,
  body.page-index .content > h1:first-of-type,
  body.page-planning_general .content > h1:first-of-type,
  body.page-planning_vehicles .content > h1:first-of-type,
  body.page-planning_rooms .content > h1:first-of-type,
  body.page-planning_general .content > h3:first-of-type,
  body.page-planning_vehicles .content > h3:first-of-type,
  body.page-planning_rooms .content > h3:first-of-type {
    margin-top: 28px !important;
  }
}

@media screen and (max-width: 800px) {
  /* 2) Correction ciblée des cartes en vue Jour FullCalendar.
     On n'agrandit pas les créneaux horaires : on rend uniquement la carte lisible. */
  body.page-calendar .fc-timeGridDay-view .fc-timegrid-col-events,
  body.page-calendar .fc-timeGridDay-view .fc-timegrid-event-harness,
  body.page-planning_vehicles .fc-timeGridDay-view .fc-timegrid-col-events,
  body.page-planning_vehicles .fc-timeGridDay-view .fc-timegrid-event-harness,
  body.page-planning_rooms .fc-timeGridDay-view .fc-timegrid-col-events,
  body.page-planning_rooms .fc-timeGridDay-view .fc-timegrid-event-harness {
    overflow: visible !important;
  }

  body.page-calendar .fc-timeGridDay-view .fc-timegrid-event,
  body.page-planning_vehicles .fc-timeGridDay-view .fc-timegrid-event,
  body.page-planning_rooms .fc-timeGridDay-view .fc-timegrid-event {
    min-height: 92px !important;
    height: auto !important;
    overflow: visible !important;
    padding: 10px 12px !important;
    border-radius: 20px !important;
    z-index: 20 !important;
  }

  body.page-calendar .fc-timeGridDay-view .fc-event-main,
  body.page-calendar .fc-timeGridDay-view .fc-event-main-frame,
  body.page-planning_vehicles .fc-timeGridDay-view .fc-event-main,
  body.page-planning_vehicles .fc-timeGridDay-view .fc-event-main-frame,
  body.page-planning_rooms .fc-timeGridDay-view .fc-event-main,
  body.page-planning_rooms .fc-timeGridDay-view .fc-event-main-frame {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.page-calendar .fc-timeGridDay-view .planning-event-day-mobile,
  body.page-planning_vehicles .fc-timeGridDay-view .planning-event-day-mobile,
  body.page-planning_rooms .fc-timeGridDay-view .planning-event-day-mobile,
  body.page-calendar .fc-timeGridDay-view .planning-event-mini,
  body.page-planning_vehicles .fc-timeGridDay-view .planning-event-mini,
  body.page-planning_rooms .fc-timeGridDay-view .planning-event-mini {
    display: block !important;
    height: auto !important;
    min-height: 70px !important;
    overflow: visible !important;
    line-height: 1.22 !important;
    padding: 0 !important;
  }

  body.page-calendar .fc-timeGridDay-view .planning-event-time,
  body.page-planning_vehicles .fc-timeGridDay-view .planning-event-time,
  body.page-planning_rooms .fc-timeGridDay-view .planning-event-time {
    display: block !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    margin-bottom: 6px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  body.page-calendar .fc-timeGridDay-view .planning-event-title,
  body.page-planning_vehicles .fc-timeGridDay-view .planning-event-title,
  body.page-planning_rooms .fc-timeGridDay-view .planning-event-title {
    display: block !important;
    font-size: 17px !important;
    line-height: 1.22 !important;
    margin-bottom: 6px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  body.page-calendar .fc-timeGridDay-view .planning-event-sub,
  body.page-planning_vehicles .fc-timeGridDay-view .planning-event-sub,
  body.page-planning_rooms .fc-timeGridDay-view .planning-event-sub,
  body.page-calendar .fc-timeGridDay-view .reservation-status-danger,
  body.page-planning_vehicles .fc-timeGridDay-view .reservation-status-danger,
  body.page-planning_rooms .fc-timeGridDay-view .reservation-status-danger {
    display: inline-block !important;
    max-width: 100% !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}

@media screen and (max-width: 480px) {
  body:not(.page-login):not(.page-register):not(.page-forgot_password):not(.page-reset_password) .modern-topbar,
  body:not(.page-login):not(.page-register):not(.page-forgot_password):not(.page-reset_password) .topbar.modern-topbar,
  body:not(.page-login):not(.page-register):not(.page-forgot_password):not(.page-reset_password) .topbar {
    margin-top: max(16px, env(safe-area-inset-top)) !important;
  }

  body.page-my_reservations .content,
  body.page-notifications .content,
  body.page-reserver .content,
  body.page-profile_photo .content,
  body.page-index .content,
  body.page-planning_general .content,
  body.page-planning_vehicles .content,
  body.page-planning_rooms .content {
    padding-top: 20px !important;
  }
}


/* Correctif ciblé restant : statut visible dans les cartes du calendrier mobile.
   Ne modifie pas les horaires du calendrier ni la logique des réservations. */
@media screen and (max-width: 900px) {
  body.page-calendar .fc-timeGridDay-view .fc-timegrid-event,
  body.page-planning_vehicles .fc-timeGridDay-view .fc-timegrid-event,
  body.page-planning_rooms .fc-timeGridDay-view .fc-timegrid-event {
    min-height: 108px !important;
    height: auto !important;
    overflow: visible !important;
  }

  body.page-calendar .fc-timeGridDay-view .fc-timegrid-event-harness,
  body.page-planning_vehicles .fc-timeGridDay-view .fc-timegrid-event-harness,
  body.page-planning_rooms .fc-timeGridDay-view .fc-timegrid-event-harness {
    min-height: 108px !important;
    height: auto !important;
    overflow: visible !important;
    z-index: 8 !important;
  }

  body.page-calendar .fc-timeGridDay-view .fc-event-main,
  body.page-calendar .fc-timeGridDay-view .fc-event-main-frame,
  body.page-planning_vehicles .fc-timeGridDay-view .fc-event-main,
  body.page-planning_vehicles .fc-timeGridDay-view .fc-event-main-frame,
  body.page-planning_rooms .fc-timeGridDay-view .fc-event-main,
  body.page-planning_rooms .fc-timeGridDay-view .fc-event-main-frame {
    min-height: 108px !important;
    height: auto !important;
    overflow: visible !important;
  }

  body.page-calendar .fc-timeGridDay-view .planning-event-day-mobile,
  body.page-planning_vehicles .fc-timeGridDay-view .planning-event-day-mobile,
  body.page-planning_rooms .fc-timeGridDay-view .planning-event-day-mobile {
    min-height: 92px !important;
    height: auto !important;
    padding: 7px 10px 10px 10px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    line-height: 1.12 !important;
  }

  body.page-calendar .fc-timeGridDay-view .planning-event-time,
  body.page-planning_vehicles .fc-timeGridDay-view .planning-event-time,
  body.page-planning_rooms .fc-timeGridDay-view .planning-event-time {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.12 !important;
    margin: 0 0 4px 0 !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  body.page-calendar .fc-timeGridDay-view .planning-event-title,
  body.page-planning_vehicles .fc-timeGridDay-view .planning-event-title,
  body.page-planning_rooms .fc-timeGridDay-view .planning-event-title {
    display: block !important;
    font-size: 15px !important;
    line-height: 1.12 !important;
    margin: 0 0 4px 0 !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  body.page-calendar .fc-timeGridDay-view .planning-event-sub,
  body.page-planning_vehicles .fc-timeGridDay-view .planning-event-sub,
  body.page-planning_rooms .fc-timeGridDay-view .planning-event-sub {
    display: block !important;
    font-size: 12px !important;
    line-height: 1.12 !important;
    margin: 0 !important;
    padding-bottom: 2px !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  body.page-calendar .fc-timeGridDay-view .reservation-status-danger,
  body.page-planning_vehicles .fc-timeGridDay-view .reservation-status-danger,
  body.page-planning_rooms .fc-timeGridDay-view .reservation-status-danger {
    display: inline-block !important;
    font-size: 12px !important;
    line-height: 1.12 !important;
    padding: 2px 6px !important;
    margin-top: 1px !important;
    overflow: visible !important;
    white-space: normal !important;
  }
}
