.oeffnungszeiten-uebersicht {
    font-size: 0.9375rem;
}

.oeffnungszeiten-uebersicht-lokal + .oeffnungszeiten-uebersicht-lokal {
    margin-top: 2rem;
}

.oeffnungszeiten-lokal__name {
    font-size: 1.1rem;
    font-weight: 600;
}

.oeffnungszeiten-lokal__kontakt {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    opacity: 0.85;
    margin: 0.25rem 0 0.5rem;
}

.oeffnungszeiten-uebersicht-tabelle {
    width: 100%;
    border-collapse: collapse;
}

.oeffnungszeiten-uebersicht-tabelle th,
.oeffnungszeiten-uebersicht-tabelle td {
    padding: 0.35rem 0.75rem;
    text-align: left;
    vertical-align: top;
    white-space: pre-line;
}

/* Erste Spalte (Wochentag/Feiertags-Name) soll sich an ihrem Inhalt
   ausrichten, statt bei width:100% unproportional viel vom übrigen Platz
   abzubekommen - der Rest soll den Datenspalten zugutekommen. */
.oeffnungszeiten-uebersicht-tabelle th:first-child,
.oeffnungszeiten-uebersicht-tabelle td:first-child {
    width: 1%;
    white-space: nowrap;
}

.oeffnungszeiten-uebersicht-tabelle thead th {
    font-weight: normal;
    border-bottom: 2px solid var(--oeffnungszeiten-color-border, rgba(0, 0, 0, 0.15));
}

.oeffnungszeiten-uebersicht-periode td {
    font-weight: 600;
    background: var(--oeffnungszeiten-color-period-bg, rgba(0, 0, 0, 0.05));
}

.oeffnungszeiten-uebersicht-ausnahmen {
    margin-top: 1.5rem;
}

.oeffnungszeiten-uebersicht-ausnahmen__heading {
    font-weight: 600;
    margin: 1rem 0 0.25rem;
}

@media (prefers-color-scheme: dark) {
    .oeffnungszeiten-uebersicht-periode td {
        background: var(--oeffnungszeiten-color-period-bg, rgba(255, 255, 255, 0.08));
    }

    .oeffnungszeiten-uebersicht-tabelle thead th {
        border-bottom-color: var(--oeffnungszeiten-color-border, rgba(255, 255, 255, 0.2));
    }
}
