/* ==========================================================
   AbE AGENDA — AIDE À LA CONFIGURATION

   --abe-agenda-week-gap
   Rôle    : espacement entre les zones de la vue Semaine.
   Défaut  : var(--abe-space-sm, 12px).

   --abe-agenda-weekday-gap
   Rôle    : espacement entre les boutons de jours.
   Défaut  : var(--abe-space-xs, 6px).

   --abe-agenda-weekday-size
   Rôle    : largeur et hauteur minimales des cibles tactiles.
   Défaut  : 44px.

   --abe-agenda-filter-gap
   Rôle    : espacement entre les boutons de catégorie et de modalité.
   Défaut  : var(--abe-space-xs, 6px).

   --abe-agenda-modality-icon-size
   Rôle    : diamètre du cercle des icônes de modalité.
   Défaut  : 30px.

   --abe-agenda-month-gap
   Rôle    : espacement entre les vignettes d’occurrences.
   Défaut  : var(--abe-space-sm, 12px).

   --abe-agenda-month-card-padding
   Rôle    : espace intérieur des cartes Mois.
   Défaut  : var(--abe-space-md, 20px).

   --abe-agenda-activity-time-width
   Rôle    : largeur de la colonne horaire des activités.
   Défaut  : 64px sur écran large, 56px sous 36rem.

   Les couleurs, typographies, bordures et rayons héritent des variables
   globales du site. Aucun style du Launcher n'est utilisé.
   ========================================================== */

/* ==========================================================
   AbE AGENDA — CONFIGURATION AbE
   ========================================================== */

.abe-agenda {
  min-width: 0;
  max-width: 100%;
  /* Confine la rangée de jours défilante sans bloquer son défilement interne. */
  overflow-x: clip;
  color: inherit;
  --abe-agenda-week-gap: var(--abe-space-sm, 12px);
  --abe-agenda-weekday-gap: var(--abe-space-xs, 6px);
  --abe-agenda-weekday-size: 44px;
  --abe-agenda-filter-gap: var(--abe-space-xs, 6px);
  --abe-agenda-modality-icon-size: 30px;
  --abe-agenda-month-gap: var(--abe-space-sm, 12px);
  --abe-agenda-month-card-padding: var(--abe-space-md, 20px);
  --abe-agenda-activity-time-width: 64px;
}

.abe-agenda .abe-agenda__views {
  display: grid;
  gap: var(--abe-agenda-week-gap);
  min-width: 0;
  max-width: 100%;
}

.abe-agenda .abe-agenda__views[hidden] {
  display: none;
}

.abe-agenda .abe-agenda__view-switcher {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--abe-agenda-filter-gap);
  min-width: 0;
}

.abe-agenda .abe-agenda__view-button {
  box-sizing: border-box;
  min-width: 44px;
  min-height: 44px;
  padding: var(--abe-space-xs, 6px) var(--abe-space-sm, 12px);
  border: 1px solid var(--border, var(--abe-border, currentColor));
  border-radius: 0;
  background: var(--surface, transparent);
  color: inherit;
  font: inherit;
  font-size: .6875em;
  font-weight: 600;
  letter-spacing: .11em;
  text-transform: uppercase;
  cursor: pointer;
}

.abe-agenda .abe-agenda__view-button[aria-pressed="true"] {
  border-width: 2px;
  border-color: var(--hdr-sticky-fg, var(--text, currentColor));
  background: var(--hdr-sticky-bg, var(--surface-2, var(--abe-surface-soft, transparent)));
  color: var(--hdr-sticky-fg, var(--text, currentColor));
  font-weight: 700;
}

.abe-agenda .abe-agenda__view-button:focus-visible {
  outline: 3px solid var(--gold, var(--accent, currentColor));
  outline-offset: 3px;
}

.abe-agenda .abe-agenda__week {
  display: grid;
  gap: var(--abe-agenda-week-gap);
  min-width: 0;
  max-width: 100%;
  color: var(--text, inherit);
}

.abe-agenda .abe-agenda__week[hidden] {
  display: none;
}

