/*
  Werte geschätzt aus einem Screenshot von liedermaenner.at (Stand Juli 2026):
  - Teal/Grün wie im "LIEDER"-Logo-Schriftzug
  - Blau wie bei "weiterlesen"-Buttons, aktiver Pagination und Artikel-Links
  - Serifenschrift wie in Navigation/Überschriften

  Falls es optisch nicht 100% passt: per Rechtsklick auf ein Element auf
  liedermaenner.at -> "Untersuchen" -> im Panel rechts unter "Computed"
  nach "color", "background-color" und "font-family" schauen und hier
  die exakten Werte eintragen.
*/
.lm-calendar {
    --lm-color-primary: #2f7fbf;
    --lm-color-accent: #1f9d8a;
    --lm-color-text: #2b2b2b;
    --lm-color-muted: #6b6b6b;
    --lm-color-border: #e2e2e2;
    --lm-font-family: 'Roboto Slab', Georgia, 'Times New Roman', serif;
    --lm-radius: 4px;

    /* FullCalendar liest diese Variablen selbst aus (offizielles Theming-API) */
    --fc-border-color: var(--lm-color-border);
    --fc-button-text-color: var(--lm-color-primary);
    --fc-button-bg-color: transparent;
    --fc-button-border-color: var(--lm-color-border);
    --fc-button-hover-bg-color: rgba(47, 127, 191, 0.08);
    --fc-button-hover-border-color: var(--lm-color-primary);
    --fc-button-hover-text-color: var(--lm-color-primary);
    --fc-button-active-bg-color: rgba(47, 127, 191, 0.12);
    --fc-button-active-border-color: var(--lm-color-primary);
    --fc-button-active-text-color: var(--lm-color-primary);
    --fc-today-bg-color: rgba(47, 127, 191, 0.08);
    --fc-event-bg-color: var(--lm-color-primary);
    --fc-event-border-color: var(--lm-color-primary);
    --fc-list-event-hover-bg-color: rgba(47, 127, 191, 0.08);

    font-family: var(--lm-font-family);
    color: var(--lm-color-text);
    max-width: 960px;
}

.lm-calendar .fc {
    font-family: var(--lm-font-family);
}

.lm-calendar .fc-toolbar-title {
    font-size: 1.3rem !important;
}

.lm-calendar .fc-button {
    text-transform: none !important;
    border-radius: var(--lm-radius) !important;
    box-shadow: none !important;
    font-weight: 500 !important;
    font-size: 0.85rem !important;
    padding: 0.3rem 0.7rem !important;
    border-width: 1px !important;
}

.lm-calendar .fc-button:focus {
    box-shadow: none !important;
}

.lm-calendar .fc-button-primary:not(:disabled).fc-button-active {
    font-weight: 600 !important;
}

/* Am Smartphone noch kompakter: kleinere Schrift/Buttons, Toolbar bricht sauber um */
@media (max-width: 600px) {
    .lm-calendar .fc-toolbar {
        gap: 0.5rem;
    }

    .lm-calendar .fc-toolbar-title {
        font-size: 1.05rem !important;
    }

    .lm-calendar .fc-button {
        font-size: 0.75rem !important;
        padding: 0.2rem 0.5rem !important;
    }

    .lm-calendar .fc-toolbar-chunk {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem;
        justify-content: center;
    }
}

/* Vergangene Termine dezenter darstellen */
.lm-calendar .lm-event-past {
    opacity: 0.45;
}

.lm-calendar .lm-event-past.fc-daygrid-event,
.lm-calendar .lm-event-past .fc-event-main {
    filter: grayscale(35%);
}

/* Lange Termin-Titel in der Monatsansicht umbrechen statt hart abschneiden */
.lm-calendar .fc-daygrid-event {
    white-space: normal !important;
    align-items: flex-start;
}

.lm-calendar .fc-daygrid-day-events {
    overflow: visible;
}

.lm-calendar .fc-daygrid-day-number {
    font-size: 0.85rem !important;
    font-weight: 400 !important;
}

.lm-calendar .fc-col-header-cell-cushion {
    font-weight: 400 !important;
}

/* Dezente Termin-Darstellung: kein Punkt-Icon, kein Vollton-Hintergrund,
   nur ein feiner farbiger Rand links, normale statt fette Schrift */
.lm-calendar .fc-daygrid-event-dot {
    display: none !important;
    border: none !important;
}

.lm-calendar .fc-daygrid-event,
.lm-calendar .fc-timegrid-event,
.lm-calendar .fc-list-event {
    background-color: transparent !important;
    border: none !important;
    border-left: 3px solid var(--lm-color-primary) !important;
    border-radius: 2px !important;
    padding: 1px 0 1px 6px !important;
    margin-bottom: 2px !important;
    box-shadow: none !important;
}

.lm-calendar .fc-event-main {
    color: var(--lm-color-text) !important;
}

.lm-calendar .lm-event-content {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.lm-calendar .lm-event-first-line {
    display: flex;
    gap: 4px;
    align-items: baseline;
}

.lm-calendar .lm-event-time {
    font-weight: 400;
    font-size: 0.65rem;
    color: var(--lm-color-muted);
    white-space: nowrap;
}

.lm-calendar .lm-event-title {
    font-weight: 400;
    font-size: 0.72rem;
    color: var(--lm-color-text);
}

.lm-calendar .lm-event-location {
    font-weight: 300;
    font-size: 0.62rem;
    color: var(--lm-color-muted);
}

@media (max-width: 600px) {
    .lm-calendar .lm-event-time {
        font-size: 0.58rem;
    }

    .lm-calendar .lm-event-title {
        font-size: 0.62rem;
    }

    .lm-calendar .lm-event-location {
        font-size: 0.55rem;
    }
}