/* Bundesland- und Stadtseiten (includes/modules/bundesland-seite.php). Nur Tokens, Maße der Terminzeile
   von pdp.css (.pdp-termin) und der Pillen von .tc__chip. Hero, Textstrecke, Lernform, Förder-Highlight,
   FAQ und Kacheln kommen aus ihren eigenen Stilen. */
.bl-termine,.bl-kurse{padding:64px 0}
.bl-kurse{background:var(--background-white)}
/* Flächenrhythmus der Länder- und Stadtseiten (Denis 29.10.2026: nicht alles weiß). Weiß, Beige, Weiß, Beige, Lila 100, Weiß, Beige (Kontakt). */
.bl-termine,.bl-kurse:not(.bl-kurse--knopf){background:var(--background-beige)}
.tax-bundesland .foerder-highlight-section,.tax-bundesland .bl-foerder-stand{background:var(--lila-100)}
.bl-termine{font-variant-numeric:lining-nums tabular-nums}
.bl-sub a{color:var(--typography-black)}
.bl-orte{padding:0 0 64px}
.bl-sub{font-family:var(--font4);font-size:var(--schrift-20);line-height:1.5;color:var(--typography-black);margin:0 0 32px;max-width:var(--textbreite,574px)}
.bl-gruppe{font-family:var(--font3);font-weight:400;font-size:var(--schrift-h4);line-height:1.2;color:var(--typography-black);margin:40px 0 16px}
.bl-gruppe:first-of-type{margin-top:0}
.bl-kurse__alle{margin:32px 0 0}

.bl-terminliste{list-style:none;margin:0;padding:0}
.bl-termin{align-items:center;border-bottom:1px solid var(--background-borders);display:grid;gap:8px 24px;grid-template-areas:"datum kurs ort knopf";grid-template-columns:200px minmax(0,1fr) 220px auto;padding:16px 0}
.bl-termin > *{margin:0}
.bl-termin--naechster{border:2px solid var(--primary-300);border-radius:20px;margin:0 -22px 6px;padding:16px 20px}
.bl-termin__datum{align-items:center;display:flex;flex-wrap:wrap;gap:6px 10px;grid-area:datum}
.bl-termin__datum time{color:var(--typography-black);font-family:var(--font4);font-size:var(--schrift-16);line-height:1.4}
.bl-termin__datum strong{font-weight:600}
.bl-termin__chip{font-size:var(--schrift-12);height:24px;padding:0 10px}
.bl-termin__kurs{font-family:var(--font4);font-size:var(--schrift-16);font-weight:600;grid-area:kurs;line-height:1.4}
.bl-termin__kurs a{color:var(--typography-black);text-decoration:none}
.bl-termin__kurs a:hover{text-decoration:underline}
.bl-terminliste--ein .bl-termin{grid-template-areas:"datum ort knopf";grid-template-columns:200px minmax(0,1fr) auto}
.bl-termin__ort{align-items:center;display:flex;flex-wrap:wrap;font-family:var(--font4);font-size:var(--schrift-16);gap:2px 8px;grid-area:ort;line-height:1.4}
.bl-ico svg{fill:none;height:16px;stroke:var(--typography-light-grey);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;width:16px}
.bl-termin__knopf{grid-area:knopf}
.bl-alle{margin-top:16px}
.bl-alle summary{cursor:pointer;list-style:none}
.bl-alle summary::-webkit-details-marker{display:none}
.bl-alle[open] summary{margin-bottom:8px}
.bl-alle-land{margin:24px 0 0}

.bl-live{align-items:center;background:var(--orange-100);border-radius:20px;display:flex;flex-wrap:wrap;gap:16px 24px;justify-content:space-between;margin-top:40px;padding:24px 28px}
.bl-live__titel{font-family:var(--font3);font-size:var(--schrift-h4);font-weight:400;line-height:1.2;margin:0 0 6px}
.bl-live p{font-family:var(--font4);font-size:var(--schrift-16);line-height:1.5;margin:0}

