/*
Theme Name: SBZ Leipzig – Originaldesign
Theme URI: https://saechsisches-bildungszentrum.de/
Author: SBZ – Custom Integration
Description: Designgetreues WordPress Theme. Eigenständige neue Seiten ohne Überschreiben bestehender Seiten. Alle Texte, Karten, Navigation, Bilder, News und Termine unter Seiten bearbeiten.
Version: 3.0.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: sbz
*/
:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#faf9f5;color:#141413}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}

/* Layout: ruhige, linksbündige Inhaltsspalte (max. 1200px), Sektionen im 8px-Raster,
   pro Bildschirm max. zwei Hintergründe (Seiten-Neutral + ein Markenblock).
   Alle Werte stammen aus dem SBZ Design System (tokens.json). Einzige Theme-Welt: hell (das DS definiert nur "Default"). */
:root{
  color-scheme: light;
  /* ── DS: Farben ── */
  --color-yellow-100:#fef3d6;--color-yellow-300:#fbda85;--color-yellow-500:#f5b400;--color-yellow-600:#d99a00;--color-yellow-700:#a87400;
  --color-blue-100:#dcf0fa;--color-blue-300:#8ed4f0;--color-blue-500:#2aace2;--color-blue-600:#1c8cbd;--color-blue-700:#146a90;
  --color-ink-900:#181818;--color-ink-700:#3a3a3a;
  --color-gray-50:#fafaf8;--color-gray-100:#f2f1ed;--color-gray-200:#e6e4dd;--color-gray-300:#d3d0c6;--color-gray-400:#aba79a;--color-gray-500:#83807a;--color-gray-600:#5f5c56;--color-gray-700:#454340;--color-gray-800:#2c2b29;--color-gray-900:#181717;
  --color-white:#ffffff;
	--color-red:#FF0000;
  --color-error:#d6453d;--color-error-bg:#fbe9e7;--color-success:#3e9b4f;--color-success-bg:#e7f5e9;
  --surface-page:var(--color-gray-50);--surface-card:var(--color-white);--surface-sunken:var(--color-gray-100);--surface-inverse:var(--color-ink-900);
  --text-primary:var(--color-ink-900);--text-secondary:var(--color-gray-600);--text-on-color:var(--color-white);
  --text-link:var(--color-blue-600);--text-link-hover:var(--color-blue-700);
  --border-subtle:var(--color-gray-200);--border-default:var(--color-gray-300);
  --brand-primary:var(--color-blue-500);--brand-primary-hover:var(--color-blue-600);--brand-primary-active:var(--color-blue-700);
  --brand-accent:var(--color-yellow-500);--brand-accent-hover:var(--color-yellow-600);
  --focus-ring:var(--color-blue-500);
  /* ── DS: Typografie ── */
  --font-display:'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;
  --fw-regular:400;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--fw-black:900;
  --text-display-1:clamp(2.75rem,5vw,4.5rem);--text-display-2:clamp(2.25rem,4vw,3.25rem);
  --text-h1:2rem;--text-h2:1.5rem;--text-h3:1.25rem;
  --text-body-lg:1.125rem;--text-body:1rem;--text-body-sm:0.875rem;--text-caption:0.75rem;
  --lh-tight:1.1;--lh-snug:1.3;--lh-normal:1.5;--lh-relaxed:1.65;
  /* ── DS: Abstände, Radien, Schatten, Bewegung ── */
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;
  --radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(24,23,23,0.06);--shadow-md:0 4px 12px rgba(24,23,23,0.08);--shadow-lg:0 12px 32px rgba(24,23,23,0.12);
  --ease-standard:cubic-bezier(.4,0,.2,1);--ease-bounce:cubic-bezier(.34,1.56,.64,1);
  --dur-fast:120ms;--dur-normal:200ms;--dur-slow:340ms;

  /* ── Website-Rollen (nur Zuordnungen von DS-Tokens) ──
     Barrierefreiheit: blue-500 erreicht auf Weiß nur 2,6:1, blue-600 nur 3,8:1.
     Daher Links, Fokus und Text auf Blau mit DS-Stufe blue-700 (6,0:1) bzw. Ink-Text auf blue-500 (6,9:1). */
  --link:var(--brand-primary-active);
  --link-hover:var(--color-ink-900);
  --focus:var(--brand-primary-active);
  --control-border:var(--color-gray-500);
  --gutter:clamp(16px,4vw,48px);
  --section-y:clamp(var(--space-12),7vw,var(--space-20));
  --header-h:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:0s!important;animation-duration:0s!important}}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--lh-relaxed);font-weight:var(--fw-regular);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul[role="list"],.plain{list-style:none;padding:0}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-primary);text-wrap:balance}
