/* Green-Belt-Seite — Designentwurf, portiert aus entwurf.html.
   Eigene Klassen mit gb- praefixiert. Header, Schrift und .container vom Theme. */

.gb{
  --blau:#18507c;
  --blau-hover:#2683c9;
  --blau-hell:#0097d9;
  --blau-h3:#0070a1;
  --navy:#021d3a;
  --flaeche:#e9f1fb;
  --flaeche-rand:#c9dcf0;
  --grauflaeche:#f5f5f5;
  --zebra:#fbfcfd;
  --linie:#d9dde1;
  --grau:#7c878f;
  --rot:#bf2f2f;
  --rot-flaeche:#fbeced;
  --radius:10px;
  font-size:16px;
  line-height:1.6;
  font-family:'IBM Plex Sans',Arial,Helvetica,sans-serif;
}
#gb-abstand{height:210px}
.gb *{box-sizing:border-box}
:where(.gb) p{font-size:16px;line-height:1.6;margin:0 0 14px}
:where(.gb) a{color:var(--blau-hell)}
.gb img{max-width:100%;display:block}

/* Vererbung wiederherstellen: Theme setzt *{font-size:17px} hart. */
:where(.gb) :where(div,span,strong,em,b,i,small,label,li,td,th,dd,dt,summary,figcaption){font-size:inherit;line-height:inherit}

