/*
 * Hydro-Berlin: Anpassungen für Plugins (Contact Form 7, Forminator, Complianz, Easy Accordion, Stackable,
 * Rank Math Brotkrumen, TranslatePress) sowie Jahresfilter und Video-Poster.
 * Die Plugins behalten ihre Einstellungen und Texte; hier wird nur das Aussehen an die neue Seite angepasst.
 */
:root {
	--hyb-field-border: #7a8ba0;
	--hyb-danger: var(--wp--preset--color--danger, #b3261e);
	--hyb-ok: var(--wp--preset--color--ok, #1b7f4b);
	--hyb-navy: var(--wp--preset--color--navy, #0a13a0);
	--hyb-navy-700: var(--wp--preset--color--navy-700, #070e7a);
	--hyb-focus: var(--wp--custom--focus, #0a13a0);
	--hyb-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* ===================================================================================================
   Sprachumschalter, Brotkrumen, Jahresfilter
   =================================================================================================== */
.hyb-lang { margin: 0; }
.hyb-lang a { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; padding: 0 0.5rem; border: 1.5px solid var(--wp--preset--color--mist-300); border-radius: 6px; font-size: 0.9375rem; font-weight: 650; letter-spacing: 0.04em; text-decoration: none; color: var(--wp--preset--color--ink); }
.hyb-lang a:hover { border-color: var(--wp--preset--color--navy); color: var(--wp--preset--color--navy); }
.hyb-footer .hyb-lang a { min-width: 2.75rem; padding: 0; border: 0; border-radius: 0; letter-spacing: 0; font-size: inherit; font-weight: 400; color: #fff; text-decoration: underline; text-underline-offset: 0.18em; }
.hyb-footer .hyb-lang a:hover { background: none; color: #fff; text-decoration-thickness: 2px; }
.hyb-footer .wp-block-column:has(.hyb-lang) { display: flex; flex-wrap: wrap; align-items: center; gap: 0 1.5rem; }
/* TranslatePress-Schwebeschalter nicht zusätzlich zeigen (der Umschalter sitzt in Kopf- und Fußzeile) */
#trp-floater-ls, .trp-language-switcher.trp-floating-switcher { display: none !important; }

.hyb-crumbs { margin: 0 0 0.9rem; }
.hyb-crumbs p { margin: 0; display: flex; flex-wrap: wrap; align-items: center; font-size: 0.9375rem; color: var(--wp--preset--color--ink-3); }
.hyb-crumbs a { display: inline-flex; align-items: center; min-height: 2.75rem; min-width: 2.75rem; color: var(--wp--preset--color--ink-3); text-decoration: none; }
.hyb-crumbs a:hover { color: var(--wp--preset--color--navy); text-decoration: underline; }
.hyb-crumbs .separator { display: inline-block; width: 0.4rem; height: 0.4rem; margin-inline: 0.55rem; font-size: 0; border-top: 1.5px solid var(--wp--preset--color--mist-300); border-right: 1.5px solid var(--wp--preset--color--mist-300); transform: rotate(45deg); }
.hyb-crumbs .last { color: var(--wp--preset--color--ink-2); }
@media (max-width: 39.99rem) { .hyb-crumbs .separator:has(+ .last), .hyb-crumbs .last { display: none; } }   /* Handy: aktuelle Seite steht direkt darunter als Überschrift */
.hyb-crumbs + h1, .hyb-page-head .hyb-crumbs ~ * { margin-top: 0; }

.hyb-filter ul { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; padding: 0; margin: 0 0 2rem; }
.hyb-filter .chip { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; min-width: 2.75rem; padding: 0 1.1rem; border: 1.5px solid var(--wp--preset--color--mist-300); border-radius: 999px; background: #fff; font-weight: 600; font-size: 0.9375rem; color: var(--wp--preset--color--ink-2); text-decoration: none; transition: background-color 0.2s var(--hyb-ease), color 0.2s var(--hyb-ease), border-color 0.2s var(--hyb-ease); }
.hyb-filter .chip:hover { border-color: var(--wp--preset--color--ink-3); color: var(--wp--preset--color--ink); }
.hyb-filter .chip.is-active { background: var(--wp--preset--color--slate-800); border-color: var(--wp--preset--color--slate-800); color: #fff; }

/* Aktuelles: erster Beitrag groß (nur auf Seite 1, ab Desktop-Breite) */
body .wp-block-read-more { display: inline-flex; align-items: center; min-height: 2.75rem; min-width: 2.75rem; }
.hyb-card__excerpt { margin: 0; font-size: 1rem; line-height: 1.55; color: var(--wp--preset--color--ink-2); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.hyb-card__excerpt .wp-block-post-excerpt__excerpt { margin: 0; }
@media (min-width: 64rem) {
	body:not(.paged) .hyb-cards--archive > li:first-child { grid-column: 1 / -1; }
	body:not(.paged) .hyb-cards--archive > li:first-child .hyb-card { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 2rem; align-items: center; }
	body:not(.paged) .hyb-cards--archive > li:first-child .hyb-card__media { aspect-ratio: 16 / 10; border-radius: 20px 6px 20px 6px; }
	body:not(.paged) .hyb-cards--archive > li:first-child .hyb-card__media img { aspect-ratio: 16 / 10; }
	body:not(.paged) .hyb-cards--archive > li:first-child .hyb-card__body { padding: 0; gap: 0.75rem; }
	body:not(.paged) .hyb-cards--archive > li:first-child .wp-block-post-title { font-size: clamp(1.6rem, 1.25rem + 1.4vw, 2.25rem); line-height: 1.12; }
	body:not(.paged) .hyb-cards--archive > li:first-child .hyb-card__excerpt { -webkit-line-clamp: 6; font-size: 1.125rem; }
}

/* ===================================================================================================
   Mobile Kopfzeile: "Menü" neben dem Hamburger (Beschriftung für Screenreader bleibt "Menü öffnen")
   =================================================================================================== */
.wp-block-navigation__responsive-container-open:not(.always-shown) { gap: 0.5rem; padding: 0 0.85rem; font-weight: 600; font-size: 0.9375rem; }
.wp-block-navigation__responsive-container-open:not(.always-shown)::after { content: "Menü"; }
.wp-block-navigation__responsive-container-close { gap: 0.5rem; padding: 0 0.85rem; font-weight: 600; font-size: 0.9375rem; }
.wp-block-navigation__responsive-container-close::after { content: "Schließen"; }
@media (min-width: 64rem) { .wp-block-navigation__responsive-container-open:not(.always-shown)::after { content: none; } }
/* Englische Seite (TranslatePress setzt lang="en-US"): englische Beschriftung */
:lang(en) .wp-block-navigation__responsive-container-open:not(.always-shown)::after { content: "Menu"; }
:lang(en) .wp-block-navigation__responsive-container-close::after { content: "Close"; }
@media (min-width: 64rem) { :lang(en) .wp-block-navigation__responsive-container-open:not(.always-shown)::after { content: none; } }

/* Kopfzeile: Hamburger-Menü bis 64rem (1024 px) statt nur bis 600 px, sonst läuft die Menüzeile auf Tablets über.
   WordPress schaltet selbst bei 600 px auf die Menüzeile um; hier wird das für 600 bis 1023 px wieder zurückgenommen. */
@media (min-width: 600px) and (max-width: 63.99rem) {
	.hyb-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.hyb-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	.hyb-header .wp-block-navigation__responsive-container.is-menu-open { display: flex; }
}

/* ===================================================================================================
   Video: Poster, erst nach Klick laden
   =================================================================================================== */
.wp-block-video.is-style-hyb-poster { position: relative; margin: 0; }
.wp-block-video.is-style-hyb-poster video { display: block; width: 100%; aspect-ratio: 2122 / 1080; object-fit: cover; border-radius: 20px 6px 20px 6px; background: #000; }
.wp-block-video.is-style-hyb-poster.hyb-video--16x9 video { aspect-ratio: 16 / 9; }
.wp-block-video.is-style-hyb-poster.hyb-video--16x9 .hyb-video__play { bottom: auto; width: 100%; aspect-ratio: 16 / 9; height: auto; }
.wp-block-video.is-style-hyb-poster > figcaption { margin-top: 0.75rem; text-align: left; font-size: 0.9375rem; color: var(--wp--preset--color--ink-3, #4a5568); }
.hyb-video__play { position: absolute; inset: 0; display: grid; place-items: center; width: 100%; padding: 0; border: 0; border-radius: 20px 6px 20px 6px; cursor: pointer; color: var(--wp--preset--color--aqua); background: linear-gradient(180deg, rgba(18, 30, 48, 0.08), rgba(18, 30, 48, 0.42)); }
.hyb-video__play:hover { background: linear-gradient(180deg, rgba(18, 30, 48, 0.02), rgba(18, 30, 48, 0.32)); }
.hyb-video__play svg { width: clamp(4rem, 8vw, 5.5rem); height: auto; transition: transform 0.25s var(--hyb-ease); }
.hyb-video__play:hover svg { transform: scale(1.06); }
.hyb-video__play:focus-visible { outline: 3px solid #fff; outline-offset: -8px; }
@media (prefers-reduced-motion: reduce) { .hyb-video__play svg { transition: none; } .hyb-video__play:hover svg { transform: none; } }

/* ===================================================================================================
   Formulare: gemeinsame Optik für Contact Form 7 und Forminator (wie .form der statischen Seite)
   =================================================================================================== */
.wpcf7 > form, body form.forminator-ui.forminator-custom-form[data-design][id] { position: relative !important; max-width: 42rem !important; box-sizing: border-box !important; margin-inline: 0 !important; padding: clamp(1.25rem, 3vw, 2.25rem) !important; background: var(--wp--preset--color--mist-50) !important; border: 1px solid var(--wp--preset--color--mist-200) !important; border-radius: 28px 6px 28px 6px !important; }
.wpcf7 > form::before, body form.forminator-ui.forminator-custom-form[data-design][id]::before { content: "" !important; position: absolute !important; top: -1px !important; left: clamp(1.25rem, 3vw, 2.25rem) !important; width: 4rem !important; height: 4px !important; border-radius: 0 0 4px 4px !important; background: var(--wp--preset--color--steel-500) !important; }
.wpcf7 { max-width: 42rem; margin-inline: 0 !important; }
.wp-block-post-content .forminator-guttenberg, .wp-block-post-content .wpcf7 { margin-top: 1.5rem !important; }

/* Beschriftungen */
.wpcf7 form p { margin: 0 0 1.5rem; font-weight: 600; font-size: 0.9375rem; line-height: 1.35; color: var(--wp--preset--color--ink); }
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-label { display: block !important; margin: 0 0 0.4rem !important; font-family: inherit !important; font-size: 0.9375rem !important; font-weight: 600 !important; line-height: 1.35 !important; color: var(--wp--preset--color--ink) !important; }
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-required, .wpcf7 .wpcf7-not-valid-tip + .req { color: var(--hyb-danger) !important; font-weight: 700 !important; margin-left: 0.1rem !important; }
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-row { margin-bottom: 1.5rem !important; }
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-row-last { margin-bottom: 0 !important; }
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-description { color: var(--wp--preset--color--ink-3) !important; font-size: 0.8125rem !important; font-family: inherit !important; font-variant-numeric: lining-nums tabular-nums !important; }

/* Felder */
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 select, .wpcf7 textarea,
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-input,
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-textarea,
body .forminator-ui.forminator-custom-form[data-design][id] select.forminator-select--field { width: 100% !important; box-sizing: border-box !important; min-height: 3rem !important; padding: 0.65rem 0.9rem !important; margin: 0 !important; border: 1.5px solid var(--hyb-field-border) !important; border-radius: 6px !important; background: #fff !important; color: var(--wp--preset--color--ink) !important; font-family: inherit !important; font-size: 1rem !important; line-height: 1.4 !important; box-shadow: none !important; transition: border-color 0.2s var(--hyb-ease), box-shadow 0.2s var(--hyb-ease) !important; }
.wpcf7 textarea, body .forminator-ui.forminator-custom-form[data-design][id] .forminator-textarea { min-height: 9rem !important; resize: vertical !important; }
.wpcf7 input:hover, .wpcf7 select:hover, .wpcf7 textarea:hover,
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-input:hover,
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-textarea:hover { border-color: var(--wp--preset--color--ink-3) !important; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus,
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-input:focus,
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-textarea:focus,
body .forminator-ui.forminator-custom-form[data-design][id] select.forminator-select--field:focus { outline: 3px solid var(--hyb-focus) !important; outline-offset: 1px !important; border-color: var(--hyb-navy) !important; box-shadow: none !important; }

/* Select2 (Forminator-Auswahlfeld, Länderliste) */
body .forminator-ui.forminator-custom-form[data-design][id] .select2-container .select2-selection--single,
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-select .selection .select2-selection { min-height: 3rem !important; border: 1.5px solid var(--hyb-field-border) !important; border-radius: 6px !important; background: #fff !important; display: flex !important; align-items: center !important; }
body .forminator-ui.forminator-custom-form[data-design][id] .select2-selection__rendered { font-family: inherit !important; font-size: 1rem !important; color: var(--wp--preset--color--ink) !important; padding-inline: 0.9rem 2.5rem !important; line-height: 1.4 !important; }
body .forminator-ui.forminator-custom-form[data-design][id] .select2-container--open .select2-selection--single,
body .forminator-ui.forminator-custom-form[data-design][id] .select2-container--focus .select2-selection--single { border-color: var(--hyb-navy) !important; outline: 3px solid var(--hyb-focus) !important; outline-offset: 1px !important; }
.select2-dropdown, .forminator-select-dropdown-container--open .select2-dropdown { font-family: inherit !important; border-radius: 6px !important; border-color: var(--hyb-field-border) !important; }
.select2-results__option { min-height: 2.75rem !important; display: flex !important; align-items: center !important; }
.select2-results__option--highlighted { background: var(--wp--preset--color--navy-100) !important; color: var(--wp--preset--color--ink) !important; }

/* Einwilligungen (Kontrollkästchen) */
.wpcf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0 0 0.6rem; display: block; }
.wpcf7 .wpcf7-acceptance label { display: grid; grid-template-columns: auto 1fr; gap: 0.75rem; align-items: start; font-weight: 450; font-size: 1rem; line-height: 1.5; cursor: pointer; }
.wpcf7 input[type="checkbox"] {
	appearance: none; -webkit-appearance: none; width: 1.5rem; height: 1.5rem; min-height: 0; margin: 0.1rem 0 0; padding: 0;
	border: 1.5px solid var(--wp--preset--color--ink-3); border-radius: 5px; background: #fff; display: grid; place-content: center;
}
.wpcf7 input[type="checkbox"]::before { content: ""; width: 0.8rem; height: 0.45rem; border-left: 2.5px solid #fff; border-bottom: 2.5px solid #fff; transform: translateY(-1px) rotate(-45deg) scale(0); transition: transform 0.15s var(--hyb-ease); }
.wpcf7 input[type="checkbox"]:checked { background: var(--hyb-navy); border-color: var(--hyb-navy); }
.wpcf7 input[type="checkbox"]:checked::before { transform: translateY(-1px) rotate(-45deg) scale(1); }
.wpcf7 input[type="checkbox"]:focus-visible { outline: 3px solid var(--hyb-focus); outline-offset: 2px; }

body .forminator-ui.forminator-custom-form[data-design][id] .forminator-checkbox { display: inline-grid !important; place-items: center !important; min-width: 2.75rem !important; min-height: 2.75rem !important; margin: 0 !important; padding: 0 !important; cursor: pointer !important; }
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-checkbox__wrapper { display: grid !important; grid-template-columns: auto 1fr !important; gap: 0.25rem !important; align-items: start !important; }
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-checkbox-box { position: relative !important; width: 1.5rem !important; height: 1.5rem !important; margin: 0 !important; border: 1.5px solid var(--wp--preset--color--ink-3) !important; border-radius: 5px !important; background: #fff !important; display: grid !important; place-content: center !important; box-sizing: border-box !important; }
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-checkbox-box::before { content: "" !important; position: static !important; width: 0.8rem !important; height: 0.45rem !important; margin: 0 !important; border-left: 2.5px solid #fff !important; border-bottom: 2.5px solid #fff !important; border-top: 0 !important; border-right: 0 !important; background: none !important; transform: translateY(-1px) rotate(-45deg) scale(0) !important; opacity: 1 !important; transition: transform 0.15s var(--hyb-ease) !important; }
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-checkbox input:checked + .forminator-checkbox-box { background: var(--hyb-navy) !important; border-color: var(--hyb-navy) !important; }
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-checkbox input:checked + .forminator-checkbox-box::before { transform: translateY(-1px) rotate(-45deg) scale(1) !important; }
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-checkbox input:focus-visible + .forminator-checkbox-box { outline: 3px solid var(--hyb-focus) !important; outline-offset: 2px !important; }
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-checkbox__label, body .forminator-ui.forminator-custom-form[data-design][id] .forminator-checkbox__label p { margin: 0 !important; padding-top: 0.55rem !important; font-family: inherit !important; font-size: 1rem !important; font-weight: 450 !important; line-height: 1.5 !important; color: var(--wp--preset--color--ink) !important; overflow-wrap: anywhere !important; }

/* Schaltflächen */
.wpcf7 input[type="submit"], .wpcf7 .wpcf7-submit,
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-button-submit { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 3rem !important; min-width: 10rem !important; padding: 0.7rem 1.5rem !important; margin: 0 !important; border: 2px solid transparent !important; border-radius: 8px !important; background: var(--hyb-navy) !important; color: #fff !important; font-family: inherit !important; font-size: 1rem !important; font-weight: 600 !important; line-height: 1.25 !important; text-align: center !important; text-transform: none !important; cursor: pointer !important; box-shadow: none !important; transition: background-color 0.2s var(--hyb-ease), box-shadow 0.2s var(--hyb-ease) !important; }
.wpcf7 input[type="submit"]:hover, body .forminator-ui.forminator-custom-form[data-design][id] .forminator-button-submit:hover { background: var(--hyb-navy-700) !important; color: #fff !important; }
.wpcf7 input[type="submit"]:focus-visible, body .forminator-ui.forminator-custom-form[data-design][id] .forminator-button-submit:focus-visible { outline: 3px solid var(--hyb-focus) !important; outline-offset: 3px !important; }
@media (max-width: 39.99rem) { .wpcf7 input[type="submit"], body .forminator-ui.forminator-custom-form[data-design][id] .forminator-button-submit { width: 100%; } }
.wpcf7-spinner { margin: 0 0.75rem; }

/* Fehler und Rückmeldungen */
.wpcf7 .wpcf7-not-valid, body .forminator-ui.forminator-custom-form[data-design][id] .forminator-has_error .forminator-input,
body .forminator-ui.forminator-custom-form[data-design][id] .forminator-has_error .forminator-textarea { border-color: var(--hyb-danger) !important; background: #fffafa !important; }
.wpcf7 .wpcf7-not-valid-tip, body .forminator-ui.forminator-custom-form[data-design][id] .forminator-error-message { display: block !important; margin: 0.4rem 0 0 !important; padding: 0 !important; background: none !important; color: #9c1f19 !important; font-family: inherit !important; font-size: 0.9375rem !important; font-weight: 550 !important; line-height: 1.4 !important; }
.wpcf7 .wpcf7-not-valid-tip::before, body .forminator-ui.forminator-custom-form[data-design][id] .forminator-error-message::before { content: "" !important; display: inline-block !important; width: 0.95rem !important; height: 0.95rem !important; margin-right: 0.4rem !important; vertical-align: -0.15em !important; background: var(--hyb-danger) !important; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.5 19 18H1L10 1.5zm-1 6v5h2v-5H9zm0 6.5v2h2v-2H9z'/%3E%3C/svg%3E") center / contain no-repeat !important; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.5 19 18H1L10 1.5zm-1 6v5h2v-5H9zm0 6.5v2h2v-2H9z'/%3E%3C/svg%3E") center / contain no-repeat !important; }
.wpcf7 form .wpcf7-response-output, body .forminator-ui.forminator-custom-form[data-design][id] .forminator-response-message { margin: 1.5rem 0 0 !important; padding: 0.75rem 1rem !important; border: 1.5px solid var(--hyb-danger) !important; border-left-width: 5px !important; border-radius: 6px !important; background: #fdf1f0 !important; color: #7a1a15 !important; font-weight: 550 !important; font-family: inherit !important; }
.wpcf7 form.sent .wpcf7-response-output, body .forminator-ui.forminator-custom-form[data-design][id] .forminator-response-message.forminator-success { border-color: var(--hyb-ok) !important; background: #eef8f2 !important; color: #14583a !important; }
.wpcf7 form.init .wpcf7-response-output, body .forminator-ui.forminator-custom-form[data-design][id] .forminator-response-message:not(.forminator-show) { display: none !important; }

/* ===================================================================================================
   Cookie-Banner (Complianz, Klassen cmplz-*): Texte bleiben unverändert, nur Optik wie das Einwilligungsfenster
   der statischen Seite (Karte unten rechts, Kopfband in Stahlblau, Schaltflächen wie .btn)
   =================================================================================================== */
.cmplz-cookiebanner.cmplz-cookiebanner {
	--cmplz_banner_background_color: #fff; --cmplz_banner_border_color: var(--wp--preset--color--mist-200); --cmplz_banner_border_radius: 20px 20px 12px 12px;
	--cmplz_text_color: var(--wp--preset--color--ink-2); --cmplz_hyperlink_color: var(--hyb-navy);
	--cmplz_text_font_size: 15px; --cmplz_link_font_size: 15px; --cmplz_title_font_size: 20px; --cmplz_button_font_size: 16px; --cmplz_category_body_font_size: 14px; --cmplz_category_header_title_font_size: 16px;
	--cmplz_button_accept_background_color: var(--hyb-navy); --cmplz_button_accept_border_color: var(--hyb-navy); --cmplz_button_accept_text_color: #fff;
	--cmplz_button_deny_background_color: var(--wp--preset--color--mist-100); --cmplz_button_deny_border_color: var(--wp--preset--color--mist-200); --cmplz_button_deny_text_color: var(--wp--preset--color--ink);
	--cmplz_button_settings_background_color: transparent; --cmplz_button_settings_border_color: var(--hyb-navy); --cmplz_button_settings_text_color: var(--hyb-navy);
	--cmplz_button_border_radius: 8px; --cmplz_slider_active_color: var(--hyb-navy); --cmplz_slider_inactive_color: var(--wp--preset--color--mist-300);
	--cmplz_category_header_always_active_color: var(--hyb-ok);
	font-family: inherit; color: var(--wp--preset--color--ink-2);
	border: 1px solid var(--wp--preset--color--mist-200); border-top: 4px solid var(--wp--preset--color--steel-500); border-radius: 20px 20px 12px 12px;
	box-shadow: var(--wp--preset--shadow--float); padding: 1.5rem; gap: 0.75rem; z-index: 100000;
	right: 1rem; bottom: 1rem; left: auto; top: auto; transform: none; width: min(30rem, calc(100vw - 2rem)); min-width: 0; max-width: calc(100vw - 2rem); box-sizing: border-box;
}
@media (max-width: 40rem) {
	.cmplz-cookiebanner.cmplz-cookiebanner { right: 0; left: 0; bottom: 0; width: auto; max-width: none; border-radius: 20px 20px 0 0; padding-bottom: calc(1rem + env(safe-area-inset-bottom)); max-height: 78vh; }
}
.cmplz-cookiebanner .cmplz-logo, .cmplz-cookiebanner .cmplz-close, .cmplz-cookiebanner .cmplz-divider { display: none; }
.cmplz-cookiebanner .cmplz-header { display: block; grid-column: auto; width: auto; }
.cmplz-cookiebanner .cmplz-title { display: block !important; width: auto; grid-column: auto; justify-self: start; font-size: 1.25rem; font-weight: 700; line-height: 1.25; color: var(--wp--preset--color--ink); margin: 0; }
.cmplz-cookiebanner .cmplz-body { min-width: 0; max-height: 40vh; padding: 0; }
.cmplz-cookiebanner .cmplz-message { width: auto; font-size: 0.9375rem; line-height: 1.55; color: var(--wp--preset--color--ink-2); }
.cmplz-cookiebanner .cmplz-categories { width: auto; margin-top: 0.75rem; border-top: 1px solid var(--wp--preset--color--mist-200); }
.cmplz-cookiebanner .cmplz-category { margin: 0; padding: 0.5rem 0; border-bottom: 1px solid var(--wp--preset--color--mist-200); background: none; }
.cmplz-cookiebanner .cmplz-category-header { min-height: 2.75rem; }
.cmplz-cookiebanner .cmplz-category-title { font-weight: 650; color: var(--wp--preset--color--ink); }
.cmplz-cookiebanner .cmplz-always-active { font-size: 0.875rem; font-weight: 600; color: var(--hyb-ok); }
.cmplz-cookiebanner .cmplz-description, .cmplz-cookiebanner .cmplz-description span { font-size: 0.875rem; line-height: 1.5; color: var(--wp--preset--color--ink-3); }
.cmplz-cookiebanner .cmplz-category-toggle { min-width: 2.75rem; min-height: 2.75rem; background: none; border: 0; cursor: pointer; }
.cmplz-cookiebanner .cmplz-label { min-width: 2.75rem; min-height: 1.6rem; }

/* Complianz lädt sein Stylesheet nach dem Theme (gleiche Spezifität, Complianz gewinnt): Kopf, Kategoriezeile und Schalter darum mit verdoppelter Klasse.
   Titel linksbündig wie der Text, Zeile = Titel links, Schalter und Pfeil rechts auf einer Linie, Schalter 44 px hoch zum Antippen. */
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-header { display: block; margin: 0 0 0.5rem; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-header .cmplz-title { justify-self: start; grid-column: auto; text-align: left; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header { display: flex; align-items: center; gap: 0.75rem; padding: 0 0 0 0.25rem; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title { flex: 1 1 auto; min-width: 0; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-toggle { flex: 0 0 auto; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox { position: relative; display: block; width: 2.75rem; height: 1.6rem; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label { position: relative; display: block; width: 2.75rem; height: 1.6rem; min-width: 0; min-height: 0; margin: 0; padding: 0; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::before { top: 0; left: 0; width: 100%; height: 100%; padding: 0; border-radius: 999px; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::after { top: 0.2rem; left: 0.2rem; width: 1.2rem; height: 1.2rem; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::after { left: calc(100% - 1.4rem); }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox { top: 50%; left: 0; width: 2.75rem; height: 2.75rem; margin: 0; transform: translateY(-50%); }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-always-active .cmplz-banner-checkbox { display: none; }   /* Funktional: nur „Immer aktiv“, kein Schalter */
.cmplz-cookiebanner.cmplz-cookiebanner { grid-template-rows: none; }   /* sonst schrumpfen die Zeilen, wenn die Karte scrollt, und der Titel liegt über dem Text */
.cmplz-cookiebanner .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus-visible + .cmplz-label::before { outline: 3px solid var(--hyb-focus); outline-offset: 2px; }

/* Schaltflächen wie .btn: Akzeptieren = Marineblau, Ablehnen = Nebel, Einstellungen = Umriss */
.cmplz-cookiebanner .cmplz-buttons { display: grid; gap: 0.5rem; margin-top: 0.25rem; }
@media (min-width: 40.01rem) { .cmplz-cookiebanner .cmplz-buttons { grid-template-columns: auto 1fr; } .cmplz-cookiebanner .cmplz-buttons .cmplz-accept, .cmplz-cookiebanner .cmplz-buttons .cmplz-save-preferences { grid-column: 1 / -1; } }
/* display nur dort setzen, wo Complianz nicht selbst ausblendet (Speichern/TCF-Optionen); Complianz schaltet per Inline-Style um */
.cmplz-cookiebanner .cmplz-btn:not(.cmplz-save-preferences):not(.cmplz-manage-options) { display: inline-flex; }
.cmplz-cookiebanner .cmplz-btn { align-items: center; justify-content: center; width: 100%; min-height: 2.9rem; margin: 0; padding: 0.55rem 1rem; border-width: 2px; border-style: solid; border-radius: 8px; font-family: inherit; font-size: 1rem; font-weight: 600; line-height: 1.25; text-transform: none; cursor: pointer; transition: background-color 0.2s var(--hyb-ease), color 0.2s var(--hyb-ease); }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept, .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { background: var(--hyb-navy); border-color: var(--hyb-navy); color: #fff; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover, .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover { background: var(--hyb-navy-700); border-color: var(--hyb-navy-700); }
.cmplz-cookiebanner .cmplz-btn.cmplz-deny { background: var(--wp--preset--color--mist-100); border-color: var(--wp--preset--color--mist-200); color: var(--wp--preset--color--ink); }
.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover { background: var(--wp--preset--color--mist-200); }
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences { background: transparent; border-color: var(--hyb-navy); color: var(--hyb-navy); }
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover { background: var(--hyb-navy); color: #fff; }
.cmplz-cookiebanner .cmplz-btn:focus-visible, .cmplz-cookiebanner a:focus-visible, .cmplz-cookiebanner .cmplz-category-toggle:focus-visible { outline: 3px solid var(--hyb-focus); outline-offset: 2px; }

/* Links (Cookie-Richtlinie, Datenschutz, Impressum) */
.cmplz-cookiebanner .cmplz-links { margin: 0; }
.cmplz-cookiebanner .cmplz-links ul { justify-content: flex-start; display: flex; flex-wrap: wrap; gap: 0 1rem; margin: 0; padding: 0; list-style: none; }
/* Complianz blendet TCF-Links (Lieferanten, Zwecke) und Optionen-Link selbst aus; dort display nicht überschreiben */
.cmplz-cookiebanner .cmplz-links a.cmplz-link:not(.cmplz-manage-vendors):not(.cmplz-read-more-purposes):not(.cmplz-manage-options) { display: inline-flex; }
.cmplz-cookiebanner .cmplz-links a.cmplz-link:empty { display: none; }
/* Leerer Dokumentlink (Cookie-Richtlinie nicht veröffentlicht): ganzen Listenpunkt ausblenden, sonst bleibt ein unsichtbarer Tab-Stopp */
.cmplz-cookiebanner .cmplz-links li:has(> a.cmplz-link:empty) { display: none; }
.cmplz-cookiebanner .cmplz-links a.cmplz-link { align-items: center; min-height: 2.75rem; font-size: 0.9375rem; color: var(--hyb-navy); text-decoration: underline; text-underline-offset: 0.18em; }
.cmplz-cookiebanner .cmplz-links a.cmplz-link:hover { text-decoration-thickness: 2px; }

/* Schalter (Kategorien) */
.cmplz-cookiebanner .cmplz-banner-checkbox .cmplz-label { position: relative; display: inline-block; width: 2.75rem; height: 1.6rem; }
.cmplz-cookiebanner .cmplz-banner-checkbox .cmplz-label::before { border-radius: 999px; }

/* Einstellungen jederzeit ändern (kleiner Reiter unten) */
#cmplz-manage-consent .cmplz-manage-consent { font-family: inherit; font-size: 0.9375rem; font-weight: 600; color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--mist-200); border-radius: 12px 12px 0 0; min-height: 2.75rem; }
#cmplz-manage-consent .cmplz-manage-consent:focus-visible { outline: 3px solid var(--hyb-focus); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .cmplz-cookiebanner, #cmplz-manage-consent .cmplz-manage-consent { animation: none !important; transition: none !important; } }

/* Platzhalter für gesperrte Inhalte (z. B. Videos): wie die Karten der Seite */
.cmplz-blocked-content-container { border-radius: 12px; background-color: var(--wp--preset--color--mist-100); }
.cmplz-blocked-content-notice { border-radius: 8px; font-family: inherit; }

/* ===================================================================================================
   Easy Accordion (Leistungsspektrum): wie das Akkordeon der Seite (Linien, Pfeil rechts)
   =================================================================================================== */
.sp-easy-accordion { max-width: 56rem; margin: 1.5rem 0; font-family: inherit; border-top: 1px solid var(--wp--preset--color--steel-200); }
.sp-easy-accordion .sp-ea-single, .sp-easy-accordion .ea-card { margin: 0 !important; border: 0 !important; border-bottom: 1px solid var(--wp--preset--color--steel-200) !important; border-radius: 0 !important; background: transparent !important; overflow: visible; box-shadow: none !important; }
.sp-easy-accordion .ea-header { margin: 0 !important; padding: 0; font-size: 1.1875rem; line-height: 1.3; }
.sp-easy-accordion .ea-header a, .sp-easy-accordion .ea-header a:focus { position: relative; display: flex !important; align-items: center; min-height: 3.5rem; padding: 0.75rem 3rem 0.75rem 0.25rem !important; font-family: inherit !important; font-size: 1.1875rem !important; font-weight: 600 !important; color: var(--wp--preset--color--ink) !important; background: transparent !important; text-decoration: none !important; box-shadow: none !important; }
.sp-easy-accordion .ea-header a:hover { color: var(--hyb-navy) !important; }
.sp-easy-accordion .ea-header a:focus-visible { outline: 3px solid var(--hyb-focus); outline-offset: -3px; }
.sp-easy-accordion .ea-expand-icon { display: none !important; }
.sp-easy-accordion .ea-header a::after { content: ""; position: absolute; right: 0.6rem; top: 50%; width: 0.6rem; height: 0.6rem; border-right: 2px solid var(--wp--preset--color--steel-600); border-bottom: 2px solid var(--wp--preset--color--steel-600); transform: translateY(-70%) rotate(45deg); transition: transform 0.2s var(--hyb-ease); }
.sp-easy-accordion .ea-header a[aria-expanded="true"]::after { transform: translateY(-30%) rotate(-135deg); }
.sp-easy-accordion .ea-body { padding: 0.25rem 0.25rem 1.25rem !important; border: 0 !important; background: transparent !important; font-size: 1.0625rem; line-height: 1.6; color: var(--wp--preset--color--ink) !important; }
.sp-easy-accordion .ea-body ul { margin: 0; padding-left: 1.25rem; }
.sp-easy-accordion .ea-body li { margin: 0.3rem 0; }
.sp-easy-accordion .ea-body a { color: var(--hyb-navy); }
@media (prefers-reduced-motion: reduce) { .sp-easy-accordion .spcollapsing, .sp-easy-accordion .sp-collapse, .sp-easy-accordion .ea-header a::after { transition: none !important; } }

/* ===================================================================================================
   Stackable (drei ältere Beiträge): Blöcke sollen sich wie Kernblöcke einfügen
   =================================================================================================== */
.stk-block { max-width: 100%; box-sizing: border-box; }
.stk-block img, .stk-block figure { max-width: 100%; height: auto; border-radius: 12px; }
.stk-block .stk-img-wrapper { max-width: 100%; }
.stk-block-columns .stk-row { gap: var(--wp--preset--spacing--50, 1.5rem); }
.stk-block-columns .stk-column { min-width: 0; }
.stk-block, .stk-block p, .stk-block li, .stk-block h2, .stk-block h3, .stk-block h4 { font-family: inherit; }
.stk-block-heading__text { font-family: inherit; font-weight: 700; color: var(--wp--preset--color--ink); text-wrap: balance; }
.stk-block-text__text { font-family: inherit; font-size: inherit; line-height: inherit; color: inherit; }
.stk-block-button .stk-button { min-height: 2.75rem; border-radius: 8px !important; font-family: inherit; font-weight: 600; background: var(--hyb-navy); color: #fff; }
.stk-block-button .stk-button:hover { background: var(--hyb-navy-700); }
.stk-block-button .stk-button:focus-visible { outline: 3px solid var(--hyb-focus); outline-offset: 3px; }
.stk-block-accordion .stk-block-accordion__heading { min-height: 2.75rem; }
@media (max-width: 47.99rem) { .stk-row { flex-direction: column !important; } .stk-column { width: 100% !important; max-width: 100% !important; flex: 1 1 auto !important; } }
/* Bilder in Spalten und Galerien: gleich hohe Kacheln (4:3, zugeschnitten), gleiche Abstände, oben bündig; leere Galerien ohne Abstand */
.stk-block .wp-block-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 1rem; margin: 0; padding: 0; }
.stk-block .wp-block-gallery:empty { display: none; }
.stk-block-columns > .stk-row { align-items: stretch; gap: 1rem; }
.stk-block-column .stk-column-wrapper { height: 100%; }
@media (min-width: 48rem) { .stk-block-columns > .stk-row:has(figure.wp-block-image) { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; } .stk-block-columns > .stk-row:has(figure.wp-block-image) > .stk-column { width: auto !important; max-width: none !important; flex: none !important; } }   /* Bilderreihe: gleich breite Spalten */
.stk-block figure.wp-block-image { margin: 0; width: auto; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 12px; }
.stk-block .wp-block-gallery.has-nested-images figure.wp-block-image { width: auto !important; max-width: none; flex: none; }   /* die Kernregel mit :not(#individual-image) setzt sonst 50 % */
.stk-block figure.wp-block-image img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.wp-block-post-content figure.wp-block-gallery:empty { display: none; }

/* Mobiles Menü: backdrop-filter der Kopfzeile würde das Vollbild-Overlay (position: fixed) auf die Kopfzeile begrenzen, deshalb beim Öffnen aus */
html.has-modal-open .hyb-header, .hyb-header:has(.is-menu-open) { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; background: #fff !important; }
html.has-modal-open .wp-site-blocks > header.wp-block-template-part { z-index: 100000; }
.wp-block-navigation__responsive-container.is-menu-open { top: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; justify-content: flex-start; width: 100%; gap: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; align-items: flex-start; border-bottom: 1px solid var(--wp--preset--color--mist-100); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container { position: static; width: 100%; min-width: 0; padding: 0 0 0.5rem 1rem; border: 0 !important; box-shadow: none; align-items: flex-start; background: transparent; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border-bottom: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { width: 100%; padding-inline: 0; }
.wp-block-navigation__responsive-container-close { flex-direction: row; width: auto; top: 0.75rem; right: var(--wp--custom--gutter); position: absolute; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: inline-flex !important; flex-direction: row !important; align-items: center; justify-content: center; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { justify-content: flex-start; }
.wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content::after, .wp-block-navigation__responsive-container.is-menu-open [aria-current="page"]::after { display: none; }
/* Überlagertes Menü: alle Untermenüpunkte (Consulting, About Us …) linksbündig mit gleichem Einzug, Zeilenhöhe gleich;
   die aktive Seite wird mit Aqua-Unterstreichung des Textes markiert (kein Balken, der in die nächste Zeile ragt). */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container { align-items: stretch !important; justify-content: flex-start !important; padding: 0 0 0.5rem 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: stretch !important; }   /* WordPress richtet sie sonst nach der Ausrichtung "rechts" der Kopfzeile aus */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { width: 100%; justify-content: flex-start; padding: 0; min-height: 2.75rem; text-align: left; }
.wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--wp--preset--color--aqua); text-decoration-thickness: 3px; text-underline-offset: 0.35em; }

/* Formulare und Fließtext, die direkt im Seiteninhalt einer Seite (Vollbreite, .alignfull) stehen: auf die Spalte (75 rem) ausrichten, nicht an den Rand. Beiträge (Inhalt schon auf 75 rem begrenzt) bekommen keinen zusätzlichen Einzug. */
.wp-block-post-content.alignfull > :is(p, h2, h3, h4, ul, ol, .wpcf7, .forminator-guttenberg, .wp-block-shortcode, form) { margin-left: max(var(--wp--custom--gutter), calc((100% - 75rem) / 2)) !important; margin-right: var(--wp--custom--gutter) !important; }
.wp-block-post-content.alignfull > :is(.wpcf7, .forminator-guttenberg, .wp-block-shortcode, form) { margin-block: clamp(2rem, 5vw, 3.5rem) clamp(3rem, 7vw, 5rem) !important; }
.wp-block-post-content.alignfull > :is(p, h2, h3, h4):first-child { margin-top: clamp(2rem, 5vw, 3.5rem) !important; }
.hyb-footer .hyb-lang a { justify-content: flex-start; }
.hyb-footer .hyb-lang { margin: 0; }
.hyb-card__body { display: flex; flex-direction: column; gap: 0.5rem; }
.hyb-card__body > * { margin-block: 0; }

/* Sehr schmale Bildschirme (bis 368 px): nur das Symbol ohne "Menü"/"Schließen" im Kopf, damit nichts überläuft (320 px) */
@media (max-width: 23rem) {
	.hyb-header .wp-block-navigation__responsive-container-open:not(.always-shown)::after { content: none !important; }
	.hyb-header .wp-block-navigation__responsive-container-open:not(.always-shown) { padding: 0; }
	.hyb-brand { gap: 0.6rem; }
	.hyb-brand .wp-block-site-title { white-space: normal; }
}

/* ===================================================================================================
   Sprachumschalter: Kopfzeile = Kürzel der anderen Sprache (EN/DE); Fußzeile = "Sprache: Deutsch · English" mit markierter aktueller Sprache
   =================================================================================================== */
.hyb-lang__label, .hyb-lang__sep { display: none; }
.hyb-lang a { position: relative; }
.hyb-lang__l { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.hyb-header .hyb-lang a[aria-current] { display: none; }
.hyb-footer .hyb-lang { display: flex; flex-wrap: wrap; align-items: center; gap: 0 0.25rem; }
.hyb-footer .hyb-lang__label { display: inline-flex; align-items: center; min-height: 2.75rem; margin-right: 0.25rem; font-weight: 600; }
.hyb-footer .hyb-lang__sep { display: inline-flex; align-items: center; min-height: 2.75rem; }
.hyb-footer .hyb-lang__s { display: none; }
.hyb-footer .hyb-lang__l { position: static; width: auto; height: auto; overflow: visible; clip-path: none; }
.hyb-footer .hyb-lang a { padding: 0 0.6rem; border-radius: 6px; font-weight: 550; }
.hyb-footer .hyb-lang a[aria-current] { font-weight: 700; text-decoration: none; background: rgba(255, 255, 255, 0.18); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.7); }
@media (max-width: 47.99rem) { .hyb-footer .wp-block-column:has(.hyb-lang) > .hyb-lang { flex: 0 0 100%; margin-top: 0.5rem; } }

/* ===================================================================================================
   Mobil (bis 64rem): Menü als Schublade von rechts, Sprachwahl im Menü, Banner-Logo
   =================================================================================================== */
.hyb-menu-lang, .hyb-banner { display: none; }
@keyframes hyb-drawer-in { from { transform: translateX(100%); } }
@keyframes hyb-backdrop-in { from { opacity: 0; } }
@media (max-width: 63.99rem) {
	/* Schublade: Hintergrund abgedunkelt, die Seite bleibt sichtbar; Klick darauf schließt (assets/js/menu.js) */
	.wp-block-navigation__responsive-container.is-menu-open.has-background { padding: 0; background: rgba(6, 14, 40, 0.55) !important; }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close { position: fixed; top: 0; right: 0; bottom: 0; width: min(85vw, 22rem); max-width: none; margin: 0; box-sizing: border-box; overflow-y: auto; overscroll-behavior: contain; background: #fff; color: var(--wp--preset--color--ink); box-shadow: -10px 0 36px rgba(6, 14, 40, 0.28); }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog { box-sizing: border-box; min-height: 100%; padding: 1rem 1.25rem 1.5rem; }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { top: 0.75rem; right: 1rem; }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.75rem; }
	@media (prefers-reduced-motion: no-preference) {
		.wp-block-navigation__responsive-container.is-menu-open.has-background { animation: hyb-backdrop-in 0.25s ease both; }
		.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close { animation: hyb-drawer-in 0.3s var(--hyb-ease) both; }
	}
	/* Untermenüs: schmaler Einzug, lange Titel dürfen umbrechen statt aus der Schublade zu laufen */
	.hyb-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { white-space: normal; }
	.hyb-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation-submenu { padding: 0 0 0.5rem 1rem !important; }
	.hyb-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.25rem 0 !important; min-height: 2.75rem; }
	/* Sprachwahl ganz oben in der Schublade: zwei 44-px-Schaltflächen, die aktuelle Sprache gefüllt */
	.hyb-menu-lang { display: flex; gap: 0.5rem; width: 100%; box-sizing: border-box; margin: 0 0 0.75rem; padding-bottom: 1rem; border-bottom: 1px solid var(--wp--preset--color--mist-200); }
	.hyb-menu-lang a { flex: 1 1 0; display: flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: 0 0.75rem; border: 1.5px solid var(--wp--preset--color--mist-300); border-radius: 6px; font-weight: 600; font-size: 1rem; text-decoration: none; color: var(--wp--preset--color--ink); }
	.hyb-menu-lang a:hover { border-color: var(--hyb-navy); color: var(--hyb-navy); }
	.hyb-menu-lang a[aria-current] { background: var(--hyb-navy); border-color: var(--hyb-navy); color: #fff; font-weight: 700; }
	/* Kopfzeile: Banner statt Symbol, Name und Untertitel */
	.hyb-brand__icon, .hyb-brand > .wp-block-group { display: none; }
	.hyb-banner { display: inline-flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 0.2rem; flex: 0 1 auto; min-width: 0; min-height: 2.75rem; text-decoration: none; }
	.hyb-banner__tag { font-size: clamp(0.6rem, 2.7vw, 0.72rem); line-height: 1.2; font-weight: 500; white-space: nowrap; color: var(--wp--preset--color--slate-700, #33415c); }
	.hyb-banner img { display: block; width: clamp(10rem, 100vw - 9.5rem, 15rem); max-width: 100%; height: auto; }
	/* Sprache nur im aufgeklappten Menü, nicht als eigener Knopf in der Kopfzeile */
	.hyb-header .wp-block-group > .hyb-lang { display: none; }
}
@media (max-width: 23rem) { .hyb-banner img { width: min(13.5rem, 100vw - 6.5rem); } .hyb-banner__tag { font-size: 0.62rem; } }   /* Menüknopf ist hier nur das Symbol: mehr Platz fürs Logo */

/* Startseite "Aktuelles": auf Handys ein waagerechter Streifen zum Wischen, die nächste Karte schaut heraus */
@media (max-width: 47.99rem) {
	.hyb-news .hyb-cards.wp-block-post-template { display: flex; grid-template-columns: none; flex-wrap: nowrap; gap: 1rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; margin-inline: calc(-1 * var(--wp--custom--gutter)); padding: 0.25rem var(--wp--custom--gutter) 1rem; scroll-padding-inline: var(--wp--custom--gutter); scrollbar-width: thin; }
	.hyb-news .hyb-cards.wp-block-post-template > li { flex: 0 0 82%; min-width: 0; scroll-snap-align: start; }
	.hyb-news .hyb-cards.wp-block-post-template > li > .hyb-card { height: 100%; }
}

/* Hauptmenü: „Kontakt“ als Knopf hervorgehoben (Menüpunkt mit Klasse hyb-nav-cta, gesetzt vom Einrichtungs-Plugin) */
.hyb-header .wp-block-navigation-item.hyb-nav-cta > .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0 1.1rem !important; border-radius: 6px; background: var(--hyb-navy); color: #fff !important; font-weight: 600; text-decoration: none; }
.hyb-header .wp-block-navigation-item.hyb-nav-cta > .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--slate-900); color: #fff !important; }
.hyb-header .wp-block-navigation-item.hyb-nav-cta > .wp-block-navigation-item__content:focus-visible { outline: 3px solid var(--hyb-navy); outline-offset: 3px; }
@media (min-width: 64rem) { .hyb-header .wp-block-navigation-item.hyb-nav-cta { margin-left: 0.5rem; } }
@media (max-width: 63.99rem) { .hyb-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.hyb-nav-cta { margin-top: 0.75rem; } .hyb-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.hyb-nav-cta > .wp-block-navigation-item__content { box-sizing: border-box; width: 100%; max-width: 100%; justify-content: center; } }

/* FAQ-Block von Rank Math (Leistungsseiten): gleiche Optik wie die Akkordeon-Liste, Antworten bleiben sichtbar (kein Ein-/Ausklappen nötig, die Texte stehen auch im FAQ-Schema) */
.hyb-section > .rank-math-block { margin-left: max(0px, calc((100% - 75rem) / 2)) !important; margin-right: auto !important; max-width: 56rem; box-sizing: border-box; border-top: 1px solid var(--wp--preset--color--mist-300); }
.rank-math-block .rank-math-list { margin: 0; padding: 0; list-style: none; }
.rank-math-block .rank-math-list-item { margin: 0; padding: 1.1rem 0.25rem 1.25rem; border-bottom: 1px solid var(--wp--preset--color--mist-300); }
.rank-math-block .rank-math-question { margin: 0 0 0.6rem; padding: 0; font-size: 1.1875rem; font-weight: 600; line-height: 1.35; letter-spacing: -0.01em; color: var(--wp--preset--color--ink); overflow-wrap: anywhere; hyphens: auto; }
.rank-math-block .rank-math-answer { font-size: 1.0625rem; line-height: 1.6; overflow-wrap: anywhere; }
.rank-math-block .rank-math-answer > * { margin: 0; }
.rank-math-block .rank-math-answer > * + * { margin-top: 0.75em; }
.rank-math-block .rank-math-answer a { color: var(--hyb-navy); }