a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1.5px;font-weight:var(--fw-bold)}
a:hover{color:var(--link-hover)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:var(--radius-sm)}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--space-4);top:-100px;z-index:100;background:var(--surface-card);color:var(--text-primary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg)}
.skip:focus{top:var(--space-4)}
.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.icon-sm{width:16px;height:16px}

.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section-y)}
.section--sunken{background:var(--surface-sunken)}
.stack{display:flex;flex-direction:column}
.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4) var(--space-8);margin-bottom:var(--space-10)}
.section-head > div{max-width:640px;min-width:0}
.eyebrow{display:block;font-size:var(--text-body-sm);font-weight:var(--fw-extrabold);color:var(--brand-primary-active);margin-bottom:var(--space-2);letter-spacing:.01em}
.h-section{font-size:var(--text-h1);font-weight:var(--fw-black);line-height:var(--lh-snug)}
.h-card{font-size:var(--text-h3);font-weight:var(--fw-extrabold);line-height:var(--lh-snug)}
.lead{font-size:var(--text-body-lg);color:var(--text-secondary);line-height:var(--lh-relaxed);max-width:62ch}
.muted{color:var(--text-secondary)}
.small{font-size:var(--text-body-sm)}
.measure{max-width:65ch}
.prose{display:flex;flex-direction:column;gap:var(--space-4)}

/* ── Buttons (DS Button: Pill, 800, Press-Scale .97) ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:12px 22px;border-radius:var(--radius-pill);border:1px solid transparent;font-family:var(--font-display);font-weight:var(--fw-extrabold);font-size:var(--text-body);line-height:1.2;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}
.btn:active{transform:scale(.97)}
.btn .icon{transition:transform var(--dur-normal) var(--ease-standard)}
.btn:hover .icon-arrow{transform:translateX(3px)}
.btn--accent{background:var(--brand-accent);color:var(--text-primary)}
.btn--accent:hover{background:var(--brand-accent-hover);color:var(--text-primary)}
.btn--primary{background:var(--brand-primary-active);color:var(--text-on-color)}
.btn--primary:hover{background:var(--color-ink-900);color:var(--text-on-color)}
.btn--secondary{background:var(--surface-card);color:var(--text-primary);border-color:var(--border-default)}
.btn--secondary:hover{background:var(--color-blue-100);border-color:var(--color-blue-300);color:var(--text-primary)}
.btn--sm{min-height:44px;padding:8px 18px;font-size:var(--text-body-sm)}
.btn--lg{min-height:52px;padding:15px 28px;font-size:var(--text-body-lg)}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.link-arrow{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--fw-extrabold);text-decoration:none;min-height:44px}
.link-arrow:hover{text-decoration:underline}
.link-arrow .icon{transition:transform var(--dur-normal) var(--ease-standard)}
.link-arrow:hover .icon{transform:translateX(3px)}

/* ── Badge / Tag (DS) ── */
.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-pill);font-size:var(--text-caption);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1.5;background:var(--surface-sunken);color:var(--text-secondary)}
.badge--primary{background:var(--color-blue-100);color:var(--color-blue-700)}
.badge--accent{background:var(--color-yellow-100);color:var(--color-gray-700)}
.tag{display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-primary);font:inherit;font-weight:var(--fw-bold);font-size:var(--text-body-sm);cursor:pointer;text-decoration:none;transition:background-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-bounce)}
.tag:hover{background:var(--color-blue-100);color:var(--text-primary)}
.tag[aria-pressed="true"],.tag[aria-current="true"]{background:var(--color-ink-900);border-color:var(--color-ink-900);color:var(--text-on-color)}
.tag:active{transform:scale(.96)}

