/* Explain: Spacing and layout styles for buffet hero sections, with specific overrides for various buffet types. */
:is(.gap-2-lines, .odenwald-spacing) .buffet-hero-summary.mediterran-spacing-ready > .mediterran-menu-list,
.buffet-hero-summary.mediterran-spacing-ready > .mediterran-menu-list {
    display: grid;
    row-gap: 5.4em;
    row-gap: 3lh;
    margin: 0 !important;
    padding: 0;
    list-style: none;
    font-family: var(--font-heading);
    font-size: 1rem;
    line-height: 1.8;
}

:is(.gap-2-lines, .odenwald-spacing) .buffet-hero-summary.mediterran-spacing-ready > .mediterran-menu-list > .mediterran-menu-entry,
.buffet-hero-summary.mediterran-spacing-ready > .mediterran-menu-list > .mediterran-menu-entry {
    margin: 0 !important;
    padding: 0 !important;
    font-size: inherit;
    line-height: inherit;
    text-align: center;
}

:is(.gap-2-lines, .odenwald-spacing) .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry > .buffet-hero-inserted-prices,
.buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry > .buffet-hero-inserted-prices {
    margin-top: 0 !important;
}

/* Gleichmäßiger Zwei-Leerzeilen-Rhythmus (5.4em / 3 Zeilenhöhen) wie in Fingerfood Odenwald */
.buffet-hero-summary[data-menu-spacing="two-lines"].mediterran-spacing-ready > .mediterran-menu-list {
    row-gap: 5.4em;
    row-gap: 3lh;
}

.buffet-hero-summary[data-menu-spacing="two-lines"].mediterran-spacing-ready .mediterran-menu-entry,
.buffet-hero-summary[data-menu-spacing="two-lines"].mediterran-spacing-ready .mediterran-menu-entry * {
    margin-block: 0 !important;
    padding-block: 0 !important;
    line-height: inherit !important;
}

.buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry.is-price-line {
    color: var(--text-muted);
}

@media (min-width: 768px) {
    :is(.gap-2-lines, .odenwald-spacing) .buffet-hero-summary.mediterran-spacing-ready > .mediterran-menu-list,
    .buffet-hero-summary.mediterran-spacing-ready > .mediterran-menu-list {
        font-size: 1.05rem;
    }
}

/* Buffet Odenwald: einheitlicher Abstand von zwei Zeilen zwischen den Speisen –
   ohne zusätzliche Sonderabstände einzelner Gerichte. */
.buffet-hero-menu.odenwald-two-lines .buffet-hero-summary.mediterran-spacing-ready > .mediterran-menu-list {
    row-gap: 3.6em !important;
    row-gap: 2lh !important;
}

.buffet-hero-menu.odenwald-two-lines .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry,
.buffet-hero-menu.odenwald-two-lines .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry * {
    margin-block: 0 !important;
    padding-block: 0 !important;
}

.buffet-hero-menu.odenwald-two-lines .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry br {
    display: none !important;
}

/* Weihnacht Klassiker - Alpen Aromen: gleichmäßiger Zwei-Zeilen-Abstand
   zwischen den Speisen – genau wie im Buffet Odenwald. */
.buffet-hero-menu.weihnacht-two-lines .buffet-hero-summary.mediterran-spacing-ready > .mediterran-menu-list {
    row-gap: 3.6em !important;
    row-gap: 2lh !important;
}

.buffet-hero-menu.weihnacht-two-lines .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry,
.buffet-hero-menu.weihnacht-two-lines .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry * {
    margin-block: 0 !important;
    padding-block: 0 !important;
}

.buffet-hero-menu.weihnacht-two-lines .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry br {
    display: none !important;
}

/* Weihnacht Klassiker - Alpen Aromen: "Aprikosen Senf Dressing" ohne
   Zwischenleerzeile direkt unter der Birnenfilet-Zeile. */
.buffet-hero-menu.weihnacht-two-lines .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry.is-dressing-tight {
    margin-top: -3.6em !important;
    margin-top: -2lh !important;
}

/* Weihnacht Klassiker - Alpen Aromen: "zweierlei Knödel /
   (Kartoffelknödel - Semmelknödel)" ohne Zwischenleerzeile direkt unter der
   Braten-Zeile ("Gegrillter Honig-Senf Braten vom Jungschwein ..."). */
