/* Länderseite (Entwurf „Terminliste“, Denis 30.10.2026): Abschnitte, Terminliste, Förderkarten, Einleitung.
   Nur Tokens aus _root.scss, Schriftgrößen auf der Skala. Zeilen folgen dem Markup der Kursseite (pdp-termin, dates-table__row).
   Termine: includes/modules/bundesland-termine.php, Förderung: bundesland-foerder.php. Umschalter und Ortsfilter: bundesland-termine.js. */

/* ---- Flächen und Abstände (Weiß, Beige, Weiß, Lila 100, Anerkennung, Weiß) ---- */
[hidden].bn-panel,.bn-sec [hidden]{display:none!important}
section.bn-sec{padding:96px 0;scroll-margin-top:88px}
section.bn-sec.bn-weiss{background:var(--background-white)}
section.bn-sec.bn-beige{background:var(--background-beige)}
section.bn-sec.bn-lila{background:var(--lila-100)}
section.bn-sec.bn-hell{background:var(--background-light-beige)} /* Stadtseite: Kurse zwischen Beige (Termine) und Weiß (Fragen) */
.bn-kopf{margin:0 0 40px}
.bn-kopf .tx__h2{margin:0 0 16px;text-wrap:balance}
.bn-kopf .bl-sub{margin:0 0 8px;max-width:640px;text-wrap:pretty}
.bn-kopf .bl-stand{font-size:var(--schrift-16);margin:0}
section.bl-kurse.bn-sec .courses-review{margin-top:0}
section.bl-kurse.bn-sec .bl-kurse__alle{margin-top:40px;text-align:center}
.faq-mini-section{scroll-margin-top:88px}
.bundesland-seite .faq-mini-section{margin:0;padding:96px 0}
@media (max-width:767px){.bundesland-seite .faq-mini-section{padding:56px 0}}
.bundesland-seite .faq-mini-section .faq-stand{color:var(--typography-dark-grey);font-family:var(--font4);font-size:var(--schrift-16);margin:22px 0 0;text-align:left}
#beratung{scroll-margin-top:88px}
@media (max-width:767px){section.bn-sec{padding:56px 0}.bn-kopf{margin-bottom:28px}}

/* ---- Einleitung: links Überschrift und Lead-Text, rechts die Beraterkarte, oben bündig ---- */
.bn-kurzgrid{align-items:start;display:grid;gap:32px;grid-template-columns:minmax(0,7fr) minmax(0,4fr)}
.bn-kurzgrid--allein{grid-template-columns:1fr}
.bn-kurzlinks .tx__h2{margin:0 0 24px;text-wrap:balance}
.bn-kurztext{color:var(--typography-black);font-family:var(--font4);font-size:var(--schrift-20);line-height:1.55;margin:0;max-width:640px}
.bn-kurzgrid>aside{display:flex;min-width:0}
.bn-kurzgrid>aside .bk{flex:1;margin:0}
@media (max-width:899px){.bn-kurzgrid{gap:24px;grid-template-columns:1fr}}

/* ---- Terminliste im Muster der Kursseite (Wann und wo startest Du?) ----
   Markup und Klassen der Kursseite, ihre Stile kommen aus pdp-kurs.css und pdp.css (Wrapper .pdp). Hier nur, was unsere Liste anders hat:
   volle Breite ohne Preisspalte und die Spalte „Kurs“ (Name, Dauer, Preis) zwischen Ort und Knopf. */