/* ---------- Abschnittsnavigation ---------- */
.gb-subnav{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--linie)}
.gb-subnav .container{display:flex;align-items:stretch;gap:2px;position:relative}
.gb-subnav a.gb-punkt{display:block;padding:17px 15px 16px;color:#5f6b73;text-decoration:none;font-size:15px;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.gb-subnav a.gb-punkt:hover{color:var(--blau)}
.gb-subnav a.gb-punkt.aktiv{color:var(--blau);font-weight:600;border-bottom-color:var(--blau-hell)}
.gb-subnav .gb-cta{margin-left:auto;align-self:center;background:var(--blau);color:#fff;text-decoration:none;font-weight:600;font-size:15px;padding:11px 22px;border-radius:var(--radius);white-space:nowrap}
.gb-subnav .gb-cta:hover{background:var(--blau-hover);color:#fff}
.gb-fortschritt{position:absolute;left:0;bottom:-1px;height:3px;width:0;background:var(--flaeche)}

/* ---------- Raster ---------- */
/* Nur senkrechte Abstaende setzen: .gb-oben traegt gleichzeitig die Klasse
   container, die Kurzschreibweise wuerde deren seitliches Padding loeschen. */
.gb-oben{padding-top:36px;padding-bottom:8px;scroll-margin-top:70px}
.gb-abschnitt{padding:48px 0;scroll-margin-top:70px}
.gb-abschnitt.getoent{background:var(--zebra);border-top:1px solid var(--linie);border-bottom:1px solid var(--linie)}
.gb-spalten{display:flex;gap:40px;align-items:flex-start}
.gb-inhalt{flex:1;min-width:0}
.gb-seitenspalte{flex:none;width:380px;position:sticky;top:80px}
.gb-kopfzeile{display:flex;gap:32px;align-items:flex-start;margin-bottom:26px}
.gb-kopfzeile .gb-text{flex:1;min-width:0}
.gb-kopfzeile .gb-medien{flex:1;min-width:0}

.gb h1{font-size:34px;line-height:1.15;font-weight:700;color:var(--blau);margin:0 0 10px}
.gb h2{font-size:28px;line-height:1.2;font-weight:700;color:var(--blau);margin:0 0 16px}
.gb h3{font-size:19px;line-height:1.35;font-weight:600;color:var(--blau-h3);margin:0 0 12px}
.gb-vorzeile{display:block;font-size:12px;letter-spacing:2.4px;text-transform:uppercase;color:var(--blau-hell);font-weight:600;margin-bottom:8px}
.gb-strich{width:52px;height:3px;background:var(--blau-hell);border-radius:2px;margin:0 0 16px}

/* ---------- Video ---------- */
.gb-video{position:relative;background:#123a5c;border-radius:12px;overflow:hidden}
.gb-video .gb-flaeche{position:relative;width:100%;padding-top:56.25%}
.gb-video .gb-mitte{position:absolute;left:0;right:0;top:50%;margin-top:-52px;text-align:center;padding:0 16px}
.gb-video .gb-knopf{display:inline-block;width:62px;height:62px;border-radius:50%;background:#fff;line-height:0}
.gb-video .gb-knopf svg{margin-top:20px;margin-left:4px}
.gb-video .gb-titel{display:block;margin-top:12px;color:#fff;font-weight:600;font-size:15px;line-height:1.35}
.gb-video .gb-dauer{display:block;color:#b7cfe4;font-size:12.5px;margin-top:3px}

/* ---------- Buchungsbox ---------- */
.gb-buchung{border:1px solid var(--linie);border-radius:var(--radius);background:#fff;padding:20px 20px 22px}
.gb-buchung .gb-kursname{display:block;font-size:15px;color:var(--grau);font-weight:400;margin:0 0 4px}
.gb-abpreis{font-size:34px;font-weight:700;color:var(--blau);line-height:1.15}
.gb-abpreis .gb-mwst{font-size:14px;font-weight:400;color:var(--grau);margin-left:8px}
.gb-trennlinie{border-top:1px solid var(--linie);margin:18px 0 16px}
.gb-buchung label.gb-klein{display:block;font-size:13px;color:var(--grau);margin-bottom:6px}
.gb-buchung select{width:100%;font-family:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--linie);border-radius:6px;background:#fff;color:#292929}
.gb-buchung .gb-knopf-voll{display:block;margin-top:16px}
.gb-beratungslink{display:block;text-align:center;margin-top:14px;font-size:14.5px;color:var(--blau);font-weight:600;text-decoration:underline}
.gb-knopf-voll{display:block;text-align:center;background:var(--blau);color:#fff;text-decoration:none;font-weight:600;font-size:15px;padding:13px 18px;border-radius:var(--radius);margin-top:12px}
.gb-knopf-voll:hover{background:var(--blau-hover);color:#fff}
.gb-knopf-rand{display:block;text-align:center;background:#fff;color:var(--blau);border:1px solid var(--blau);text-decoration:none;font-weight:600;font-size:15px;padding:12px 18px;border-radius:var(--radius);margin-top:14px}
.gb-knopf-rand:hover{background:var(--flaeche);color:var(--blau)}
.gb-hinweis{font-size:11.5px;color:var(--grau);margin:14px 0 0;line-height:1.5}

/* ---------- Terminfilter ---------- */
.gb-filter{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin:0 0 18px}
.gb-filterfeld{flex:0 1 240px;min-width:0}
.gb-filterfeld label{display:block;font-size:13px;color:var(--grau);margin-bottom:5px}
.gb-filterfeld select{width:100%;font-family:inherit;font-size:14.5px;line-height:1.5;padding:10px 12px;border:1px solid var(--linie);border-radius:6px;background:#fff;color:#292929}
.gb-treffer{font-size:13.5px;color:var(--grau);padding-bottom:11px}
.gb-keintreffer{margin:16px 0 0;font-size:14.5px;color:var(--grau)}
.gb-keintreffer[hidden]{display:none}

/* ---------- Praxisanteil ---------- */
.gb-praxis h2{margin:0 0 8px}
.gb-praxis > p{max-width:640px;margin-bottom:18px}
.gb-balken{display:flex;border-radius:8px;overflow:hidden;margin-bottom:10px}
.gb-praxisteil{width:80%;background:var(--blau);color:#fff;padding:16px 18px;font-weight:700;font-size:16px}
.gb-theorieteil{width:20%;background:var(--flaeche);color:var(--blau);padding:16px 12px;font-weight:600;font-size:13px;text-align:center}
.gb-balkenbeschriftung{display:flex;font-size:12.5px;color:var(--grau);margin-bottom:22px}
.gb-balkenbeschriftung span:first-child{width:80%}
.gb-balkenbeschriftung span:last-child{width:20%;text-align:center}
.gb-praxiskacheln{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.gb-praxiskachel{flex:1 1 170px;background:var(--zebra);border:1px solid var(--linie);border-radius:10px;padding:14px 16px}
.gb-praxiskachel .gb-titel{display:block;font-weight:600;color:var(--blau);font-size:14.5px;line-height:1.35;margin-bottom:3px}
.gb-praxiskachel .gb-zusatz{display:block;color:#5f6b73;font-size:13px;line-height:1.45}
.gb-praxiskern{background:var(--flaeche);border-radius:10px;padding:16px 20px;font-weight:600;color:var(--blau);line-height:1.55}

/* ---------- Bewertungszeile ---------- */
.gb-bewertungszeile{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.gb-bewertungszeile .gb-sterne{color:#e8a33d;font-size:20px;letter-spacing:2px;line-height:1}
.gb-bewertungszeile .gb-note{font-weight:700;color:var(--blau);font-size:17px}
.gb-bewertungszeile .gb-quelle{color:var(--grau);font-size:15px}

/* ---------- Merkmalsleiste ---------- */
.gb-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.gb-chip{display:inline-flex;align-items:center;gap:7px;background:var(--flaeche);color:var(--blau);border:1px solid var(--flaeche-rand);border-radius:8px;padding:7px 12px;font-size:13.5px;font-weight:600;line-height:1.3;white-space:nowrap}
.gb-chip svg{flex:none}
.gb-chip.gruen{background:#e6f4ec;border-color:#c3e2d0;color:#2c6b45}
.gb-anker{scroll-margin-top:70px}

/* ---------- Listen ---------- */
.gb ul.gb-haken{margin:0;padding-left:24px;list-style-position:outside}
.gb ul.gb-haken li{list-style-type:"\2713";padding-left:8px;margin-bottom:7px;font-size:15px;line-height:1.55}
.gb ul.gb-haken li::marker{color:var(--blau-hell);font-weight:700}
.gb ul.gb-punkte{margin:0 0 16px;padding-left:20px}
.gb ul.gb-punkte li{margin-bottom:8px;padding-left:2px;font-size:16px;line-height:1.6}
.gb ul.gb-punkte li::marker{color:var(--blau-hell)}
.gb ul.gb-zweispaltig{column-count:2;column-gap:44px}
.gb ul.gb-zweispaltig li{break-inside:avoid}

/* ---------- Zielgruppe ---------- */
.gb-zielgruppe{display:flex;gap:20px;align-items:center;background:var(--flaeche);border-radius:var(--radius);padding:20px 22px;margin:0 0 16px}
.gb-zielgruppe .gb-text{flex:1;min-width:0;font-size:15px}
.gb-zielgruppe .gb-marke{display:block;color:var(--blau);font-weight:600;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:6px}
.gb-knopf-linie{flex:none;display:inline-block;width:200px;text-align:center;background:#fff;color:var(--blau);border:1px solid var(--blau);font-weight:600;font-size:13px;line-height:1.35;padding:12px 14px;border-radius:var(--radius);text-decoration:none}
.gb-knopf-linie:hover{background:var(--flaeche);color:var(--blau)}

/* ---------- Kennzahlen ---------- */
.gb-kennzahlen{display:flex;border:1px solid var(--linie);border-radius:var(--radius);overflow:hidden;flex-wrap:wrap;background:#fff}
.gb-kennzahl{flex:1 1 170px;padding:18px 12px;text-align:center;border-right:1px solid var(--linie)}
.gb-kennzahl:last-child{border-right:none}
.gb-kennzahl .gb-wert{display:block;font-weight:700;color:var(--blau);font-size:18px;margin-bottom:3px;line-height:1.3}
.gb-kennzahl .gb-zusatz{display:block;color:#5f6b73;font-size:13px;line-height:1.4}

/* ---------- Tabellen ---------- */
.gb table{width:100%;border-collapse:collapse;table-layout:fixed}
.gb thead th{background:transparent;color:var(--blau);font-weight:600;padding:8px 10px 10px;text-align:left;font-size:14px;border-bottom:2px solid var(--blau)}
.gb thead th.rechts{text-align:right}
.gb td{border:1px solid var(--linie);padding:12px;vertical-align:top;background:#fff;font-size:14px;line-height:1.5;overflow-wrap:break-word}
.gb tbody tr:nth-child(2n) td{background:var(--zebra)}
.gb td.gb-format{font-weight:600;color:var(--blau);padding-right:8px}
.gb td.gb-format a{color:var(--blau);text-decoration:underline}
.gb td.gb-dauer{color:var(--blau-h3);font-weight:600;padding-left:8px;padding-right:8px}
.gb td.gb-preiszelle{text-align:right;white-space:nowrap;padding-left:8px;padding-right:10px}
.gb td.gb-anfrage{text-align:right;color:var(--grau);font-style:italic;padding-left:8px;padding-right:10px}
.gb-ab{display:block;color:var(--grau);font-size:12px}
.gb-fussnote{margin:10px 0 0;font-size:12px;color:var(--grau)}
.gb-rabatt{margin:16px 0 0;background:var(--flaeche);border-radius:var(--radius);padding:13px 18px;color:var(--blau);font-size:15px;font-weight:600}
.gb-enthalten{margin-top:26px;background:#fff;border:1px solid var(--linie);border-radius:var(--radius);padding:22px 24px}
.gb-enthalten h3{margin-bottom:14px}

/* ---------- Trainer ---------- */
.gb-trainer{display:flex;gap:20px;flex-wrap:wrap;margin-top:6px}
.gb-person-karte{flex:1 1 280px;background:#fff;border:1px solid var(--linie);border-radius:12px;padding:26px 22px 24px;text-align:center}
.gb-person-karte img{width:132px;height:132px;border-radius:50%;object-fit:cover;margin:0 auto 16px;background:var(--flaeche)}
.gb-person-karte .gb-name{display:block;font-size:18px;font-weight:700;color:var(--blau);line-height:1.3;margin-bottom:4px}
.gb-person-karte .gb-rolle{display:block;font-size:14px;font-weight:600;color:var(--blau-h3);line-height:1.4;margin-bottom:12px}
.gb-person-karte .gb-vita{display:block;font-size:14px;line-height:1.55;color:#292929;margin-bottom:14px}
.gb-person-karte .gb-jahre{display:inline-block;background:var(--flaeche);color:var(--blau);font-weight:600;font-size:12px;padding:4px 12px;border-radius:50px}

/* ---------- Stundenplan ---------- */
.gb-reiter{display:flex;gap:4px;border-bottom:1px solid var(--linie);margin:0 0 18px;flex-wrap:wrap}
.gb-reiter button{font-family:inherit;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;padding:11px 18px 12px;font-size:15px;font-weight:600;color:var(--grau);cursor:pointer}
.gb-reiter button:hover{color:var(--blau)}
.gb-reiter button.aktiv{color:var(--blau);border-bottom-color:var(--blau-hell)}
.gb-tafel[hidden]{display:none}
.gb table.gb-plan td{padding:9px 11px;font-size:13.5px;line-height:1.4}
.gb table.gb-plan td.gb-tag,.gb table.gb-plan tbody tr:nth-child(2n) td.gb-tag{background:var(--flaeche);color:var(--blau);font-weight:600;text-align:center;vertical-align:middle;font-size:12.5px;padding:8px 0;border-color:var(--flaeche-rand)}
.gb table.gb-plan td.gb-pause{background:var(--grauflaeche);color:#6b7780;text-align:center;vertical-align:middle;font-size:11.5px;font-weight:600;letter-spacing:.8px;padding:10px 0;border-left:1px solid var(--linie);border-right:1px solid var(--linie)}
.gb table.gb-plan tbody tr:nth-child(2n) td.gb-pause{background:#eef0f1}
.gb-hoch{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;display:inline-block}
.gb-block{margin-bottom:10px}
.gb-block:last-child{margin-bottom:0}
.gb-blocktitel{color:var(--blau-h3);font-weight:600;margin-bottom:2px}
.gb table.gb-plan ul{margin:0;padding-left:15px}
.gb table.gb-plan li{margin-bottom:2px;font-size:13.5px;line-height:1.4}
.gb table.gb-plan li::marker{color:var(--blau-hell)}
.gb-markezeile{margin-top:7px}
.gb-pille{display:inline-block;background:var(--rot-flaeche);color:var(--rot);font-weight:600;font-size:11.5px;padding:3px 10px;border-radius:50px;line-height:1.45}
.gb-pille.pruefung{background:var(--flaeche);color:var(--blau)}
.gb-platzhalter{background:var(--grauflaeche);border-radius:var(--radius);padding:26px;color:var(--grau);font-size:14.5px}

/* ---------- Rezensionen ---------- */
.gb-bewertungkopf{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.gb-sterne{color:#e8a33d;font-size:19px;letter-spacing:2px;line-height:1}
.gb-bewertungkopf .gb-zahl{font-weight:700;color:var(--blau);font-size:19px}
.gb-bewertungkopf .gb-quelle{color:var(--grau);font-size:14px}
.gb-stimmen{display:flex;gap:16px;flex-wrap:wrap}
.gb-stimme{flex:1 1 280px;background:#fff;border:1px solid var(--linie);border-radius:12px;padding:20px 22px}
.gb-stimme .gb-sterne{font-size:15px;margin-bottom:10px;display:block}
.gb-stimme p{font-size:14.5px;margin:0 0 14px}
.gb-stimme .gb-person{display:block;font-weight:600;color:var(--blau);font-size:14px}
.gb-stimme .gb-rolle{display:block;color:var(--grau);font-size:13px}

/* ---------- Termine ---------- */
.gb table.gb-termine{table-layout:auto}
.gb table.gb-termine td{white-space:nowrap}
.gb table.gb-termine td.gb-kurs{white-space:normal;font-weight:600;color:var(--navy)}
.gb-buchen{display:inline-block;background:var(--blau);color:#fff;text-decoration:none;font-weight:600;font-size:13px;padding:8px 18px;border-radius:8px;border:0;font-family:inherit;cursor:pointer}
.gb-buchen:hover{background:var(--blau-hover);color:#fff}
.gb-buchen[disabled]{background:var(--grauflaeche);color:var(--grau);cursor:default}
.gb-blaettern{margin-top:18px;font-size:14px;color:var(--grau);text-align:center}
.gb-blaettern a,.gb-blaettern button{display:inline-block;padding:6px 11px;margin:0 2px;color:var(--blau);text-decoration:none;border:1px solid var(--linie);border-radius:6px;background:#fff;font-family:inherit;font-size:14px;cursor:pointer}
.gb-blaettern a.aktiv,.gb-blaettern button.aktiv{background:var(--blau);color:#fff;border-color:var(--blau)}

/* ---------- Lerninhalte mit Grafik ---------- */
.gb-zwei{display:flex;gap:40px;align-items:flex-start}
.gb-zwei .gb-text{flex:1 1 50%;min-width:0}
.gb-grafik{flex:1 1 50%;min-width:0;position:static}
.gb-grafik .gb-rahmen{border:1px dashed var(--flaeche-rand);background:var(--flaeche);border-radius:12px;padding:20px;text-align:center}
.gb-grafik .gb-flaeche{position:relative;width:100%;padding-top:72%;background:#fff;border-radius:8px}
.gb-grafik .gb-mitte{position:absolute;left:0;right:0;top:50%;margin-top:-42px;padding:0 20px}
.gb-grafik .gb-titel{display:block;color:var(--blau);font-weight:600;font-size:15px;margin-bottom:6px}
.gb-grafik .gb-sub{display:block;color:var(--grau);font-size:13px;line-height:1.5}
.gb-grafik .gb-bez{display:block;margin-top:12px;color:var(--blau);font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase}
.gb-voll{margin-top:44px}

/* ---------- Beratungshinweis ---------- */
.gb-nudge{margin-top:24px;background:var(--flaeche);border-radius:var(--radius);padding:20px 24px;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.gb-nudge .gb-nudgetext{flex:1;min-width:240px}
.gb-nudge .gb-frage{display:block;font-weight:700;color:var(--blau);font-size:18px;line-height:1.35;margin-bottom:3px}
.gb-nudge .gb-zusatz{display:block;font-size:14.5px;color:#3c4750;line-height:1.5}
.gb-nudge .gb-knopf-voll{flex:none;margin-top:0;padding:13px 26px}

/* ---------- Beratungsblock ---------- */
.gb-beratung{display:flex;gap:40px;align-items:flex-start}
.gb-ap{flex:0 0 34%;min-width:0}
.gb-ap .gb-portraet{width:100%;padding-top:112%;position:relative;background:#fff;border:1px dashed var(--flaeche-rand);border-radius:12px;margin-bottom:16px}
.gb-ap .gb-portraetmitte{position:absolute;left:0;right:0;top:50%;margin-top:-24px;text-align:center;padding:0 16px}
.gb-ap .gb-portraettext{display:block;color:var(--blau);font-weight:600;font-size:14px}
.gb-ap .gb-portraetsub{display:block;color:var(--grau);font-size:12.5px;margin-top:4px}
.gb-ap .gb-apname{display:block;font-size:20px;font-weight:700;color:var(--blau);line-height:1.3;margin-bottom:2px}
.gb-ap .gb-approlle{display:block;font-size:14.5px;font-weight:600;color:var(--blau-h3);line-height:1.4;margin-bottom:14px}
.gb-ap .gb-kontaktzeile{display:block;font-size:15px;margin-bottom:8px;color:#292929}
.gb-ap .gb-kontaktzeile a{color:var(--blau);text-decoration:none;font-weight:600}
.gb-ap .gb-kontaktzeile a:hover{text-decoration:underline}
.gb-ap .gb-kontaktzeile svg{vertical-align:-2px;margin-right:8px;color:var(--blau-hell)}
.gb-formular{flex:1;min-width:0;background:#fff;border:1px solid var(--linie);border-radius:12px;padding:26px 28px 28px}
.gb-formular .gb-formtitel{display:block;font-size:17px;font-weight:600;color:var(--navy);margin-bottom:18px;line-height:1.4}
.gb-feld{margin-bottom:15px}
.gb-feldreihe{display:flex;gap:15px;flex-wrap:wrap}
.gb-feldreihe .gb-feld{flex:1 1 220px}
.gb-feld label{display:block;font-size:13px;color:var(--grau);margin-bottom:5px}
.gb-feld input,.gb-feld select,.gb-feld textarea{width:100%;font-family:inherit;font-size:14.5px;line-height:1.5;padding:11px 13px;border:1px solid var(--linie);border-radius:6px;background:#fff;color:#292929}
.gb-feld textarea{min-height:110px;resize:vertical}
.gb-einwilligung{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#3c4750;line-height:1.5;margin:4px 0 18px}
.gb-einwilligung input{margin-top:3px;flex:none}
.gb-formular button{font-family:inherit;background:var(--blau);color:#fff;border:0;font-weight:600;font-size:15px;padding:14px 30px;border-radius:var(--radius);cursor:pointer}
.gb-formular button:hover{background:var(--blau-hover)}

/* ---------- FAQ ---------- */
.gb details{margin-bottom:12px}
.gb details summary{position:relative;background:var(--grauflaeche);border-radius:var(--radius);padding:14px 58px 14px 20px;cursor:pointer;list-style:none;font-size:16px;font-weight:600;color:var(--navy);line-height:1.4}
.gb details summary::-webkit-details-marker{display:none}
.gb details summary .gb-zeichen{position:absolute;right:16px;top:50%;margin-top:-14px;width:28px;height:28px;border-radius:50%;background:var(--blau);text-align:center;line-height:0}
.gb details summary .gb-zeichen svg{margin-top:9px}
.gb details summary .auf{display:none}
.gb details[open] summary .auf{display:inline}
.gb details[open] summary .zu{display:none}
.gb-antwort{padding:10px 20px 6px}
.gb-antwort p:last-child{margin-bottom:0}

/* ---------- Zitat ---------- */
.gb blockquote{margin:26px 0 0;background:var(--flaeche);border-left:3px solid var(--blau-hell);border-radius:0;padding:20px 24px}
.gb blockquote p{font-size:16px;margin:0 0 10px}
.gb blockquote .gb-quelle{display:block;font-size:14px;color:var(--blau);font-weight:600;line-height:1.5}

/* ---------- Schriftfarben der Schaltflaechen ---------- */
.gb a.gb-knopf-voll,.gb a.gb-knopf-voll:hover,
.gb a.gb-buchen,.gb a.gb-buchen:hover,
.gb-mobilcta a.gb-mobil-voll,.gb-mobilcta a.gb-mobil-voll:hover,
.gb-subnav a.gb-cta,.gb-subnav a.gb-cta:hover{color:#fff}
.gb a.gb-knopf-rand,.gb a.gb-knopf-rand:hover,
.gb a.gb-knopf-linie,.gb a.gb-knopf-linie:hover,
.gb a.gb-beratungslink,.gb-mobilcta a.gb-mobil-rand{color:var(--blau)}

/* ---------- Mobile Aktionsleiste ---------- */
.gb-mobilcta{display:none}

/* ---------- Responsiv ---------- */
@media (max-width:1180px){
  .gb-spalten{display:block}
  .gb-seitenspalte{width:100%;position:static;margin-top:32px}
  .gb-zwei{display:block}
  .gb-grafik{margin-top:26px}
}
@media (max-width:900px){
  .gb h1{font-size:27px}
  .gb h2{font-size:23px}
  .gb-kopfzeile{display:block}
  .gb-kopfzeile .gb-medien{margin-top:20px}
  .gb-subnav .container{overflow-x:auto}
  .gb-subnav .gb-cta{display:none}
  .gb-zielgruppe{display:block}
  .gb-knopf-linie{width:100%;margin-top:14px}
  .gb-hoch{writing-mode:horizontal-tb;transform:none}
  .gb ul.gb-zweispaltig{column-count:1}
}
@media (max-width:760px){
  .gb-mobilcta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1200;gap:10px;background:#fff;border-top:1px solid #d9dde1;padding:10px 14px;box-shadow:0 -2px 10px rgba(2,29,58,.08)}
  .gb-mobilcta a{flex:1;text-align:center;text-decoration:none;font-weight:600;font-size:15px;padding:14px 10px;border-radius:10px;line-height:1.2}
  .gb-mobil-rand{background:#fff;color:#18507c;border:1px solid #18507c}
  .gb-mobil-voll{background:#18507c;color:#fff}
  body.gb-seite{padding-bottom:78px}
  .gb{font-size:15.5px}
  .gb h1{font-size:25px}
  .gb h2{font-size:21px}
  .gb h3{font-size:17px}
  .gb p{font-size:15.5px}
  .gb-oben{padding-top:24px}
  .gb-abschnitt{padding:34px 0}
  .gb-subnav .container{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .gb-subnav a.gb-punkt{padding:15px 13px 14px;font-size:14.5px}
  .gb-chip{font-size:13px;padding:6px 10px}
  .gb-kennzahl{flex:1 1 100%;border-right:none;border-bottom:1px solid var(--linie);text-align:left;padding:14px 16px}
  .gb-kennzahl:last-child{border-bottom:none}
  .gb-zielgruppe{padding:16px 18px}
  .gb-person-karte{flex:1 1 100%}
  .gb-stimme{flex:1 1 100%}
  .gb-tabellenhuelle,.gb-terminehuelle{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}
  .gb-tabellenhuelle table{min-width:640px}
  .gb-blaettern a,.gb-blaettern button{padding:10px 14px}
  .gb-reiter button{padding:11px 13px;font-size:14px}
  .gb table.gb-plan td.gb-pause{text-align:left;padding:8px 12px;letter-spacing:.4px;border-left:none;border-right:none}
  .gb-pille{white-space:normal}
  .gb-buchung{padding:18px 16px 20px}
  .gb-formular{padding:20px 18px 22px}
  .gb-feldreihe{display:block}
  .gb-feldreihe .gb-feld{margin-bottom:15px}
  .gb-beratung{display:block}
  .gb-ap{margin-bottom:26px}
  .gb-ap .gb-portraet{padding-top:74%}
  .gb-nudge{display:block;padding:18px 18px 20px}
  .gb-nudge .gb-knopf-voll{display:block;margin-top:16px}
  .gb-filterfeld{flex:1 1 100%}
  .gb-treffer{padding-bottom:0}
  .gb-praxisteil{padding:13px 14px;font-size:14.5px}
  .gb-theorieteil{padding:13px 6px;font-size:12px}
  .gb-balkenbeschriftung{font-size:11.5px}
  .gb-praxiskachel{flex:1 1 100%}
  .gb-praxiskern{padding:14px 16px}
  .gb-enthalten{padding:18px 18px 20px}
  .gb blockquote{padding:16px 18px}
}
@media (max-width:700px){
  .gb table.gb-plan,.gb table.gb-plan tbody,.gb table.gb-plan tr,.gb table.gb-plan td{display:block;width:auto}
  .gb table.gb-plan thead{display:none}
  .gb table.gb-plan tr{display:block;margin-bottom:18px;border:1px solid var(--linie);border-radius:var(--radius);overflow:hidden}
  .gb table.gb-plan td{border-top:none}
  .gb table.gb-plan td.gb-tag{text-align:left;padding:8px 12px}
  .gb-terminehuelle{overflow-x:auto}
  .gb table.gb-termine{min-width:620px}
}
@media (max-width:420px){
  .gb-mobilcta a{font-size:14px;padding:13px 8px}
}

/* --- Zustaende mit gepflegten Inhalten aus ACF --- */
.gb-video .gb-einbettung{position:relative;width:100%;padding-top:56.25%}
.gb-video .gb-einbettung iframe,.gb-video .gb-einbettung embed,.gb-video .gb-einbettung object,.gb-video .gb-einbettung video{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.gb-grafik .gb-bild{display:block;width:100%;height:auto;border-radius:12px}
.gb-ap .gb-portraetbild{display:block;width:100%;height:auto;border-radius:12px;margin-bottom:16px}
.gb table.gb-plan .gb-block p{margin:0 0 6px}
.gb table.gb-plan .gb-block p:last-child{margin:0}

/* =======================================================================
   Buchungsformular im Abschnitt #buchung (WooCommerce-Ausgabe)
   Das Theme liefert je Termin einen kompletten Preisblock (.wrapper),
   sichtbar ist immer nur der aktive. Hier wird ausschliesslich
   umgestaltet, an der Logik aendert sich nichts.
   ======================================================================= */

.gb #buchung .booking_form{max-width:720px;background:#fff;border:1px solid var(--linie);border-radius:14px;padding:26px 28px 24px;display:flex;flex-direction:column}
.gb #buchung .booking_form > form.cart{order:1}
.gb #buchung .booking_form > .legacy-itemprop-offers{order:2}
.gb #buchung .booking_form > .product_meta{order:3}

/* Platzhalterangaben des Shops, die auf einer Kursseite nur verwirren */
.gb #buchung .booking_form > .product_title,
.gb #buchung .legal-price-info,
.gb #buchung p.stock,
.gb #buchung .legacy-itemprop-offers p.price,
.gb #buchung .legacy-itemprop-offers .shipping_de{display:none}

/* Formularzeile: Anzahl und Kurswahl nebeneinander */
.gb #buchung form.cart{display:flex;flex-wrap:wrap;gap:14px 16px;align-items:flex-end;margin:0}
.gb #buchung form.cart > *{flex:0 0 100%;max-width:100%}
.gb #buchung form.cart > .quantity{flex:0 0 104px;position:relative}
.gb #buchung form.cart > .form-wrapper.termine{flex:1 1 260px;width:auto}
.gb #buchung form.cart > .quantity::before,
.gb #buchung .form-wrapper.termine label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:6px;line-height:1.3}
.gb #buchung form.cart > .quantity::before{content:"Anzahl"}
.gb #buchung .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.gb #buchung form.cart select,
.gb #buchung form.cart input.qty{width:100%;height:auto;font-family:inherit;font-size:15px;line-height:1.35;color:var(--navy);background-color:#fff;border:1px solid var(--linie);border-radius:var(--radius);padding:11px 12px;box-shadow:none}
.gb #buchung form.cart select{-webkit-appearance:none;appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2318507c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.gb #buchung form.cart select:focus,
.gb #buchung form.cart input.qty:focus{border-color:var(--blau-hell);outline:2px solid var(--blau-hell);outline-offset:1px}

/* Preisbloecke — vor dem Skript alle aus, das Theme blendet den aktiven ein */
.gb #buchung form.cart > .wrapper{display:none}

.gb #buchung .wrapper > .headline{display:block;margin:4px 0 0!important;padding-bottom:14px;border-bottom:1px solid var(--linie);font-size:34px;font-weight:700;line-height:1.1;letter-spacing:-.5px;color:var(--blau)}

.gb #buchung .wrapper .form-wrapper{margin:14px 0 0}
.gb #buchung .wrapper .form-wrapper .headline{display:block;margin:0 0 8px;padding:0;border:0;font-size:12px;font-weight:700;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;color:var(--grau)}
.gb #buchung .wrapper .form-wrapper .row{display:flex;flex-wrap:nowrap;align-items:baseline;justify-content:space-between;gap:10px 18px;margin:0 0 6px}
.gb #buchung .wrapper .form-wrapper .row:last-child{margin-bottom:0}
.gb #buchung .wrapper .form-wrapper .col-8,
.gb #buchung .wrapper .form-wrapper .col-4{width:auto;max-width:none;flex:0 1 auto;padding:0;float:none}
.gb #buchung .wrapper .form-wrapper .col-8{flex:1 1 auto;min-width:0}
.gb #buchung .wrapper .form-wrapper .col-4{text-align:right;white-space:nowrap;color:var(--grau);font-size:14px}
.gb #buchung .wrapper .form-wrapper p{margin:0;font-size:14.5px;line-height:1.45}
.gb #buchung .wrapper .form-wrapper label{display:inline-flex;align-items:flex-start;gap:9px;margin:0;font-size:14.5px;line-height:1.45;font-weight:400;color:var(--navy);cursor:pointer}
.gb #buchung .wrapper .form-wrapper input[type=checkbox]{flex:none;width:17px;height:17px;margin:2px 0 0;accent-color:var(--blau);cursor:pointer}

/* Summenblock */
.gb #buchung .wrapper .form-wrapper.total{margin-top:18px;padding-top:14px;border-top:2px solid var(--blau)}
.gb #buchung .wrapper .form-wrapper.total .row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:5px 18px;margin:0}
.gb #buchung .wrapper .form-wrapper.total .col-8,
.gb #buchung .wrapper .form-wrapper.total .col-4{flex:none}
.gb #buchung .wrapper .form-wrapper.total strong{font-size:15px;font-weight:600;color:var(--navy)}
.gb #buchung .wrapper .form-wrapper.total .col-4{color:var(--navy);font-size:15px}
.gb #buchung .wrapper .form-wrapper.total .headline{margin:8px 0 0;font-size:19px;font-weight:700;line-height:1.2;letter-spacing:0;text-transform:none;color:var(--blau)}
.gb #buchung .wrapper .form-wrapper.total .gesamtsumme{font-size:23px}

/* Schaltflaeche */
.gb #buchung form.cart .single_add_to_cart_button{display:block;width:100%;margin-top:20px;padding:15px 20px;border:0;border-radius:var(--radius);background:var(--blau);color:#fff;font-family:inherit;font-size:16px;font-weight:600;line-height:1.3;text-align:center;text-decoration:none;cursor:pointer}
.gb #buchung form.cart .single_add_to_cart_button:hover,
.gb #buchung form.cart .single_add_to_cart_button:focus{background:var(--blau-hover);color:#fff}

/* Pflichtangaben und Kategorie als Fussnote */
.gb #buchung .legacy-itemprop-offers{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:14px;font-size:12.5px;line-height:1.5;color:var(--grau)}
.gb #buchung .legacy-itemprop-offers .wgm-info{margin:0}
.gb #buchung .product_meta{margin-top:8px;font-size:12.5px;line-height:1.5;color:var(--grau)}
.gb #buchung .legacy-itemprop-offers a,
.gb #buchung .product_meta a{color:var(--grau);text-decoration:underline}

@media (max-width:640px){
  .gb #buchung .booking_form{padding:20px 18px 18px;border-radius:12px}
  .gb #buchung form.cart > .quantity{flex:0 0 88px}
  .gb #buchung .wrapper > .headline{font-size:29px}
  .gb #buchung .wrapper .form-wrapper .row{flex-wrap:wrap;gap:2px 12px}
  .gb #buchung .wrapper .form-wrapper .col-4{text-align:left}
}
/* =======================================================================
   Sprungnavigation zum Kleben bringen
   Das Theme setzt 'body, html{overflow-x:hidden}'. Damit wird html zum
   Scrollcontainer und position:sticky wirkt nicht mehr. 'clip' schneidet
   genauso ab, erzeugt aber keinen Scrollcontainer. Nur auf dieser Seite.
   ======================================================================= */
body.gb-seite{overflow-x:clip}
html:has(body.gb-seite){overflow-x:clip}

/* =======================================================================
   Sprungnavigation unterhalb des Theme-Headers einrasten
   Beim Scrollen setzt das Theme #page-header.bottom auf position:fixed
   mit z-index 9999. --gb-kopfhoehe wird von gb.js gesetzt und enthaelt
   die Hoehe des fixierten Headers samt Adminleiste, sonst 0.
   ======================================================================= */
.gb-subnav{top:var(--gb-kopfhoehe,0px)}
/* Sprungziele nicht unter Header und Leiste verstecken */
.gb-abschnitt[id],.gb-oben[id],.gb [id].gb-anker{scroll-margin-top:calc(var(--gb-kopfhoehe,0px) + 72px)}

/* =======================================================================
   Nachtrag aus der Vorlage vom 04.09.2026
   ======================================================================= */

/* ---------- Formattabelle: Kopfzeile und Inhouse-Schaltflaeche ----------
   Steht bewusst am Ende: bei gleicher Spezifitaet entscheidet die
   Reihenfolge, und .gb thead th / .gb td stehen weiter oben. */
.gb-tabellenhuelle table,.gb-terminehuelle table{border-collapse:separate;border-spacing:0}
.gb-tabellenhuelle thead th,.gb-terminehuelle thead th{background:var(--blau);color:#fff;font-weight:600;font-size:14px;padding:13px 12px;border:none;vertical-align:middle}
.gb-tabellenhuelle thead th:first-child,.gb-terminehuelle thead th:first-child{border-top-left-radius:10px}
.gb-tabellenhuelle thead th:last-child,.gb-terminehuelle thead th:last-child{border-top-right-radius:10px}
.gb-tabellenhuelle tbody td,.gb-terminehuelle tbody td{border-top:1px solid var(--linie);border-right:none}
.gb-tabellenhuelle tbody td:last-child,.gb-terminehuelle tbody td:last-child{border-right:1px solid var(--linie)}
.gb-tabellenhuelle tbody tr:last-child td:first-child,.gb-terminehuelle tbody tr:last-child td:first-child{border-bottom-left-radius:10px}
.gb-tabellenhuelle tbody tr:last-child td:last-child,.gb-terminehuelle tbody tr:last-child td:last-child{border-bottom-right-radius:10px}
.gb a.gb-tabellenknopf{padding:10px 18px;font-size:13.5px;white-space:nowrap;display:inline-block}
.gb td.gb-anfrage{text-align:right;font-style:normal;color:#292929;vertical-align:middle}
.gb-praxis h2{margin:0 0 8px}

/* ---------- Privatzahlerhinweis unter der Buchungsmaske ---------- */
.gb-privatzahler{display:flex;gap:14px;align-items:center;margin-top:14px;background:#e6f4ec;border:1px solid #c3e2d0;border-radius:10px;padding:14px 16px}
.gb-privatzahler .gb-prozent{flex:none;font-size:22px;font-weight:700;color:#2c6b45;line-height:1}
.gb-privatzahler .gb-prozenttext{font-size:13.5px;line-height:1.5;color:#2f5c44}
.gb-privatzahler strong{color:#2c6b45;font-weight:700}

/* ---------- Rabattbox unter der Formattabelle ----------
   Gleicher Gruenton wie Bildungsgutschein-Kasten und Privatzahlerhinweis. */
.gb-rabatt{background:#e6f4ec;border:1px solid #c3e2d0;color:#2c6b45}

/* ---------- Angebot fuer Arbeitgeber ---------- */
.gb-arbeitgeber{margin-top:14px;border:1px solid var(--linie);border-radius:10px;background:#fff;padding:18px 18px 20px}
.gb-arbeitgeber .gb-agtitel{display:block;font-size:16px;font-weight:700;color:var(--blau);line-height:1.35;margin-bottom:6px}
.gb-arbeitgeber p{margin:0 0 14px;font-size:13.5px;line-height:1.55;color:#3c4750}
.gb a.gb-agknopf{display:block;text-align:center;background:#fff;color:var(--blau);border:1px solid var(--blau);text-decoration:none;font-weight:600;font-size:14px;padding:11px 16px;border-radius:10px}
.gb a.gb-agknopf:hover{background:var(--flaeche);color:var(--blau)}

@media (max-width:760px){
  .gb-tabellenknopf{display:block;text-align:center;white-space:normal}
}
/* =======================================================================
   Formate- und Termintabelle auf Mobilgeraeten
   Statt seitlich zu scrollen wird jede Zeile zu einer Karte, die
   Spaltenbeschriftung kommt aus dem Attribut data-spalte.
   Der Stundenplan bringt seine eigene Kartenansicht bereits mit.
   ======================================================================= */
@media (max-width:700px){
  /* Zeilen als Karten statt als Querscroller */
  .gb-tabellenhuelle,.gb-terminehuelle{overflow-x:visible;margin:0;padding:0}
  .gb .gb-tabellenhuelle table,.gb .gb-terminehuelle table.gb-termine{display:block;width:100%;min-width:0;border:0}
  .gb-tabellenhuelle colgroup,.gb-terminehuelle colgroup,
  .gb-tabellenhuelle thead,.gb-terminehuelle thead{display:none}
  .gb-tabellenhuelle tbody,.gb-terminehuelle tbody{display:block}

  .gb .gb-tabellenhuelle tbody tr,.gb .gb-terminehuelle tbody tr{display:block;margin:0 0 14px;background:#fff;border:1px solid var(--linie);border-radius:var(--radius);overflow:hidden}
  .gb .gb-tabellenhuelle tbody tr:last-child,.gb .gb-terminehuelle tbody tr:last-child{margin-bottom:0}

  .gb .gb-tabellenhuelle tbody td,.gb .gb-terminehuelle tbody td{display:block;width:auto;padding:10px 14px;text-align:left;white-space:normal;font-size:14.5px;line-height:1.5;border:0;border-top:1px solid var(--linie);border-radius:0}
  .gb .gb-tabellenhuelle tbody tr:last-child td:first-child,
  .gb .gb-tabellenhuelle tbody tr:last-child td:last-child,
  .gb .gb-terminehuelle tbody tr:last-child td:first-child,
  .gb .gb-terminehuelle tbody tr:last-child td:last-child{border-radius:0}

  /* Beschriftete Zellen: Bezeichnung links, Wert rechts */
  .gb .gb-tabellenhuelle tbody td[data-spalte],.gb .gb-terminehuelle tbody td[data-spalte]{display:flex;gap:14px;align-items:baseline;justify-content:space-between}
  .gb .gb-tabellenhuelle tbody td[data-spalte]::before,.gb .gb-terminehuelle tbody td[data-spalte]::before{content:attr(data-spalte);flex:none;color:var(--grau);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;line-height:1.6}

  /* Erste Zelle ist der Kartenkopf, ohne Bezeichnung */
  .gb .gb-tabellenhuelle tbody td:first-child,.gb .gb-terminehuelle tbody td:first-child{display:block;padding:11px 14px;border-top:0;background:var(--flaeche);color:var(--blau);font-weight:600;font-size:15px}
  .gb .gb-tabellenhuelle tbody td:first-child::before,.gb .gb-terminehuelle tbody td:first-child::before{content:none}

  /* Formattabelle: Preise und Anfragezeile */
  .gb .gb-tabellenhuelle td.gb-preiszelle{text-align:right;white-space:normal}
  .gb .gb-tabellenhuelle .gb-ab{display:inline;margin-right:4px}
  .gb .gb-tabellenhuelle td.gb-anfrage{text-align:left;font-style:normal}
  .gb .gb-tabellenhuelle a.gb-tabellenknopf{display:block;text-align:center;white-space:normal}

  /* Termintabelle: Buchungsknopf ueber die volle Kartenbreite */
  .gb .gb-terminehuelle tbody td[data-spalte="Buchung"]{display:block;padding:12px 14px}
  .gb .gb-terminehuelle tbody td[data-spalte="Buchung"]::before{content:none}
  .gb .gb-terminehuelle a.gb-buchen{display:block;text-align:center;padding:11px 18px;font-size:14px}
}
/* =======================================================================
   Sprungnavigation: Scrollhinweis und Fortschrittsbalken
   Der Fortschrittsbalken liegt jetzt direkt in .gb-subnav statt in der
   scrollenden .container — sonst wandert er mobil mit den Punkten mit.
   ======================================================================= */
.gb-subnav{overflow:hidden}
.gb-fortschritt{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--blau-hell);opacity:.55;z-index:3;transition:width .1s linear}

/* Weiche Kanten, solange links oder rechts noch Punkte stehen.
   Die Klassen setzt gb.js. */
.gb-subnav::before,.gb-subnav::after{content:"";position:absolute;top:0;bottom:3px;width:34px;z-index:2;pointer-events:none;opacity:0;transition:opacity .18s ease}
.gb-subnav::before{left:0;background:linear-gradient(90deg,#fff 15%,rgba(255,255,255,0))}
.gb-subnav::after{right:0;background:linear-gradient(270deg,#fff 15%,rgba(255,255,255,0))}
.gb-subnav.mehr-links::before{opacity:1}
.gb-subnav.mehr-rechts::after{opacity:1}

/* Eigene Bildlaufleiste ausblenden — die Kanten zeigen es deutlicher an. */
.gb-subnav .container{scrollbar-width:none;-ms-overflow-style:none}
.gb-subnav .container::-webkit-scrollbar{display:none}

@media (max-width:760px){
  /* Etwas mehr Luft am rechten Ende, damit der letzte Punkt nicht unter
     der weichen Kante klebt. */
  .gb-subnav .container{padding-right:38px;scroll-padding-inline:15px}
}
/* ---------- Buchungsbox 2 (Ort -> Termin -> Preis), 1.10.2026 ---------- */
.gb-seitenspalte{background:#eef4fb;border:1px solid #d6e4f3;border-radius:14px;padding:14px}
.gb-buchung h2.gb-buchungstitel{font-size:26px;line-height:1.2;font-weight:700;color:var(--blau);margin:0 0 6px;padding:0;border:0}
.gb-buchung .gb-trennlinie{margin:14px 0 14px}
.gb-buchungsform{margin:0}
.gb-buchung select + label.gb-klein{margin-top:14px}
.gb-buchung select:disabled{background:#f5f7f9;color:var(--grau);cursor:not-allowed}
.gb-preisbereich{margin-top:18px;padding-top:16px;border-top:1px solid var(--linie)}
.gb-preisbereich:not([hidden]){animation:gbAufklappen .25s ease-out}
@keyframes gbAufklappen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.gb-terminpreis #gb-grundpreis{font-size:30px;font-weight:700;color:var(--blau);line-height:1.15}
.gb-terminpreis .gb-mwst{font-size:14px;font-weight:400;color:var(--grau);margin-left:8px}
.gb .gb-inklusive{font-size:13.5px;line-height:1.5;color:#3c4750;margin:8px 0 12px}
.gb-optionen{margin:0 0 4px}
.gb-option{display:block;position:relative;padding:9px 0 9px 28px;border-top:1px solid #edf0f3;font-size:14.5px;line-height:1.4;color:#292929;cursor:pointer}
.gb-option[hidden]{display:none}
.gb-option input{position:absolute;left:0;top:11px;width:17px;height:17px;margin:0;accent-color:var(--blau);cursor:pointer}
.gb-option .gb-optionwert{float:right;margin-left:10px;color:var(--grau);font-size:13.5px;white-space:nowrap}
.gb-summen{margin:8px 0 0;padding:10px 0 0;border-top:1px solid var(--linie);overflow:hidden}
.gb-summen dt,.gb-summen dd{margin:0;padding:3px 0;font-size:14px;line-height:1.4;color:#3c4750;font-weight:400}
.gb-summen dt{float:left;clear:left}
.gb-summen dd{text-align:right}
.gb-summen dt.gb-gesamt,.gb-summen dd.gb-gesamt{font-size:17px;font-weight:700;color:var(--blau);padding-top:8px}
.gb-buchung #gb-jetzt-buchen{margin-top:16px}
.gb button.gb-knopf-warenkorb{display:block;width:100%;margin-top:10px;font-family:inherit;font-size:14.5px;font-weight:600;color:var(--blau);background:#fff;border:1px solid var(--blau);border-radius:var(--radius);padding:11px 16px;cursor:pointer}
.gb button.gb-knopf-warenkorb:hover{background:var(--flaeche)}
.gb a.gb-alletermine{display:block;text-align:center;margin-top:14px;font-size:13.5px;color:var(--grau);text-decoration:underline}
.gb a.gb-alletermine:hover{color:var(--blau)}
.gb .gb-keinetermine{font-size:14.5px;margin:0}
.gb-arbeitgeber{padding:14px 18px}
.gb a.gb-aglink{display:block;font-size:15px;font-weight:700;color:var(--blau);text-decoration:none;line-height:1.35}
.gb a.gb-aglink:hover{text-decoration:underline}
.gb a.gb-aglink svg{display:inline-block;vertical-align:-2px;margin-left:8px}
@media (max-width:991px){
  .gb-seitenspalte{padding:10px}
}
/* Hervorhebung nach Sprung aus der Termintabelle */
.gb-buchung.gb-hervorheben{animation:gbHervorheben 1.6s ease-out}
@keyframes gbHervorheben{0%,35%{box-shadow:0 0 0 3px var(--blau-hell)}100%{box-shadow:0 0 0 3px rgba(0,151,217,0)}}

/* ---------- Abschnitte nach Kundentext (1.1.0) ---------- */
#rolle .gb-zwei{align-items:stretch}
#rolle h2{margin-top:0}
.gb-pdfs{margin-top:26px}
.gb-pdfs h3{font-size:17px;margin:0 0 10px;color:var(--blau)}
.gb-pdfs ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 14px}
.gb-pdfs li{margin:0}
.gb .gb-pdfs a{display:inline-block;padding:9px 14px 9px 12px;border:1px solid var(--linie);border-radius:8px;background:#fff;color:var(--blau);font-size:14.5px;font-weight:600;text-decoration:none;line-height:1.3}
.gb .gb-pdfs a:hover{border-color:var(--blau);background:var(--flaeche)}
.gb-pdfs svg{vertical-align:-3px;margin-right:7px}
.gb-kosten{margin-top:34px}
.gb-kosten h2{margin-top:0}
.gb-kosten ul,.gb-pruefung ul{padding-left:22px}
.gb-kosten li,.gb-pruefung li{margin-bottom:6px;font-size:15.5px;line-height:1.55}
.gb-pruefung{max-width:820px}
.gb-pruefung h2{margin-top:0}

/* ---------- Beratungsformular: Versand (1.3.0) ---------- */
.gb-falle{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.gb-anfragestatus{margin:0 0 16px;padding:12px 14px;border-radius:8px;font-size:14.5px;line-height:1.5}
.gb-anfragestatus.ok{background:#e6f4ec;border:1px solid #c3e2d0;color:#2c6b45}
.gb-anfragestatus.fehler{background:var(--rot-flaeche);border:1px solid #f0cfcf;color:var(--rot)}
.gb-formular button[disabled]{opacity:.6;cursor:wait}
.gb-formular{position:relative}