/* ── Card (DS: weiß, 1px subtle, shadow-md, radius-lg) ── */
.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);min-width:0}
.card--flat{box-shadow:none}
.card--link{position:relative;transition:box-shadow var(--dur-normal) var(--ease-standard),transform var(--dur-normal) var(--ease-standard)}
.card--link:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.card--link .stretched::after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg)}
.icon-chip{width:48px;height:48px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--color-blue-100);color:var(--color-blue-700)}
.icon-chip .icon{width:24px;height:24px}
.icon-chip--accent{background:var(--color-yellow-100);color:var(--color-gray-800)}
.grid{display:grid;gap:var(--space-6)}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:960px){.grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.grid-3,.grid-2{grid-template-columns:1fr}}

/* ── Header / Navigation ── */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--surface-card);border-bottom:1px solid var(--border-subtle)}
.site-header.scrolled{box-shadow:var(--shadow-sm)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);min-height:var(--header-h)}
.brand{display:flex;align-items:center;flex:none;border-radius:var(--radius-sm)}
.brand img{height:44px;width:auto}
.nav-desktop{display:flex;align-items:center;gap:var(--space-2)}
.nav-desktop ul{display:flex;gap:var(--space-1);list-style:none;margin:0;padding:0}
.nav-link{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--text-primary);font-family:var(--font-display);font-weight:var(--fw-bold);font-size:15px;text-decoration:none;transition:background-color var(--dur-fast) var(--ease-standard)}
.nav-link:hover{background:var(--color-blue-100);color:var(--text-primary)}
.nav-link[aria-current="page"]{color:var(--brand-primary-active);background:var(--color-blue-100)}
.nav-desktop .btn{margin-left:var(--space-3)}
.menu-toggle{display:none;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-primary);font:inherit;font-weight:var(--fw-extrabold);cursor:pointer}
.menu-toggle:hover{background:var(--color-blue-100)}
.menu-toggle .icon-close{display:none}
.menu-toggle[aria-expanded="true"] .icon-close{display:block}
.menu-toggle[aria-expanded="true"] .icon-menu{display:none}
.mobile-nav{border-top:1px solid var(--border-subtle);background:var(--surface-card);max-height:calc(100dvh - var(--header-h));overflow-y:auto}
.mobile-nav .container{padding-block:var(--space-4) var(--space-8);display:flex;flex-direction:column;gap:var(--space-6)}
.mobile-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.mobile-nav li a{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 var(--space-2);border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-h3);font-weight:var(--fw-extrabold);text-decoration:none}
.mobile-nav li a[aria-current="page"]{color:var(--brand-primary-active)}
.mobile-nav .quick{display:grid;gap:var(--space-2);padding:var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-md)}
@media (max-width:1080px){.nav-desktop{display:none}.menu-toggle{display:inline-flex}.brand img{height:38px}:root{--header-h:64px}}

