/* Modulare Regel – Vertikaler Abstand.
   Seite „Besatz anlegen“: ausschließlich die bestätigten Punkte 1–8.
   Nicht ausdrücklich definierte Übergänge bleiben unverändert.
   assets/css/style.css bleibt unverändert. */

/* Pkt. 1: H1/H2/H3 behalten ausschließlich die bestehende modulare
   Überschriftenregel. Hier werden keine zusätzlichen 12 px gesetzt. */

/* Pkt. 5: Hinweis-/Fehlertext -> nachfolgende Feldüberschrift = 6 px.
   Die zentrale obere Meldezeile steht unmittelbar vor der Feldüberschrift „Becken“. */
.seite-besatz-anlegen main.container .livestock-create-page
.livestock-entry-status-hint.zentrale-meldezeile-modular {
    margin-bottom: 6px !important;
}

/* Pkt. 5: Unterkante eines Feldes -> Oberkante der nachfolgenden
   Feldüberschrift = 6 px. Bestehende Feldüberschrift->Feld-Abstände bleiben
   durch die eigene modulare Feldüberschriftenregel bei 5 px. */
.seite-besatz-anlegen main.container .livestock-create-page .livestock-create-details-layout,
.seite-besatz-anlegen main.container .livestock-create-page .livestock-create-name-grid,
.seite-besatz-anlegen main.container .livestock-create-page .livestock-create-detail-top-row,
.seite-besatz-anlegen main.container .livestock-create-page .livestock-create-date-row,
.seite-besatz-anlegen main.container .livestock-create-page .livestock-create-extra-grid {
    row-gap: 6px !important;
}

/* Historische Diagnose-Innenabstände dürfen den gemessenen Abstand zur
   nachfolgenden Feldüberschrift nicht zusätzlich vergrößern. */
.seite-besatz-anlegen main.container .livestock-create-page
.livestock-create-name-grid .livestock-create-german-name-row {
    padding-top: 0 !important;
}

/* Deutscher Name -> Farbmorphe / Hybride Name: zwei aufeinanderfolgende
   Feldgruppen in getrennten Layout-Containern = 6 px. */
.seite-besatz-anlegen main.container .livestock-create-page
.livestock-create-details-layout + .livestock-create-detail-layout {
    margin-top: 6px !important;
}

/* Top-Zeile -> Datum-Zeile sind zwei aufeinanderfolgende Feldzeilen innerhalb
   des Zusatzbereichs. Der unveränderte Grundabstand des Zusatzbereichs beträgt
   5 px; 1 px Zusatzabstand ergibt die modularen 6 px. */
.seite-besatz-anlegen main.container .livestock-create-page
.livestock-create-detail-top-row + .livestock-create-date-row {
    margin-top: 1px !important;
}

/* Pkt. 5 innerhalb des Kaufpreis-Blocks: nur der vertikale Abstand zwischen
   den Feldzeilen wird modular geführt; Feldmaße, Rahmen und horizontale
   Anordnung bleiben unverändert. */
.seite-besatz-anlegen main.container .livestock-create-page
#livestock_metric_area .livestock-create-metric-item {
    row-gap: 6px !important;
}

/* Pkt. 2: Ergebnisblock unter Ergebnisblock = 12 px. Das betrifft weitere
   sichtbare Kaufpreis-Blöcke in der nächsten Rasterzeile. */
.seite-besatz-anlegen main.container .livestock-create-page
#livestock_metric_area.livestock-create-metric-grid {
    row-gap: 12px !important;
}

/* Pkt. 3: Unterkante Eingabe-/Textbereich -> Oberkante Button = 12 px.
   Der Zusatzbereich besitzt weiterhin 5 px Grundabstand; 7 px margin-top
   am bestehenden Aktionsblock ergeben zusammen exakt 12 px. */
.seite-besatz-anlegen main.container .livestock-create-page
.livestock-create-observation-block + .livestock-action-row {
    margin-top: 7px !important;
}

/* Pkt. 6/7: Auf der sichtbaren Oberfläche „Besatz anlegen“ liegt aktuell
   keine passende direkte Feldfehler-/Hinweisfolge vor; daher keine zusätzliche
   seitenbezogene Änderung. */

/* Pkt. 8 bleibt unverändert über die bestehende modulare Kaufpreis-Block-Regel:
   Unterkante Datum-Eingabefeld -> Oberkante blauer Rahmen = 12 px. */