.buffet-hero-menu.weihnacht-two-lines .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry.is-knodel-tight {
    margin-top: -3.6em !important;
    margin-top: -2lh !important;
}

/* BBQ Buffet: gleichmäßiger Zwei-Zeilen-Abstand zwischen den Speisen –
   genau wie im Buffet Odenwald. */
.buffet-hero-menu.bbq-two-lines .buffet-hero-summary.mediterran-spacing-ready > .mediterran-menu-list {
    row-gap: 3.6em !important;
    row-gap: 2lh !important;
}

.buffet-hero-menu.bbq-two-lines .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry,
.buffet-hero-menu.bbq-two-lines .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry * {
    margin-block: 0 !important;
    padding-block: 0 !important;
}

.buffet-hero-menu.bbq-two-lines .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry br {
    display: none !important;
}

/* BBQ Buffet: "BBQ Grillgut Mix bestehend aus:" ohne Zwischenleerzeile
   direkt unter der Zeile "Regionale BBQ Buffet Aromen". */
.buffet-hero-menu.bbq-two-lines .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry.is-bbq-tight {
    margin-top: -3.6em !important;
    margin-top: -2lh !important;
}

/* BBQ Buffet: "bestehend aus:" ohne Zwischenleerzeile direkt unter der Zeile
   "Buffet kalkuliert 3 Teile Grillgut pro Person". */
.buffet-hero-menu.bbq-two-lines .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry.is-bbq-price-tight {
    margin-top: -3.6em !important;
    margin-top: -2lh !important;
}

/* Hero: die Zeile "bestehend aus: Vegetarische Variationen" eine Zeile tiefer setzen. */
.buffet-hero-menu .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry.is-one-line-down {
    margin-top: 1.8em !important;
    margin-top: 1lh !important;
}

/* Hero: die Zeile "bestehend aus: Dips" vier Zeilen tiefer setzen. */
.buffet-hero-menu .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry.is-four-lines-down {
    margin-top: 7.2em !important;
    margin-top: 4lh !important;
}

/* BBQ Buffet: die Zeile „Früchte Chili Dip süß-feurig" nur eine Leerzeile
   unter der Zeile „bestehend aus: Dips" darstellen (2 Zeilen Abstand − 1 Zeile). */
.buffet-hero-menu.bbq-two-lines .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry.is-fruechte-chili-tight {
    margin-top: -3.6em !important;
    margin-top: -2lh !important;
}

/* Hero: "Sellerie Stampf" ohne Zwischenleerzeile direkt hinter der Zeile mit
   dem Wort "röstzwiebel" darstellen (2 Zeilen Abstand − 2 Zeilen). */
.buffet-hero-menu.odenwald-two-lines .buffet-hero-summary.mediterran-spacing-ready .mediterran-menu-entry.is-sellerie-tight {
    margin-top: -3.6em !important;
    margin-top: -2lh !important;
}

/* Zwei Menuezeilen in EINEM Eintrag ohne Leerzeile direkt untereinander
   (z. B. „bestehend aus: Dips" / „Früchte Chili Dip süß-feurig"). */
.mediterran-menu-entry .mediterran-sub-line {
    display: block;
    margin: 0;
    padding: 0;
    line-height: inherit;
}

/* BBQ Buffet: im Hero die im Baustein hinterlegten Zeilenumbrueche und
   Leerzeilen genau so anzeigen wie in der Datenbank – ohne den
   vereinheitlichten Zwei-Zeilen-Rhythmus. */
.buffet-hero-menu.bbq-two-lines .buffet-hero-summary:not(.mediterran-spacing-ready) br,
.buffet-hero-menu.bbq-two-lines .buffet-hero-summary:not(.mediterran-spacing-ready) br + br {
    display: inline !important;
    height: auto !important;
}

.buffet-hero-menu.bbq-two-lines .buffet-hero-summary:not(.mediterran-spacing-ready) :is(p, div, ul, ol, li, h1, h2, h3, h4, h5, h6, blockquote, table) + :is(p, div, ul, ol, li, h1, h2, h3, h4, h5, h6, blockquote, table) {
    margin-top: 0 !important;
}