/* ── Hero ── */
.hero{padding-block:clamp(var(--space-10),6vw,var(--space-20)) clamp(var(--space-12),6vw,var(--space-20))}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(var(--space-8),5vw,var(--space-16));align-items:center}
.hero h1{font-size:var(--text-display-1);font-weight:var(--fw-black);line-height:var(--lh-tight);letter-spacing:-.01em;margin-block:var(--space-4) var(--space-6)}
.hero h1 mark{background:var(--color-yellow-300);color:inherit;padding:0 .14em;border-radius:var(--radius-sm);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero .lead{color:var(--color-gray-700);margin-bottom:var(--space-8)}
.facts{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6);margin-top:var(--space-8);padding:0;list-style:none}
.facts li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-body-sm);font-weight:var(--fw-bold);color:var(--color-gray-700)}
.facts .icon{color:var(--brand-primary-active)}
.finder{background:var(--brand-primary);border-radius:var(--radius-lg);padding:var(--space-6);color:var(--text-primary);box-shadow:var(--shadow-lg)}
.finder h2{font-size:var(--text-h2);font-weight:var(--fw-black);margin-bottom:var(--space-1)}
.finder p{font-weight:var(--fw-semibold);margin-bottom:var(--space-4)}
.finder ul{list-style:none;margin:0;padding:0;background:var(--surface-card);border-radius:var(--radius-md);overflow:hidden}
.finder li + li{border-top:1px solid var(--border-subtle)}
.finder a{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);min-height:64px;color:var(--text-primary);text-decoration:none;transition:background-color var(--dur-fast) var(--ease-standard)}
.finder a:hover{background:var(--color-blue-100)}
.finder a:focus-visible{outline-offset:-3px;border-radius:0}
.finder a span{display:flex;flex-direction:column;min-width:0;flex:1;line-height:var(--lh-snug)}
.finder strong{font-family:var(--font-display);font-weight:var(--fw-extrabold);font-size:var(--text-body)}
.finder small{font-size:var(--text-body-sm);color:var(--text-secondary);font-weight:var(--fw-semibold)}
.finder a .icon{color:var(--brand-primary-active);transition:transform var(--dur-normal) var(--ease-standard)}
.finder a:hover .icon{transform:translateX(3px)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero .lead{margin-bottom:var(--space-6)}.facts{margin-top:var(--space-6)}}
@media (max-width:480px){.hero .btn-row .btn{flex:1 1 100%}.finder{padding:var(--space-5) var(--space-4)}}

/* ── Arbeitsbereiche ── */
.area ul{list-style:none;padding:0;margin:var(--space-2) 0 0;display:flex;flex-direction:column;border-top:1px solid var(--border-subtle)}
.area li{border-bottom:1px solid var(--border-subtle)}
.area li a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:48px;color:var(--text-primary);text-decoration:none;font-weight:var(--fw-bold)}
.area li a:hover{color:var(--brand-primary-active)}
.area li a .icon{color:var(--brand-primary-active)}

/* ── News & Termine ── */
.news-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--space-6);align-items:start}
@media (max-width:900px){.news-layout{grid-template-columns:1fr}}
.news-card .meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);padding:0;margin:var(--space-1) 0 0;list-style:none;font-size:var(--text-body-sm);font-weight:var(--fw-bold);color:var(--color-gray-700)}
.news-card .meta li{display:flex;align-items:center;gap:6px}
.news-card .meta .icon{width:16px;height:16px;color:var(--brand-primary-active)}
.news-card p{color:var(--text-secondary)}
.news-list{display:grid;gap:var(--space-4)}
.dates{padding:0}
.dates h3{padding:var(--space-6) var(--space-6) var(--space-2)}
.dates ul{list-style:none;margin:0;padding:0 var(--space-6) var(--space-2)}
.dates li{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-4);padding-block:var(--space-4);border-top:1px solid var(--border-subtle)}
.dates li:first-child{border-top:0}
.when{grid-row:span 2;min-width:92px;font-size:var(--text-body-sm);font-weight:var(--fw-extrabold);color:var(--brand-primary-active);line-height:var(--lh-snug);font-variant-numeric:tabular-nums}
.dates strong{font-family:var(--font-display);font-weight:var(--fw-extrabold);line-height:var(--lh-snug)}
.dates span.where{font-size:var(--text-body-sm);color:var(--text-secondary);line-height:var(--lh-normal)}
.dates .card-foot{padding:var(--space-4) var(--space-6) var(--space-5);border-top:1px solid var(--border-subtle)}

