/* DeLeDi-SpuK-Design für die Lernplattform
   Alle Regeln gelten nur innerhalb von #dls bzw. .dls. Das Präfix :is(#dls,.dls)
   hat immer die Stärke einer ID, damit Regeln des Community-Themes und von
   Elementor hier nicht hineinwirken. Kopf, Menü und Community-Seiten bleiben unberührt. */

@font-face {
  font-family: "Lexend DLS";
  src: url("../fonts/lexend-latin-wght-normal.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Lexend DLS";
  src: url("../fonts/lexend-latin-ext-wght-normal.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:is(#dls, .dls) {
  /* Palette: jede Farbe hat genau eine Aufgabe */
  --dls-hell: #FFEEDB;      /* Kästen, warme Flächen */
  --dls-hell-2: #CEEAF7;    /* große gewölbte Flächen */
  --dls-blau: #18418A;      /* Überschriften, Buttons, blaue Abschnitte */
  --dls-gold: #B5AD4F;      /* Silbenbögen, Linien. Nie Text auf Hell */
  --dls-koralle: #E26D5A;   /* das eine aktive Element. Nie Text darauf */
  --dls-violett: #7A587F;   /* zweite Silbe, Hervorhebung im Text */
  --dls-schiefer: #3D4A55;  /* Fließtext, Förderbereich */
  --dls-weiss: #FFFFFF;

  --dls-font: "Lexend DLS", "Lexend", system-ui, -apple-system, "Segoe UI", sans-serif;
  --dls-step--1: clamp(0.94rem, 0.9rem + 0.15vw, 1rem);
  --dls-step-0: clamp(1.06rem, 1rem + 0.25vw, 1.19rem);
  --dls-step-1: clamp(1.25rem, 1.15rem + 0.45vw, 1.5rem);
  --dls-step-2: clamp(1.6rem, 1.35rem + 1vw, 2.2rem);
  --dls-step-3: clamp(2.1rem, 1.6rem + 2.2vw, 3.4rem);
  --dls-hero: clamp(2.2rem, 0.6rem + 7.4vw, 6rem);
  --dls-radius: 28px;
  --dls-radius-gross: 48px;
  --dls-gutter: clamp(16px, 5vw, 96px);
  --dls-abschnitt: clamp(72px, 9vw, 140px);
  --dls-schatten: 0 18px 40px -18px rgba(24, 65, 138, 0.28);
  --dls-bogen: 6px;

  display: block;
  position: relative;
  box-sizing: border-box;
  /* Grundsätzlich so breit wie der Inhaltsbereich des Themes. Das Skript zieht
     die Seite danach auf die Breite des Hauptbereichs (#content / .site-content),
     damit seitliche Leisten des Community-Themes frei bleiben. */
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  background: var(--dls-weiss);
  color: var(--dls-schiefer);
  font-family: var(--dls-font);
  font-size: var(--dls-step-0);
  font-weight: 350;
  line-height: 1.6;
  text-align: left;
  letter-spacing: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.dls-aktiv { overflow-x: clip; }
.editor-styles-wrapper :is(#dls, .dls) { width: auto; max-width: none; margin: 0; }

/* Grundwerte zurücksetzen, die das Theme gesetzt haben könnte */
:is(#dls, .dls) *, :is(#dls, .dls) *::before, :is(#dls, .dls) *::after { box-sizing: border-box; }
:is(#dls, .dls) :is(h1, h2, h3, h4, p, ul, ol, li, figure, blockquote, details, summary) { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
:is(#dls, .dls) :is(h1, h2, h3, h4, p, li, a, span, strong, em, b, i, summary, small, figcaption, button, input, label) { font-family: var(--dls-font); text-transform: none; letter-spacing: normal; text-shadow: none; }
:is(#dls, .dls) :is(ul, ol) { list-style: none; }
:is(#dls, .dls) li::marker { content: none; }
:is(#dls, .dls) :is(img, svg) { max-width: 100%; height: auto; display: block; border: 0; border-radius: 0; box-shadow: none; }
:is(#dls, .dls) :is(.wp-block-group, section, aside) { max-width: none; margin: 0; padding: 0; float: none; }
:is(#dls, .dls) strong { font-weight: 650; color: inherit; }
:is(#dls, .dls) em { font-style: italic; }

/* Text */
:is(#dls, .dls) :is(h1, h2, h3) { color: var(--dls-blau); font-weight: 650; line-height: 1.12; letter-spacing: -0.015em; hyphens: auto; overflow-wrap: break-word; text-wrap: balance; }
:is(#dls, .dls) h2 { font-size: var(--dls-step-3); }
:is(#dls, .dls) h3 { font-size: var(--dls-step-1); line-height: 1.3; letter-spacing: 0; }
:is(#dls, .dls) :is(h1, h2):has(.dls-silben) { line-height: 1.32; }
:is(#dls, .dls) p { margin: 0 0 1em; max-width: 68ch; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; overflow-wrap: break-word; }
:is(#dls, .dls) p:last-child { margin-bottom: 0; }
:is(#dls, .dls) a { color: var(--dls-blau); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.2em; }
:is(#dls, .dls) a:hover { color: var(--dls-blau); text-decoration-color: var(--dls-koralle); }
:is(#dls, .dls) :focus-visible { outline: 3px solid var(--dls-blau); outline-offset: 3px; border-radius: 6px; }
:is(#dls, .dls) .dls-blau :focus-visible, :is(#dls, .dls) .dls-foerderung :focus-visible { outline-color: var(--dls-weiss); }
:is(#dls, .dls) ::selection { background: var(--dls-hell-2); color: var(--dls-blau); }

/* Raster */
:is(#dls, .dls) .dls-wrap { width: min(100% - 2 * var(--dls-gutter), 1240px) !important; max-width: none !important; margin-inline: auto !important; padding: 0; }
:is(#dls, .dls) .dls-abschnitt { padding-block: var(--dls-abschnitt); position: relative; }
:is(#dls, .dls) .dls-zwei { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: clamp(32px, 6vw, 96px); align-items: start; }
:is(#dls, .dls) .dls-zwei--unten { align-items: end; }

/* Buttons (Block „Buttons“) */
:is(#dls, .dls) .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 14px; margin: 0; padding: 0; }
:is(#dls, .dls) .dls-knoepfe { margin-top: 28px; }
:is(#dls, .dls) .wp-block-button { margin: 0; padding: 0; width: auto; }
:is(#dls, .dls) .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  width: auto; min-height: 52px; padding: 12px 28px; margin: 0;
  border: 2px solid var(--dls-blau); border-radius: 999px;
  background: var(--dls-blau); color: var(--dls-weiss);
  font: 600 var(--dls-step--1)/1.2 var(--dls-font); text-decoration: none; text-align: center;
  box-shadow: none; cursor: pointer;
  transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s, background-color .25s;
}
:is(#dls, .dls) .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: var(--dls-schatten); background: var(--dls-blau); color: var(--dls-weiss); text-decoration: none; }
:is(#dls, .dls) .is-style-dls-leer .wp-block-button__link { background: var(--dls-weiss); color: var(--dls-blau); }
:is(#dls, .dls) .is-style-dls-leer .wp-block-button__link:hover { background: var(--dls-hell); color: var(--dls-blau); }
:is(#dls, .dls) .dls-blau .wp-block-button__link, :is(#dls, .dls) .dls-blau .wp-block-button__link:hover { background: var(--dls-weiss); color: var(--dls-blau); border-color: var(--dls-weiss); }
:is(#dls, .dls) .dls-blau .is-style-dls-leer .wp-block-button__link, :is(#dls, .dls) .dls-blau .is-style-dls-leer .wp-block-button__link:hover { background: transparent; color: var(--dls-weiss); }

/* Silbenbögen */
:is(#dls, .dls) .dls-silben { position: relative; display: inline; }
:is(#dls, .dls) .dls-silbe { color: var(--dls-blau); }
:is(#dls, .dls) .dls-silbe:nth-child(even) { color: var(--dls-violett); }
:is(#dls, .dls) .dls-blau .dls-silbe { color: var(--dls-weiss); }
:is(#dls, .dls) .dls-blau .dls-silbe:nth-child(even) { color: var(--dls-hell-2); }
:is(#dls, .dls) .dls-bogen-ebene { position: absolute; left: 0; top: 0; width: 100%; height: 100%; max-width: none; overflow: visible; pointer-events: none; display: block; }
:is(#dls, .dls) .dls-bogen-ebene path { fill: none; stroke: var(--dls-gold); stroke-width: var(--dls-bogen); stroke-linecap: round; }
:is(#dls, .dls) .dls-bogen-ebene path.dls-aktiv-bogen { stroke: var(--dls-koralle); }
:is(#dls, .dls) .dls-zeichnet path { stroke-dasharray: var(--len); stroke-dashoffset: var(--len); }
:is(#dls, .dls) .dls-zeichnet.dls-sichtbar path { transition: stroke-dashoffset .7s cubic-bezier(.25,.8,.25,1); transition-delay: calc(var(--i) * 90ms); stroke-dashoffset: 0; }
@media (prefers-reduced-motion: reduce) { :is(#dls, .dls) .dls-zeichnet path { stroke-dashoffset: 0 !important; transition: none !important; } }

/* Einstieg */
:is(#dls, .dls) .dls-einstieg { position: relative; padding-top: clamp(28px, 3.5vw, 56px); overflow: clip; }
:is(#dls, .dls) .dls-einstieg h1 { font-size: var(--dls-hero); line-height: 1.22; font-weight: 700; letter-spacing: -0.025em; padding-bottom: .1em; }
:is(#dls, .dls) .dls-einstieg h1 .dls-zeile { display: block; }
:is(#dls, .dls) .dls-einstieg h1 .dls-zeile--vorn { font-size: clamp(1.35rem, 0.9rem + 2vw, 2.6rem); line-height: 1.25; font-weight: 600; color: var(--dls-schiefer); letter-spacing: -0.01em; margin-bottom: .3em; }
/* Kopf der Lernplattform: Titel links, Grafik / Bild / Video rechts */
:is(#dls, .dls) .dls-kopf { display: grid !important; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) !important; gap: clamp(28px, 4vw, 72px); align-items: center; }
:is(#dls, .dls) .dls-kopf > *, :is(#dls, .dls) .dls-kopf > .wp-block-group__inner-container > * { max-width: none !important; width: auto !important; margin-left: 0 !important; margin-right: 0 !important; }
:is(#dls, .dls) .dls-kopf h1 { font-size: clamp(2.2rem, 0.9rem + 5.2vw, 5.4rem); }
:is(#dls, .dls) .dls-medien { position: relative; z-index: 1; }
:is(#dls, .dls) .dls-medien :is(figure, .wp-block-image, .wp-block-video, .wp-block-embed) { margin: 0 !important; max-width: none; width: 100%; }
:is(#dls, .dls) .dls-medien :is(img, video, iframe) { display: block; width: 100% !important; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border: 0; border-radius: var(--dls-radius-gross) !important; box-shadow: var(--dls-schatten), 0 0 0 1px var(--dls-hell-2); background: var(--dls-weiss); }
:is(#dls, .dls) .dls-medien img[src$=".svg"] { object-fit: contain; }
:is(#dls, .dls) .dls-medien iframe { aspect-ratio: 16 / 9; }
:is(#dls, .dls) .dls-medien .wp-block-embed__wrapper { position: relative; }
:is(#dls, .dls) .dls-medien .wp-block-embed__wrapper::before { display: none; }
:is(#dls, .dls) .dls-medien figcaption { font-size: var(--dls-step--1); margin-top: 12px; text-align: left; color: var(--dls-schiefer); }
:is(#dls, .dls) .dls-medien--video :is(video, iframe) { aspect-ratio: 16 / 9; object-fit: contain; background: var(--dls-schiefer); }
:is(#dls, .dls) .dls-medien .wp-block-video video { width: 100% !important; }
:is(#dls, .dls) .dls-medien .wp-block-video:not(:has(video)) { min-height: 200px; border: 3px dashed rgba(24, 65, 138, .25); border-radius: var(--dls-radius-gross); }
:is(#dls, .dls) .dls-zwei--mitte { align-items: center; }
:is(#dls, .dls) .dls-warm { background: var(--dls-hell); }
:is(#dls, .dls) .dls-einstieg:has(.dls-medien) .dls-kasten { margin-top: 0 !important; }

:is(#dls, .dls) .dls-feld {
  position: relative; margin-top: clamp(20px, 2vw, 32px); background: var(--dls-hell-2);
  border-radius: 50% 50% 0 0 / clamp(60px, 9vw, 140px) clamp(60px, 9vw, 140px) 0 0;
  padding: clamp(48px, 5vw, 80px) 0 clamp(56px, 7vw, 100px);
}
:is(#dls, .dls) .dls-einstieg__raster { display: grid !important; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important; gap: clamp(32px, 5vw, 80px); align-items: start; }
:is(#dls, .dls) .dls-einstieg__text { font-size: clamp(1.1rem, 1rem + .45vw, 1.35rem); line-height: 1.55; }
:is(#dls, .dls) .dls-einstieg__text p { max-width: 40ch; }
:is(#dls, .dls) .dls-einstieg__text .dls-meta { margin-top: 28px; font-size: var(--dls-step--1); max-width: 52ch; }
:is(#dls, .dls) .dls-kasten { background: var(--dls-hell); border-radius: var(--dls-radius-gross); padding: clamp(28px, 3vw, 44px); box-shadow: var(--dls-schatten); margin-top: calc(-1 * clamp(40px, 5vw, 90px)) !important; position: relative; }
:is(#dls, .dls) .dls-kasten .dls-kasten__satz { font-size: clamp(1.35rem, 1.1rem + .9vw, 1.85rem); line-height: 1.2; margin: 0 0 20px; }
:is(#dls, .dls) .dls-schritte { display: grid !important; gap: 16px; margin: 0 0 18px; counter-reset: dls-schritt; }
:is(#dls, .dls) .dls-schritte li { counter-increment: dls-schritt; position: relative; padding-left: 58px; min-height: 44px; line-height: 1.5; }
:is(#dls, .dls) .dls-schritte li::before { content: counter(dls-schritt); position: absolute; left: 0; top: -2px; width: 44px; height: 44px; border-radius: 50%; background: var(--dls-weiss); color: var(--dls-violett); font: 700 1.2rem/44px var(--dls-font); text-align: center; }
:is(#dls, .dls) .dls-schritte strong { color: var(--dls-blau); }
:is(#dls, .dls) .dls-klein { font-size: .9rem; }
:is(#dls, .dls) .dls-einfach { margin-top: 36px; background: var(--dls-weiss); border-radius: var(--dls-radius); }
:is(#dls, .dls) .dls-einfach summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 14px; padding: 18px 24px; font-weight: 600; color: var(--dls-blau); border-radius: var(--dls-radius); }
:is(#dls, .dls) .dls-einfach summary::-webkit-details-marker { display: none; }
:is(#dls, .dls) .dls-einfach summary::marker { content: none; }
:is(#dls, .dls) .dls-einfach summary::after { content: ""; margin-left: auto; flex: none; width: 22px; height: 12px; border-bottom: 4px solid var(--dls-blau); border-radius: 0 0 50% 50% / 0 0 100% 100%; transition: transform .3s; }
:is(#dls, .dls) .dls-einfach[open] summary::after { transform: scaleY(-1); border-color: var(--dls-koralle); }
:is(#dls, .dls) .dls-einfach > :not(summary) { padding: 0 24px 22px; line-height: 1.8; margin: 0; }

/* Große Aussage */
:is(#dls, .dls) .dls-aussage { font-size: var(--dls-step-2); line-height: 1.3; font-weight: 500; color: var(--dls-blau); max-width: 26ch; hyphens: auto; }
:is(#dls, .dls) .dls-aussage strong { color: var(--dls-violett); }

/* Ziele: Punkte wie Wertepunkte */
:is(#dls, .dls) .dls-werte { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: clamp(28px, 3.5vw, 52px) clamp(28px, 4vw, 64px); margin-top: clamp(40px, 5vw, 72px); }
:is(#dls, .dls) .dls-wert { position: relative; padding-left: 40px; }
:is(#dls, .dls) .dls-wert::before { content: ""; position: absolute; left: 6px; top: .5em; width: 14px; height: 14px; border-radius: 50%; background: var(--dls-blau); box-shadow: 0 0 0 5px var(--dls-hell-2); }
:is(#dls, .dls) .dls-wert h3 { margin-bottom: 8px; }

/* Blauer Abschnitt: Lernplattform */
:is(#dls, .dls) .dls-blau { background: var(--dls-blau); color: #F2F6FC; border-radius: var(--dls-radius-gross); }
:is(#dls, .dls) .dls-blau :is(h2, h3) { color: var(--dls-weiss); }
:is(#dls, .dls) .dls-blau a { color: var(--dls-weiss); }
:is(#dls, .dls) .dls-blau .dls-zwei { margin-top: clamp(32px, 4vw, 56px); }
:is(#dls, .dls) .dls-blau .dls-aussage { color: var(--dls-weiss); }
:is(#dls, .dls) .dls-blau .dls-aussage strong { color: var(--dls-hell-2); }
:is(#dls, .dls) .dls-verben { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: clamp(24px, 4vw, 64px); margin-top: clamp(56px, 7vw, 104px); }
:is(#dls, .dls) .dls-verb { font-size: clamp(1.9rem, 0.9rem + 2.6vw, 3.4rem); white-space: nowrap; overflow-wrap: normal; font-weight: 700; line-height: 1.3; letter-spacing: -0.02em; margin-bottom: 18px; color: var(--dls-weiss); hyphens: manual; }
:is(#dls, .dls) .dls-blau .dls-knoepfe { margin-top: clamp(40px, 5vw, 64px); }

/* Partner */
:is(#dls, .dls) .dls-laender { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 20px; margin-top: clamp(40px, 5vw, 72px); }
:is(#dls, .dls) .dls-land { background: var(--dls-hell); border-radius: var(--dls-radius); padding: 24px 22px 26px; }
:is(#dls, .dls) .dls-land:first-child { grid-row: span 2 !important; }
:is(#dls, .dls) .dls-land__kopf { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
:is(#dls, .dls) .dls-land__kopf h3 { font-size: var(--dls-step-0); margin: 0; }
:is(#dls, .dls) .dls-flagge { width: 40px; height: 40px; border-radius: 50%; overflow: hidden; flex: none; display: block; box-shadow: 0 0 0 2px var(--dls-weiss), 0 0 0 3px var(--dls-hell-2); }
:is(#dls, .dls) .dls-flagge :is(img, svg) { width: 100%; height: 100%; object-fit: cover; }
:is(#dls, .dls) .dls-partner { display: grid !important; gap: 12px; }
:is(#dls, .dls) .dls-partner li { background: var(--dls-weiss); border-radius: 16px; padding: 12px 16px; font-size: var(--dls-step--1); line-height: 1.4; hyphens: auto; overflow-wrap: break-word; }
:is(#dls, .dls) .dls-partner em { display: block; font-style: normal; color: var(--dls-violett); font-weight: 600; font-size: .82rem; }

/* Newsletter und Kontakt */
:is(#dls, .dls) .dls-hell2 { background: var(--dls-hell-2); border-radius: 50% 50% 0 0 / clamp(40px, 6vw, 90px) clamp(40px, 6vw, 90px) 0 0; }
:is(#dls, .dls) .dls-gross { font-size: var(--dls-step-1); line-height: 1.5; margin-top: 20px; }
:is(#dls, .dls) :is(h2, h3) + :is(p, .wp-block-list, .wp-block-buttons):not(.dls-gross) { margin-top: 20px; }
:is(#dls, .dls) .dls-karte { background: var(--dls-weiss); border-radius: var(--dls-radius-gross); padding: clamp(28px, 3.5vw, 48px); }
:is(#dls, .dls) .dls-karte h3 { margin-bottom: 12px; }
:is(#dls, .dls) .dls-mail { font-size: var(--dls-step-2); font-weight: 600; text-decoration: none; display: inline-block; position: relative; padding-bottom: 14px; overflow-wrap: anywhere; }
:is(#dls, .dls) .dls-mail::after { content: ""; position: absolute; left: 4px; right: 4px; bottom: 0; height: 16px; border-bottom: var(--dls-bogen) solid var(--dls-gold); border-radius: 0 0 50% 50% / 0 0 100% 100%; }
:is(#dls, .dls) .dls-mail:hover { text-decoration: none; }
:is(#dls, .dls) .dls-mail:hover::after { border-color: var(--dls-koralle); }

/* Kontaktformular */
:is(#dls, .dls) .dls-kontakt { align-items: start; }
:is(#dls, .dls) .dls-formular { background: var(--dls-weiss); color: var(--dls-schiefer); border-radius: var(--dls-radius-gross); padding: clamp(28px, 3.5vw, 48px); box-shadow: var(--dls-schatten); }
:is(#dls, .dls) .dls-formular .dls-formular__titel { font-size: var(--dls-step-1); margin: 0 0 6px; }
:is(#dls, .dls) .dls-formular .dls-formular__hinweis { font-size: .9rem; margin: 0 0 22px; }
:is(#dls, .dls) .dls-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:is(#dls, .dls) .dls-formfeld { margin: 0 0 20px; }
:is(#dls, .dls) .dls-formfeld label { display: block; font-weight: 600; color: var(--dls-blau); margin: 0 0 6px; font-size: var(--dls-step-0); }
:is(#dls, .dls) .dls-formfeld .dls-optional { font-weight: 400; color: var(--dls-schiefer); }
:is(#dls, .dls) .dls-formfeld :is(input[type=text], input[type=email], textarea) {
  display: block; width: 100% !important; max-width: none; min-height: 54px; margin: 0;
  border: 2px solid #8C96A0 !important; border-radius: 16px !important; padding: 12px 16px !important;
  font: 400 var(--dls-step-0)/1.5 var(--dls-font) !important; color: var(--dls-schiefer); background: var(--dls-weiss) !important; box-shadow: none;
  transition: border-color .2s, box-shadow .2s;
}
:is(#dls, .dls) .dls-formfeld textarea { min-height: 160px; resize: vertical; }
:is(#dls, .dls) .dls-formfeld :is(input, textarea):focus { outline: none; border-color: var(--dls-blau) !important; box-shadow: 0 0 0 4px var(--dls-hell-2); }
:is(#dls, .dls) .dls-formfeld .dls-hilfe { font-size: .9rem; margin: 6px 0 0; }
:is(#dls, .dls) .dls-formfeld--falle { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
:is(#dls, .dls) .dls-fehler { display: none; color: #A3301F; font-size: .95rem; font-weight: 500; margin: 6px 0 0; }
:is(#dls, .dls) [data-fehler] .dls-fehler { display: block; }
:is(#dls, .dls) .dls-formfeld[data-fehler] :is(input, textarea) { border-color: #B23A26 !important; }
:is(#dls, .dls) .dls-check { display: grid !important; grid-template-columns: 28px minmax(0, 1fr) !important; gap: 12px; align-items: start; margin: 0 0 24px; font-size: var(--dls-step--1); }
:is(#dls, .dls) .dls-check input { width: 24px; height: 24px; margin: 2px 0 0; accent-color: var(--dls-blau); }
:is(#dls, .dls) .dls-check label { font-weight: 400; color: var(--dls-schiefer); line-height: 1.5; }
:is(#dls, .dls) .dls-check .dls-fehler { grid-column: 2; }
:is(#dls, .dls) .dls-formular .dls-senden { border: 2px solid var(--dls-blau); }
:is(#dls, .dls) .dls-formular__meldung { display: none; margin: 0 0 20px; padding: 18px 20px; border-radius: 18px; font-weight: 500; }
:is(#dls, .dls) .dls-formular__meldung.dls-zeigen { display: block; }
:is(#dls, .dls) .dls-meldung--erfolg { background: var(--dls-hell-2); color: var(--dls-blau); }
:is(#dls, .dls) .dls-meldung--fehler { background: var(--dls-hell); color: #A3301F; }

/* Förderung (Pflichtangaben) */
:is(#dls, .dls) .dls-foerderung { background: var(--dls-schiefer); color: var(--dls-weiss); padding: clamp(48px, 6vw, 80px) 0; }
:is(#dls, .dls) .dls-foerderer { background: var(--dls-weiss); border-radius: var(--dls-radius-gross); padding: clamp(24px, 3vw, 40px); display: grid !important; grid-template-columns: auto auto auto !important; gap: clamp(20px, 4vw, 64px); align-items: center; justify-content: start; }
:is(#dls, .dls) .dls-foerderer img { height: clamp(44px, 5vw, 64px); width: auto; }
:is(#dls, .dls) .dls-foerderer img.dls-movetia { height: clamp(26px, 2.6vw, 34px); }
:is(#dls, .dls) .dls-foerdertext { font-size: .9rem; line-height: 1.6; color: #E8ECF0; margin-top: 28px; max-width: 90ch; }

/* Ältere Themes (z. B. BuddyBoss) legen in jeden Gruppen-Block einen Innen-Rahmen.
   Er darf das Raster nicht stören: seine Kinder werden direkt zu Rasterzellen. */
:is(#dls, .dls) .wp-block-group__inner-container { display: contents !important; }

/* Kinder der Raster: Breiten- und Randregeln aus WordPress-Layouts oder dem Theme aufheben */
:is(#dls, .dls) :is(.dls-zwei, .dls-einstieg__raster, .dls-werte, .dls-verben, .dls-laender) > *,
:is(#dls, .dls) :is(.dls-zwei, .dls-einstieg__raster, .dls-werte, .dls-verben, .dls-laender) > .wp-block-group__inner-container > * { max-width: none !important; width: auto !important; margin-left: 0 !important; margin-right: 0 !important; float: none !important; }
:is(#dls, .dls) .wp-block-group > :is(h1, h2, h3, .wp-block-group, .wp-block-buttons, .wp-block-details, .wp-block-list, .dls-foerderer),
:is(#dls, .dls) .wp-block-group__inner-container > :is(h1, h2, h3, .wp-block-group, .wp-block-buttons, .wp-block-details, .wp-block-list, .dls-foerderer) { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
:is(#dls, .dls) :is(.wp-block-group, .wp-block-group__inner-container) > .dls-wrap { margin-left: auto !important; margin-right: auto !important; }
:is(#dls, .dls) .dls-aussage { max-width: 26ch !important; }
:is(#dls, .dls) .dls-land__kopf { display: flex !important; }
:is(#dls, .dls) .wp-block-buttons { display: flex !important; }
:is(#dls, .dls) .dls-einstieg__text p { max-width: 40ch; }

/* Umbrüche */
@media (max-width: 1020px) {
  :is(#dls, .dls) .dls-werte, :is(#dls, .dls) .dls-laender { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 860px) {
  :is(#dls, .dls) .dls-kopf { grid-template-columns: minmax(0, 1fr) !important; }
  :is(#dls, .dls) .dls-medien { max-width: 560px !important; }
  :is(#dls, .dls) .dls-zwei, :is(#dls, .dls) .dls-einstieg__raster, :is(#dls, .dls) .dls-verben { grid-template-columns: minmax(0, 1fr) !important; }
  :is(#dls, .dls) .dls-zwei { gap: 24px; }
  :is(#dls, .dls) .dls-kasten { margin-top: 8px !important; }
  :is(#dls, .dls) .dls-mail { font-size: var(--dls-step-1); }
  :is(#dls, .dls) .dls-blau { border-radius: 32px; }
}
@media (max-width: 700px) {
  :is(#dls, .dls) .dls-werte, :is(#dls, .dls) .dls-laender { grid-template-columns: minmax(0, 1fr) !important; }
  :is(#dls, .dls) .dls-land:first-child { grid-row: auto !important; }
  :is(#dls, .dls) .dls-foerderer { grid-template-columns: minmax(0, 1fr) !important; }
}