/* Pkt. 9 und Korrektur der tatsächlich sichtbaren Kanten
   im Normalaufbau von „Besatz anlegen“.

   Der Lexikon-Block war bisher als über zwei Rasterzeilen gespanntes Element
   an der Höhenberechnung der beiden Namenszeilen beteiligt. Dadurch waren die
   sichtbaren Abstände größer als die gesetzten row-gap-Werte. Im Normalaufbau
   wird der Block daher innerhalb des bestehenden Namensbereichs layoutneutral
   positioniert. Seine vorhandene Breite, Optik und Inhalte bleiben unverändert. */
@media (min-width: 721px) {
    .seite-besatz-anlegen main.container .livestock-create-page .livestock-create-name-grid {
        position: relative !important;
        grid-template-rows: auto auto !important;
    }

    /* Pkt. 9: Tiergruppe-Unterkante -> schwarzer Lexikon-Rahmen = 12 px.
       Der Namensbereich beginnt gemäß Pkt. 5 bereits 6 px unter der
       Tiergruppen-Auswahlliste; weitere 6 px innerhalb des Namensbereichs
       ergeben den tatsächlich sichtbaren 12-px-Abstand. */
    .seite-besatz-anlegen main.container .livestock-create-page
    .livestock-create-name-grid .livestock-create-lexicon-detail-panel {
        position: absolute !important;
        top: 6px !important;
        right: 0 !important;
        margin-top: 0 !important;
        align-self: start !important;
    }

    /* Pkt. 5: Die deutsche Namenszeile bleibt die zweite linke Feldzeile.
       Da der Lexikon-Block die Rasterhöhen nicht mehr vergrößert, entspricht
       der 6-px-row-gap jetzt auch dem tatsächlich sichtbaren Kantenabstand. */
    .seite-besatz-anlegen main.container .livestock-create-page
    .livestock-create-name-grid .livestock-create-german-name-row {
        grid-column: 1 / 2 !important;
        grid-row: 2 !important;
    }
}


/* Zusage-Master: direkt aufeinanderfolgende Ergebnisblöcke
   liegen mit 20 px Gesamt-Abstand. Der letzte Innenblock -> Buttongruppe bleibt
   gemäß Buttonregel bei 12 px und wird unten durch 20 px Außenblock-Padding abgeschlossen. */
.zusage-area-page .zusage-area-form {
    row-gap: 20px !important;
}

/* Innerhalb des ersten Ergebnisblocks: Radio-Bereich -> Datumszeile = 12 px. */
.zusage-area-page .zusage-area-date-row {
    margin-top: 12px !important;
}

/* Das Formularraster liefert 20 px. -8 px an der Buttongruppe ergeben sichtbar
   exakt 12 px vom letzten inneren Ergebnisblock zur Buttonoberkante. */
.zusage-area-page .zusage-area-actions {
    margin-top: -8px !important;
}

/* Besatz ändern: vertikale Abstände nach tatsächlichen sichtbaren Kanten. */
.seite-besatz-aendern main.container .livestock-edit-page .livestock-edit-selection-layout,
.seite-besatz-aendern main.container .livestock-edit-page .livestock-edit-detail-fields {
    row-gap: 6px !important;
}

/* Besatz ändern übernimmt den oberen Abstand der Vorlage Besatz anlegen.
   Unterkante feste Meldezeile -> Oberkante erste Feldüberschrift = 6 px. */
.seite-besatz-aendern main.container .livestock-edit-page .livestock-edit-entry-status-hint.zentrale-meldezeile-modular {
    margin-bottom: 6px !important;
}
.seite-besatz-aendern main.container .livestock-edit-page .livestock-edit-entry-status-hint.zentrale-meldezeile-modular + .livestock-edit-inline-errors[hidden] + .livestock-edit-selection-layout,
.seite-besatz-aendern main.container .livestock-edit-page .livestock-edit-entry-status-hint.zentrale-meldezeile-modular + .livestock-edit-selection-layout {
    margin-top: 0 !important;
}

/* Letztes sichtbares Element vor dem Speichern-Button -> Buttonoberkante = 12 px.
   Das Elternraster liefert 6 px; weitere 6 px kommen ausschließlich am Buttonbereich hinzu. */
.seite-besatz-aendern main.container .livestock-edit-page .livestock-edit-action-row.livestock-edit-visible-action-row {
    margin-top: 6px !important;
}