/* ── Über uns (Start) ── */
.about-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start}
@media (max-width:900px){.about-grid{grid-template-columns:1fr}}
.loc-list{display:grid;gap:var(--space-4)}
.loc{display:flex;gap:var(--space-4);align-items:flex-start}
.loc address{font-style:normal;color:var(--text-secondary)}
.loc strong{display:block;font-family:var(--font-display);font-weight:var(--fw-extrabold);color:var(--text-primary)}
.partners{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0;list-style:none}
.partners li{padding:6px 14px;border-radius:var(--radius-pill);background:var(--surface-sunken);font-weight:var(--fw-bold);font-size:var(--text-body-sm);color:var(--color-gray-700)}

/* ── Kontakt-Band (Markenblock) ── */
.cta-band{background:var(--brand-primary);border-radius:var(--radius-lg);padding:clamp(var(--space-8),5vw,var(--space-12));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-8);align-items:center;color:var(--text-primary)}
.cta-band h2{font-size:var(--text-h1);font-weight:var(--fw-black);line-height:var(--lh-snug)}
.cta-band p{font-weight:var(--fw-semibold);margin-top:var(--space-2)}
.contact-lines{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6);margin-top:var(--space-6);padding:0;list-style:none}
.contact-lines li{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--fw-extrabold)}
.contact-lines a{color:var(--text-primary)}
@media (max-width:760px){.cta-band{grid-template-columns:1fr}.cta-band .btn{width:100%}}

/* ── Seitenkopf (Unterseiten) ── */
.page-head{padding-block:clamp(var(--space-10),5vw,var(--space-16)) clamp(var(--space-8),4vw,var(--space-12));border-bottom:1px solid var(--border-subtle);background:var(--surface-card)}
.crumbs{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0;margin:0 0 var(--space-4);list-style:none;font-size:var(--text-body-sm);color:var(--text-secondary)}
.crumbs li+li::before{content:"/";margin-right:var(--space-2);color:var(--color-gray-400)}
.crumbs a{font-weight:var(--fw-bold)}
.page-head h1{font-size:var(--text-display-2);font-weight:var(--fw-black);line-height:var(--lh-tight);margin-bottom:var(--space-4)}

/* ── Angebote ── */
.subnav{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--header-h));z-index:30;background:var(--surface-page);border-bottom:1px solid var(--border-subtle)}
.subnav ul{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-3) 0;margin:0;list-style:none;scrollbar-width:none}
.subnav ul::-webkit-scrollbar{display:none}
.subnav li{flex:none}
.offer{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start;scroll-margin-top:calc(var(--header-h) + 80px)}
.offer + .offer{border-top:1px solid var(--border-subtle);padding-top:var(--section-y);margin-top:var(--section-y)}
@media (max-width:900px){.offer{grid-template-columns:1fr}}
.offer h2{font-size:var(--text-h1);font-weight:var(--fw-black);line-height:var(--lh-snug)}
.offer h3{font-size:var(--text-h3);font-weight:var(--fw-extrabold);margin-top:var(--space-4)}
.checks{list-style:none;padding:0;display:grid;gap:var(--space-2)}
.checks li{display:flex;gap:var(--space-3);align-items:flex-start}
.checks .icon{margin-top:4px;color:var(--brand-primary-active)}
.glance{position:sticky;top:calc(var(--header-h) + 88px)}
.glance h3{font-size:var(--text-body);font-weight:var(--fw-extrabold);margin:0}
.glance dl{display:grid;gap:0}
.glance dl > div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:var(--space-3);padding-block:var(--space-3);border-top:1px solid var(--border-subtle)}
.glance dt{font-size:var(--text-body-sm);color:var(--text-secondary);font-weight:var(--fw-bold)}
.glance dd{font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}
@media (max-width:900px){.glance{position:static}}
.chip-list{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0;list-style:none}
.chip-list li{padding:8px 14px;border-radius:var(--radius-sm);background:var(--surface-card);border:1px solid var(--border-subtle);font-weight:var(--fw-bold);font-size:var(--text-body-sm)}
.note{display:flex;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-yellow-100);color:var(--color-gray-800);font-size:var(--text-body-sm)}
.note .icon{color:var(--color-gray-800);margin-top:2px}