/* Veganes Buffet: im Hero die im Baustein hinterlegten Zeilenumbrueche und
   Leerzeilen genau so anzeigen wie in der Datenbank – ohne den
   vereinheitlichten Zwei-Zeilen-Rhythmus. */
.buffet-hero-menu.vegan-two-lines .buffet-hero-summary:not(.mediterran-spacing-ready) br,
.buffet-hero-menu.vegan-two-lines .buffet-hero-summary:not(.mediterran-spacing-ready) br + br {
    display: inline !important;
    height: auto !important;
}

.buffet-hero-menu.vegan-two-lines .buffet-hero-summary:not(.mediterran-spacing-ready) :is(p, div, ul, ol, li, h1, h2, h3, h4, h5, h6, blockquote, table) + :is(p, div, ul, ol, li, h1, h2, h3, h4, h5, h6, blockquote, table) {
    margin-top: 0 !important;
}

/* Vegetarisches Buffet: im Hero die im Baustein hinterlegten Zeilenumbrueche und
   Leerzeilen genau so anzeigen wie in der Datenbank – ohne den
   vereinheitlichten Zwei-Zeilen-Rhythmus. */
.buffet-hero-menu.vegetarisch-two-lines .buffet-hero-summary:not(.mediterran-spacing-ready) br,
.buffet-hero-menu.vegetarisch-two-lines .buffet-hero-summary:not(.mediterran-spacing-ready) br + br {
    display: inline !important;
    height: auto !important;
}

.buffet-hero-menu.vegetarisch-two-lines .buffet-hero-summary:not(.mediterran-spacing-ready) :is(p, div, ul, ol, li, h1, h2, h3, h4, h5, h6, blockquote, table) + :is(p, div, ul, ol, li, h1, h2, h3, h4, h5, h6, blockquote, table) {
    margin-top: 0 !important;
}

/* Buffet Darmstadt im Hero: Inhalt exakt wie in der Datenbank angegeben –
   natürliche Zeilenumbrüche ohne vereinheitlichte Menü-Abstände. */
.gap-2-lines .buffet-hero-summary.hero-db-raw br,
.gap-2-lines .buffet-hero-summary.hero-db-raw br + br,
.odenwald-spacing .buffet-hero-summary.hero-db-raw br,
.odenwald-two-lines .buffet-hero-summary.hero-db-raw br,
.buffet-hero-menu .buffet-hero-summary.hero-db-raw br,
.buffet-hero-menu .buffet-hero-summary.hero-db-raw br + br,
.buffet-hero-summary.hero-db-raw br,
.buffet-hero-summary.hero-db-raw br + br {
    display: inline !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gap-2-lines .buffet-hero-summary.hero-db-raw :is(p, div, ul, ol, li, h1, h2, h3, h4, h5, h6, blockquote, table) + :is(p, div, ul, ol, li, h1, h2, h3, h4, h5, h6, blockquote, table),
.odenwald-spacing .buffet-hero-summary.hero-db-raw :is(p, div, ul, ol, li, h1, h2, h3, h4, h5, h6, blockquote, table) + :is(p, div, ul, ol, li, h1, h2, h3, h4, h5, h6, blockquote, table),
.buffet-hero-summary.hero-db-raw :is(p, div, ul, ol, li, h1, h2, h3, h4, h5, h6, blockquote, table) + :is(p, div, ul, ol, li, h1, h2, h3, h4, h5, h6, blockquote, table) {
    margin-top: 0 !important;
}

/* Aktueller Hero (Buffet-Baustein): Schriftgröße und Zeilenabstände
   einheitlich wie in der Unterrubrik von "Buffet Darmstadt" (übrige
   Buffet-Menüs) – nur im Hero, nicht im Foto-/Inhaltsbereich. */
.buffet-hero-menu .buffet-hero-summary {
    font-size: 1rem;
    line-height: 1.8;
}

@media (min-width: 768px) {
    .buffet-hero-menu .buffet-hero-summary {
        font-size: 1.05rem;
    }
}

/* Hero (Buffet-Baustein): die Schrift im Menü deutlich kräftiger darstellen –
   nur im Hero, der Foto-/Inhaltsbereich bleibt unverändert. */
.buffet-hero-menu .buffet-hero-summary,
.buffet-hero-menu .buffet-hero-summary * {
    font-weight: 900 !important;
}