.pdp .pdp-kauf{scroll-margin-top:88px}
.pdp .pdp-kauf .pdp-kauf__kopf{max-width:none}
.pdp .pdp-kauf .pdp-kauf__kopf .bl-sub{margin:16px 0 0;max-width:640px}
.pdp .pdp-kauf .bl-kurse__alle{margin:32px 0 0}
.pdp .bn-voll.pdp-kauf__raster{display:block}
.pdp .bn-voll .pdp-termin{align-items:center;column-gap:20px;grid-template-areas:"datum format ort kurs knopf";grid-template-columns:128px 132px minmax(0,1fr) minmax(0,1.4fr) auto;row-gap:6px}
.bn-trow__kurs{font-family:var(--font4);font-size:var(--schrift-16);font-weight:600;grid-area:kurs;line-height:1.4;margin:0;min-width:0}
.bn-trow__kurs a{color:var(--typography-black);text-decoration:none}
.bn-trow__kurs a:hover{text-decoration:underline;text-underline-offset:3px}
.bn-trow__kurs span{color:var(--typography-dark-grey);display:block;font-weight:400}
@media (max-width:991px){
	.pdp .bn-voll .pdp-terminliste .pdp-termin{grid-template-areas:"hinweis hinweis" "datum format" "ort ort" "kurs kurs" "knopf knopf";grid-template-columns:auto minmax(0,1fr);row-gap:4px}
	.pdp .bn-voll .pdp-terminliste .pdp-termin .pdp-termin__knopf.button{height:44px;justify-content:center;margin-top:8px;min-height:44px;width:100%}
	.pdp .bn-voll .pdp-termin__ort>strong{align-self:start;font-weight:400} /* Handy: Kursname fett, Ort normal */
	.pdp .bn-voll .bn-trow__kurs{margin-top:4px}
	.pdp .bn-voll .pdp-terminliste .pdp-termin .pdp-termin__knopf.button{padding-inline:20px}
	.pdp .bn-voll .pdp-termin .pdp-termin__knopf.button > span{padding:0 34px 0 0}
	/* Beraterband: Knopf volle Breite, Beschriftung in einer Zeile */
	.pdp .bn-voll .pdp-beraterband .expert-contact--band__cta,.pdp .bn-voll .pdp-beraterband .expert-contact--band__cta .button{width:100%}
	.pdp .bn-voll .pdp-beraterband .expert-contact--band__cta .button{gap:10px;justify-content:center;padding-inline:16px;white-space:nowrap}
}

/* ---- Fernlehrgänge ---- */
.bn-fern{align-items:center;border-top:1px solid var(--background-borders);display:flex;flex-wrap:wrap;gap:16px 24px;justify-content:space-between;margin-top:56px;padding-top:32px}
.bn-fern__satz{font-family:var(--font3);font-size:var(--schrift-h4);line-height:1.2;margin:0}

/* ---- Förderung: zwei gleich gebaute Karten auf Lila 100 ---- */
.bn-foerder{display:grid;gap:0 24px;grid-template-columns:1fr 1fr;grid-template-rows:repeat(8,auto)}
.bn-foerder--eine{grid-template-columns:minmax(0,calc(50% - 12px));justify-content:center}
.bn-fkarte{background:var(--background-white);border:1px solid var(--background-borders);border-radius:20px;display:flex;flex-direction:column;padding:40px}
@supports (grid-template-rows:subgrid){.bn-fkarte{display:grid;grid-row:span 8;grid-template-rows:subgrid}}
.bn-pille{align-self:start;background:var(--orange-200);border-radius:100px;color:var(--typography-black);font-family:var(--font4);font-size:var(--schrift-14);font-weight:600;justify-self:start;margin:0 0 20px;padding:5px 16px}
.bn-fkarte__titel{font-family:var(--font3);font-size:var(--schrift-h4);font-weight:400;line-height:1.2;margin:0 0 16px}
.bn-fkarte__zahl{color:var(--typography-black);font-family:var(--font3);font-size:var(--schrift-h2);line-height:1.1;margin:0 0 4px}
.bn-fkarte__sub{color:var(--typography-black);font-family:var(--font4);font-size:var(--schrift-20);line-height:1.5;margin:0 0 16px}
.bn-fkarte__text{color:var(--typography-dark-grey);font-family:var(--font4);font-size:var(--schrift-16);line-height:1.5;margin:0 0 24px}
.bn-zellen{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 24px}
.bn-zellen--1{grid-template-columns:1fr}
.bn-zellen--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.bn-zelle{border-top:2px solid var(--primary-300);display:flex;flex-direction:column;font-family:var(--font4);gap:4px;padding-top:10px}
.bn-zelle__l{color:var(--typography-light-grey);font-size:var(--schrift-16);line-height:1.3}
.bn-zelle strong{font-size:var(--schrift-16);font-weight:600;line-height:1.3}
.bn-fkarte__quelle{color:var(--typography-dark-grey);font-family:var(--font4);font-size:var(--schrift-16);line-height:1.6;margin:0}
.bn-fkarte__quelle a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.bn-fkarte__flyer{align-self:start;justify-self:start;margin-top:16px}
.bn-foerder__ohne{font-family:var(--font4);font-size:var(--schrift-16);line-height:1.5;margin:24px auto 0;max-width:640px;text-align:center}
.bn-foerder-cta{margin:40px auto 0;text-align:center}
.bn-foerder-cta .bl-stand{font-size:var(--schrift-16);margin:24px 0 0}
@media (max-width:899px){
	.bn-foerder,.bn-foerder--eine{grid-template-columns:1fr}
	.bn-fkarte{padding:28px 20px}
	.bn-fkarte+.bn-fkarte{margin-top:24px}
	.bn-zellen{gap:10px}
}
@media (prefers-reduced-motion:reduce){.bn-mehr *{transition:none}}