/* ── Footer ── */
.site-footer{background:var(--surface-inverse);color:var(--color-gray-300);padding-block:var(--space-16) var(--space-8);margin-top:var(--section-y)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-10)}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr;gap:var(--space-8)}}
.site-footer img{height:44px;width:auto;margin-bottom:var(--space-4)}
.site-footer h2{font-size:var(--text-body);font-weight:var(--fw-extrabold);color:var(--color-white);margin-bottom:var(--space-3)}
.site-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.site-footer a{color:var(--color-white);font-weight:var(--fw-semibold);text-decoration:none;display:inline-flex;align-items:center;min-height:40px}
.site-footer a:hover{text-decoration:underline;color:var(--color-yellow-300)}
.site-footer :focus-visible{outline-color:var(--color-yellow-500)}
.site-footer address{font-style:normal;line-height:var(--lh-relaxed)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-gray-700);font-size:var(--text-body-sm)}
.footer-bottom ul{flex-direction:row;flex-wrap:wrap;gap:var(--space-2) var(--space-6)}

/* ── Formular ── */
.form{display:grid;gap:var(--space-5)}
.field{display:flex;flex-direction:column;gap:6px}
.field label,.legend{font-weight:var(--fw-bold);font-size:var(--text-body-sm);color:var(--text-primary)}
.field .hint{font-size:var(--text-body-sm);color:var(--text-secondary)}
.req{color:var(--text-secondary);font-weight:var(--fw-semibold)}
.input{width:100%;min-height:48px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--control-border);background:var(--surface-card);color:var(--text-primary);font:inherit;font-size:var(--text-body);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}
textarea.input{min-height:140px;resize:vertical;line-height:var(--lh-normal)}
select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23181818' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:44px}
.input:hover{border-color:var(--color-gray-700)}
.input:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px var(--color-blue-300)}
.input[aria-invalid="true"]{border:2px solid var(--color-error);background:var(--color-error-bg)}
.error{display:flex;gap:6px;align-items:flex-start;font-size:var(--text-body-sm);font-weight:var(--fw-bold);color:var(--text-primary)}
.error .icon{color:var(--color-error);margin-top:2px;width:18px;height:18px}
.check{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--text-body-sm)}
.check input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--brand-primary-active);flex:none}
.error-summary{border:2px solid var(--color-error);background:var(--color-error-bg);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5)}
.error-summary h3{font-size:var(--text-body);font-weight:var(--fw-extrabold);margin-bottom:var(--space-2)}
.error-summary ul{margin:0;padding-left:var(--space-5)}
.success{border-radius:var(--radius-md);background:var(--color-success-bg);border:1px solid var(--color-success);padding:var(--space-5)}
.success h3{font-size:var(--text-h3);font-weight:var(--fw-extrabold);margin-bottom:var(--space-2)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
@media (max-width:560px){.two-col{grid-template-columns:1fr}}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--space-8);align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.copy-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}
.copy-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 12px;border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-primary);font:inherit;font-size:var(--text-body-sm);font-weight:var(--fw-bold);cursor:pointer}
.copy-btn:hover{background:var(--color-blue-100)}
.contact-card dl{display:grid;gap:var(--space-2)}
.contact-card dl > div{display:flex;gap:var(--space-3);align-items:flex-start}
.contact-card dt .icon{color:var(--brand-primary-active);margin-top:3px}
.contact-card dd{min-width:0;overflow-wrap:anywhere}
.iban{font-variant-numeric:tabular-nums;letter-spacing:.03em;font-weight:var(--fw-extrabold);font-size:var(--text-h3);font-family:var(--font-display)}

