.calendar-plugin--list {
    --fc-classic-button: var(--sm-rust);
    --fc-classic-button-border: var(--sm-rust);
    --fc-classic-button-strong: var(--sm-text);
    --fc-classic-button-strong-border: var(--sm-text);
    --fc-classic-button-outline: var(--sm-rust);
    --fc-classic-button-foreground: var(--sm-white);
    --fc-classic-primary: var(--sm-rust);
    --fc-classic-primary-foreground: var(--sm-white);
    --fc-classic-event: var(--sm-rust);
    --fc-classic-event-contrast: var(--sm-white);
    --fc-classic-background-event: var(--sm-blue);
    --fc-classic-background-event-opacity: 25%;
    --fc-classic-background-event-foreground-opacity: 100%;
    --fc-classic-highlight: var(--sm-beige);
    --fc-classic-today: #DFD8CB66;
    --fc-classic-now: var(--sm-rust);
    --fc-classic-small-dot-width: 8px;
    --fc-classic-large-dot-width: 10px;
    --fc-classic-background: var(--sm-white);
    --fc-classic-faint: #DFD8CB33;
    --fc-classic-muted: var(--sm-beige);
    --fc-classic-strong: var(--sm-tag-background);
    --fc-classic-foreground: var(--sm-text);
    --fc-classic-faint-foreground: var(--sm-grey);
    --fc-classic-muted-foreground: var(--sm-text);
    --fc-classic-border: var(--sm-beige);
    --fc-classic-strong-border: var(--sm-grey);
}
.calendar-plugin--list .calendar-toolbar button,
.calendar-plugin--list .calendar-feedback button,
.calendar-plugin--list .calendar-selection button {
    border: 1px solid var(--sm-grey);
    border-radius: 0;
    background: var(--sm-white);
    color: var(--sm-text);
    font-weight: 700;
    transition: background-color .15s ease, color .15s ease;
}
.calendar-plugin--list .calendar-views button { min-width: 88px; }
.calendar-plugin--list .calendar-views button[aria-pressed="true"] { background: var(--sm-rust); border-color: var(--sm-rust); color: var(--sm-white); }
.calendar-plugin--list :is(.calendar-toolbar, .calendar-feedback, .calendar-selection) button:hover { background: var(--sm-text); color: var(--sm-white); border-color: var(--sm-text); }
.calendar-plugin--list :is(button, a, [tabindex]):focus-visible { outline: 3px solid var(--sm-rust); outline-offset: 3px; }
.calendar-plugin--list .calendar-period h2 { font: 700 clamp(1.35rem, 2.5vw, 1.8rem)/1.3 var(--sm-font-sans); color: var(--sm-text); }
.calendar-plugin--list .calendar-period p { color: var(--sm-text); }
.calendar-plugin--list .calendar-selection { background: var(--sm-beige); border: 1px solid var(--sm-beige); }
.calendar-plugin--list .calendar-selection h3 { font: 700 1.25rem/1.4 var(--sm-font-sans); }
.calendar-plugin--list .calendar-feedback { padding: 1rem; background: var(--sm-beige); }
.calendar-plugin--list .calendar-grid { font-family: var(--sm-font-sans); font-variant-numeric: tabular-nums; }
.calendar-plugin--list .calendar-day-heading { font-weight: 700; }
.calendar-plugin--list .calendar-grid-event { border-radius: 0; font-size: .8125rem; line-height: 1.35; }
.calendar-plugin--list .calendar-grid-event__content { padding: .15rem .25rem; }
.calendar-plugin--list .calendar-grid-scroll { scrollbar-color: var(--sm-grey) var(--sm-beige); }
.calendar-plugin--list ::selection { color: var(--sm-white); background: var(--sm-rust); }
@media (max-width: 719px) {
    .calendar-plugin--list .calendar-views button { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .calendar-plugin--list .calendar-toolbar button { transition: none; }
}

/* Wochen-/Tagesraster: Text bleibt in der eigenen Terminbox. */
.calendar-plugin--list:is([data-calendar-view="timeGridWeek"], [data-calendar-view="timeGridDay"]) .calendar-grid-event {
    overflow: hidden;
}

.calendar-plugin--list:is([data-calendar-view="timeGridWeek"], [data-calendar-view="timeGridDay"]) .calendar-grid-event > div {
    min-height: 0;
    overflow: hidden;
}

.calendar-plugin--list:is([data-calendar-view="timeGridWeek"], [data-calendar-view="timeGridDay"]) .calendar-grid-event__content {
    padding-inline: .25rem;
    font-size: .75rem;
    line-height: 1.2;
}

.calendar-plugin--list:is([data-calendar-view="timeGridWeek"], [data-calendar-view="timeGridDay"]) .calendar-grid-event__content strong {
    display: block;
    margin-inline-end: 0;
}

/* Genug Platz für gleichzeitige Termine; mobil seitlich scrollbar. */
.calendar-plugin--list[data-calendar-view="timeGridWeek"] .calendar-grid {
    min-width: 1180px;
}

@media (max-width: 1227px) {
    .calendar-plugin--list[data-calendar-view="timeGridWeek"] .calendar-scroll-hint {
        display: block;
    }
}