.abe-agenda .abe-agenda__week-header {
  display: grid;
  grid-template-columns: var(--abe-agenda-weekday-size) minmax(0, 1fr) auto var(--abe-agenda-weekday-size);
  align-items: center;
  gap: var(--abe-agenda-weekday-gap);
  min-width: 0;
}

.abe-agenda .abe-agenda__week-header button,
.abe-agenda .abe-agenda__weekday {
  box-sizing: border-box;
  min-width: var(--abe-agenda-weekday-size);
  min-height: var(--abe-agenda-weekday-size);
  padding: var(--abe-space-xs, 6px);
  border: 1px solid var(--border, var(--abe-border, currentColor));
  border-radius: var(--abe-radius-sm, 0);
  background: var(--surface, transparent);
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.abe-agenda .abe-agenda__week-header button:hover:not(:disabled),
.abe-agenda .abe-agenda__weekday:hover:not(:disabled):not([aria-pressed="true"]) {
  background: var(--surface-2, var(--abe-surface-soft, transparent));
}

.abe-agenda .abe-agenda__week-header button:focus-visible,
.abe-agenda .abe-agenda__weekday:focus-visible {
  outline: 2px solid var(--text, currentColor);
  outline-offset: 2px;
}

.abe-agenda .abe-agenda__week-header button:disabled,
.abe-agenda .abe-agenda__weekday:disabled {
  border-style: dashed;
  cursor: not-allowed;
}

.abe-agenda .abe-agenda__week-nav {
  display: grid;
  place-items: center;
  font-size: 1.5em;
  line-height: 1;
}

.abe-agenda .abe-agenda__week-title {
  min-width: 0;
  margin: 0;
  font: inherit;
  font-weight: 600;
  text-align: center;
  overflow-wrap: anywhere;
}

.abe-agenda .abe-agenda__week-today {
  white-space: nowrap;
}

.abe-agenda .abe-agenda__weekdays {
  display: grid;
  grid-template-columns: repeat(7, minmax(var(--abe-agenda-weekday-size), 1fr));
  gap: var(--abe-agenda-weekday-gap);
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 2px;
}

.abe-agenda .abe-agenda__weekday {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 2px;
  text-align: center;
}

.abe-agenda .abe-agenda__weekday[aria-pressed="true"] {
  border-color: var(--text, currentColor);
  background: var(--text, currentColor);
  color: var(--bg, var(--abe-surface, #fff));
}

.abe-agenda .abe-agenda__weekday.is-today {
  border-width: 2px;
  border-color: var(--accent, var(--abe-accent, currentColor));
}

.abe-agenda .abe-agenda__weekday.is-outside-range:not([aria-pressed="true"]) {
  background: transparent;
  color: var(--muted, currentColor);
}

.abe-agenda .abe-agenda__weekday-name {
  font-size: .75em;
  font-weight: 600;
}

.abe-agenda .abe-agenda__weekday-number {
  font-size: 1em;
}

.abe-agenda .abe-agenda__filters {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--abe-space-sm, 12px) var(--abe-space-md, 20px);
  min-width: 0;
  max-width: 100%;
  padding: var(--abe-space-sm, 12px) var(--abe-space-md, 20px);
  border-block: 1px solid var(--border, var(--abe-border, currentColor));
  background: var(--surface-2, var(--abe-surface-soft, transparent));
}

.abe-agenda .abe-agenda__filters[hidden] {
  display: none;
}

.abe-agenda .abe-agenda__category-filters {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--abe-agenda-filter-gap);
  min-width: 0;
}

.abe-agenda .abe-agenda__modality-filters {
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--abe-agenda-filter-gap);
  min-width: 0;
}

.abe-agenda .abe-agenda__category-filter,
.abe-agenda .abe-agenda__modality-filter,
.abe-agenda .abe-agenda__filter-clear {
  box-sizing: border-box;
  min-height: var(--abe-agenda-weekday-size);
  max-width: 100%;
  padding: var(--abe-space-xs, 6px) var(--abe-space-sm, 12px);
  border: 1px solid var(--border, var(--abe-border, currentColor));
  border-radius: 0;
  background: var(--surface, transparent);
  color: inherit;
  font: inherit;
}

