/* =========================================================
   DEUFINA Designsystem v2: digitale Haptik
   Tokens in theme.json. Bewegung nur ohne prefers-reduced-motion,
   Ring-Cursor nur bei feinem Zeiger (Maus).
   ========================================================= */
:root {
	--df-nacht: #002839; --df-himmel: #99D9F6; --df-sonne: #FFE67F; --df-koralle: #FF3862; --df-tuerkis: #02C3E4; --df-beere: #941972;
	--df-nebel: #ECEDE8; --df-linie: #C9CCC4; --df-grau: #56636A; --df-grau-dunkel: #7F97A3;
	--df-display: var(--wp--preset--font-family--display); --df-text: var(--wp--preset--font-family--text);
	--df-ease: cubic-bezier(.22,.8,.2,1); --df-ease-out: cubic-bezier(.16,1,.3,1);
	--df-radius: 20px; --df-header-h: 88px;
	--df-rand: clamp(1.25rem, 3vw, 2.25rem);
}
html { scroll-padding-top: calc(var(--df-header-h) + 1rem); }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; overflow-x: hidden; }
::selection { background: var(--df-sonne); color: #000; }
img, svg { max-width: 100%; }
.wp-site-blocks > * { margin-block-start: 0; }
main .alignfull, main > *, .wp-block-post-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--df-beere); outline-offset: 4px; border-radius: 4px; }
.df-dunkel :where(a, button):focus-visible, .df-footer :where(a, button):focus-visible, .df-section--marine :where(a, button):focus-visible { outline-color: var(--df-sonne); }

