.fc .fc-button,
.fc-button {
  box-sizing: border-box !important;
  height: 44px !important;
  min-height: 44px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

@media (max-width: 700px) {
  .calendar-page-actions #calendar-create-event {
    grid-column: auto;
  }

  .calendar-page-actions #calendar-manage-streams,
  .calendar-page-actions #calendar-create-event {
    min-height: 44px;
    font-size: .78rem;
    white-space: nowrap;
  }

  /*
   * calendar-readability masque le heading du calendrier interactif en portrait
   * pour rendre le contenu temporel immédiat. Le fallback sans JavaScript garde
   * son propre heading : il reste une surface complète et compréhensible.
   */
  .calendar-page noscript .calendar-card-heading {
    display: flex;
  }

  /*
   * FullCalendar ajoute la classe .fc directement sur #calendar-root.
   * Le responsive générique de base.html transforme sinon ses tables en blocs,
   * masque les en-têtes et détruit la géométrie Mois/Année en portrait.
   */
  #calendar-root.fc table,
  #calendar-root .fc table {
    display: table;
  }

  #calendar-root.fc thead,
  #calendar-root .fc thead {
    display: table-header-group;
  }

  #calendar-root.fc tbody,
  #calendar-root .fc tbody {
    display: table-row-group;
  }

  #calendar-root.fc tr,
  #calendar-root .fc tr {
    display: table-row;
  }

  #calendar-root.fc th,
  #calendar-root.fc td,
  #calendar-root .fc th,
  #calendar-root .fc td {
    display: table-cell;
    padding: 0;
  }

  #calendar-root.fc th,
  #calendar-root .fc th {
    visibility: visible;
  }
}