/* Unterkante des letzten sichtbaren Inhalts/Buttons -> Ergebnisblock-Unterkante = 12 px. */
.seite-besatz-aendern main.container > .card.livestock-edit-page {
    padding-bottom: 12px !important;
}


/* Unterkante letzter Button -> Außen-Ergebnisblock-Unterkante
   wird ausschließlich durch die Ergebnisblock-Regel mit 20 px gesteuert. */


/* Anwendungen auf Profil löschen und Berater freischalten.
    Die in der bestehenden Fassung ergänzte Analyse-Zustimmung-Anwendung wurde
   zurückgenommen, weil sie die Position der nachfolgenden Tabelle verändert. */

/* Profil löschen: Hinweiszeile/Feldbereich -> Button „Abmelden“ = 12 px.
   Das bestehende Formularraster liefert 16 px; -4 px am direkten Folgebutton
   ergeben den sichtbaren modularen Abstand. */
.seite-profil-loeschen main.container form.form > label.form-row + button.button {
    margin-top: -4px !important;
}

/* Berater freischalten: normaler Text -> Freischaltungsbutton = 12 px.
   Der vorherige Absatz erhält an dieser Stelle keinen zusätzlichen Unterrand. */
.seite-berater-freischalten main.container .advisor-release-section > p + .advisor-release-form {
    margin-top: 12px !important;
}
.seite-berater-freischalten main.container .advisor-release-section > p {
    margin-bottom: 0 !important;
}

/* Geschichte deiner Tiere: Historientabelle -> Seitennavigation = 20 px. */
.seite-geschichte-deiner-tiere main.container
.livestock-history-table-wrap + .livestock-history-pagination.seitennavigation-modular {
    margin-top: 20px !important;
}

/* Besatzübersicht: Tabellenunterkante -> Seitennavigation
   auf die vorhandene modulare 20-px-Regel gebracht. */
.seite-besatzuebersicht main.container .livestock-overview-page .livestock-overview-pagination {
    margin-top: 20px !important;
}

/* Vollständige modulare Abstände auf den neu nachgezogenen
   Formularseiten. Feldgruppen folgen mit 6 px; zum Buttonbereich gelten 12 px. */
.seite-tagebucheintrag-erstellen main.container .diary-create-page .diary-create-form {
    gap: 6px !important;
}
.seite-tagebucheintrag-erstellen main.container .diary-create-page .diary-create-actions,
.seite-termin-erstellen main.container .appointment-create-page .appointment-button-row {
    margin-top: 12px !important;
}
.seite-termin-erstellen main.container .appointment-create-page .appointment-create-block {
    gap: 6px !important;
}

/* Seite Termine: modulare Abstände der neu abgeglichenen Bereiche. */
.seite-termine main.container .termine-page .termine-action-area {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px !important;
    min-width: 0;
}
.seite-termine main.container .termine-page .termine-pagination.seitennavigation-modular {
    margin-top: 20px !important;
}


/* Futterübersicht: Tabelle -> Seitennavigation = 20 px. */
.seite-futteruebersicht main.container .food-overview-page .food-overview-scroll-top-row {
    padding-top: 20px !important;
}

/* Button Nr. 33 – geschlossener Plus-/Minus-Bereich nach oben.
   Die aktuell maßgebliche modulare Regel beträgt 11 px. Die mit der bestehenden Fassung
   korrigierte einheitliche Blockgeometrie bleibt erhalten: Nicht die H3-Überschrift,
   sondern der vollständige nachfolgende geschlossene Plus-/Minus-Bereich wird in
   den vorhandenen Rasterabstand gezogen. Die technische Korrektur beträgt -10 px, sodass der sichtbare Abstand zur Plus-/Minus-Überschrift
   von 14 px auf exakt 11 px sinkt. Bei aria-expanded=true greift diese
   Zustandsregel nicht; die normalen modularen Abstände gelten wieder. */
body main.container
.plus-minus-bereich-modular + .plus-minus-bereich-modular:has(.plus-minus-button-modular.button-nr-33[aria-expanded="false"]) {
    margin-top: -10px !important;
}


/* Button Nr. 33 – geschlossener Plus-/Minus-Bereich nach unten.
   Im gemeinsamen modularen Plus-/Minus-Bereich liefert die vorhandene Geometrie
   unterhalb der H3-Überschrift 10 px Innenabstand + 1 px Rahmen. Für den neuen
   sichtbaren Sollabstand von exakt 11 px wird der H3-Unterrand ausschließlich bei
   aria-expanded=false auf 0 px gesetzt (0 + 10 + 1 = 11).
   Bei aria-expanded=true greift dieser Zustandsselektor nicht; der normale modulare
   H3-Abstand bleibt unverändert bestehen. */
