/*
Theme Name: GeldHelden Neubau
Description: Ruhiges, gut lesbares Block-Theme für den GeldHelden-Neubau (Zielgruppe 50+). Designsystem in theme.json, Bausteine als Muster.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: geldhelden-neubau
License: proprietär
*/

/* Ergänzungen, die theme.json nicht abbildet. Alles andere steht in theme.json. */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(p, li) { max-width: 68ch; }
.has-text-align-center:where(p) { margin-inline: auto; }
::selection { background: #F5DFA0; color: #0D1B36; }

/* Sprunglink für Tastatur */
.gh-sprung { position: absolute; left: -9999px; }
.gh-sprung:focus { left: 1rem; top: 1rem; z-index: 999; background: #fff; padding: .75rem 1rem; }

/* Knöpfe: zweite Variante (Umriss) und Mindestgröße 56px für Finger und Maus */
.wp-element-button, .wp-block-button__link { min-height: 56px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: #0D1B36; border: 2px solid #0D1B36; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: #0D1B36; color: #fff; }
.wp-block-button.is-style-gold .wp-block-button__link { background: #E2B33C; color: #0D1B36; }
.wp-block-button.is-style-gold .wp-block-button__link:hover { background: #F0C75A; }

/* Karten */
.is-style-karte { background: #fff; border: 1px solid #DCD3C2; border-radius: 14px; padding: clamp(1.5rem, 3vw, 2.25rem); box-shadow: 0 1px 2px rgba(13,27,54,.04), 0 8px 24px rgba(13,27,54,.05); }
.is-style-karte-hervor { background: #fff; border: 2px solid #0D1B36; border-radius: 14px; padding: clamp(1.5rem, 3vw, 2.25rem); box-shadow: 0 12px 32px rgba(13,27,54,.10); }

/* Kleine Überzeile über Abschnittstiteln */
.gh-ueberzeile { font-size: 1rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8A5E04; margin-bottom: .25rem; }

/* Häkchenliste */
.is-style-haken { list-style: none; padding-left: 0; }
.is-style-haken li { position: relative; padding-left: 2rem; margin-bottom: .6rem; }
.is-style-haken li::before { content: ""; position: absolute; left: 0; top: .45em; width: 1.1rem; height: .6rem; border-left: 3px solid #1E6B4F; border-bottom: 3px solid #1E6B4F; transform: rotate(-45deg); }

/* Schrittzahl im Kreis */
.gh-schritt { display: inline-flex; width: 3rem; height: 3rem; border-radius: 50%; background: #0D1B36; color: #fff; font-weight: 700; align-items: center; justify-content: center; font-size: 1.25rem; }

/* Kennzahl */
.gh-zahl { font-family: "Source Serif 4", Georgia, serif; font-size: clamp(2.25rem, 4vw, 3rem); font-weight: 700; color: #0D1B36; line-height: 1.1; margin: 0; }

/* Platzhalter im Mockup sichtbar markieren */
.gh-platzhalter { background: #FFF3C4; outline: 2px dashed #8A5E04; outline-offset: 2px; padding: 0 .25rem; }

/* Fragen und Antworten */
.wp-block-details summary { font-weight: 700; font-size: 1.25rem; cursor: pointer; color: #0D1B36; padding: .25rem 0; }
.wp-block-details summary:focus-visible { outline: 3px solid #8A5E04; outline-offset: 3px; }

/* Kopfzeile */
.gh-kopf { border-bottom: 1px solid #DCD3C2; }
.gh-marke { font-family: "Source Serif 4", Georgia, serif; font-weight: 700; font-size: 1.6rem; color: #0D1B36; text-decoration: none; letter-spacing: -.01em; }
.gh-marke span { color: #8A5E04; }

/* Bewegung nur, wenn erwünscht */
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; animation: none !important; } }

/* Statusliste (Beispiel Kundenbereich) */
.gh-status { list-style: none; padding: 0; margin: 0; }
.gh-status li { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0 .85rem 2.1rem; border-bottom: 1px solid #DCD3C2; position: relative; max-width: none; }
.gh-status li:last-child { border-bottom: 0; }
.gh-status li::before { content: ""; position: absolute; left: 0; top: 1.05rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; border: 2px solid #9AA0AA; box-sizing: border-box; }
.gh-status li.ist-fertig::before { background: #1E6B4F; border-color: #1E6B4F; }
.gh-status li.ist-laufend::before { border-color: #8A5E04; background: linear-gradient(90deg, #E2B33C 50%, transparent 50%); }
.gh-status strong { font-size: 1.0625rem; color: #555B66; font-weight: 700; white-space: nowrap; }
.gh-status li.ist-fertig strong { color: #1E6B4F; }

/* Designsystem-Seite: Farbraster */
.gh-farbraster { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; }
.gh-farbe { display: flex; flex-direction: column; gap: .2rem; font-size: 1rem; }
.gh-farbe span { display: block; height: 72px; border-radius: 10px; border: 1px solid #DCD3C2; }
.gh-farbe small { color: #555B66; }

/* Fußzeile: Links hell auf Nachtblau */
footer .has-nachtblau-background-color a { color: #F3EBDD; }
footer .has-nachtblau-background-color a:hover { color: #E2B33C; }
footer .has-nachtblau-background-color li { margin-bottom: .4rem; }

/* Handy: Knöpfe volle Breite, leichter zu treffen */
@media (max-width: 600px) { .wp-block-buttons > .wp-block-button { width: 100%; } .wp-block-buttons .wp-block-button__link { width: 100%; } }

/* Formulare (Anfrage, Bewerbung): große Felder, sichtbare Beschriftung, Fokus deutlich */
.gh-anfrage { max-width: 640px; }
.gh-feld { margin: 0 0 1.1rem; }
.gh-feld label, .gh-feld legend { display: block; font-weight: 700; margin-bottom: .35rem; color: #0D1B36; }
.gh-feld input[type=text], .gh-feld input[type=email], .gh-feld input[type=tel], .gh-feld select, .gh-feld textarea,
.woocommerce form .input-text, .woocommerce form select { width: 100%; font: inherit; font-size: 1.125rem; padding: .8rem .9rem; border: 2px solid #9AA0AA; border-radius: 8px; background: #fff; color: #22262E; box-sizing: border-box; min-height: 52px; }
.gh-feld input:focus, .gh-feld select:focus, .gh-feld textarea:focus { outline: 3px solid #8A5E04; outline-offset: 2px; border-color: #0D1B36; }
.gh-feld fieldset, fieldset.gh-feld { border: 0; padding: 0; }
.gh-wahl { display: flex !important; gap: .6rem; align-items: center; font-weight: 400 !important; margin: .4rem 0; cursor: pointer; }
.gh-wahl input, .gh-einwilligung input { width: 1.4rem; height: 1.4rem; flex: none; }
.gh-einwilligung label { font-weight: 400; display: flex; gap: .6rem; align-items: flex-start; }
.gh-optional { font-weight: 400; color: #555B66; }
.gh-honig { position: absolute !important; left: -9999px !important; }
.gh-meldung { border-left: 6px solid #1E6B4F; }

/* Fälle im Kundenkonto */
.gh-fall { margin-bottom: 1.5rem; }
.gh-fall-titel { font-size: 1.6rem; margin: 0 0 .35rem; }
.gh-fall-bereich { font-weight: 400; color: #555B66; font-size: 1.2rem; }
.gh-fall-status { margin: 0 0 .75rem; }
.gh-schritte { counter-reset: none; }
.gh-verlauf summary { font-size: 1.0625rem; }
.gh-verlauf ul { list-style: none; padding: 0; font-size: 1.0625rem; }
.gh-verlauf time { color: #555B66; margin-right: .5rem; }
.gh-mitglied { background: #F3EBDD; border-radius: 10px; padding: .9rem 1.1rem; }

/* Lotse */
.gh-lotse-link { width: 100%; font: inherit; padding: .8rem; border: 2px solid #9AA0AA; border-radius: 8px; }
.gh-lotse-zahlen { display: flex; gap: 2.5rem; flex-wrap: wrap; }
.gh-tabelle { width: 100%; border-collapse: collapse; font-size: 1.0625rem; }
.gh-tabelle th, .gh-tabelle td { text-align: left; padding: .6rem .5rem; border-bottom: 1px solid #DCD3C2; }

/* WooCommerce: Kontomenü als große Reiter */
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.woocommerce-MyAccount-navigation a { display: inline-block; padding: .6rem 1rem; border: 2px solid #DCD3C2; border-radius: 8px; text-decoration: none; font-weight: 700; }
.woocommerce-MyAccount-navigation .is-active a { background: #0D1B36; color: #fff; border-color: #0D1B36; }
.gh-gobinar-platzhalter input { width: 100%; padding: .7rem; font: inherit; }

/* Kundenkonto: Menü als waagerechte Reiter über dem Inhalt (statt schmaler Spalte) */
.woocommerce-account .woocommerce { display: block; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: 100% !important; max-width: 760px; }
.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 1.75rem; }
.woocommerce-MyAccount-navigation li { margin: 0; }

/* Einwilligung: Häkchen links, Satz samt Link als ein Absatz (vorher zerfiel er auf dem Handy) */
.gh-einwilligung label { display: grid !important; grid-template-columns: 1.4rem 1fr; gap: .7rem; align-items: start; font-weight: 400; }
.gh-einwilligung label span { min-width: 0; }
.gh-hinweis { color: #3F4550; }

/* Empfehlungshinweis oben */
.gh-empfohlen { background: #F3EBDD; color: #0D1B36; text-align: center; padding: .55rem 1rem; font-size: 1.0625rem; }

/* Überschriften in schmalen Karten nicht mitten im Wort trennen */
.is-style-karte h3, .is-style-karte-hervor h3 { hyphens: manual; overflow-wrap: normal; word-break: normal; font-size: clamp(1.375rem, 2vw, 1.6rem); }
.wp-block-button__link { white-space: normal; }

/* Kontomenü: alle Reiter auf einer Linie, Abmelden als kleiner Textlink rechts */
.woocommerce-MyAccount-navigation ul { align-items: center; }
.woocommerce-MyAccount-navigation li { display: flex; }
.woocommerce-MyAccount-navigation-link--customer-logout { margin-left: auto !important; }
.woocommerce-MyAccount-navigation-link--customer-logout a { border: 0 !important; font-weight: 400 !important; text-decoration: underline !important; padding: .6rem .25rem !important; }

/* Handy: Knopfschrift so groß wie Fließtext */
@media (max-width: 600px) { .wp-block-button__link, .wp-element-button { font-size: 1.1875rem !important; } }

/* „Wer ist dran“ und Ansprechpartner in Mein Plan B */
.gh-dran { background: #FFF6DE; border-left: 5px solid #E2B33C; padding: .7rem 1rem; border-radius: 6px; margin: 0 0 .9rem; }
.gh-ansprechpartner { background: #fff; border: 1px solid #DCD3C2; border-radius: 10px; padding: .9rem 1.1rem; }

/* Kontomenü: alle Reiter exakt auf einer Höhe, Abmelden in derselben Zeile */
.woocommerce-MyAccount-navigation ul { flex-wrap: wrap; align-items: stretch !important; }
.woocommerce-MyAccount-navigation li, .woocommerce-MyAccount-navigation li.is-active { margin: 0 !important; padding: 0 !important; border: 0 !important; line-height: 1.3; }
.woocommerce-MyAccount-navigation li a { margin: 0 !important; }
.woocommerce-MyAccount-navigation .is-active a { border-width: 2px; }

/* Knöpfe nie mitten im Wort trennen; Zusatz beim Preis eigene Zeile mit normalem Abstand (G1, G5) */
.wp-block-button__link, .wp-element-button { overflow-wrap: normal !important; word-break: normal !important; hyphens: manual !important; }
p.has-gross-font-size > span.has-klein-font-size { display: block; line-height: 1.4; margin-top: .2rem; }
.is-style-karte h3, .is-style-karte-hervor h3 { font-size: clamp(1.25rem, 1.6vw, 1.5rem); }

/* Handy: Reiter im Kundenkonto kompakter */
@media (max-width: 600px) { .woocommerce-MyAccount-navigation a { padding: .5rem .7rem; font-size: 1rem; } }

/* ===== Verkaufsseite 16.10.2026: Held, Bilder, Paketvergleich, Abschluss, Handy-Leiste ===== */
.gh-held { padding-top: clamp(1.5rem, 4vw, 4rem); padding-bottom: clamp(2rem, 5vw, 5rem); }
.gh-held-raster { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
.gh-held-text h1 { margin: .25rem 0 1rem; }
.gh-held-knoepfe { display: flex; flex-wrap: wrap; gap: .75rem 1rem; margin: 1.5rem 0 .75rem; }
.gh-held-neben { margin: 0 0 1.25rem; }
.gh-vertrauen { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; font-size: 1.0625rem; color: #3F4550; }
.gh-vertrauen li { position: relative; padding-left: 1.6rem; max-width: none; }
.gh-vertrauen li::before { content: ""; position: absolute; left: .1rem; top: .4em; width: .85rem; height: .45rem; border-left: 3px solid #1E6B4F; border-bottom: 3px solid #1E6B4F; transform: rotate(-45deg); }
.gh-held-bild { position: relative; margin: 0; }
.gh-held-bild img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; display: block; box-shadow: 0 20px 50px rgba(13,27,54,.18); }
.gh-held-karte { position: absolute; left: -2.5rem; bottom: -2.5rem; width: min(300px, 70%); background: #fff; border-radius: 14px; padding: 1rem 1.25rem .5rem; box-shadow: 0 12px 32px rgba(13,27,54,.18); font-size: 1rem; }
.gh-held-karte p { margin: 0 0 .25rem; font-size: 1.0625rem; color: #0D1B36; }
.gh-held-karte p span { color: #555B66; font-weight: 400; }
.gh-held-karte .gh-status li { padding: .5rem 0 .5rem 1.8rem; font-size: 1rem; }
.gh-held-karte .gh-status li::before { top: .65rem; width: 1rem; height: 1rem; }
.gh-held-karte .gh-status strong { font-size: .95rem; }
@media (min-width: 900px) {
  .gh-held-raster { grid-template-columns: 1.1fr 1fr; gap: 3.5rem; }
  .gh-vertrauen { grid-template-columns: 1fr 1fr; column-gap: 1.5rem; }
}
@media (max-width: 899px) { .gh-held-karte { position: relative; left: auto; bottom: auto; width: auto; margin: -2.5rem 1rem 0; } }

/* Zweispalter mit Bild */
.gh-kopfzeile { max-width: 760px; margin-bottom: 2rem; }
.gh-kopfzeile p:last-child { margin-bottom: 0; }
.gh-zwei { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
.gh-bild { margin: 0; }
.gh-bild img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 16px; display: block; }
.gh-bild figcaption { font-size: 1.0625rem; margin-top: .5rem; }
@media (min-width: 900px) {
  .gh-zwei { grid-template-columns: 1fr 1fr; gap: 3.5rem; }
  .gh-zwei-schmal { grid-template-columns: 1fr 1.6fr; }
  .gh-zwei-schmal .gh-bild img { aspect-ratio: 1; }
}
.gh-drei { display: grid; grid-template-columns: 1fr; gap: 1.25rem; margin-top: 2.5rem; }
@media (min-width: 782px) { .gh-drei { grid-template-columns: repeat(3, 1fr); } }

/* Bildkarten der Bausteine */
.gh-vier { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 600px) { .gh-vier { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .gh-vier { grid-template-columns: repeat(4, 1fr); } }
.gh-bildkarte { display: flex; flex-direction: column; background: #fff; border-radius: 14px; overflow: hidden; text-decoration: none; color: inherit; border: 1px solid #DCD3C2; box-shadow: 0 8px 24px rgba(13,27,54,.06); transition: transform .15s ease, box-shadow .15s ease; }
.gh-bildkarte:hover, .gh-bildkarte:focus-visible { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(13,27,54,.14); }
.gh-bildkarte img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.gh-bildkarte-text { display: flex; flex-direction: column; gap: .5rem; padding: 1.1rem 1.25rem 1.35rem; flex: 1; }
.gh-bildkarte-text strong { font-family: "Source Serif 4", Georgia, serif; font-size: 1.4rem; color: #0D1B36; }
.gh-bildkarte-text span { font-size: 1.0625rem; color: #3F4550; flex: 1; }
.gh-bildkarte-text em { font-style: normal; font-weight: 700; color: #8A5E04; }
.gh-fussnote { font-size: 1.0625rem; color: #3F4550; margin-top: 1.5rem; max-width: none; }

/* Schritte */
.gh-schritte-liste { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.5rem; }
.gh-schritte-liste li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; max-width: none; }
.gh-schritte-liste h3 { margin: .35rem 0 .25rem; font-size: 1.5rem; }
.gh-schritte-liste p { margin: 0; }
.gh-mitte { justify-content: center; margin-top: 2.5rem; display: flex; }

/* Paketvergleich */
.gh-vergleich { width: 100%; border-collapse: separate; border-spacing: 0; display: none; font-size: 1.0625rem; }
.gh-vergleich th, .gh-vergleich td { padding: .9rem 1rem; border-bottom: 1px solid #DCD3C2; text-align: center; vertical-align: middle; }
.gh-vergleich tbody th { text-align: left; font-weight: 400; color: #22262E; width: 34%; }
.gh-vergleich thead th { vertical-align: bottom; padding-top: 1.25rem; }
.gh-vergleich thead th strong { display: block; font-family: "Source Serif 4", Georgia, serif; font-size: 1.45rem; color: #0D1B36; }
.gh-vergleich-titel { display: block; text-align: left; font-family: "Source Serif 4", Georgia, serif; font-size: 1.3rem; color: #0D1B36; }
.gh-preis { display: block; font-size: 1.6rem; font-weight: 700; color: #0D1B36; margin-top: .25rem; }
.gh-preis small { font-size: 1rem; font-weight: 400; color: #555B66; }
.gh-vergleich .ist-hervor { background: #FFF8E6; border-left: 2px solid #E2B33C; border-right: 2px solid #E2B33C; }
.gh-vergleich thead th.ist-hervor { border-top: 2px solid #E2B33C; border-radius: 14px 14px 0 0; }
.gh-vergleich tr:last-child td.ist-hervor { border-bottom: 2px solid #E2B33C; border-radius: 0 0 14px 14px; }
.gh-vergleich .gh-fuer td { font-size: 1rem; color: #3F4550; vertical-align: top; }
.gh-vergleich .gh-knoepfe td { border-bottom: 0; }
.gh-vergleich .gh-knoepfe .wp-block-buttons { justify-content: center; }
.gh-ja { color: #1E6B4F; font-weight: 700; font-size: 1.35rem; }
.gh-nein { color: #9AA0AA; font-size: 1.35rem; }
.gh-text { font-weight: 700; color: #0D1B36; }
.gh-abzeichen { display: inline-block; background: #E2B33C; color: #0D1B36; font-weight: 700; font-size: .9rem; letter-spacing: .06em; text-transform: uppercase; padding: .2rem .7rem; border-radius: 999px; margin-bottom: .4rem; }
.gh-paketkarten { display: grid; gap: 1.25rem; }
.gh-paketkarten h3 { margin: 0; }
.gh-paketkarten .gh-preis { margin: .25rem 0 .75rem; }
.gh-fuer-text { color: #3F4550; }
.gh-leistungen { list-style: none; padding: 0; margin: 0 0 1.25rem; }
.gh-leistungen li { display: grid; grid-template-columns: 1.6rem 1fr; gap: .5rem; padding: .45rem 0; border-bottom: 1px solid #EFE7D8; font-size: 1.0625rem; max-width: none; }
.gh-leistungen li.ist-nein { display: none; }
.gh-leistungen .gh-text { grid-column: 1 / -1; font-size: 1rem; color: #1E6B4F; }
.gh-leistungen li:has(.gh-text) { grid-template-columns: 1fr; gap: 0; }
@media (min-width: 900px) { .gh-vergleich { display: table; } .gh-paketkarten { display: none; } }

/* Abschluss */
.gh-abschluss { background: #0D1B36; color: #fff; padding: clamp(2.5rem, 6vw, 5rem) 1.25rem; margin: 0 !important; max-width: none !important; }
.gh-abschluss-innen { max-width: 1160px; margin: 0 auto; display: grid; gap: 2rem; align-items: center; }
.gh-abschluss h2 { color: #fff; margin: .25rem 0 1rem; }
.gh-abschluss .gh-ueberzeile { color: #E2B33C; }
.gh-abschluss p { color: #F3EBDD; }
.gh-abschluss a:not(.wp-block-button__link) { color: #F5DFA0; }
.gh-abschluss .wp-block-buttons { display: flex; flex-wrap: wrap; gap: .75rem 1rem; margin: 1.5rem 0 1rem; }
.gh-abschluss-bild { margin: 0; }
.gh-abschluss-bild img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 16px; display: block; }
@media (min-width: 900px) { .gh-abschluss-innen { grid-template-columns: 1.1fr 1fr; gap: 3.5rem; } }
.wp-block-button.is-style-hell .wp-block-button__link { background: transparent; color: #fff; border: 2px solid #F3EBDD; }
.wp-block-button.is-style-hell .wp-block-button__link:hover { background: #fff; color: #0D1B36; }
main > .gh-abschluss:last-child, .entry-content > .gh-abschluss:last-child { margin-bottom: calc(-1 * var(--wp--preset--spacing--50)) !important; }

/* Belege */
.gh-beleg { display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; margin: 1.25rem 0; }
.gh-beleg p { margin: 0; }

/* Fragen */
.gh-fragen .wp-block-details { background: #fff; border: 1px solid #DCD3C2; border-radius: 12px; padding: .9rem 1.25rem; margin: 0 0 .75rem; }
.gh-fragen .wp-block-details[open] { box-shadow: 0 8px 24px rgba(13,27,54,.06); }
.gh-fragen summary { list-style-position: outside; }
.gh-fragen .wp-block-details p { margin: .75rem 0 .25rem; }

/* Kopf: Kaufknopf */
.gh-kopf-zeile { gap: 1rem; align-items: center; }
.gh-kopf-zeile .wp-block-navigation { margin-left: auto; }
.gh-kopf-knopf { display: inline-flex; align-items: center; min-height: 48px; padding: .5rem 1.1rem; border-radius: 8px; background: #E2B33C; color: #0D1B36; font-weight: 700; text-decoration: none; white-space: nowrap; }
.gh-kopf-knopf:hover { background: #F0C75A; }
@media (max-width: 600px) { .gh-kopf-knopf { min-height: 44px; padding: .4rem .8rem; font-size: 1rem; } .gh-marke { font-size: 1.35rem; } }
@media (min-width: 600px) and (max-width: 1100px) { .gh-kopf-zeile .wp-block-navigation { gap: 1rem !important; font-size: 1.0625rem; } }

/* Handy: feste Kaufleiste */
.gh-leiste { display: none; }
@media (max-width: 781px) {
  .gh-leiste { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; gap: .5rem; padding: .6rem .75rem calc(.6rem + env(safe-area-inset-bottom)); background: rgba(13,27,54,.97); transform: translateY(110%); transition: transform .2s ease; }
  .gh-leiste.ist-sichtbar { transform: none; }
  .gh-leiste-knopf { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 52px; border-radius: 8px; background: #E2B33C; color: #0D1B36; font-weight: 700; text-decoration: none; font-size: 1.125rem; }
  .gh-leiste-neben { display: flex; align-items: center; padding: 0 1rem; color: #fff; border: 2px solid #F3EBDD; border-radius: 8px; text-decoration: none; font-weight: 700; }
  body:has(.gh-leiste) footer { padding-bottom: 76px; }
}

/* Seitenbild unter dem Titel der Unterseiten */
.gh-seitenbild { margin: 0 0 2rem; }
.gh-seitenbild img { width: 100%; height: auto; aspect-ratio: 21 / 9; object-fit: cover; border-radius: 16px; display: block; }
@media (max-width: 600px) { .gh-seitenbild img { aspect-ratio: 16 / 10; } }
.gh-sprungliste { font-size: 1.0625rem; }
.gh-baustein-bild { margin: calc(-1 * clamp(1.5rem, 3vw, 2.25rem)) calc(-1 * clamp(1.5rem, 3vw, 2.25rem)) .5rem !important; max-width: none !important; width: calc(100% + 2 * clamp(1.5rem, 3vw, 2.25rem)); }
.gh-baustein-bild img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 14px 14px 0 0; display: block; }
.gh-baustein { overflow: hidden; }
.gh-baustein .wp-block-buttons { margin-top: auto; }
/* Korrekturen Held 16.10. */
.wp-block-button__link { box-sizing: border-box; }
.gh-held-knoepfe .wp-block-button { max-width: 100%; }
.gh-held { padding-top: clamp(1.25rem, 3vw, 2.5rem) !important; }
.gh-held-text h1 { margin-top: .25rem; }
@media (min-width: 900px) {
  .gh-held-bild img { aspect-ratio: 5 / 6; object-position: 60% center; }
  .gh-held-karte { left: -2rem; bottom: 1.5rem; width: 320px; padding: .8rem 1rem .3rem; }
  .gh-held-karte .gh-status li { padding: .4rem 0 .4rem 1.6rem; font-size: .95rem; }
  .gh-held-karte .gh-status li span { white-space: nowrap; }
}
@media (max-width: 899px) { .gh-held-bild img { aspect-ratio: 16 / 10; } }
.gh-kurzhaken { font-size: 1.0625rem; margin: 1rem 0; } .gh-kurzhaken li { margin-bottom: .45rem; }
@media (max-width: 899px) { .gh-paketkarten > .is-style-karte-hervor { order: -1; } }