.abe-agenda .abe-agenda__category-filter,
.abe-agenda .abe-agenda__modality-filter,
.abe-agenda .abe-agenda__filter-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--abe-space-xs, 6px);
  cursor: pointer;
  overflow-wrap: anywhere;
  text-transform: uppercase;
  letter-spacing: .11em;
  font-size: .6875em;
  font-weight: 600;
  text-align: center;
}

.abe-agenda .abe-agenda__category-filter:hover:not(:disabled),
.abe-agenda .abe-agenda__modality-filter:hover {
  background: var(--surface-2, var(--abe-surface-soft, transparent));
}

.abe-agenda .abe-agenda__category-filter[aria-pressed="true"],
.abe-agenda .abe-agenda__modality-filter[aria-pressed="true"] {
  border-color: var(--hdr-sticky-fg, var(--text, currentColor));
  background: var(--hdr-sticky-bg, var(--surface-2, var(--abe-surface-soft, transparent)));
  color: var(--hdr-sticky-fg, var(--text, currentColor));
  font-weight: 700;
}

.abe-agenda .abe-agenda__category-filter:disabled {
  border-style: dashed;
  background: transparent;
  color: var(--muted, currentColor);
  cursor: not-allowed;
}

.abe-agenda .abe-agenda__modality-icon {
  position: relative;
  display: grid;
  flex: 0 0 var(--abe-agenda-modality-icon-size);
  width: var(--abe-agenda-modality-icon-size);
  height: var(--abe-agenda-modality-icon-size);
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.abe-agenda .abe-agenda__modality-icon svg {
  width: 17px;
  height: 17px;
}

.abe-agenda .abe-agenda__modality-filter.is-inactive .abe-agenda__modality-icon::after {
  position: absolute;
  inset-inline: 3px;
  top: 50%;
  height: 1.5px;
  background: currentColor;
  content: "";
  transform: rotate(-42deg);
}

.abe-agenda .abe-agenda__filter-clear {
  border-style: dashed;
  text-transform: none;
  letter-spacing: normal;
  font-size: inherit;
}

.abe-agenda .abe-agenda__category-filter:focus-visible,
.abe-agenda .abe-agenda__modality-filter:focus-visible,
.abe-agenda .abe-agenda__filter-clear:focus-visible {
  outline: 3px solid var(--gold, var(--accent, currentColor));
  outline-offset: 3px;
}

.abe-agenda .abe-agenda__filter-empty-action {
  margin-block-start: var(--abe-space-xs, 6px);
}

.abe-agenda .abe-agenda__month {
  display: grid;
  gap: var(--abe-agenda-week-gap);
  min-width: 0;
  max-width: 100%;
  color: var(--text, inherit);
}

.abe-agenda .abe-agenda__month[hidden] {
  display: none;
}

.abe-agenda .abe-agenda__month-header {
  display: grid;
  grid-template-columns: minmax(44px, 1fr) minmax(0, auto) minmax(44px, 1fr);
  align-items: center;
  gap: var(--abe-agenda-weekday-gap);
  min-width: 0;
}

.abe-agenda .abe-agenda__month-title {
  min-width: 0;
  margin: 0;
  font: inherit;
  font-family: var(--ff-title, inherit);
  font-size: 1.6em;
  font-weight: 600;
  text-align: center;
  overflow-wrap: anywhere;
}

.abe-agenda .abe-agenda__month-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--abe-agenda-weekday-gap);
  min-width: 0;
}

.abe-agenda .abe-agenda__month-header button {
  box-sizing: border-box;
  min-width: 44px;
  min-height: 44px;
  padding: var(--abe-space-xs, 6px);
  border: 1px solid var(--border, var(--abe-border, currentColor));
  border-radius: var(--abe-radius-sm, 0);
  background: var(--surface, transparent);
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.abe-agenda .abe-agenda__month-today {
  white-space: nowrap;
}

.abe-agenda .abe-agenda__month-header button:disabled {
  border-style: dashed;
  cursor: not-allowed;
}

.abe-agenda .abe-agenda__month-header button:focus-visible {
  outline: 3px solid var(--gold, var(--accent, currentColor));
  outline-offset: 3px;
}

.abe-agenda .abe-agenda__month-coverage,
.abe-agenda .abe-agenda__month-empty {
  margin: 0;
  padding: var(--abe-space-sm, 12px);
  border-inline-start: 2px solid var(--accent, var(--abe-accent, currentColor));
  background: var(--surface-2, var(--abe-surface-soft, transparent));
}

.abe-agenda .abe-agenda__month-coverage[hidden],
.abe-agenda .abe-agenda__month-empty[hidden] {
  display: none;
}

.abe-agenda .abe-agenda__month-empty-message {
  margin: 0;
}

.abe-agenda .abe-agenda__month-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--abe-agenda-month-gap);
  min-width: 0;
}