body main.container
.plus-minus-bereich-modular:has(.plus-minus-button-modular.button-nr-33[aria-expanded="false"])
> .plus-minus-folgeueberschrift-modular {
    margin-bottom: 0 !important;
}


/* Deine Beckenübersicht – vertikale Modularisierung.
   Der letzte normale Text bzw. die Warnzeile vor dem Beckenbereich trägt
   keinen eigenen Unterrand; der bestehende 5-px-Anlauf des Beckenbereichs
   bleibt damit als sichtbarer Abstand maßgeblich. Tabelle -> Seitennavigation
   und Nach-oben-Buttongruppe -> erster normaler Text jeweils 20 px. */
.seite-deine-beckenuebersicht main.container .aquarium-overview-page
> p:has(+ .aquarium-overview-action-bar),
.seite-deine-beckenuebersicht main.container .aquarium-overview-page
> .warnzeile-modular:has(+ .aquarium-overview-action-bar) {
    margin-bottom: 0 !important;
}
.seite-deine-beckenuebersicht main.container .aquarium-overview-page
.aquarium-overview-table-shell + .aquarium-overview-pagination.seitennavigation-modular {
    margin-top: 20px !important;
}
.seite-deine-beckenuebersicht main.container .aquarium-overview-page
> .aquarium-overview-pagination.seitennavigation-modular + .aquarium-overview-note {
    margin-top: 20px !important;
}

/* Becken kopieren – bestätigte modulare Vertikalabstände.
   Das erste Formular verwendet unterschiedliche Abstände und deshalb kein
   einheitliches 16-px-Formularraster: zentrale Meldezeile -> Feld Becken = 5 px,
   Feld -> Innenblock 1 = 20 px, Innenblock 1 -> Button Nr. 1 = 12 px. */
.seite-becken-kopieren main.container #aquarium-copy-select-form {
    row-gap: 0 !important;
}
.seite-becken-kopieren main.container #aquarium-copy-select-form
> .aquarium-copy-message.zentrale-meldezeile-modular + label.form-row {
    margin-top: 5px !important;
}
.seite-becken-kopieren main.container #aquarium-copy-select-form
> label.form-row + .aquarium-copy-thought {
    margin: 20px 0 0 !important;
}
.seite-becken-kopieren main.container #aquarium-copy-select-form
> .aquarium-copy-thought + .aquarium-copy-actions {
    margin-top: 12px !important;
}

/* Zweiter Formularbereich: Hinweis unter dem Namensfeld -> Speichern-Button = 12 px.
   Der bestehende Abstand zwischen erstem Formular und Namensbereich bleibt 5 px. */
.seite-becken-kopieren main.container .aquarium-copy-name-block {
    row-gap: 12px !important;
}



/* Volumenrechner – bestätigte modulare Vertikalabstände. */
.seite-volumenrechner main.container .volume-design-form {
    margin-top: 20px !important;
    row-gap: 20px !important;
}

/* Letzter grüner Innenblock -> Berechnen/Speichern = 12 px. Das Formularraster
   liefert 20 px; -8 px am Button ergeben sichtbar exakt 12 px. */
.seite-volumenrechner main.container .volume-supply-block + button[data-volume-calculate-button] {
    margin-top: -8px !important;
}

/* Berechnen/Speichern -> weißer Volumen-Ergebnisblock = exakt 20 px.
   Der Abstand kommt ausschließlich aus dem 20-px-Formularraster. */
.seite-volumenrechner main.container button[data-volume-calculate-button] + .volume-result-block {
    margin-top: 0 !important;
}

/* Admin-Tester: direkt aufeinanderfolgende grüne Innen-Ergebnisblöcke = 20 px. */
.seite-volumenrechner main.container .volume-calculator-summary {
    display: flex;
    flex-direction: column;
}
.seite-volumenrechner main.container .volume-calculator-summary > .volume-summary-block {
    margin: 0 !important;
}
.seite-volumenrechner main.container .volume-calculator-summary > .volume-summary-block + .volume-summary-block {
    margin-top: 20px !important;
}

/* Leerzustand ohne Becken: Außenblock beginnt mit 20 px Innenabstand;
   Warnzeile addiert oben nichts, zum Button gelten 12 px. */