/* ---------- Ring-Cursor ---------- */
.df-cursor-aktiv, .df-cursor-aktiv * { cursor: none !important; }
.df-cursor-aktiv input, .df-cursor-aktiv textarea, .df-cursor-aktiv select { cursor: text !important; }
.df-cursor { position: fixed; left: 0; top: 0; z-index: 9999; pointer-events: none; width: 0; height: 0; }
.df-cursor__ring { position: absolute; left: -27px; top: -27px; width: 54px; height: 54px; border-radius: 50%; border: 1px solid #000; transition: transform .45s var(--df-ease-out), background-color .4s, border-color .4s, opacity .3s; }
.df-cursor__punkt { position: absolute; left: -2.5px; top: -2.5px; width: 5px; height: 5px; border-radius: 50%; background: #000; transition: opacity .3s, transform .3s var(--df-ease-out), background-color .3s; }
.df-cursor__label { position: absolute; left: 40px; top: -14px; white-space: nowrap; opacity: 0; transform: translateX(-8px); transition: opacity .35s var(--df-ease-out), transform .5s var(--df-ease-out); font: 600 15px/1.25 var(--df-text); }
.df-cursor__label b { display: block; font-family: var(--df-display); font-weight: 800; font-size: 18px; letter-spacing: -.01em; }
.df-cursor__label span { display: block; color: var(--df-grau); font-weight: 400; font-size: 13px; }
.df-cursor.is-link .df-cursor__ring { transform: scale(1.45); background: rgba(0,40,57,.06); }
.df-cursor.is-link .df-cursor__punkt { opacity: 0; }
.df-cursor.is-label .df-cursor__ring { transform: scale(.35); background: #000; }
.df-cursor.is-label .df-cursor__label { opacity: 1; transform: none; }
.df-cursor.is-drag .df-cursor__ring { transform: scale(1.9); background: var(--df-sonne); border-color: var(--df-sonne); }
.df-cursor.is-drag .df-cursor__label { opacity: 1; transform: none; left: -24px; top: -9px; font-size: 12px; }
.df-cursor.is-down .df-cursor__ring { transform: scale(.8); }
.df-cursor.is-hidden { opacity: 0; }
.df-cursor.is-hell .df-cursor__ring { border-color: #fff; }
.df-cursor.is-hell .df-cursor__punkt, .df-cursor.is-hell.is-label .df-cursor__ring { background: #fff; }
.df-cursor.is-hell .df-cursor__label b { color: var(--df-himmel); }
.df-cursor.is-hell .df-cursor__label span { color: var(--df-grau-dunkel); }
.df-cursor.is-hell.is-link .df-cursor__ring { background: rgba(255,255,255,.1); }

/* ---------- Vorlader ---------- */
.df-preloader { position: fixed; inset: 0; z-index: 10000; background: var(--df-nebel); display: none; place-items: center; }
html.df-preload .df-preloader { display: grid; }
.df-preloader__signet { width: 46px; height: auto; animation: df-puls 1.1s var(--df-ease) infinite alternate; }
html.df-geladen .df-preloader { opacity: 0; visibility: hidden; transition: opacity .7s var(--df-ease) .1s, visibility 0s .9s; }
@keyframes df-puls { from { transform: scale(.85); opacity: .5; } to { transform: scale(1.05); opacity: 1; } }

/* ---------- Kopfbereich ---------- */
header.df-kopf { position: sticky; top: 0; z-index: 60; transition: transform .6s var(--df-ease-out); }
header.df-kopf.is-weg { transform: translateY(-100%); }
body.admin-bar header.df-kopf { top: 32px; }
@media (max-width: 782px) { body.admin-bar header.df-kopf { top: 0; } }
.df-header-wrap > * { margin-block-start: 0 !important; }
.df-header { background: transparent; transition: background-color .4s; }
header.df-kopf.is-gescrollt .df-header { background: rgba(236,237,232,.92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.df-header > .wp-block-group { min-height: var(--df-header-h); }
.df-header p:has(.df-logo), .df-footer p:has(> .df-logo) { margin: 0; }
.df-logo { display: inline-flex; align-items: center; gap: 14px; color: #000; text-decoration: none; }
.df-logo .df-signet { width: auto; height: 40px; display: block; transition: transform .6s var(--df-ease-out); transform-origin: 30% 50%; }
.df-logo .df-wortmarke { width: 152px; height: auto; display: block; }
.df-logo:hover .df-signet { transform: rotate(-8deg) scale(1.06); }
.df-logo--negativ { color: #fff; }
@media (max-width: 480px) { .df-logo .df-signet { height: 34px; } .df-logo .df-wortmarke { width: 124px; } }
.df-header__nav { gap: 1.75rem !important; }

.df-hauptnav { font-family: var(--df-text); font-size: 15px; font-weight: 400; }
.df-hauptnav .wp-block-navigation__container { gap: clamp(1rem, 2vw, 2.25rem); }
.df-hauptnav .wp-block-navigation-item__content { color: #000; text-decoration: none; position: relative; padding: .4rem 0; }
.df-hauptnav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation-item__label { display: inline-block; position: relative; }
.df-hauptnav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation-item__label::after { content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .5s var(--df-ease-out); }
.df-hauptnav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content .wp-block-navigation-item__label::after,
.df-hauptnav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content[aria-current] .wp-block-navigation-item__label::after { transform: scaleX(1); transform-origin: left; }
.df-hauptnav .wp-block-navigation__submenu-icon { width: 9px; height: 9px; margin-left: 5px; opacity: .6; }
@media (min-width: 1100px) {
	.df-hauptnav .wp-block-navigation__submenu-container { background: var(--df-nacht) !important; color: #fff !important; border: 0 !important; border-radius: 16px; padding: .9rem !important; min-width: 280px !important; left: -1.25rem !important; top: calc(100% + 12px) !important; box-shadow: 0 24px 60px rgba(0,40,57,.25); opacity: 0; transform: translateY(8px); transition: opacity .3s var(--df-ease-out), transform .4s var(--df-ease-out), visibility 0s .3s !important; }
	.df-hauptnav .has-child:hover > .wp-block-navigation__submenu-container, .df-hauptnav .has-child:focus-within > .wp-block-navigation__submenu-container { opacity: 1; transform: none; transition-delay: 0s !important; }
	.df-hauptnav .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
	.df-hauptnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: #fff !important; padding: .55rem .9rem !important; border-radius: 10px; font-size: 15px; display: block; width: 100%; transition: background-color .25s, color .25s; }
	.df-hauptnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: rgba(153,217,246,.12); color: var(--df-himmel) !important; }
	.df-hauptnav .df-nav-themen > .wp-block-navigation__submenu-container { display: grid !important; grid-template-columns: 1fr 1fr; min-width: 600px !important; }
	.df-hauptnav .wp-block-navigation__container > li:nth-last-child(-n+2) > .wp-block-navigation__submenu-container { left: auto !important; right: -1.25rem !important; }
}
@media (max-width: 1099px) {
	.df-hauptnav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.df-hauptnav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
.df-hauptnav .wp-block-navigation__responsive-container-open { width: 48px; height: 48px; border-radius: 50%; background: var(--df-nacht); color: var(--df-himmel); justify-content: center; align-items: center; }
.df-hauptnav .wp-block-navigation__responsive-container-open svg { width: 22px; height: 22px; }
.df-hauptnav .wp-block-navigation__responsive-container.is-menu-open { background: var(--df-nacht) !important; color: #fff !important; padding: 1.5rem var(--df-rand) 3rem !important; }
.df-hauptnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4.5rem; align-items: stretch !important; }
.df-hauptnav .is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; align-items: stretch !important; }
.df-hauptnav .is-menu-open .wp-block-navigation-item { width: 100%; align-items: stretch !important; border-bottom: 1px solid rgba(255,255,255,.12); }
.df-hauptnav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { color: #fff !important; font-family: var(--df-display); font-size: 2rem; font-weight: 800; letter-spacing: -.03em; padding: .9rem 0 !important; }
.df-hauptnav .is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 1rem !important; }
.df-hauptnav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
.df-hauptnav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--df-himmel) !important; font-size: 1rem; padding: .35rem 0 !important; }
.df-hauptnav .is-menu-open .wp-block-navigation__responsive-container-close { color: #fff; top: 1.6rem; right: var(--df-rand); }

.df-suche .wp-block-search__button { background: transparent !important; color: #000 !important; border: 1px solid #000 !important; width: 46px; height: 46px; padding: 0 !important; margin-left: 0 !important; border-radius: 50% !important; display: grid; place-items: center; transition: background-color .3s, color .3s; }
.df-suche .wp-block-search__button:hover { background: #000 !important; color: #fff !important; }
.df-suche .wp-block-search__button svg { width: 20px; height: 20px; fill: currentColor; }
.df-suche .wp-block-search__inside-wrapper { border: 0 !important; padding: 0 !important; }
.df-suche .wp-block-search__input { border: 1px solid #000 !important; border-radius: 999px !important; margin-right: 6px !important; font-size: 15px; padding: 10px 16px !important; background: #fff; }
.df-header-cta .wp-block-button__link { padding: .85rem 1.6rem !important; font-size: 15px !important; }
@media (max-width: 1099px) { .df-header-cta { display: none; } }

/* ---------- Pill-Buttons mit Magnet-Gefühl ---------- */
.wp-element-button, .wp-block-button__link { border-radius: 999px !important; transition: background-color .35s var(--df-ease), color .35s var(--df-ease), transform .5s var(--df-ease-out) !important; will-change: transform; }
.wp-block-button__link:hover { transform: scale(1.04); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: #000; border: 1px solid #000; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: #000; color: #fff; }
.wp-block-button.is-style-df-sonne .wp-block-button__link, .df-pill--sonne { background: var(--df-sonne) !important; color: #000 !important; }
.wp-block-button.is-style-df-sonne .wp-block-button__link:hover, .df-pill--sonne:hover { background: #000 !important; color: var(--df-sonne) !important; }
.df-dunkel .wp-block-button.is-style-outline .wp-block-button__link, .df-section--marine .wp-block-button.is-style-outline .wp-block-button__link, .df-seitenkopf--marine .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: #fff; }
.df-dunkel .wp-block-button:not(.is-style-outline):not(.is-style-df-sonne) .wp-block-button__link, .df-section--marine .wp-block-button:not(.is-style-outline):not(.is-style-df-sonne) .wp-block-button__link { background: var(--df-himmel); color: var(--df-nacht); }

/* ---------- Typo-Bausteine ---------- */
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.entry-content p, .entry-content li, .df-prose p, .df-prose li { hyphens: auto; }
.is-style-df-kicker, .df-kicker, .df-kopf-kicker { font-family: var(--df-text); font-size: var(--wp--preset--font-size--s) !important; font-weight: 500; line-height: 1.3; color: var(--df-grau); margin: 0 0 1.25rem; display: flex; align-items: center; gap: .6rem; }
.is-style-df-kicker::before, .df-kicker::before, .df-kopf-kicker::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--df-koralle); flex: none; }
.df-kopf-kicker a { color: inherit; text-decoration: none; }
.df-dunkel .is-style-df-kicker, .df-section--marine .is-style-df-kicker, .df-seitenkopf--marine .is-style-df-kicker { color: var(--df-grau-dunkel); }
.is-style-df-lead, .df-lead { font-size: var(--wp--preset--font-size--l); line-height: 1.5; max-width: 40rem; letter-spacing: -.005em; }
.df-abschnitt-titel { font-size: var(--wp--preset--font-size--xxl); margin: 0 0 2rem; }
.df-mehr a, a.df-mehr { display: inline-flex; align-items: center; gap: .55rem; font-weight: 500; font-size: var(--wp--preset--font-size--s); text-decoration: none; color: #000; }
.df-mehr a::after, a.df-mehr::after { content: ""; width: 28px; height: 28px; border-radius: 50%; border: 1px solid currentColor; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='13.5' fill='black'/%3E%3Cpath d='M9 14h10M15 10l4 4-4 4' fill='none' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='13.5' fill='black'/%3E%3Cpath d='M9 14h10M15 10l4 4-4 4' fill='none' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat; transition: transform .5s var(--df-ease-out); }
.df-mehr a:hover::after, a.df-mehr:hover::after { transform: translateX(5px) rotate(-45deg); }
.df-dunkel .df-mehr a, .df-section--marine .df-mehr a, .df-footer .df-mehr a { color: #fff; }

/* Buchstaben-Scrub und Wort-Einblendung */
.df-scrub, .is-style-df-scrub { font-family: var(--df-display) !important; font-weight: 800; font-size: var(--wp--preset--font-size--xxxl) !important; line-height: .98 !important; letter-spacing: -.035em; color: #000; max-width: 15.5em; }
.df-scrub .df-w { display: inline-block; white-space: nowrap; }
.df-scrub .df-l { display: inline-block; transition: color .25s linear, opacity .25s linear; }
.df-js .df-scrub .df-l { opacity: 0; }
.df-dunkel .df-scrub, .df-section--marine .df-scrub { color: #fff; }
.df-words, .is-style-df-words { font-size: var(--wp--preset--font-size--l); line-height: 1.55; letter-spacing: -.01em; max-width: 34rem; }
.df-words .df-wd { transition: opacity .3s linear; }
.df-js .df-words .df-wd { opacity: .14; }

/* ---------- Seitenköpfe ---------- */
.df-seitenkopf { background: transparent; border: 0; padding-top: clamp(2.5rem, 8vw, 7rem) !important; padding-bottom: clamp(2.5rem, 6vw, 5rem) !important; }
.df-seitenkopf .df-brotkrumen { margin-bottom: clamp(2rem, 5vw, 4rem); }
.df-seitenkopf h1, .df-seitenkopf .wp-block-post-title { font-size: var(--wp--preset--font-size--display) !important; max-width: 14ch; margin: 0; }
.df-seitenkopf .is-style-df-lead, .df-seitenkopf .df-kopf-lead { margin-top: 2rem; font-size: var(--wp--preset--font-size--l); color: #000; }
.df-seitenkopf--marine, .df-seitenkopf--himmel, .df-seitenkopf--sand { margin: 0 var(--df-rand) !important; border-radius: var(--df-radius); width: auto !important; max-width: none !important; }
.df-seitenkopf--marine { background: var(--df-nacht); color: #fff; }
.df-seitenkopf--marine h1, .df-seitenkopf--marine .wp-block-post-title, .df-seitenkopf--marine .df-kopf-lead, .df-seitenkopf--marine .is-style-df-lead { color: #fff; }
.df-seitenkopf--marine .df-brotkrumen a, .df-seitenkopf--marine .df-brotkrumen span { color: var(--df-grau-dunkel); }
.df-seitenkopf--himmel { background: var(--df-himmel); }
.df-seitenkopf--sand { background: var(--df-sonne); }
.df-seitenkopf.is-layout-constrained > :not(.alignfull), .df-section.is-layout-constrained > :not(.alignfull):not(.df-innen) { margin-left: max(0px, calc((100% - 1320px) / 2)) !important; margin-right: auto !important; }
.df-seitenkopf.is-layout-constrained > .wp-block-columns, .df-seitenkopf.is-layout-constrained > .df-brotkrumen { width: 100%; }
.df-kopf-spalten { gap: clamp(2rem, 5vw, 5rem); }
.df-kopf-spalten .wp-block-post-featured-image { margin: 0; border-radius: var(--df-radius); overflow: hidden; }
.df-kopf-meta { font-size: var(--wp--preset--font-size--s); color: var(--df-grau); gap: .75rem !important; margin-bottom: 1.25rem; }
.df-kopf-meta > * { margin: 0 !important; }
.df-kopf-meta a { color: inherit; text-decoration: none; }
.df-seitenkopf .df-status { margin-top: 1.5rem; }
.df-brotkrumen ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem .6rem; font-size: var(--wp--preset--font-size--xs); color: var(--df-grau); }
.df-brotkrumen li + li::before { content: "/"; margin-right: .6rem; opacity: .5; }
.df-brotkrumen a { color: var(--df-grau); text-decoration: none; }
.df-brotkrumen a:hover { color: #000; }

/* ---------- Sektionen ---------- */
.df-section { padding-block: var(--wp--preset--spacing--60); }
.df-section--eng { padding-block: var(--wp--preset--spacing--50); }
.df-innen > * { max-width: none; }
.df-innen > .is-style-df-lead, .df-innen > p:not([class]) { max-width: 40rem; }
.df-section--papier, .df-section--sand, .df-section--himmel { background: #fff; margin-inline: var(--df-rand) !important; border-radius: var(--df-radius); width: auto !important; }
.df-section--himmel { background: var(--df-himmel); }
.df-section--sand { background: var(--df-sonne); }
.df-section--marine, .df-dunkel { background: var(--df-nacht); color: #E3EEF3; }
.df-section--marine h2, .df-section--marine h3, .df-section--marine h4, .df-dunkel h2, .df-dunkel h3, .df-dunkel h4 { color: #fff; }
.df-section--marine a, .df-dunkel a { color: #fff; }
.df-sektionskopf { margin-bottom: clamp(2.5rem, 5vw, 4.5rem) !important; gap: 1rem; }
.df-sektionskopf h2 { margin: 0; font-size: var(--wp--preset--font-size--xxxl); max-width: 16ch; }
.wp-block-column[style*="flex-basis:3"] h2, .wp-block-column[style*="flex-basis:2"] h2 { font-size: var(--wp--preset--font-size--xxl); hyphens: auto; }
.df-section > .df-innen > .wp-block-columns, .df-artikel { gap: clamp(2rem, 5vw, 5rem); }

/* ---------- Karten ---------- */
.df-cards { display: grid; gap: 3rem 1.5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); }
.df-card, .wp-block-post-template .df-karte-q { position: relative; display: flex; flex-direction: column; height: 100%; }
.df-card__bild, .df-karte-q .wp-block-post-featured-image { margin: 0 0 1.25rem !important; overflow: hidden; aspect-ratio: 16 / 10; border-radius: var(--df-radius); background: #fff; }
.df-card__bild svg, .df-card__bild img, .df-karte-q .wp-block-post-featured-image svg, .df-karte-q .wp-block-post-featured-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--df-ease-out); }
.df-card:hover .df-card__bild svg, .df-karte-q:hover .wp-block-post-featured-image svg, .df-karte-q:hover .wp-block-post-featured-image img { transform: scale(1.05); }
.df-card:not(:has(.df-card__bild)), .df-karte-q:not(:has(.wp-block-post-featured-image)) { background: #fff; border-radius: var(--df-radius); padding: 1.75rem; transition: transform .6s var(--df-ease-out), background-color .4s; }
.df-card:not(:has(.df-card__bild)):hover, .df-karte-q:not(:has(.wp-block-post-featured-image)):hover { transform: translateY(-4px); }
.df-card__meta, .df-karte-q .df-meta { font-size: var(--wp--preset--font-size--xs); color: var(--df-grau); margin: 0 0 .7rem; display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.df-karte-q .df-meta > * { margin: 0 !important; }
.df-karte-q .df-meta a { color: inherit; text-decoration: none; }
.df-meta .wp-block-post-terms + .wp-block-post-terms::before, .df-meta .wp-block-post-date + .wp-block-post-terms::before { content: "/"; margin-right: .4rem; opacity: .6; }
.df-meta .wp-block-post-terms:empty { display: none; }
.df-card__titel, .df-karte-q .wp-block-post-title { font-family: var(--df-display); font-weight: 800; font-size: var(--wp--preset--font-size--xl) !important; line-height: 1.05 !important; letter-spacing: -.025em; margin: 0 0 .75rem !important; }
.df-card__titel a, .df-karte-q .wp-block-post-title a { color: #000; text-decoration: none; }
.df-card__titel a::before, .df-karte-q .wp-block-post-title a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.df-card__text, .df-karte-q .wp-block-post-excerpt { color: #2B3438; font-size: var(--wp--preset--font-size--s); line-height: 1.55; margin: 0; }
.df-karte-q .wp-block-post-excerpt__excerpt { margin: 0; }
.df-karte-q .wp-block-post-excerpt__more-text { display: none; }
.df-card .df-status, .df-karte-q .df-status { margin-top: 1rem; align-self: flex-start; }
.df-section--marine .df-card__titel a, .df-section--marine .df-karte-q .wp-block-post-title a { color: #fff; }
.df-section--marine .df-card:not(:has(.df-card__bild)), .df-section--marine .df-karte-q:not(:has(.wp-block-post-featured-image)) { background: rgba(255,255,255,.06); }
.df-section--marine .df-card__text, .df-section--marine .df-karte-q .wp-block-post-excerpt { color: #B9CBD3; }
.df-query .wp-block-post-template.is-layout-grid { gap: 3rem 1.5rem; }
@media (max-width: 1000px) { .df-query .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; } }
@media (max-width: 640px) { .df-query .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; } }
.df-query--positionen .df-karte-q { background: var(--df-nacht) !important; color: #fff; }
.df-query--positionen .df-karte-q .wp-block-post-title a { color: #fff; }
.df-query--positionen .df-karte-q .wp-block-post-excerpt { color: #B9CBD3; }
.df-query--positionen .df-karte-q .wp-block-post-title { font-size: var(--wp--preset--font-size--xxl) !important; }

/* Liste */
.df-liste .wp-block-post-template { gap: 0 !important; }
.df-liste .df-karte-q { background: transparent !important; border-radius: 0 !important; padding: 2rem 0 !important; border-top: 1px solid #000; display: grid !important; grid-template-columns: 12rem 1fr; gap: .3rem 2rem; transform: none !important; }
.df-liste .df-karte-q > * { grid-column: 2; }
.df-liste .df-karte-q > .df-meta { grid-column: 1; grid-row: 1 / span 4; flex-direction: column; align-items: flex-start; }
.df-liste .df-karte-q .wp-block-post-title { font-size: var(--wp--preset--font-size--xxl) !important; }
.df-liste .df-karte-q:hover .wp-block-post-title a { color: var(--df-beere); }
@media (max-width: 700px) { .df-liste .df-karte-q { grid-template-columns: 1fr; } .df-liste .df-karte-q > *, .df-liste .df-karte-q > .df-meta { grid-column: 1; grid-row: auto; flex-direction: row; } }

/* Themen-Archiv */
.df-themen-query .wp-block-post-template { gap: 1.5rem !important; }
.df-themen-query .wp-block-post-template > li { margin: 0; }
@media (max-width: 1000px) { .df-themen-query .wp-block-post-template { grid-template-columns: repeat(2, minmax(0,1fr)) !important; } }
@media (max-width: 640px) { .df-themen-query .wp-block-post-template { grid-template-columns: 1fr !important; } }
.df-thema-kachel { position: relative; height: 100%; display: flex; flex-direction: column; }
.df-thema-kachel .wp-block-post-featured-image { margin: 0 0 1.1rem !important; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--df-radius); }
.df-thema-kachel .wp-block-post-featured-image svg { display: block; width: 100%; height: 100%; transition: transform 1s var(--df-ease-out); }
.df-thema-kachel:hover .wp-block-post-featured-image svg { transform: scale(1.06); }
.df-thema-kachel .wp-block-post-title { font-size: var(--wp--preset--font-size--xl) !important; margin: 0 0 .5rem !important; }
.df-thema-kachel .wp-block-post-title a { text-decoration: none; color: #000; }
.df-thema-kachel .wp-block-post-title a::before { content: ""; position: absolute; inset: 0; }
.df-thema-kachel .wp-block-post-excerpt { font-size: var(--wp--preset--font-size--s); color: #2B3438; margin: 0; }
.df-thema-kachel .wp-block-post-excerpt p { margin: 0; }

/* Zitat, Werte, Listen */
.is-style-df-gross { margin: 0; padding: 0; border: 0 !important; }
.is-style-df-gross p { font-family: var(--df-display); font-size: var(--wp--preset--font-size--xxl); line-height: 1.04; font-weight: 800; letter-spacing: -.03em; }
.is-style-df-gross cite { display: block; margin-top: 1.25rem; font-style: normal; font-size: var(--wp--preset--font-size--s); color: var(--df-grau); }
.df-section--marine .is-style-df-gross p { color: #fff; }
.df-section--marine .is-style-df-gross cite { color: var(--df-grau-dunkel); }
.df-werte { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 1rem; }
.df-werte > * { margin: 0 !important; background: var(--df-nebel); border-radius: 16px; padding: 1.5rem 1.5rem 1.75rem; transition: transform .6s var(--df-ease-out), background-color .4s; }
.df-section--papier .df-werte > *, .df-section--himmel .df-werte > *, .df-section--sand .df-werte > * { background: var(--df-nebel); }
.df-section:not(.df-section--papier):not(.df-section--himmel):not(.df-section--sand) .df-werte > * { background: #fff; }
.df-werte > *:hover { transform: translateY(-4px); }
.df-werte > *:nth-child(6n+1)::before, .df-werte > *:nth-child(6n+2)::before, .df-werte > *:nth-child(6n+3)::before, .df-werte > *:nth-child(6n+4)::before, .df-werte > *:nth-child(6n+5)::before, .df-werte > *:nth-child(6n)::before { content: ""; display: block; width: 14px; height: 27px; margin-bottom: 1.25rem; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 517 1004'%3E%3Cpath d='M0 0C357.4 0 515.6 186.5 515.6 503.9C515.6 854.7 319 1003.1 4.2 1003.1C4.2 694 158.7 522.5 439 501.3C170.1 485.3 0 308.9 0 0Z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 517 1004'%3E%3Cpath d='M0 0C357.4 0 515.6 186.5 515.6 503.9C515.6 854.7 319 1003.1 4.2 1003.1C4.2 694 158.7 522.5 439 501.3C170.1 485.3 0 308.9 0 0Z'/%3E%3C/svg%3E") center/contain no-repeat; }
.df-werte > *:nth-child(6n+1)::before { background: var(--df-koralle); } .df-werte > *:nth-child(6n+2)::before { background: var(--df-tuerkis); } .df-werte > *:nth-child(6n+3)::before { background: var(--df-beere); } .df-werte > *:nth-child(6n+4)::before { background: var(--df-nacht); } .df-werte > *:nth-child(6n+5)::before { background: #E8C547; } .df-werte > *:nth-child(6n)::before { background: var(--df-himmel); }
.df-werte h3 { font-size: var(--wp--preset--font-size--l) !important; margin: 0 0 .5rem !important; }
.df-werte p { font-size: var(--wp--preset--font-size--s); margin: 0; color: #2B3438; }
.df-leitworte { font-family: var(--df-display); font-size: var(--wp--preset--font-size--display); line-height: .92; font-weight: 800; letter-spacing: -.04em; }
.df-leitworte span { color: var(--df-koralle); }
.is-style-df-pfeil { list-style: none; padding-left: 0; }
.is-style-df-pfeil li { position: relative; padding-left: 1.6rem; margin-bottom: .6rem; }
.is-style-df-pfeil li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: var(--df-koralle); }
.is-style-df-linien { list-style: none; padding-left: 0; border-top: 1px solid #000; }
.is-style-df-linien li { border-bottom: 1px solid var(--df-linie); padding: 1.1rem 0; margin: 0; }
.is-style-df-linien li a { text-decoration: none; font-weight: 500; color: #000; display: flex; justify-content: space-between; gap: 1rem; }
.is-style-df-linien li a::after { content: "→"; transition: transform .4s var(--df-ease-out); }
.is-style-df-linien li a:hover::after { transform: translateX(6px); }
.df-orientierung li { position: relative; padding-left: 2rem !important; font-size: var(--wp--preset--font-size--m); }
.df-orientierung li::before { content: ""; position: absolute; left: 0; top: 1.6rem; width: 9px; height: 9px; border-radius: 50%; background: var(--df-koralle); }

/* Hinweisfläche */
.is-style-df-hinweis, .df-hinweis { background: var(--df-sonne); border-radius: 16px; padding: 1.5rem 1.75rem !important; display: grid; grid-template-columns: 40px 1fr; gap: 0 1.1rem; align-items: start; color: #000; }
.is-style-df-hinweis > *, .df-hinweis > * { grid-column: 2; margin: 0 0 .45rem; }
.is-style-df-hinweis > *:last-child, .df-hinweis > *:last-child { margin-bottom: 0; }
.is-style-df-hinweis::before, .df-hinweis::before { content: "i"; grid-column: 1; grid-row: 1 / span 4; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: #000; color: var(--df-sonne); font: 700 18px/1 var(--df-display); }
.is-style-df-hinweis p, .df-hinweis p { font-size: var(--wp--preset--font-size--s); line-height: 1.55; }
.is-style-df-hinweis a { color: #000; }
.is-style-df-karte { background: #fff; border-radius: var(--df-radius); padding: 2rem !important; }
.df-hinweis-wrap { margin-top: var(--wp--preset--spacing--50); }
.df-hinweis-wrap > * { max-width: 46rem; }
.df-status { display: inline-flex; align-items: center; gap: .45rem; font-size: 12px; font-weight: 600; line-height: 1; padding: .5rem .8rem; border-radius: 999px; background: #000; color: var(--df-sonne); }
.df-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--df-koralle); }
.df-section--marine .df-status, .df-dunkel .df-status, .df-seitenkopf--marine .df-status { background: var(--df-sonne); color: #000; }
.df-entwurf-hinweis { font-size: var(--wp--preset--font-size--xs); color: var(--df-grau); }
.df-pruefen { background: var(--df-sonne); color: #000; padding: .1em .4em; border-radius: 4px; font-weight: 600; }

/* Porträt-Platzhalter */
.df-portrait-platzhalter { aspect-ratio: 4 / 5; background: var(--df-beere); border-radius: var(--df-radius); display: grid; place-items: center; position: relative; overflow: hidden; margin: 0; }
.df-portrait-platzhalter span { font-family: var(--df-display); font-size: clamp(4rem, 9vw, 7rem); font-weight: 800; letter-spacing: -.04em; color: var(--df-sonne); position: relative; z-index: 1; }
.df-portrait-platzhalter::before { content: ""; position: absolute; width: 60%; aspect-ratio: 1; right: -10%; top: -10%; background: var(--df-koralle); border-radius: 0 0 0 100%; }
.df-portrait-platzhalter small { position: absolute; bottom: 1rem; left: 0; right: 0; text-align: center; color: #fff; font-size: 12px; z-index: 1; }
.df-praesident { gap: clamp(2rem, 5vw, 4rem); }

/* Filter */
.df-filter { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; margin-bottom: 2rem; }
.df-filter__label { font-size: var(--wp--preset--font-size--xs); color: var(--df-grau); }
.df-filter ul { list-style: none; display: flex; flex-wrap: wrap; gap: .45rem; margin: 0; padding: 0; }
.df-filter a { display: inline-block; padding: .5rem 1rem; border: 1px solid #000; border-radius: 999px; font-size: var(--wp--preset--font-size--xs); color: #000; text-decoration: none; transition: background-color .3s, color .3s; }
.df-filter a:hover, .df-filter a[aria-current] { background: #000; color: #fff; }
.wp-block-query-pagination { margin-top: 3rem; gap: .5rem; font-weight: 500; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { min-width: 44px; height: 44px; display: inline-grid; place-items: center; padding: 0 .9rem; text-decoration: none; border-radius: 999px; border: 1px solid transparent; color: #000; }
.wp-block-query-pagination .current { border-color: #000; }

/* Formulare */
.df-form { max-width: 760px; }
.df-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
@media (max-width: 640px) { .df-form__grid { grid-template-columns: 1fr; } }
.df-feld { margin: 0 0 1.25rem; }
.df-feld label { display: block; font-weight: 500; font-size: var(--wp--preset--font-size--s); margin-bottom: .45rem; }
.df-feld input[type=text], .df-feld input[type=email], .df-feld select, .df-feld textarea, .df-suchseite .wp-block-search__input { width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; padding: .95rem 1.25rem; border: 1px solid #000; background: #fff; color: #000; border-radius: 14px; min-height: 52px; transition: box-shadow .3s; }
.df-feld input:focus, .df-feld select:focus, .df-feld textarea:focus { outline: none; box-shadow: 0 0 0 3px var(--df-himmel); }
.df-feld--check { display: grid; grid-template-columns: 22px 1fr; gap: .75rem; align-items: start; }
.df-feld--check input { width: 20px; height: 20px; margin: .2rem 0 0; accent-color: var(--df-nacht); }
.df-feld--check label { font-weight: 400; }
.df-pflicht { color: var(--df-beere); }
.df-optional { font-weight: 400; color: var(--df-grau); }
.df-hp { position: absolute !important; left: -9999px !important; }
.df-form__hinweis { font-size: var(--wp--preset--font-size--s); background: var(--df-himmel); border-radius: 14px; padding: 1rem 1.25rem; }
.df-form__absenden { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.df-form__absenden button { border: 0; cursor: pointer; font-family: var(--df-text); }
.df-form__pflicht { font-size: var(--wp--preset--font-size--xs); color: var(--df-grau); }
.df-meldung { padding: 1.25rem 1.5rem; margin-bottom: 1.5rem; border-radius: 14px; }
.df-meldung--ok { background: var(--df-himmel); color: #000; }
.df-meldung--fehler { background: #FFD0DA; color: #5C0018; }
.df-suchseite .wp-block-search__button { background: #000; color: #fff; border: 0; padding: 0 1.75rem; font-weight: 500; border-radius: 999px; margin-left: .5rem; }
.df-suchseite .wp-block-search__inside-wrapper { border: 0; padding: 0; }

/* Inhalte */
.df-prose > h2 { font-size: var(--wp--preset--font-size--xxl); margin-top: 3.5rem; }
.df-prose > h3 { margin-top: 2.5rem; }
.df-prose > :not(.alignwide):not(.alignfull):not(.df-section) { max-width: 46rem; }
.df-prose > h2:first-child, .df-prose > p:first-child { margin-top: 0; }
.df-prose li { margin-bottom: .45rem; }
.df-prose table { border-collapse: collapse; width: 100%; font-size: var(--wp--preset--font-size--s); }
.df-prose th, .df-prose td { border-bottom: 1px solid var(--df-linie); padding: .85rem .5rem; text-align: left; vertical-align: top; }
.df-prose th { border-bottom-color: #000; font-weight: 600; }
.df-prose th[scope=row] { width: 11rem; white-space: nowrap; }
@media (max-width: 640px) { .df-prose th[scope=row] { white-space: normal; width: 8rem; } }
.df-randspalte { position: sticky; top: calc(var(--df-header-h) + 2rem); border-top: 1px solid #000; padding-top: 1.25rem; }
.df-randspalte > * { margin-block-start: 0 !important; }
.df-rand-label { font-size: var(--wp--preset--font-size--xs); color: var(--df-grau); margin: 0 0 .25rem !important; }
.df-randspalte > :not(.df-rand-label) { margin-bottom: 1.5rem !important; font-size: var(--wp--preset--font-size--s); }
.df-randspalte a { color: #000; }
@media (max-width: 781px) { .df-randspalte { position: static; display: grid; grid-template-columns: auto 1fr; gap: .25rem 1rem; } .df-randspalte > :not(.df-rand-label) { margin-bottom: .5rem !important; } }
.df-auf-einen-blick { background: var(--df-himmel); border-radius: var(--df-radius); padding: 1.75rem !important; margin-top: 3rem !important; }
.df-auf-einen-blick .is-style-df-pfeil li::before { background: var(--df-nacht); }

/* ---------- Startseite ---------- */
.df-intro { position: relative; height: 210vh; }
.df-intro__sticky { position: sticky; top: 0; height: 100vh; display: grid; place-items: center; overflow: hidden; }
.df-intro__titel { font-family: var(--df-display); font-weight: 800; font-size: var(--wp--preset--font-size--xxxl); line-height: .95; letter-spacing: -.035em; text-align: center; margin: 0; padding: 0 var(--df-rand); max-width: 16ch; }
.df-intro__titel .df-rot { display: inline-block; position: relative; }
.df-intro__unter { position: absolute; bottom: 7vh; left: 0; right: 0; text-align: center; font-size: var(--wp--preset--font-size--s); color: var(--df-grau); }
.df-intro__unter span { display: inline-block; width: 1px; height: 38px; background: #000; margin: .75rem auto 0; animation: df-scrollhint 2s var(--df-ease) infinite; transform-origin: top; }
@keyframes df-scrollhint { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
.df-intro__karte { position: absolute; left: 50%; top: 100%; width: min(380px, 70vw); aspect-ratio: 4 / 5; border-radius: var(--df-radius); overflow: hidden; transform: translate(-50%, 0); will-change: transform; box-shadow: 0 30px 80px rgba(0,40,57,.18); }
.df-intro__karte .df-bild, .df-intro__karte svg.df-visual { width: 100%; height: 100%; display: block; }
.df-intro__karte .df-intro__signet { position: absolute; inset: 0; display: grid; place-items: center; }
.df-intro__karte .df-intro__signet svg { width: 34%; height: auto; }
.df-statement { padding-block: clamp(6rem, 14vw, 13rem) clamp(5rem, 10vw, 9rem); }
.df-statement__absatz { display: flex; justify-content: flex-end; margin-top: clamp(3rem, 7vw, 6rem); }
.df-statement__absatz > div { max-width: 34rem; }

/* Karten-Stapel */
.df-stack { position: relative; padding-bottom: 8vh; }
.df-stack__karte { position: sticky; top: calc(var(--df-header-h) + 3vh); height: calc(100vh - var(--df-header-h) - 8vh); min-height: 460px; margin: 0 auto 6vh; border-radius: var(--df-radius); overflow: hidden; display: grid; grid-template-columns: 1.1fr .9fr; transform-origin: 50% 0; will-change: transform; color: #000; text-decoration: none; }
.df-stack__karte:last-child { margin-bottom: 0; }
.df-stack__text { padding: clamp(2rem, 4vw, 4rem); display: flex; flex-direction: column; justify-content: space-between; position: relative; z-index: 1; }
.df-stack__nr { font-family: var(--df-display); font-weight: 800; font-size: var(--wp--preset--font-size--l); letter-spacing: -.02em; }
.df-stack__titel { font-family: var(--df-display); font-weight: 800; font-size: var(--wp--preset--font-size--display); line-height: .9; letter-spacing: -.045em; margin: 0; max-width: 9ch; hyphens: auto; }
.df-stack__beschr { font-size: var(--wp--preset--font-size--l); line-height: 1.4; max-width: 26rem; margin: 0; }
.df-stack__bild { position: relative; overflow: hidden; }
.df-stack__bild svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.df-stack__karte--himmel { background: var(--df-himmel); } .df-stack__karte--sonne { background: var(--df-sonne); } .df-stack__karte--koralle { background: var(--df-koralle); } .df-stack__karte--beere { background: var(--df-beere); color: #fff; } .df-stack__karte--tuerkis { background: var(--df-tuerkis); } .df-stack__karte--nacht { background: var(--df-nacht); color: #fff; }
@media (max-width: 800px) { .df-stack__karte { grid-template-columns: 1fr; grid-template-rows: auto 38%; height: auto; min-height: 78vh; } .df-stack__titel { font-size: var(--wp--preset--font-size--xxxl); } }

/* Dunkle Werk-Kacheln mit Scroll-Biegung */
.df-dunkel { padding-block: clamp(6rem, 12vw, 11rem) clamp(5rem, 9vw, 8rem); position: relative; }
.df-werke { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(3rem, 7vw, 7rem) clamp(1rem, 3vw, 3rem); }
.df-werk { position: relative; display: block; color: #fff; text-decoration: none; }
.df-werk:nth-child(4n+1) { grid-column: 1 / span 5; }
.df-werk:nth-child(4n+2) { grid-column: 7 / span 6; margin-top: 10rem; }
.df-werk:nth-child(4n+3) { grid-column: 2 / span 6; }
.df-werk:nth-child(4n+4) { grid-column: 9 / span 4; margin-top: 6rem; }
.df-werk__bild { border-radius: 4px; overflow: hidden; aspect-ratio: 4 / 3.2; will-change: transform; transform-origin: 50% 50%; }
.df-werk:nth-child(3n+2) .df-werk__bild { aspect-ratio: 16 / 11; }
.df-werk__bild svg { display: block; width: 100%; height: 100%; transition: transform 1.2s var(--df-ease-out); }
.df-werk:hover .df-werk__bild svg { transform: scale(1.06); }
.df-werk__titel { font-family: var(--df-display); font-weight: 800; font-size: var(--wp--preset--font-size--xl); letter-spacing: -.025em; line-height: 1.05; margin: 1.1rem 0 .3rem; color: #fff; }
.df-werk__meta { font-size: 13px; color: var(--df-grau-dunkel); }
.df-werk__meta i { font-style: normal; margin: 0 .35rem; opacity: .7; }
@media (max-width: 800px) { .df-werke { grid-template-columns: 1fr; } .df-werk:nth-child(n) { grid-column: 1 / -1; margin-top: 0; } }
.df-filterpill { position: sticky; bottom: 2rem; z-index: 5; display: flex; justify-content: center; margin-top: 5rem; pointer-events: none; }
.df-filterpill nav { pointer-events: auto; display: inline-flex; align-items: center; gap: 0; background: rgba(0,0,0,.55); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border-radius: 999px; padding: .4rem; box-shadow: 0 20px 50px rgba(0,0,0,.25); }
.df-filterpill a { color: #fff; text-decoration: none; padding: .65rem 1.2rem; border-radius: 999px; font-size: 14px; display: inline-flex; align-items: center; gap: .5rem; transition: background-color .3s, color .3s; }
.df-filterpill a::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--df-grau-dunkel); }
.df-filterpill a:hover, .df-filterpill a[aria-current] { background: var(--df-himmel); color: var(--df-nacht); }
.df-filterpill a[aria-current]::before, .df-filterpill a:hover::before { background: var(--df-nacht); }
.df-filterpill span { width: 1px; height: 22px; background: rgba(255,255,255,.25); }

/* Ziehbarer Slider */
.df-drag { overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; cursor: grab; scroll-snap-type: x proximity; padding-left: max(var(--df-rand), calc((100vw - 1320px) / 2)); padding-right: var(--df-rand); }
.df-drag::-webkit-scrollbar { display: none; }
.df-drag.is-ziehen { cursor: grabbing; scroll-snap-type: none; }
.df-drag.is-ziehen a { pointer-events: none; }
.df-drag .wp-block-post-template { display: flex !important; gap: 1.5rem !important; width: max-content; padding: 0; margin: 0; }
.df-drag .wp-block-post-template > li { width: clamp(280px, 30vw, 420px); flex: none; scroll-snap-align: start; margin: 0 !important; }
.df-drag .df-karte-q { background: #fff !important; border-radius: var(--df-radius) !important; padding: 0 !important; overflow: hidden; }
.df-drag .df-karte-q .wp-block-post-featured-image { border-radius: 0; margin: 0 !important; aspect-ratio: 16 / 11; }
.df-drag .df-karte-q > :not(.wp-block-post-featured-image) { padding-inline: 1.5rem; }
.df-drag .df-karte-q > .df-meta { padding-top: 1.25rem; }
.df-drag .df-karte-q > :last-child { padding-bottom: 1.5rem; }
.df-drag .df-karte-q .wp-block-post-terms.df-status-wrap { margin-left: 1.5rem; }
.df-drag-nav { display: flex; gap: .5rem; }
.df-drag-nav button { width: 52px; height: 52px; border-radius: 50%; border: 1px solid #000; background: transparent; color: #000; font-size: 20px; cursor: pointer; transition: background-color .3s, color .3s; }
.df-drag-nav button:hover { background: #000; color: #fff; }

/* Laufband */
.df-marquee { overflow: hidden; padding-block: clamp(3rem, 6vw, 5rem); border-block: 1px solid var(--df-linie); }
.df-marquee__spur { display: flex; width: max-content; animation: df-lauf 40s linear infinite; }
.df-marquee:hover .df-marquee__spur { animation-play-state: paused; }
.df-marquee__gruppe { display: flex; align-items: center; flex: none; }
.df-marquee__item { font-family: var(--df-display); font-weight: 800; font-size: var(--wp--preset--font-size--xxl); letter-spacing: -.03em; padding: 0 2.5rem; white-space: nowrap; }
.df-marquee__trenner { width: 1px; height: 70px; background: var(--df-linie); transform: rotate(22deg); flex: none; }
.df-marquee__item svg { height: .8em; width: auto; vertical-align: -.05em; margin-right: .35em; }
@keyframes df-lauf { to { transform: translateX(-50%); } }

/* Mitwirken-Aufruf im Fuß */
.df-cta { padding-block: clamp(6rem, 13vw, 12rem); text-align: center; }
.df-cta .df-scrub { margin: 0 auto 3rem; text-align: center; max-width: 13em; }
.df-cta .wp-block-buttons { justify-content: center; }
.df-cta .wp-block-button__link { padding: 1.25rem 2.4rem !important; font-size: 17px !important; }

/* ---------- Fußbereich ---------- */
.df-footer { background: var(--df-nebel); color: #000; font-size: var(--wp--preset--font-size--s); padding-top: 0; }
.df-footer h2, .df-footer h3 { font-family: var(--df-display); font-weight: 800; font-size: var(--wp--preset--font-size--l) !important; letter-spacing: -.02em; margin: 0 0 1rem; color: #000; }
.df-footer a { color: #000; text-decoration: none; }
.df-footer a:hover { color: var(--df-beere); }
.df-footer ul { list-style: none; padding: 0; margin: 0; }
.df-footer li { margin-bottom: .55rem; }
.df-footer__spalten { gap: clamp(2rem, 4vw, 4rem); padding-top: clamp(3rem, 6vw, 5rem); border-top: 1px solid #000; margin-bottom: clamp(3rem, 6vw, 5rem) !important; }
.df-footer__claim { font-family: var(--df-display) !important; font-weight: 800; font-size: var(--wp--preset--font-size--xl) !important; line-height: 1.05; letter-spacing: -.025em; margin: 1.75rem 0 1rem; max-width: 18ch; }
.df-footer__mail { font-family: var(--df-display); font-weight: 800; font-size: var(--wp--preset--font-size--xl); letter-spacing: -.025em; }
.df-footer__unten { border-top: 1px solid var(--df-linie); padding-block: 1.5rem 2rem; gap: 1rem; font-size: var(--wp--preset--font-size--xs); color: var(--df-grau); }
.df-footer__unten > p { margin: 0; max-width: 72ch; }
.df-rechtnav .wp-block-navigation__container { gap: 1.25rem; }
.df-rechtnav a, .df-rechtnav .wp-block-navigation-item__content { color: #000 !important; text-decoration: none; font-size: var(--wp--preset--font-size--xs); }
.df-footer__marke { padding-block: 2rem 1rem; }
.df-footer__marke .df-logo { gap: 2vw; width: 100%; }
.df-footer__marke .df-logo .df-signet { height: auto; width: 8vw; max-width: 110px; }
.df-footer__marke .df-logo .df-wortmarke { width: 100%; max-width: 1180px; }
.df-footer .df-logo:not(.df-footer__marke .df-logo) .df-signet { height: 38px; }

/* ---------- Bewegung ---------- */
@media (prefers-reduced-motion: no-preference) {
	.df-js .df-reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--df-ease-out), transform 1.2s var(--df-ease-out); }
	.df-js .df-reveal.is-visible { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.df-js .df-scrub .df-l, .df-js .df-words .df-wd { opacity: 1 !important; }
	.df-intro { height: auto; } .df-intro__sticky { position: relative; height: 80vh; } .df-intro__karte { display: none; }
	.df-stack__karte { position: relative; top: auto; }
}

.df-bild { margin: 0; line-height: 0; }
.df-bild svg { width: 100%; height: auto; display: block; }
.df-bild--auto svg { height: 100%; }

@media (max-width: 781px) {
	:root { --df-header-h: 72px; }
	.df-sektionskopf { flex-wrap: wrap; }
	.df-intro { height: 170vh; }
	.df-statement__absatz { justify-content: flex-start; }
}
@media print { header.df-kopf, .df-footer, .df-filter, .df-cursor, .df-preloader { display: none !important; } }

.df-intro__karte { background: var(--df-beere); }
.df-intro__karte .df-bild { display: none; }
.df-intro__karte .df-intro__signet svg { width: 42%; }

.df-mehr a::after, a.df-mehr::after { border: 0 !important; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='13.2' fill='none' stroke='black' stroke-width='1.3'/%3E%3Cpath d='M9 14h10M15 10l4 4-4 4' fill='none' stroke='black' stroke-width='1.5'/%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 28 28'%3E%3Ccircle cx='14' cy='14' r='13.2' fill='none' stroke='black' stroke-width='1.3'/%3E%3Cpath d='M9 14h10M15 10l4 4-4 4' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat !important; }
.df-drag { scroll-padding-left: max(var(--df-rand), calc((100vw - 1320px) / 2)); }
.df-drag .df-karte-q p:has(.df-status) { padding-bottom: 1.5rem; margin: 0; }
.df-leitworte { font-size: var(--wp--preset--font-size--xxxl); overflow-wrap: normal; }
.df-footer li, .df-footer p { overflow-wrap: normal; word-break: normal; hyphens: auto; }
.df-footer__spalten > .wp-block-column:not([style]) { min-width: 150px; }
.df-werte h3, .df-card__titel, .df-karte-q .wp-block-post-title, .df-werk__titel, .df-thema-kachel .wp-block-post-title { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
@media (max-width: 1099px) { .df-header-cta { display: none !important; } .df-header__nav .df-suche { order: -1; } .df-header__nav { gap: .75rem !important; } }
.df-suche, .df-suche .wp-block-search__button { flex-shrink: 0; }

/* ---------- Einstieg mit Suchmaske ---------- */
.df-intro--suche { height: auto; min-height: calc(100vh - var(--df-header-h)); display: grid; place-items: center; position: relative; overflow: hidden; padding: clamp(3rem, 8vh, 6rem) var(--df-rand) clamp(4rem, 10vh, 7rem); }
.df-intro__inner { position: relative; z-index: 2; width: min(1080px, 100%); text-align: center; display: flex; flex-direction: column; align-items: center; }
.df-intro__kicker { justify-content: center; }
.df-intro--suche .df-intro__titel { font-size: var(--wp--preset--font-size--display); max-width: 13ch; padding: 0; }
.df-intro__lead { font-size: var(--wp--preset--font-size--l); line-height: 1.45; max-width: 36rem; margin: 1.75rem auto 2.5rem; color: #1B2428; }
.df-intro__deko { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.df-deko { position: absolute; display: block; transform: translate(-50%, -50%) rotate(var(--rot, 0deg)); will-change: transform; }
.df-deko svg { width: 100%; height: auto; display: block; }
.df-deko--kreis { aspect-ratio: 1; border-radius: 50%; }
@media (prefers-reduced-motion: no-preference) {
	.df-deko > svg, .df-deko--kreis { animation: df-schweben 7s ease-in-out infinite alternate; animation-delay: calc(var(--i) * -1.1s); }
	.df-intro__inner > * { animation: df-hoch 1.1s var(--df-ease-out) both; }
	.df-intro__inner > *:nth-child(2) { animation-delay: .08s; } .df-intro__inner > *:nth-child(3) { animation-delay: .16s; } .df-intro__inner > *:nth-child(4) { animation-delay: .24s; } .df-intro__inner > *:nth-child(5) { animation-delay: .32s; }
	.df-deko { animation: df-auf 1.2s var(--df-ease-out) both; animation-delay: calc(.2s + var(--i) * .08s); }
}
@keyframes df-schweben { from { translate: 0 -10px; } to { translate: 0 12px; } }
@keyframes df-hoch { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
@keyframes df-auf { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 900px) { .df-deko:nth-child(n+4) { display: none; } .df-deko { opacity: .9; } .df-deko:nth-child(1) { left: 6% !important; top: 6% !important; width: 70px !important; } .df-deko:nth-child(2) { left: 92% !important; top: 8% !important; width: 60px !important; } .df-deko:nth-child(3) { left: 94% !important; top: 92% !important; width: 80px !important; } }

.df-suchmaske { width: 100%; display: grid; grid-template-columns: 1.5fr 1fr 1fr auto; align-items: stretch; background: #fff; border-radius: 999px; padding: .5rem; box-shadow: 0 24px 60px rgba(0,40,57,.14), 0 2px 6px rgba(0,40,57,.06); text-align: left; position: relative; }
.df-suchmaske__feld { position: relative; display: flex; flex-direction: column; justify-content: center; padding: .7rem 1.6rem; border-radius: 999px; transition: background-color .3s; min-width: 0; }
.df-suchmaske__feld + .df-suchmaske__feld::before { content: ""; position: absolute; left: 0; top: 22%; bottom: 22%; width: 1px; background: var(--df-linie); transition: opacity .3s; }
.df-suchmaske__feld:hover, .df-suchmaske__feld:focus-within { background: var(--df-nebel); }
.df-suchmaske__feld:hover::before, .df-suchmaske__feld:focus-within::before, .df-suchmaske__feld:hover + .df-suchmaske__feld::before, .df-suchmaske__feld:focus-within + .df-suchmaske__feld::before { opacity: 0; }
.df-suchmaske label { font-size: 12px; font-weight: 700; letter-spacing: .01em; color: #000; margin-bottom: .15rem; }
.df-suchmaske input, .df-suchmaske select { border: 0; background: transparent; padding: 0; font: 400 16px/1.4 var(--df-text); color: #1B2428; width: 100%; min-width: 0; outline: none; text-overflow: ellipsis; -webkit-appearance: none; appearance: none; }
.df-suchmaske select { cursor: pointer; padding-right: 1.25rem; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E") right center/11px no-repeat; }
.df-suchmaske input::placeholder { color: #6E7A80; }
.df-suchmaske__feld:focus-within { box-shadow: inset 0 0 0 2px var(--df-nacht); }
.df-suchmaske__los { border: 0; border-radius: 999px; background: var(--df-koralle); color: #fff; display: inline-flex; align-items: center; gap: .6rem; padding: 0 1.9rem 0 1.6rem; font: 600 16px/1 var(--df-text); cursor: pointer; transition: background-color .3s, transform .5s var(--df-ease-out); min-height: 60px; }
.df-suchmaske__los:hover { background: var(--df-nacht); }
.df-suchmaske__los:focus-visible { outline: 3px solid var(--df-nacht); outline-offset: 3px; }
@media (max-width: 900px) {
	.df-suchmaske { grid-template-columns: 1fr 1fr; border-radius: 28px; gap: .25rem; }
	.df-suchmaske__feld { border-radius: 20px; padding: .8rem 1.1rem; }
	.df-suchmaske__feld--text { grid-column: 1 / -1; }
	.df-suchmaske__feld + .df-suchmaske__feld::before { display: none; }
	.df-suchmaske__feld:not(.df-suchmaske__feld--text) { background: var(--df-nebel); }
	.df-suchmaske__los { grid-column: 1 / -1; justify-content: center; border-radius: 20px; }
}
.df-intro__chips { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem; margin-top: 1.75rem; font-size: 14px; }
.df-intro__chips span { color: var(--df-grau); margin-right: .25rem; }
.df-intro__chips a { display: inline-block; padding: .45rem .95rem; border-radius: 999px; background: rgba(255,255,255,.7); border: 1px solid rgba(0,0,0,.08); color: #000; text-decoration: none; transition: background-color .3s, color .3s, transform .4s var(--df-ease-out); }
.df-intro__chips a:hover { background: var(--df-nacht); color: var(--df-himmel); transform: translateY(-2px); }
/* ---------- Suchkreis im Kopf: nicht mehr abgeschnitten ---------- */
.df-suche.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper { overflow: visible !important; }
.df-suche.wp-block-search__searchfield-hidden .wp-block-search__input { margin: 0 !important; border: 0 !important; padding: 0 !important; width: 0 !important; opacity: 0; }
.df-suche .wp-block-search__button { transform: none !important; }

/* ---------- Eigene Auswahlfelder im DEUFINA-Design ---------- */
.df-auswahl { position: relative; width: 100%; }
.df-auswahl select { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
.df-auswahl__knopf { all: unset; box-sizing: border-box; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: .75rem; font: 400 16px/1.4 var(--df-text); color: #1B2428; cursor: pointer; white-space: nowrap; }
.df-auswahl__knopf span { overflow: hidden; text-overflow: ellipsis; }
.df-auswahl__knopf::after { content: ""; flex: none; width: 11px; height: 8px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat; transition: transform .4s var(--df-ease-out); }
.df-auswahl.is-offen .df-auswahl__knopf::after { transform: rotate(180deg); }
.df-auswahl__knopf:focus-visible { outline: 2px solid var(--df-beere); outline-offset: 6px; border-radius: 6px; }
.df-auswahl__liste { position: absolute; z-index: 40; left: -1.1rem; top: calc(100% + 1.1rem); min-width: calc(100% + 2.2rem); width: max-content; max-width: min(380px, 86vw); max-height: 340px; overflow-y: auto; margin: 0; padding: .5rem; list-style: none; background: #fff; border-radius: 20px; box-shadow: 0 24px 60px rgba(0,40,57,.18), 0 2px 8px rgba(0,40,57,.06); opacity: 0; visibility: hidden; transform: translateY(-6px) scale(.98); transform-origin: top left; transition: opacity .25s var(--df-ease-out), transform .35s var(--df-ease-out), visibility 0s .25s; scrollbar-width: thin; }
.df-auswahl.is-offen .df-auswahl__liste { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.df-auswahl__liste li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem 1rem; border-radius: 12px; font: 400 15px/1.35 var(--df-text); color: #1B2428; cursor: pointer; transition: background-color .2s, color .2s; }
.df-auswahl__liste li:hover, .df-auswahl__liste li.is-aktiv { background: var(--df-nebel); }
.df-auswahl__liste li[aria-selected="true"] { background: var(--df-nacht); color: #fff; font-weight: 500; }
.df-auswahl__liste li[aria-selected="true"]::after { content: ""; width: 14px; height: 10px; flex: none; background: var(--df-himmel); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'%3E%3Cpath d='M1 5l4 4 8-8' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'%3E%3Cpath d='M1 5l4 4 8-8' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; }
.df-auswahl__liste li[data-value=""] { color: var(--df-grau); }
.df-auswahl__liste li[data-value=""][aria-selected="true"] { color: #fff; }
.df-suchmaske__feld.is-offen { background: var(--df-nebel); }
/* Formularfelder (Kontakt, Mitgliedschaft) */
.df-feld .df-auswahl__knopf { min-height: 52px; padding: .95rem 1.25rem; border: 1px solid #000; border-radius: 14px; background: #fff; }
.df-feld .df-auswahl.is-offen .df-auswahl__knopf { box-shadow: 0 0 0 3px var(--df-himmel); }
.df-feld .df-auswahl__liste { left: 0; top: calc(100% + .5rem); min-width: 100%; }
/* Auswahlliste über Chips legen */
.df-intro--suche .df-suchmaske { position: relative; z-index: 6; }
.df-intro--suche .df-suchmaske:has(.df-auswahl.is-offen) { z-index: 30; }
.df-intro--suche .df-intro__chips { position: relative; z-index: 1; }
.df-feld .df-auswahl.is-offen { z-index: 30; }

/* Hero darf Auswahlliste nicht abschneiden: Clipping nur auf Deko-Ebene */
.df-intro.df-intro--suche { overflow: visible !important; position: relative; z-index: 3; }
.df-intro--suche .df-intro__deko { position: absolute !important; inset: 0 !important; overflow: hidden !important; pointer-events: none; }
html, body { overflow-x: clip; }

/* Formular-Auswahl: bündig unter dem Feld, über Folgefeldern */
.df-feld { position: relative; }
.df-feld:has(.df-auswahl.is-offen) { z-index: 30; }
.df-feld .df-auswahl__liste { left: 0; right: 0; min-width: 0; top: calc(100% + .45rem); }
.df-feld .df-auswahl__liste { width: auto !important; }

/* Quellenblock in Wissensbeiträgen */
.df-quellen { margin-top: 3rem !important; padding-top: 1.5rem; border-top: 1px solid var(--wp--preset--color--linie, #C9CCC4); font-size: .9rem; color: var(--wp--preset--color--grau, #56636A); }
.df-quellen p { margin: 0 0 .6rem; }
.df-quellen ul { margin: 0 0 1rem; padding-left: 1.1rem; }
.df-quellen li { margin: .25rem 0; }
.df-quellen a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.df-quellen p:last-child { font-size: .8rem; margin: 0; }

.df-terms-stapel a { display: block; margin-bottom: .2rem; }

.df-portrait { margin: 0; border-radius: 28px; overflow: hidden; aspect-ratio: 1; background: #ECEDE8; }
.df-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* ===== Typografie: keine Umbrüche mitten im Wort, mehr Zeilenabstand bei fetten Headlines ===== */
h1, h2, h3, h4, h5, h6, .wp-block-post-title, .df-scrub, .df-words, [class*="df-"] :is(h1,h2,h3,h4) { overflow-wrap: normal !important; word-break: normal !important; -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 10 4 4; text-wrap: balance; }
body, p, li, td, th, a, span { word-break: normal; overflow-wrap: break-word; }
p, li { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 8 4 3; }
h1, .wp-block-post-title, .has-hero-font-size, .has-display-font-size { line-height: 1.06 !important; }
h2, .has-xxxl-font-size, .has-xxl-font-size { line-height: 1.1 !important; }
h3, h4, .has-xl-font-size { line-height: 1.18 !important; }
.df-scrub, .df-words { line-height: 1.1 !important; }

/* ===== Signet im Header nicht beschneiden ===== */
.df-logo .df-signet { overflow: visible !important; flex-shrink: 0; aspect-ratio: 517 / 1004; width: auto; }

/* ===== Footer im MATER-Aufbau ===== */
.df-footer.df-footer--m { background: var(--df-nacht, #002839); color: #fff; padding-top: clamp(3.5rem, 7vw, 6rem); padding-bottom: 0; font-size: var(--wp--preset--font-size--s); }
.df-footer--m a { color: #fff; text-decoration: none; }
.df-fuss { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1.25fr; gap: clamp(2rem, 4vw, 4rem); padding-bottom: clamp(3rem, 6vw, 5rem); }
.df-fuss__spalte { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.df-fuss__marke { justify-content: space-between; gap: 3rem; }
.df-fuss__marke .df-logo .df-signet { height: 44px; }
.df-fuss__marke .df-logo .df-wortmarke { width: 168px; }
.df-fuss__klein { margin: 0; color: rgba(153, 217, 246, .72); font-size: var(--wp--preset--font-size--xs); line-height: 1.55; max-width: 30ch; }
.df-fuss__titel { font-family: var(--df-display); font-weight: 800; font-size: clamp(1.4rem, 2vw, 1.9rem); letter-spacing: -.035em; line-height: 1.1; margin: 0 0 1.4rem; color: #fff; overflow-wrap: anywhere; }
.df-fuss__nav { gap: .55rem; }
.df-fuss__nav a { font-family: var(--df-display); font-weight: 800; font-size: clamp(1.4rem, 2vw, 1.9rem); letter-spacing: -.035em; line-height: 1.15; transition: color .25s ease, transform .35s var(--df-ease-out, ease); }
.df-fuss__nav a:hover, .df-fuss__mail:hover { color: var(--df-himmel, #99D9F6); }
.df-fuss__nav a:hover { transform: translateX(6px); }
.df-fuss__kreise { display: flex; flex-wrap: wrap; gap: .8rem; }
.df-kreis { width: 58px; height: 58px; border-radius: 50%; border: 1px solid rgba(153, 217, 246, .45); display: inline-flex; align-items: center; justify-content: center; color: var(--df-himmel, #99D9F6) !important; transition: background .3s ease, color .3s ease, border-color .3s ease, transform .4s var(--df-ease-out, ease); }
.df-kreis:hover { background: var(--df-himmel, #99D9F6); border-color: var(--df-himmel, #99D9F6); color: var(--df-nacht, #002839) !important; transform: translateY(-3px); }
.df-fuss__adresse { font-style: normal; margin-top: auto; padding-top: 2.2rem; color: rgba(153, 217, 246, .72); line-height: 1.6; }
.df-fuss__unten { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .8rem 2rem; border-top: 1px solid rgba(153, 217, 246, .22); padding-block: 1.4rem 2rem; font-size: var(--wp--preset--font-size--xs); color: rgba(153, 217, 246, .72); }
.df-fuss__unten nav { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.df-fuss__unten nav a { color: rgba(153, 217, 246, .72); }
.df-fuss__unten nav a:hover { color: #fff; }
.df-fuss__unten p { margin: 0; }
.df-footer--m :focus-visible { outline: 2px solid var(--df-sonne, #FFE67F); outline-offset: 3px; }
@media (max-width: 1080px) { .df-fuss { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .df-fuss { grid-template-columns: 1fr; gap: 2.6rem; } .df-fuss__marke { gap: 1.2rem; } .df-fuss__adresse { padding-top: 1.2rem; } }
/* Header: einzeilig auch bei mittleren Breiten */
.df-header-cta .wp-block-button__link, .df-header-cta a { white-space: nowrap; }
.df-hauptnav .wp-block-navigation-item__label, .df-hauptnav .wp-block-navigation-item__content { white-space: nowrap; }
@media (max-width: 1380px) and (min-width: 1001px) {
  .df-hauptnav .wp-block-navigation__container { gap: clamp(.7rem, 1.1vw, 1.4rem) !important; }
  .df-hauptnav { font-size: .92rem; }
  .df-header .df-logo .df-wortmarke { width: 128px; }
}
.df-fuss__nav { gap: clamp(.7rem, 1.3vw, 1.25rem); }
.df-fuss__titel { margin-bottom: 1.6rem; }

html.df-weich { scroll-behavior: auto !important; }

.df-portrait { background: #fff; }

.df-fuss__partner { display: inline-block; margin-top: 2.2rem; opacity: .9; transition: opacity .25s ease, transform .35s var(--df-ease-out, ease); }
.df-fuss__partner:hover { opacity: 1; transform: translateY(-2px); }
.df-fuss__partner img { display: block; width: 240px; max-width: 100%; height: auto; }

/* ===== Scrollbalken in der Leitfarbe der jeweiligen Seite ===== */
:root { --df-sb-thumb: #002839; --df-sb-track: #E3E4DE; }
html::-webkit-scrollbar { width: 14px; height: 14px; }
html::-webkit-scrollbar-track { background: var(--df-sb-track); }
html::-webkit-scrollbar-thumb { background: var(--df-sb-thumb); border-radius: 999px; border: 3px solid var(--df-sb-track); min-height: 64px; }
html::-webkit-scrollbar-thumb:hover { border-width: 2px; }
html::-webkit-scrollbar-corner { background: var(--df-sb-track); }
@supports (-moz-appearance: none) { html { scrollbar-color: var(--df-sb-thumb) var(--df-sb-track); scrollbar-width: auto; } }
.df-fuss__klein { font-size: inherit !important; line-height: 1.6 !important; max-width: 32ch; }
.df-fuss__unterbau .df-fuss__partner { margin-top: 1.6rem; }

/* Megamenü: Breite folgt dem Inhalt, kein Überlaufen */
.df-hauptnav .wp-block-navigation__submenu-container .wp-block-navigation-item__label, .df-hauptnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { white-space: normal !important; }
.df-hauptnav .df-nav-themen > .wp-block-navigation__submenu-container { grid-template-columns: repeat(2, minmax(0, max-content)) !important; column-gap: .4rem; width: max-content !important; min-width: 0 !important; max-width: min(820px, calc(100vw - 3rem)) !important; }
.df-hauptnav .df-nav-themen > .wp-block-navigation__submenu-container > .wp-block-navigation-item { min-width: 0; width: auto !important; }
/* Such-Felder: Löschen-X im Corporate Design */
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none; appearance: none;
  width: 22px; height: 22px; margin-left: .5rem; border-radius: 50%; cursor: pointer;
  background: var(--df-nacht, #002839) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2399D9F6' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E") center / 12px 12px no-repeat;
  transition: background-color .2s ease, transform .3s var(--df-ease-out, ease);
}
input[type="search"]::-webkit-search-cancel-button:hover { background-color: var(--df-koralle, #FF3862); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E"); transform: rotate(90deg); }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
/* ===== Einwilligungsbanner ===== */
.df-consent { position: fixed; left: clamp(1rem, 2.5vw, 2rem); bottom: clamp(1rem, 2.5vw, 2rem); z-index: 9990; width: min(440px, calc(100vw - 2rem)); }
.df-consent[hidden], .df-consent-icon[hidden] { display: none !important; }
.df-consent__karte { background: var(--df-nacht, #002839); color: #fff; border-radius: 24px; padding: 1.5rem 1.5rem 1.1rem; box-shadow: 0 30px 80px rgba(0, 40, 57, .35); max-height: calc(100vh - 4rem); overflow-y: auto; animation: df-consent-auf .6s var(--df-ease-out, ease) both; }
@keyframes df-consent-auf { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.df-consent__titel { font-family: var(--df-display); font-weight: 800; font-size: 1.35rem; letter-spacing: -.03em; line-height: 1.1; margin: 0 0 .6rem; }
.df-consent__text { font-size: .9rem; line-height: 1.55; color: rgba(255, 255, 255, .82); margin: 0 0 1.1rem; }
.df-consent a { color: var(--df-himmel, #99D9F6); text-decoration: underline; text-underline-offset: 3px; }
.df-consent__optionen { display: grid; gap: .5rem; margin: 0 0 1.1rem; }
.df-consent__option { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem .9rem; border-radius: 14px; background: rgba(153, 217, 246, .08); cursor: pointer; }
.df-consent__option span { display: grid; gap: .15rem; font-size: .9rem; }
.df-consent__option small { font-size: .78rem; line-height: 1.4; color: rgba(255, 255, 255, .65); }
.df-consent__option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.df-consent__option i { flex: 0 0 auto; width: 44px; height: 26px; border-radius: 99px; background: rgba(255, 255, 255, .22); position: relative; transition: background .25s ease; }
.df-consent__option i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .3s var(--df-ease-out, ease); }
.df-consent__option input:checked + i { background: var(--df-himmel, #99D9F6); }
.df-consent__option input:checked + i::after { transform: translateX(18px); background: var(--df-nacht, #002839); }
.df-consent__option input:disabled + i { opacity: .55; }
.df-consent__option input:focus-visible + i { outline: 2px solid var(--df-sonne, #FFE67F); outline-offset: 3px; }
.df-consent__knoepfe { display: flex; flex-wrap: wrap; gap: .5rem; }
.df-consent__knopf { appearance: none; border: 1px solid var(--df-himmel, #99D9F6); background: var(--df-himmel, #99D9F6); color: var(--df-nacht, #002839); font: inherit; font-weight: 600; font-size: .88rem; padding: .7rem 1.15rem; border-radius: 99px; cursor: pointer; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.df-consent__knopf:hover { background: #fff; border-color: #fff; }
.df-consent__knopf--leise { background: transparent; color: #fff; border-color: rgba(153, 217, 246, .45); }
.df-consent__knopf--leise:hover { background: rgba(153, 217, 246, .12); color: #fff; border-color: var(--df-himmel, #99D9F6); }
.df-consent__knopf[hidden] { display: none; }
.df-consent__knopf:focus-visible { outline: 2px solid var(--df-sonne, #FFE67F); outline-offset: 3px; }
.df-consent__fuss { margin: .9rem 0 0; font-size: .75rem; }
.df-consent-icon { position: fixed; left: clamp(1rem, 2vw, 1.5rem); bottom: clamp(1rem, 2vw, 1.5rem); z-index: 9980; width: 48px; height: 48px; border-radius: 50%; border: 0; background: var(--df-nacht, #002839); color: var(--df-himmel, #99D9F6); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 10px 30px rgba(0, 40, 57, .25); transition: transform .4s var(--df-ease-out, ease), background .25s ease, color .25s ease; }
.df-consent-icon:hover { transform: translateY(-3px) rotate(-12deg); background: var(--df-himmel, #99D9F6); color: var(--df-nacht, #002839); }
.df-consent-icon:focus-visible { outline: 2px solid var(--df-sonne, #FFE67F); outline-offset: 3px; }
@media (max-width: 600px) { .df-consent { left: .75rem; right: .75rem; bottom: .75rem; width: auto; } .df-consent__knoepfe .df-consent__knopf { flex: 1 1 auto; } }
@media (prefers-reduced-motion: reduce) { .df-consent__karte { animation: none; } }
.df-consent__optionen[hidden], .df-consent [hidden] { display: none !important; }

/* Mega-Menü DEUFINA App */
html.df-mega-ok .wp-block-navigation__responsive-container:not(.is-menu-open) .df-nav-app > .wp-block-navigation__submenu-container{display:none!important}
.df-mega{position:fixed;z-index:9990;left:50%;top:var(--df-mega-top,84px);width:min(1380px,calc(100vw - 2.5rem));transform:translate(-50%,-8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,transform .38s cubic-bezier(.2,.8,.2,1),visibility .28s;background:#04121a;color:#fff;border-radius:28px;box-shadow:0 40px 90px -30px rgba(0,10,16,.65);overflow:hidden;font-family:var(--df-text,Inter,sans-serif)}
.df-mega.ist-offen{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.df-mega__innen{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:2rem;padding:2rem 2rem 2rem 2.4rem;max-height:calc(100vh - var(--df-mega-top,84px) - 1.5rem)}
.df-mega__liste{column-count:3;column-gap:2.4rem;overflow-y:auto;padding:.4rem .6rem 1rem 0;scrollbar-width:thin;scrollbar-color:#1d3d4b transparent;overscroll-behavior:contain}
.df-mega__gruppe{break-inside:avoid;margin-bottom:1.8rem}
.df-mega__titel{margin:0 0 .9rem!important;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#99D9F6}
.df-mega__f{display:flex;gap:.85rem;align-items:flex-start;padding:.55rem .6rem;margin:0 -.6rem .2rem;border-radius:14px;color:#fff!important;text-decoration:none!important;transition:background .2s}
.df-mega__f:hover,.df-mega__f:focus-visible,.df-mega__f.ist-aktiv{background:#0f2b38}
.df-mega__ico{flex:0 0 auto;width:2.4rem;height:2.4rem;border-radius:11px;display:grid;place-items:center;background:#0d2733;color:#99D9F6;transition:background .2s,color .2s}
.df-mega__ico .dfg-i{width:1.15rem;height:1.15rem}
.df-mega__f:hover .df-mega__ico,.df-mega__f.ist-aktiv .df-mega__ico{background:#FF3862;color:#fff}
.df-mega__f b{display:block;font-size:.98rem;font-weight:700;line-height:1.25}
.df-mega__f small{display:block;margin-top:.2rem;font-size:.84rem;line-height:1.4;color:rgba(255,255,255,.62)}
.df-mega__karte{background:#0b2532;border-radius:22px;padding:1.4rem 1.4rem 1.6rem;display:flex;flex-direction:column;align-self:start}
.df-mega__buehne{display:grid;place-items:center;background:#ECEDE8;border-radius:16px;padding:1.2rem 0 0;height:300px;overflow:hidden;margin-bottom:1.2rem}
.df-mega__geraet{width:210px!important;transform:translateY(8%) perspective(1400px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))!important}
.df-mega__klein{margin:0 0 .5rem!important;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#99D9F6}
.df-mega__gross{margin:0 0 1.2rem!important;font-family:var(--df-display,'Inter Tight');font-weight:800;font-size:1.55rem;line-height:1.1;letter-spacing:-.03em}
.df-mega__knopf{display:inline-flex;align-self:flex-start;align-items:center;gap:.8rem;padding:.5rem .55rem .5rem 1.3rem;border-radius:99px;background:#FF3862;color:#fff!important;font-weight:700;text-decoration:none!important;transition:background .2s}
.df-mega__knopf:hover{background:#ff1f50}
.df-mega__knopf .df-mega__pf{width:2rem;height:2rem;background:#fff}
.df-mega__pf{display:inline-block;width:1.5em;height:1.5em;background:currentColor;-webkit-mask:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 28 28%22%3E%3Ccircle cx=%2214%22 cy=%2214%22 r=%2213.2%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.3%22/%3E%3Cpath d=%22M9 14h10M15 10l4 4-4 4%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.5%22/%3E%3C/svg%3E') center/contain no-repeat;mask:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 28 28%22%3E%3Ccircle cx=%2214%22 cy=%2214%22 r=%2213.2%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.3%22/%3E%3Cpath d=%22M9 14h10M15 10l4 4-4 4%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.5%22/%3E%3C/svg%3E') center/contain no-repeat;transition:transform .3s}
.df-mega__knopf:hover .df-mega__pf,.df-mega__neben:hover .df-mega__pf{transform:translateX(3px)}
.df-mega__neben{display:inline-flex;align-items:center;gap:.6rem;margin-top:1rem;color:#99D9F6!important;font-weight:600;text-decoration:none!important;font-size:.95rem}
@media (max-width:1240px){.df-mega__liste{column-count:2}.df-mega__innen{grid-template-columns:minmax(0,1fr) 300px}}
/* Markenpfeil für Links in Texten */
.df-markenpfeil{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background:currentColor;-webkit-mask:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 28 28%22%3E%3Ccircle cx=%2214%22 cy=%2214%22 r=%2213.2%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.3%22/%3E%3Cpath d=%22M9 14h10M15 10l4 4-4 4%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.5%22/%3E%3C/svg%3E') center/contain no-repeat;mask:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 28 28%22%3E%3Ccircle cx=%2214%22 cy=%2214%22 r=%2213.2%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.3%22/%3E%3Cpath d=%22M9 14h10M15 10l4 4-4 4%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.5%22/%3E%3C/svg%3E') center/contain no-repeat}
.df-mega,.df-mega *{box-sizing:border-box}
.df-mega__innen{min-height:0}
.df-mega__karte{max-height:100%}

/* Mega-Menü kompakt (01.11.) */
.df-mega{width:min(1240px,calc(100vw - 2.5rem));border-radius:24px}
.df-mega__innen{grid-template-columns:minmax(0,1fr) 300px;gap:1.8rem;padding:1.8rem 1.8rem 1.8rem 2.2rem;max-height:none}
.df-mega__liste{column-count:4;column-gap:1.6rem;min-height:0;max-height:calc(100vh - var(--df-mega-top,84px) - 6rem);padding:.2rem .4rem .4rem 0}
.df-mega__gruppe{margin-bottom:1.3rem}
.df-mega__titel{margin:0 0 .5rem!important;font-size:.68rem}
.df-mega__f{gap:.7rem;align-items:center;padding:.4rem .5rem;margin:0 -.5rem .1rem;border-radius:12px}
.df-mega__ico{width:1.9rem;height:1.9rem;border-radius:9px}
.df-mega__ico .dfg-i{width:1rem;height:1rem}
.df-mega__f b{font-size:.9rem;font-weight:600;line-height:1.25}
.df-mega__f small{display:none}
.df-mega__karte{padding:1.1rem 1.1rem 1.3rem;max-height:calc(100vh - var(--df-mega-top,84px) - 6rem);overflow:hidden}
.df-mega__buehne{height:clamp(170px,calc(100vh - var(--df-mega-top,84px) - 25rem),250px);padding-top:1rem;margin-bottom:1rem}
.df-mega__geraet{width:175px!important}
.df-mega__gross{font-size:1.3rem;margin:0 0 .45rem!important}
.df-mega__text{margin:0 0 1.1rem!important;font-size:.88rem;line-height:1.45;color:rgba(255,255,255,.68);min-height:2.9em}
.df-mega__neben{margin-top:.8rem;font-size:.88rem}
.df-mega__karte.ist-neu .df-mega__klein,.df-mega__karte.ist-neu .df-mega__gross,.df-mega__karte.ist-neu .df-mega__text{animation:dfMegaNeu .35s cubic-bezier(.2,.8,.2,1)}
@keyframes dfMegaNeu{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media (max-width:1240px){.df-mega__liste{column-count:3}.df-mega__innen{grid-template-columns:minmax(0,1fr) 270px}}
/* Cursor auf dunklem Grund */
.df-cursor.is-hell .df-cursor__ring{border-width:1.5px;border-color:#fff}
.df-cursor.is-hell .df-cursor__punkt{background:#fff}
/* Mega-Menue: kein Scrollbalken, Spalten laufen nicht mehr seitlich ueber */
.df-mega__liste{max-height:none;overflow:visible;padding-bottom:0}
.df-mega__karte{max-height:none}
.df-mega{max-height:calc(100vh - var(--df-mega-top,84px) - 16px);overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}
.df-mega::-webkit-scrollbar,.df-mega__liste::-webkit-scrollbar{display:none;width:0;height:0}

/* Header: Navigation bleibt auch bei schmalen Desktops einzeilig */
@media (min-width:1025px) and (max-width:1300px){header .df-hauptnav{flex-wrap:nowrap!important;gap:10px!important}header .df-hauptnav>li>.wp-block-navigation-item__content,header .df-hauptnav>li>a{font-size:14px!important;white-space:nowrap}header .df-hauptnav .wp-block-navigation__submenu-icon{margin-left:2px!important}}

/* Header: Wortmarke im Signet-Blau */
.df-header .df-logo:not(.df-logo--negativ){color:#002839}