/* Anerkennung (!79): Kurskärtchen im aufgeklappten Eintrag weiß mit Linie, sonst verschwinden sie auf dem Beige */
.bl-anerk a.tx__karte{background:var(--background-white);border:1px solid var(--background-borders)}

/* ---- /standorte/: mittige Einleitung mit Markenfläche (Variante A) oder Gesichtern (Variante B) ---- */
section.bn-sec.bn-mitte{text-align:center}
.bn-mitte .tx__h2{margin:0 auto 24px;max-width:30ch;text-wrap:balance}
.bn-mitte .bn-kurztext{margin:0 auto;max-width:60ch}
/* A: Kennzahlen mittig in einer Orange-100-Fläche, ein Heartbeat-Scribble (Orange 300, liegend, am rechten Rand angeschnitten) hinter den Zahlen */
/* Panel: unten und rechts Platz für das Scribble, die Zahlen stehen darüber */
.bn-zahlenpanel{background:var(--orange-100);border-radius:32px;margin:56px auto 0;overflow:hidden;padding:48px 32px 112px;position:relative}
/* Heartbeat-Scribble: liegend (-8°), Spitzen nach oben, unten rechts von Unterkante und Rand angeschnitten, nur die obersten Spitzen im freien Streifen */
.bn-scribble{bottom:-318px;height:auto;max-width:none;pointer-events:none;position:absolute;right:-70px;transform:rotate(-8deg);transform-origin:center;width:420px;z-index:0}
.bn-zahlen{display:grid;gap:32px 24px;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;position:relative;z-index:1}
.bn-zahlen li{align-items:center;display:flex;flex-direction:column;gap:6px;text-align:center}
.bn-zahlen strong{font-variant-numeric:lining-nums;color:var(--typography-black);font-family:var(--font3);font-size:var(--schrift-h1);font-weight:400;line-height:1.1}
.bn-zahlen span{color:var(--typography-black);font-family:var(--font4);font-size:var(--schrift-16);font-weight:600;line-height:1.3}
.bn-zahlen small{color:var(--typography-dark-grey);font-family:var(--font4);font-size:var(--schrift-14);line-height:1.3}
@media (max-width:899px){.bn-zahlen{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.bn-mitte .bn-kurztext{text-align:left}.bn-zahlenpanel{border-radius:20px;margin-top:40px;padding:32px 20px 88px}.bn-scribble{bottom:-205px;right:-60px;width:270px}}
/* B: Gesichter der Beraterinnen mit Rückruf-Zeile */
.bn-rueckruf{align-items:center;display:flex;flex-direction:column;gap:12px;margin:40px 0 0}
.bn-gesichter{display:flex}
.bn-gesicht{background:var(--orange-100);border:2px solid var(--background-white);border-radius:50%;display:block;height:56px;margin-left:-14px;overflow:hidden;width:56px}
.bn-gesicht:first-child{margin-left:0}
.bn-gesicht img{display:block;height:100%;object-fit:cover;width:100%}
.bn-rueckruf p{font-family:var(--font3);font-size:var(--schrift-h4);line-height:1.2;margin:0}

/* „Termin ansehen“ immer ausgeschrieben (die Kursseite kürzt mobil auf „Buchen“) */
.pdp .bn-voll .pdp-termin__voll{display:inline}

/* /standorte/ Variante B: Zahlen des Kennzahlen-Blocks auf einer Grundlinie (gleiche Ziffernform wie „Live“) */
.bn-mitte ~ .kennzahlen-section .kennzahlen__wert{font-variant-numeric:lining-nums}
.bn-mitte ~ .kennzahlen-section .kennzahlen__grid{align-items:start}

/* Hinweis, wenn der gewählte Ort gerade keine Termine hat */
.pdp .bn-ort-hinweis{background:var(--background-white);border-radius:16px;font-family:var(--font4);font-size:var(--schrift-16);line-height:1.5;margin:0 0 24px;padding:14px 20px}