.seite-volumenrechner main.container > .volume-calculator-page > .no-aquarium-warning.warnzeile-modular {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.seite-volumenrechner main.container > .volume-calculator-page > .no-aquarium-warning.warnzeile-modular + a.button {
    margin-top: 12px !important;
}

/* Die bewusst unveränderte ungewöhnliche Ergebniswarnung behält ihren bisherigen
   sichtbaren Abstand von 18 px zum weißen Ergebnisblock (20 px Raster - 2 px). */
.seite-volumenrechner main.container .volume-result-block + .volume-result-warning {
    margin-top: -2px !important;
}

/* „Mein Tagebuch“: Filterbereich -> Tabelle und
   Tabellenunterkante -> Seitennavigation jeweils 20 px. */
.seite-mein-tagebuch main.container .diary-page .diary-search-form {
    margin-bottom: 20px !important;
}
.seite-mein-tagebuch main.container .diary-page .diary-pagination {
    margin-top: 20px !important;
}


/* Besatz-Becken-Übersicht – bestätigte modulare Vertikalabstände. */
.seite-besatz-becken-uebersicht main.container
.livestock-aquarium-overview-wrap + .livestock-overview-top-action {
    margin-top: 20px !important;
}

.seite-besatz-becken-uebersicht main.container
.livestock-overview-top-action + .livestock-overview-note {
    margin-top: 20px !important;
}

/* Leerzustand: Warnzeile -> Becken-anlegen-Button = 12 px. */
.seite-besatz-becken-uebersicht main.container
.no-aquarium-warning.warnzeile-modular + p {
    margin-top: 12px !important;
}

/* Kostenrechner alle Becken: H1 -> Aufbau-Hinweis wird ausschließlich
   durch den 18-px-H1-Unterabstand bestimmt; der letzte Text addiert keinen
   eigenen Unterrand zum 20-px-Ergebnisblock-Innenabstand. */
.seite-kostenrechner-alle-becken main.container .costs-overview-all-page .costs-overview-all-text {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* Terminverwaltung:
   Unterkante der Lösch-Aktionszeile -> Oberkante Tabelle = 20 px.
   Tabelle -> modulare Seitennavigation bleibt bereits 20 px. */
.seite-terminverwaltung main.container .appointment-management-page
.appointment-management-action-row {
    margin-bottom: 20px !important;
}


/* Technik-Übersicht: modulare Vertikalabstände.
   Filter-/Buttonbereich -> erste Tabelle = 20 px; Tabelle -> Seitennavigation = 20 px.
   Bei Tabelle 2 werden die historischen 28-/8-px-Zusatzabstände entfernt;
   die H2-Abstände 16/16 px sind allein maßgeblich. */
.seite-technik-uebersicht main.container .technology-overview-page .technology-filter-form {
    margin-bottom: 20px !important;
}
.seite-technik-uebersicht main.container .technology-overview-page .technology-table-block-active {
    margin-top: 0 !important;
}
.seite-technik-uebersicht main.container .technology-overview-page .technology-pagination {
    margin-top: 20px !important;
}
.seite-technik-uebersicht main.container .technology-overview-page .technology-table-block + .technology-table-block {
    margin-top: 0 !important;
}
.seite-technik-uebersicht main.container .technology-overview-page .technology-inactive-heading-row {
    margin-bottom: 0 !important;
}


/* Futter-Formular: bestätigte modulare Vertikalabstände. */
.seite-futter-formular main.container .food-form-aquarium-filter {
    margin-bottom: 20px !important;
}
.seite-futter-formular main.container .food-suggestion-form .food-suggestion-wrap {
    margin-top: 0 !important;
}
.seite-futter-formular main.container .food-form-button-row {
    margin-top: 12px !important;
}


/* Futterübersicht zu allen Becken: bestätigte modulare Vertikalabstände. */
.seite-futteruebersicht-alle-becken main.container .food-overview-all-filter-row {
    margin-bottom: 20px !important;
}
.seite-futteruebersicht-alle-becken main.container .food-overview-all-pagination {
    padding-top: 20px !important;
}


/* Futter-ABC: Abstand zwischen direkt aufeinanderfolgenden
   inneren Ergebnisblöcken = 20 px; der letzte Innenblock endet ohne Außenabstand. */
.seite-futter-abc main.container .food-abc-block.ergebnisblock-innen-1-modular {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

.seite-futter-abc main.container .food-abc-block.ergebnisblock-innen-1-modular:last-child {
    margin-bottom: 0 !important;
}


/* Vertikale Abstände im Hauptmenü Wasserwerte. */
.seite-wasseranalyse-anlegen main.container .water-analysis-message-line.zentrale-meldezeile-modular {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
}
.seite-wasseranalyse-anlegen main.container .water-analysis-table-scroll {
    margin-top: 20px !important;
}

/* Wechselnde Meldezeile -> erste Feldüberschrift = 6 px; Feldzeile -> nächste
   Feldzeile = 6 px. Die horizontalen Feldabstände bleiben unverändert. */
:is(.seite-wasserwerte-anzeigen, .seite-wasserwerte-erfassen) main.container .water-values-page
.water-values-message-row.zentrale-meldezeile-modular + .water-values-entry-top-row {
    margin-top: 6px !important;
}
:is(.seite-wasserwerte-anzeigen, .seite-wasserwerte-erfassen) main.container .water-values-page
.water-values-entry-top-row + .field-grid.water-values-field-grid {
    margin-top: 6px !important;
}
:is(.seite-wasserwerte-anzeigen, .seite-wasserwerte-erfassen) main.container .water-values-page
.water-values-top-link-row.water-values-after-table {
    margin-top: 20px !important;
}

/* ICP importieren: Feld -> nächste Feldüberschrift = 6 px; letztes Feld -> Button = 12 px. */
.seite-icp-importieren main.container .icp-import-page form.form {
    row-gap: 6px !important;
}
.seite-icp-importieren main.container .icp-import-page form.form > .button {
    margin-top: 6px !important;
}


/* Sechs Platzhalterseiten im Hauptmenü Bestandsauswertung:
   H1 -> Platzhaltertext wird ausschließlich über den 18-px-H1-Unterabstand
   geführt. Der Text addiert weder oben noch unten eine Browser-Standardmarge. */
:is(
    .seite-auswertung-becken,
    .seite-auswertung-bestand,
    .seite-auswertung-wasserwerte,
    .seite-auswertung-futter,
    .seite-auswertung-technik,
    .seite-deine-auswertung
) main.container .stock-analysis-placeholder-page > .placeholder-text {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* Einfache Text-/Platzhalterseiten der Hauptmenüs KI Analysen,
   Kosten Homepage und Kaufunterstützung. H1 -> erster Text wird ausschließlich
   durch den 18-px-H1-Unterabstand geführt; letzter Text addiert keinen eigenen
   Unterrand. Beim KI-Chatbot bleibt der bestehende 20-px-Abstand zum Baustellen-
   Bild über .construction-visual erhalten. */
:is(
    .seite-analyse-uebersicht,
    .seite-analyse-ergebnisse
) main.container > .ergebnisblock-aussen-modular > p,
:is(
    .seite-projektkosten-aufwand,
    .seite-shop-auswahl
) main.container > .placeholder-page.ergebnisblock-aussen-modular > .placeholder-text {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.seite-analyse main.container > .analysis-page.ergebnisblock-aussen-modular > p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* Öffentliche Seiten: bestätigte modulare Vertikalabstände. */
/* Startseite: äußere Ergebnisblöcke untereinander 20 px; Ergebnisblock -> Buttonbereich 12 px. */
body.seite-startseite main.container > .hero.public-page-block {
    margin-bottom: 0 !important;
}
body.seite-startseite main.container > .grid.cards-2 {
    margin-top: 20px !important;
    row-gap: 20px !important;
}
body.seite-startseite main.container > .grid.cards-2 > .public-page-block {
    margin-bottom: 0 !important;
}
body.seite-startseite main.container > .overview-card.public-page-block {
    margin-top: 20px !important;
    margin-bottom: 0 !important;
}
body.seite-startseite main.container > .public-bottom-actions {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
}

/* Anmelden: letztes Feld -> Anmelden-Button = 12 px (5 px Gridabstand + 7 px Zusatz). */
body.seite-anmelden main.container form.form > button.button[type="submit"] {
    margin-top: 7px !important;
}

/* Registrieren: H1 -> Warnzeile ausschließlich H1-Abstand; Warnzeile -> zentrale
   Meldezeile = 12 px; letztes Feld -> Aktionszeile = 12 px. */
body.seite-registrierung main.container .register-card > .notice.warning {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
}
body.seite-registrierung main.container .register-form-actions {
    margin-top: 7px !important;
}