/* ── Toast (DS) ── */
.toast{position:fixed;left:50%;bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--color-ink-900);color:var(--color-white);padding:12px 20px;border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);font-weight:var(--fw-bold);font-size:var(--text-body-sm);display:flex;gap:var(--space-2);align-items:center;z-index:90;transition:opacity var(--dur-normal) var(--ease-standard),transform var(--dur-normal) var(--ease-bounce);max-width:calc(100% - 32px)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast .icon{color:var(--color-yellow-500)}

[id]{scroll-margin-top:calc(var(--header-h) + 24px)}
.page{animation:fade var(--dur-slow) var(--ease-standard)}
@keyframes fade{from{opacity:.4}to{opacity:1}}

/* WordPress Zusatzformatierung */
.custom-logo-link{display:inline-flex;align-items:center}
.site-header .custom-logo{height:44px;width:auto}
@media(max-width:1080px){.site-header .custom-logo{height:38px}}
.sbz-editable-page .entry-content{min-height:30vh}
.sbz-editor-note{color:#5f5c56;font-size:14px}
.sbz-news-image{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px}
.sbz-form-msg{margin:0 0 22px}
.sbz-honeypot{position:absolute;left:-10000px;opacity:0;height:0;overflow:hidden}




/* Bildungsangebote – Mobile Dropdown */

@media (max-width: 1080px) {

  .mobile-nav li.sbz-mobile-dropdown > ul[hidden] {
    display: none !important;
  }

  .mobile-nav li.sbz-mobile-dropdown > ul:not([hidden]) {
    display: flex;
    flex-direction: column;
    padding-left: 18px;
  }

  .mobile-nav .sbz-dropdown-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 56px;
    padding: 0 8px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-primary);
    font-family: var(--font-display);
    font-size: var(--text-h3);
    font-weight: var(--fw-extrabold);
    text-align: left;
    cursor: pointer;
  }

  .mobile-nav .sbz-dropdown-trigger .icon {
    transform: rotate(90deg);
    transition: transform 0.2s ease;
  }

  .mobile-nav .sbz-dropdown-trigger[aria-expanded="true"] .icon {
    transform: rotate(-90deg);
  }

  .mobile-nav li.sbz-mobile-dropdown > ul a {
    min-height: 48px;
    padding-left: 12px;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-secondary);
  }

}



/* SBZ – Mobile Kursübersicht */

#sbz-course-nav .sbz-course-trigger {
  display: none;
}

@media (max-width: 1080px) {

  #sbz-course-nav {
    position: relative;
    top: auto;
    width: 100%;
  }

  #sbz-course-nav .sbz-course-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 52px;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid var(--border-default);
    border-radius: 12px;
    color: var(--text-primary);
    font: inherit;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
  }

  #sbz-course-nav .sbz-course-trigger::after {
    content: "⌄";
    font-size: 22px;
    margin-left: 12px;
  }

  #sbz-course-nav .sbz-course-trigger[aria-expanded="true"]::after {
    content: "⌃";
  }

  /* Gizli kurs listeleri */
  #sbz-course-nav.sbz-course-ready ul {
    display: none;
  }

  /* Açık kurs listeleri */
  #sbz-course-nav.sbz-course-ready.is-open ul {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0;
    width: 100%;
    padding: 0 12px;
    margin: 0;
    overflow: visible;
  }

  #sbz-course-nav ul li {
    width: 100%;
    flex: none;
    list-style: none;
  }

  #sbz-course-nav ul li a {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: 12px 8px;
    margin: 0;
    border: none;
    border-bottom: 1px solid var(--border-subtle);
    border-radius: 0;
    background: transparent;
    color: var(--text-primary);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    white-space: normal;
    text-decoration: none;
  }

  #sbz-course-nav ul li a:hover {
    color: var(--brand-primary-active);
    background: var(--color-blue-100);
  }
}