.bl-orte__label{font-family:var(--font4);font-size:var(--schrift-16);font-weight:600;margin:0 0 12px}
.bl-orte__liste{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.bl-pille{align-items:center;background:var(--background-white);border:1px solid var(--background-borders);border-radius:100px;color:var(--typography-black);display:inline-flex;font-family:var(--font4);font-size:var(--schrift-16);font-weight:500;min-height:44px;padding:0 1rem;text-decoration:none;transition:background .18s ease,border-color .18s ease}
a.bl-pille:hover{background:var(--orange-100);border-color:var(--primary-300)}
a.bl-pille:focus-visible{outline:2px solid var(--typography-black);outline-offset:2px}

@media (max-width:1199px){.bl-termin{grid-template-columns:150px minmax(0,1fr) 170px auto}}
@media (max-width:767px){
	.bl-terminliste--ein .bl-termin{grid-template-areas:"datum datum" "ort knopf";grid-template-columns:minmax(0,1fr) auto}
	.bl-termine,.bl-kurse{padding:40px 0}
	.bl-termin{grid-template-areas:"datum datum" "kurs kurs" "ort knopf";grid-template-columns:minmax(0,1fr) auto}
	.bl-termin--naechster{margin:0 -14px 6px;padding:14px 12px}
	.bl-live{padding:20px}
	/* Dauer mobil immer eigene Zeile, bündig zum Ortsnamen (Symbol 16 px + Abstand 8 px), ohne Trennpunkt. */
	.bl-termin__dauer{color:var(--typography-dark-grey);flex-basis:100%;padding-left:24px}
	.bl-termin__punkt{display:none}
}
.bl-stand{color:var(--typography-dark-grey);font-family:var(--font4);font-size:var(--schrift-14);line-height:1.4;margin:0 0 24px}
.bl-foerder-stand .bl-stand{margin:0;padding-bottom:40px}

/* Länder-Auswahl /standorte/: Karte, Liste, Wischreihe (Entwurf Variante A). Nur Tokens, Schriftgrößen auf der Skala. */
.bl-flaeche--beige{background:var(--background-beige)}
.bl-termin__dauer{white-space:nowrap}
/* FAQ in der beigen Fläche (/standorte/): Innenabstand statt Außenabstand, sonst klebt die Überschrift an der Kante. */
.bl-flaeche>.faq-mini-section{margin:0;padding:64px 0}
@media (max-width:767px){.bl-flaeche>.faq-mini-section{padding:40px 0}}
.bl-raster{padding:64px 0}
.intro_mitte{margin-inline:auto;max-width:680px;text-align:center}
.intro_mitte .bl-sub{margin-inline:auto}
.kartenblock{align-items:center;display:grid;gap:24px;margin-top:48px}
@media (min-width:1000px){.kartenblock{gap:48px;grid-template-columns:5fr 7fr}}
.karteframe{align-items:center;display:flex;flex-direction:column;min-width:0}
.karte{display:block;height:auto;max-width:340px;overflow:visible;width:100%}
@media (min-width:769px){.karte{max-width:420px}}
@media (min-width:1000px){.karte{max-width:520px}}
.ld path{stroke:var(--background-borders);stroke-linejoin:round;stroke-width:1.2;transition:fill .18s ease-out}
.ld_ja path{fill:var(--orange-100)}
.ld_nein path{fill:var(--lila-100);stroke:var(--lila-200)}
.ld:hover path,.ld:focus-visible path,.ld.on path,.ld.sel path{fill:var(--orange-200)}
.ld:focus,.ld:focus-visible{outline:none}
.ld:focus-visible path{stroke:var(--typography-black);stroke-width:2}
.mk circle{fill:var(--background-white);stroke:var(--primary-300);stroke-width:2}
.mk_z circle,.mk_z:hover circle,.mk_z.on circle,.mk_z.sel circle{stroke:var(--typography-black)}
.mkb{transform-box:fill-box;transform-origin:center;transition:transform .18s ease-out}
.mk:hover .mkb,.mk.on .mkb,.mk.sel .mkb{transform:scale(1.35)}
.mk.on circle,.mk.sel circle,.mk:hover circle{stroke:var(--orange-400)}
.mkt{display:none;fill:var(--typography-black);font-family:var(--font4);font-size:var(--schrift-14);font-weight:600;paint-order:stroke;pointer-events:none;stroke:var(--background-white);stroke-linejoin:round;stroke-width:4px}
@media (min-width:769px){.mk:hover .mkt{display:block}}
.kartenquelle{color:var(--typography-light-grey);font-family:var(--font4);font-size:var(--schrift-12);line-height:1.4;margin:8px 0 0;text-align:center}
.legende{color:var(--typography-dark-grey);display:flex;flex-wrap:wrap;font-family:var(--font4);font-size:var(--schrift-14);gap:8px 20px;justify-content:center;line-height:1.4;list-style:none;margin:16px 0 0;padding:0}
.legende li{align-items:center;display:flex;gap:8px}
.lg-ort,.lg-zentrale{fill:var(--background-white);stroke-width:2}
.lg-ort{stroke:var(--primary-300)}
.lg-zentrale{stroke:var(--typography-black)}
.leg-grau{background:var(--lila-100);border:1px solid var(--lila-200);border-radius:5px;height:18px;width:18px}
.lg-s{display:none}
.alle-laender{min-width:0}
.alle-laender>summary{display:none}
.lliste{display:grid;grid-template-columns:1fr}
@media (min-width:760px){.lliste{column-gap:40px;grid-auto-flow:column;grid-template-columns:1fr 1fr;grid-template-rows:repeat(8,auto)}}
.lrow{align-items:center;border-radius:12px;color:inherit;display:flex;gap:12px;margin-inline:-12px;min-height:80px;padding:14px 12px;position:relative;text-decoration:none;transition:background .18s ease-out}
.lrow::after{border-bottom:1px solid var(--background-borders);bottom:0;content:"";left:12px;position:absolute;right:12px}
.lrow.on,.lrow:hover{background:var(--orange-100)}
.lrow:focus-visible{outline:2px solid var(--typography-black);outline-offset:-2px}
.lrow__tx{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}
.lrow__n{font-family:var(--font4);font-size:var(--schrift-16);font-weight:600;line-height:1.4}
.lrow:hover .lrow__n{text-decoration:underline;text-underline-offset:3px}
.lrow__o{color:var(--typography-dark-grey);font-family:var(--font4);font-size:var(--schrift-14);line-height:1.4}
.lrow__t{color:var(--typography-dark-grey);font-family:var(--font4);font-size:var(--schrift-14);line-height:1.4;white-space:nowrap}
.pf32{height:32px;width:32px}
.pf32 svg{height:14px;width:14px}
.lrow:hover .hx-uebersicht-pfeil{background:var(--primary-300)}
.lrow:hover .hx-uebersicht-pfeil svg{stroke:var(--typography-black)}
.karussell{display:none}

@media (max-width:768px){
	.bl-raster{padding:40px 0}
	.karussell{align-self:stretch;display:block;margin:16px -16px 0}
	.kk{-webkit-overflow-scrolling:touch;display:flex;gap:12px;list-style:none;margin:0;overflow-x:auto;overscroll-behavior-x:contain;padding:4px 14vw 10px;scroll-snap-type:x mandatory;scrollbar-width:none}
	.kk::-webkit-scrollbar{display:none}
	.kk__card{background:var(--orange-100);border-radius:24px;display:flex;flex:0 0 72vw;flex-direction:column;min-width:0;padding:22px 18px;scroll-snap-align:center;scroll-snap-stop:always}
	.kk__live{background:var(--lila-100)}
	.bl-js .kk__card{opacity:.82;transform:scale(.94);transition:transform .2s ease-out,opacity .2s ease-out}
	.bl-js .kk__card.active{opacity:1;transform:none}
	.kk__card h3{font-family:var(--font3);font-size:var(--schrift-20);font-weight:400;height:32px;line-height:32px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
	.kk__zahl{align-items:center;display:flex;gap:12px;height:56px;margin:12px 0 0}
	.kk__big{font-family:var(--font3);font-size:var(--schrift-h1);font-variant-numeric:lining-nums;line-height:1}
	.kk__lab{font-family:var(--font4);font-size:var(--schrift-14);font-weight:600;line-height:1.3}
	.kk__o{color:var(--typography-dark-grey);font-family:var(--font4);font-size:var(--schrift-14);height:22px;line-height:22px;margin:12px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
	.kk__card .button{margin-top:16px;width:100%}
	.kk__card:focus-within{outline:2px solid var(--typography-black);outline-offset:2px}
	.kk__dots{display:flex;gap:2px;margin-top:4px;padding:0 14vw}
	.kk__dots button{align-items:center;background:none;border:0;cursor:pointer;display:flex;flex:1;height:44px;min-width:0;padding:0}
	.kk__dots button span{background:var(--background-borders);border-radius:4px;display:block;height:4px;transition:background .2s ease-out;width:100%}
	.kk__dots button[aria-current=true] span{background:var(--orange-400)}
	.kk__dots button:focus-visible{outline:2px solid var(--typography-black);outline-offset:-2px}
	.mk image{display:none}
	.mk circle{fill:var(--primary-300);stroke:var(--background-white);stroke-width:1.5}
	.mk.sel circle{fill:var(--background-white);stroke:var(--orange-400);stroke-width:3}
	.mk_z circle,.mk_z.sel circle{fill:var(--primary-300);stroke:var(--typography-black);stroke-width:2.5}
	.ld.sel path{stroke:var(--orange-400);stroke-width:2.5}
	.legende{flex-wrap:nowrap;font-size:var(--schrift-12);gap:6px 16px;line-height:1.4;margin-top:12px}
	.legende li{gap:6px;white-space:nowrap}
	.legende svg{height:18px;width:18px}
	.legende image{display:none}
	.legende li:nth-child(1) circle{fill:var(--primary-300);stroke:var(--background-white)}
	.legende li:nth-child(2) circle{fill:var(--primary-300);stroke:var(--typography-black)}
	.leg-grau{height:14px;width:14px}
	.lg-l{display:none}
	.lg-s{display:inline}
	.kartenquelle{margin-top:6px}
	.alle-laender{margin-top:16px}
	.bl-js .alle-laender>summary{align-items:center;background:var(--background-white);border:1px solid var(--background-borders);border-radius:100px;cursor:pointer;display:flex;font-family:var(--font4);font-size:var(--schrift-16);gap:10px;justify-content:center;list-style:none;min-height:48px}
	.bl-js .alle-laender>summary::-webkit-details-marker{display:none}
	.bl-js .alle-laender[open]>summary{margin-bottom:8px}
	.bl-js .alle-laender>summary{display:none}
}
@media (prefers-reduced-motion:reduce){
	.mkb,.ld path,.lrow,.bl-js .kk__card,.kk__dots button span{transition:none}
	.mk:hover .mkb,.mk.on .mkb,.mk.sel .mkb{transform:none}
	.mk:hover circle,.mk.on circle,.mk.sel circle{stroke:var(--typography-black);stroke-width:3}
}

/* ------------------------------------------------------------------ Anerkennung (includes/modules/bundesland-anerkennung.php)
   Entwurf freigegeben von Denis 30.10.2026 (Designsystem baupläne/anerkennung/entwurf/, Design-Prüfer bestanden). */
.bl-anerk{padding:96px 0;background:var(--background-light-beige)} /* hell: zwischen Lila (Förderung) und Weiß (Fragen) wechseln die Flächen */
/* Raster wie die Fragen-Section darunter (faq-mini: 12 Spalten, 24px, links 5 | rechts 7): eine Linie durch die Seite, Jakobs Gesetz */
.bl-anerk__spalte{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.bl-anerk__links{grid-column:span 5;position:sticky;top:120px} /* läuft beim Aufklappen mit, wie faq-mini--schmal */
.bl-anerk__rechts{grid-column:span 7}
.bl-anerk__liste{margin-top:6px}
.bl-anerk .tx__h2{margin:0 0 24px}

/* 1. Antwortblock: die einzige Fläche der Section */
.bl-anerk__antwort{display:flex;gap:16px;align-items:flex-start;padding:28px 32px;border-radius:20px;background:var(--orange-100)}
.bl-anerk__antwort > .bl-anerk__symbol{width:32px;height:32px;margin-top:2px;background:var(--background-white);border-radius:50%}
.bl-anerk__antwort > .bl-anerk__symbol svg,.bl-anerk__antwort > .bl-anerk__symbol img{width:16px;height:16px}
.bl-anerk__ja{margin:0 0 6px;font-family:var(--font3);font-size:var(--schrift-h4);line-height:1.33;color:var(--typography-black)}
.bl-anerk__beleg{margin:0;font-family:var(--font4);font-size:var(--schrift-16);line-height:1.6;color:var(--typography-black)}
.bl-anerk__beleg a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.bl-anerk__beleg a:focus-visible,.bl-anerk__details a:not(.tx__karte):focus-visible{outline:2px solid var(--typography-black);outline-offset:2px;border-radius:2px}

/* Symbole der Stufen: anerkannt = Kreis (Bestand), entspricht = Haken, keine Pflicht = Pfeil */
.bl-anerk__symbol{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--typography-black)}
.bl-anerk__symbol svg{width:14px;height:14px}
.bl-anerk__symbol--kreis{border-radius:50%;background:var(--green-100)}
.bl-anerk__symbol--kreis svg{width:12px;height:12px}

/* 2. Liste: ruhig, nur Linien */
.bl-anerk__eintrag{border-top:1px solid var(--background-borders)}
.bl-anerk__eintrag:last-of-type{border-bottom:1px solid var(--background-borders)}
.bl-anerk__eintrag > summary{display:flex;align-items:center;gap:16px;min-height:72px;padding:12px 0;list-style:none;cursor:pointer}
.bl-anerk__eintrag > summary::-webkit-details-marker{display:none}
.bl-anerk__eintrag > summary::marker{content:""}
.bl-anerk__eintrag > summary:hover .bl-anerk__titel{text-decoration:underline;text-underline-offset:4px}
.bl-anerk__eintrag > summary:focus-visible{outline:2px solid var(--typography-black);outline-offset:2px;border-radius:4px}
.bl-anerk__eintrag > summary:focus:not(:focus-visible){outline:0} /* Kontur nur per Tastatur, nicht nach Mausklick */
.bl-anerk__titel{flex:1 1 auto;margin:0;font-family:var(--font4);font-size:var(--schrift-20);font-weight:600;line-height:1.3;color:var(--typography-black)}
.bl-anerk__status{flex:0 0 220px;display:flex;align-items:center;gap:8px;font-family:var(--font4);font-size:var(--schrift-16);color:var(--typography-dark-grey);white-space:nowrap}
.bl-anerk__auf{flex:0 0 24px;height:24px;background:no-repeat 50%/16px url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M3 5l4 4 4-4" fill="none" stroke="%2327252A" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/></svg>');transition:transform .2s}
.bl-anerk__eintrag[open] .bl-anerk__auf{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){.bl-anerk__auf{transition:none}}

/* 3. Details */
.bl-anerk__details{padding:4px 0 32px}
.bl-anerk__details > p{max-width:640px;margin:0 0 16px;font-family:var(--font4);font-size:var(--schrift-16);line-height:1.6;color:var(--typography-black)}
.bl-anerk__details a:not(.tx__karte){color:inherit;text-decoration:underline;text-underline-offset:3px}
.bl-anerk__frage{font-weight:600}
.bl-anerk__details > .bl-anerk__klein{margin:24px 0 12px;font-size:var(--schrift-14);font-weight:600;color:var(--typography-dark-grey)}
.bl-anerk__details .tx__karten{margin:0}
.bl-anerk a.tx__karte{text-decoration:none;transition:background .18s ease;min-height:44px}
.bl-anerk a.tx__karte .tx__karte-titel{font-size:var(--schrift-16);text-decoration:underline;text-underline-offset:3px;margin:0}
.bl-anerk a.tx__karte .tx__karte-text{font-size:var(--schrift-14);margin:0}
.bl-anerk a.tx__karte:hover{background:var(--orange-100)}
.bl-anerk a.tx__karte:focus-visible{outline:2px solid var(--typography-black);outline-offset:3px}
.bl-anerk__details .tx__liste{max-width:640px}
.bl-anerk__details .tx__liste li{font-size:var(--schrift-16);line-height:1.5;margin-bottom:6px}
.bl-anerk__hinweis{margin:24px 0 0;font-family:var(--font4);font-size:var(--schrift-14);line-height:1.5;color:var(--typography-dark-grey)}

@media (max-width:767px){
  .bl-anerk{padding:56px 0 48px}
  .bl-anerk__spalte{display:block}
  .bl-anerk__links{position:static}
  .bl-anerk__antwort{padding:20px;margin-bottom:32px}
  .bl-anerk__ja{font-size:var(--schrift-20)}
  .bl-anerk__eintrag > summary{flex-wrap:wrap;row-gap:4px;position:relative;padding:16px 32px 16px 0}
  .bl-anerk__titel{flex-basis:100%;font-size:var(--schrift-16)}
  .bl-anerk__status{flex-basis:auto;font-size:var(--schrift-14);white-space:normal}
  .bl-anerk__auf{position:absolute;top:16px;right:0;width:24px}
}