.abe-agenda .abe-agenda__month-grid[hidden] {
  display: none;
}

.abe-agenda .abe-agenda__month-card {
  display: grid;
  align-content: start;
  gap: var(--abe-agenda-weekday-gap);
  box-sizing: border-box;
  min-width: 0;
  padding: var(--abe-agenda-month-card-padding);
  border: 1px solid var(--border, var(--abe-border, currentColor));
  border-radius: var(--abe-radius-md, 0);
  background: var(--surface, var(--abe-surface, transparent));
  color: inherit;
  box-shadow: var(--abe-shadow-soft, none);
}

.abe-agenda .abe-agenda__month-card-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--abe-space-xs, 6px);
}

.abe-agenda .abe-agenda__month-card-header.has-location {
  grid-template-columns: minmax(0, 1fr) minmax(6.5rem, auto);
}

.abe-agenda .abe-agenda__month-card-date {
  display: flex;
  align-items: center;
  gap: var(--abe-space-xs, 6px);
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.abe-agenda .abe-agenda__month-card-datebox {
  display: grid;
  justify-items: center;
  padding: var(--abe-space-xs, 6px);
  border: 1px solid var(--border, var(--abe-border, currentColor));
  border-radius: var(--abe-radius-sm, 0);
  background: var(--surface-2, var(--abe-surface-soft, transparent));
  line-height: 1.15;
}

.abe-agenda .abe-agenda__month-card-day {
  font-family: var(--ff-title, inherit);
  font-size: 1.45em;
  font-weight: 600;
}

.abe-agenda .abe-agenda__month-card-month {
  font-size: .6875em;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.abe-agenda .abe-agenda__month-card-moment {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.abe-agenda .abe-agenda__month-card-weekday {
  font-weight: 600;
  text-transform: capitalize;
  word-break: normal;
  overflow-wrap: normal;
}

.abe-agenda .abe-agenda__month-card-time {
  font-weight: 700;
}

.abe-agenda .abe-agenda__month-card-location {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-width: 6.5rem;
  max-width: 8.5rem;
  text-align: center;
}

.abe-agenda .abe-agenda__month-card-location-icon {
  display: flex;
  justify-content: center;
  width: 100%;
  min-width: 0;
}

.abe-agenda .abe-agenda__month-card-location-icon svg {
  flex: 0 0 1.125em;
  width: 1.125em;
  height: 1.125em;
}

.abe-agenda .abe-agenda__month-card-location-name {
  display: block;
  width: 100%;
  margin-top: 2px;
  min-width: 0;
  max-width: 100%;
  font-size: .75em;
  line-height: 1.3;
  text-align: center;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

.abe-agenda .abe-agenda__month-card-body {
  display: grid;
  gap: var(--abe-agenda-weekday-gap);
  min-width: 0;
}

.abe-agenda .abe-agenda__month-card-category {
  margin: 0;
  color: var(--muted, var(--text-soft, currentColor));
  font-size: .6875em;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.abe-agenda .abe-agenda__month-card-title {
  min-width: 0;
  margin: 0;
  font: inherit;
  font-family: var(--ff-title, inherit);
  font-size: 1.05em;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.abe-agenda .abe-agenda__month-card-footer {
  min-width: 0;
}

.abe-agenda .abe-agenda__month-card-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--abe-space-xs, 6px) var(--abe-space-sm, 12px);
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.abe-agenda .abe-agenda__month-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  font-size: .8125em;
  overflow-wrap: anywhere;
}

.abe-agenda .abe-agenda__month-meta-icon {
  flex: 0 0 auto;
  color: inherit;
  font-size: 1.1em;
}

.abe-agenda .abe-agenda__week-body {
  display: block;
  min-width: 0;
}

.abe-agenda .abe-agenda__week-day {
  min-width: 0;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.abe-agenda .abe-agenda__week-day + .abe-agenda__week-day {
  margin-block-start: var(--abe-agenda-week-gap);
}

.abe-agenda .abe-agenda__week-day h3,
.abe-agenda .abe-agenda__week-count {
  margin: 0;
  font: inherit;
}

.abe-agenda .abe-agenda__week-day h3 {
  padding-block-end: var(--abe-space-xs, 6px);
  border-block-end: 1px solid var(--border, var(--abe-border, currentColor));
  font-weight: 600;
  overflow-wrap: anywhere;
}

.abe-agenda .abe-agenda__week-count {
  margin-block-start: var(--abe-space-xs, 6px);
}

.abe-agenda .abe-agenda__week-empty {
  display: grid;
  justify-items: start;
  gap: var(--abe-agenda-week-gap);
  min-width: 0;
}

.abe-agenda .abe-agenda__empty-message {
  margin: 0;
  font: inherit;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.abe-agenda .abe-agenda__day-empty,
.abe-agenda .abe-agenda__day-outside-range {
  margin-inline-start: calc(
    var(--abe-agenda-activity-time-width) + var(--abe-space-md, 20px)
  );
  color: var(--muted, currentColor);
  font-size: .92em;
  overflow-wrap: anywhere;
}

.abe-agenda .abe-agenda__slow-trigger {
  max-width: 100%;
  min-width: 0;
  padding: var(--abe-space-xs, 6px) var(--abe-space-sm, 12px);
  border: 1px dashed var(--border, var(--abe-border, currentColor));
  border-radius: var(--abe-radius-sm, 0);
  background: transparent;
  color: var(--muted, currentColor);
  font: inherit;
  text-align: start;
  overflow-wrap: anywhere;
  cursor: not-allowed;
}

.abe-agenda .abe-agenda__week-day > .abe-agenda__slow-trigger {
  margin-inline-start: calc(
    var(--abe-agenda-activity-time-width) + var(--abe-space-md, 20px)
  );
}

.abe-agenda .abe-agenda__day-items {
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.abe-agenda .abe-agenda__day-item {
  display: grid;
  grid-template-columns: var(--abe-agenda-activity-time-width) minmax(0, 1fr);
  column-gap: var(--abe-space-md, 20px);
  align-items: start;
  min-width: 0;
  padding-block: var(--abe-agenda-week-gap);
}

.abe-agenda .abe-agenda__day-item + .abe-agenda__day-item {
  border-block-start: 1px solid var(--border, var(--abe-border, currentColor));
}

.abe-agenda .abe-agenda__day-time {
  grid-column: 1;
  grid-row: 1 / span 3;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.abe-agenda .abe-agenda__day-category {
  grid-column: 2;
  margin: 0;
  color: var(--text-soft, var(--text, inherit));
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.abe-agenda .abe-agenda__day-title {
  grid-column: 2;
  margin: 0;
  font: inherit;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.abe-agenda .abe-agenda__day-meta {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: var(--abe-space-xs, 6px) var(--abe-space-md, 20px);
  min-width: 0;
  margin: var(--abe-space-xs, 6px) 0 0;
  padding: 0;
  list-style: none;
}

.abe-agenda .abe-agenda__day-meta li {
  min-width: 0;
  overflow-wrap: anywhere;
}

.abe-agenda .abe-agenda__availability {
  padding-inline-start: var(--abe-space-xs, 6px);
  border-inline-start: 2px solid currentColor;
  color: var(--text-soft, var(--text, inherit));
  font-weight: 500;
}

.abe-agenda .abe-agenda__availability.is-zero,
.abe-agenda .abe-agenda__availability.is-full,
.abe-agenda .abe-agenda__availability.is-closed,
.abe-agenda .abe-agenda__availability.is-unavailable {
  font-weight: 600;
}

.abe-agenda .abe-agenda__week-error {
  margin: 0;
  padding: var(--abe-space-sm, 12px);
  border-inline-start: 2px solid currentColor;
}

.abe-agenda .abe-agenda__status,
.abe-agenda .abe-agenda__error {
  margin: 0;
  padding: var(--abe-space-sm, 12px);
}

.abe-agenda .abe-agenda__error:not([hidden]) {
  border-inline-start: 2px solid currentColor;
}

.abe-agenda .abe-agenda__debug {
  margin-block-start: var(--abe-space-md, 20px);
  padding: var(--abe-space-sm, 12px);
  border: 1px solid var(--abe-border, currentColor);
}

.abe-agenda .abe-agenda__debug h2 {
  margin-block: 0 var(--abe-space-sm, 12px);
  font: inherit;
}

.abe-agenda .abe-agenda__debug p {
  margin-block: 0 var(--abe-space-xs, 6px);
  overflow-wrap: anywhere;
}

.abe-agenda .abe-agenda__debug ul {
  padding-inline-start: 1.25em;
}

.abe-agenda .abe-agenda__debug li,
.abe-agenda .abe-agenda__debug pre {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

/* Action Réserver (FE-10.2) : le style du bouton vient de .abe-btn du site. */
.abe-agenda .abe-agenda__item-actions {
  grid-column: 2;
  display: flex;
  justify-content: flex-end;
  min-width: 0;
  margin-block-start: var(--abe-agenda-weekday-gap);
}

.abe-agenda .abe-agenda__month-card-actions {
  min-width: 0;
}

.abe-agenda .abe-agenda__month-card-actions .abe-agenda__booking-trigger {
  width: 100%;
}

.abe-agenda .abe-agenda__booking-trigger {
  min-height: 44px;
  cursor: pointer;
}

.abe-agenda .abe-agenda__booking-trigger:focus-visible {
  outline: 3px solid var(--gold, var(--accent, currentColor));
  outline-offset: 3px;
}

.abe-agenda .abe-agenda__booking-error {
  margin: 0;
  padding: var(--abe-space-xs, 6px) var(--abe-space-sm, 12px);
  border: 1px solid currentColor;
  border-radius: var(--abe-radius, 8px);
  color: inherit;
}

.abe-agenda .abe-agenda__booking-error[hidden] {
  display: none;
}

@media (max-width: 36rem) {
  .abe-agenda {
    --abe-agenda-activity-time-width: 56px;
  }

  .abe-agenda .abe-agenda__item-actions {
    justify-content: stretch;
  }

  .abe-agenda .abe-agenda__item-actions .abe-agenda__booking-trigger {
    width: 100%;
  }

  .abe-agenda .abe-agenda__filters {
    align-items: stretch;
    flex-direction: column;
  }

  .abe-agenda .abe-agenda__category-filters,
  .abe-agenda .abe-agenda__modality-filters {
    width: 100%;
  }

  .abe-agenda .abe-agenda__modality-filters {
    justify-content: flex-start;
  }

  .abe-agenda .abe-agenda__category-filter {
    flex: 0 1 auto;
  }

  .abe-agenda .abe-agenda__modality-filter {
    flex: 1 1 120px;
  }

  .abe-agenda .abe-agenda__week-header {
    grid-template-columns: var(--abe-agenda-weekday-size) minmax(0, 1fr) var(--abe-agenda-weekday-size);
    grid-template-areas:
      "previous title next"
      "today today today";
  }

  .abe-agenda .abe-agenda__week-nav--previous {
    grid-area: previous;
  }

  .abe-agenda .abe-agenda__week-title {
    grid-area: title;
  }

  .abe-agenda .abe-agenda__week-today {
    grid-area: today;
  }

  .abe-agenda .abe-agenda__week-nav--next {
    grid-area: next;
  }
}

@media (max-width: 42.5rem) {
  .abe-agenda .abe-agenda__month-header {
    grid-template-columns: 44px minmax(0, 1fr) auto;
  }

  .abe-agenda .abe-agenda__month-title {
    font-size: 1.25em;
  }

  .abe-agenda .abe-agenda__month-today {
    padding-inline: var(--abe-space-xs, 6px);
    font-size: .75em;
  }
}

@media (min-width: 42.5625rem) {
  .abe-agenda .abe-agenda__month-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 51.3125rem) {
  .abe-agenda .abe-agenda__month-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 68.8125rem) {
  .abe-agenda .abe-agenda__month-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
