:root{--rot:#c8102e;--rot-d:#a00d24;--tint:#fdf0f2;--tint-b:#f6c9d1;--tx:#1f2733;--mut:#5b6472;--bg:#f5f6f8;--line:#e4e7ec}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.62;color:var(--tx);background:var(--bg)}
.tk-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
a{color:var(--rot)}a:hover{color:var(--rot-d)}
/* Header */
.tk-header{background:#fff;border-bottom:3px solid var(--rot);position:sticky;top:0;z-index:20}
.tk-header-in{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.tk-logo img{display:block;height:44px;width:auto}
.tk-nav{display:flex;gap:20px;flex-wrap:wrap}
.tk-nav a{color:var(--tx);text-decoration:none;font-weight:600;font-size:15px}
.tk-nav a:hover{color:var(--rot)}
/* Layout */
.tk-main{display:grid;grid-template-columns:1fr 300px;gap:38px;padding-top:28px;padding-bottom:50px;align-items:start}
.tk-content{background:#fff;padding:30px 34px;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.tk-sidebar{position:sticky;top:80px;display:flex;flex-direction:column;gap:18px}
.tk-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}
.tk-box h3{margin:0 0 10px;font-size:15px;color:var(--rot-d)}
.tk-box-cta{background:var(--tint);border-color:var(--tint-b)}
.tk-list{list-style:none;padding:0;margin:0}.tk-list li{padding:5px 0;border-bottom:1px solid var(--line)}.tk-list li:last-child{border:0}
.tk-kpi{list-style:none;padding:0;margin:0}.tk-kpi li{padding:7px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--mut)}.tk-kpi b{display:block;font-size:22px;color:var(--rot);line-height:1.1}
/* Content */
.tk-brot{font-size:13px;color:var(--mut);margin-bottom:12px}.tk-brot a{color:var(--mut)}
h1{font-size:27px;line-height:1.24;margin:.1em 0 .2em;color:var(--tx)}
h2{font-size:21px;margin:1.7em 0 .5em;padding-left:12px;border-left:4px solid var(--rot);color:#111}
h3{font-size:16px;margin:1.2em 0 .3em;color:#333}
.tk-byline{font-size:13px;color:var(--mut);border-bottom:1px solid var(--line);padding-bottom:12px;margin-top:0}
.tk-intro{font-size:17px}
.tk-kennzahlen{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0}
.tk-kz{flex:1;min-width:150px;background:var(--tint);border:1px solid var(--tint-b);border-radius:10px;padding:15px}
.tk-kz .tk-wert{display:block;font-size:26px;font-weight:700;color:var(--rot)}.tk-kz .tk-lbl{font-size:12.5px;color:var(--mut)}.tk-kz em{color:#9aa0a8;font-style:normal;font-size:11.5px}
.tk-kz-link{text-decoration:none;color:inherit;cursor:pointer;transition:box-shadow .15s,transform .15s,border-color .15s}
.tk-kz-link:hover{box-shadow:0 3px 12px rgba(200,16,46,.18);transform:translateY(-1px);border-color:var(--rot)}
.tk-kz-go{display:inline-block;margin-top:3px;color:var(--rot);font-weight:600;white-space:nowrap}
.tk-amt{background:#fafbfc;border:1px solid var(--line);border-radius:8px;padding:12px 15px;margin:10px 0}
.tk-amt p{margin:4px 0}.tk-amt-adr{font-size:15px}
.tk-oeff.tk-muted,.tk-muted{color:var(--mut)}
.tk-umkreis{list-style:none;padding:0}.tk-umkreis li{padding:8px 12px;background:#fafbfc;border:1px solid var(--line);border-radius:8px;margin:6px 0}
.tk-faq details{border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:8px 0;background:#fafbfc}
.tk-faq summary{font-weight:600;cursor:pointer}
.tk-quelle,.tk-quellen{color:#9aa0a8}
.tk-quelle{margin-top:28px;border-top:1px solid var(--line);padding-top:12px}
/* Footer */
.tk-footer{background:#1f2733;color:#c7ccd4;padding:26px 0;font-size:13.5px}
.tk-footer p{margin:6px 0}.tk-footer strong{color:#fff}
.tk-footer-nav{margin-top:8px}.tk-footer-nav a{color:#f2b8c1}
/* Mobil */
@media(max-width:860px){.tk-main{grid-template-columns:1fr}.tk-sidebar{position:static}.tk-content{padding:22px 18px}}
/* Öffnungszeiten-Tabelle */
.tk-oeff{margin:8px 0}
.tk-oeff-lbl{display:block;font-size:12.5px;color:var(--mut);font-weight:600;margin-bottom:3px;text-transform:uppercase;letter-spacing:.02em}
.tk-oeff-tab{border-collapse:collapse;font-size:14px;line-height:1.5}
.tk-oeff-tab th{text-align:left;font-weight:700;color:var(--tx);padding:1px 16px 1px 0;width:34px;vertical-align:top}
.tk-oeff-tab td{padding:1px 0}
.tk-oeff-tab tr.tk-we th,.tk-oeff-tab tr.tk-we td{color:var(--mut);font-weight:400}
.tk-oeff-tab .tk-zu{color:#a3a9b3}
.tk-oeff-hinweis{margin:2px 0;color:var(--mut)}
/* Amts-Karten nebeneinander */
.tk-amt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px;margin:12px 0}
.tk-amt-typ{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--rot);letter-spacing:.03em;margin-bottom:5px}
.tk-amt-tel{margin:6px 0}
/* Shortcode-Elemente */
.tk-sc-titel{font-weight:700;margin-bottom:6px;color:var(--rot-d)}
.tk-sc-box{background:var(--tint);border-left:4px solid var(--rot);border-radius:0 8px 8px 0;padding:14px 18px;margin:16px 0}
.tk-sc-service{background:#fafbfc;border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin:14px 0}
.tk-sc-note{background:#fffdf0;border:1px solid #efe4b0;border-radius:8px;padding:12px 16px;margin:14px 0}
.tk-spoiler{border:1px solid var(--line);border-radius:8px;margin:8px 0;background:#fafbfc}
.tk-spoiler summary{font-weight:600;cursor:pointer;padding:10px 14px}
.tk-spoiler-in{padding:0 14px 12px}
/* Sprungziele nicht unter die klebende Nav rutschen (Nav wird <820px zweizeilig -> höher) */
[id]{scroll-margin-top:90px}
@media(max-width:820px){[id]{scroll-margin-top:140px}}
/* Inhaltsverzeichnis: klar als Linkliste abgesetzt (nicht so eng/heading-artig) */
.tk-toc .tk-spoiler-in ul,.tk-toc .tk-spoiler-in ol{list-style:none;padding-left:0;margin:2px 0}
.tk-toc .tk-spoiler-in li{margin:0;padding:9px 2px;border-bottom:1px solid var(--line);line-height:1.35}
.tk-toc .tk-spoiler-in li:last-child{border-bottom:0}
.tk-toc .tk-spoiler-in li a{font-weight:500;text-decoration:none;color:var(--rot-d)}
.tk-toc .tk-spoiler-in li a:hover{text-decoration:underline}
.tk-sc-hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.tk-sc-spacer{height:16px}
.tk-sc-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:14px 0}
.tk-liste{margin:10px 0;padding-left:22px}.tk-liste li{margin:4px 0}
/* === Navigation (Menü/Dropdown/Sidebar/Footer) === */
.tk-nav-top{list-style:none;display:flex;gap:2px;margin:0;padding:0}
.tk-nav-top>li{position:relative}
.tk-nav-top>li>a{display:block;padding:10px 13px;color:var(--tx);text-decoration:none;font-weight:600;font-size:15px;border-radius:6px}
.tk-nav-top>li>a:hover{color:var(--rot);background:var(--tint)}
.tk-dropdown{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.13);min-width:290px;max-height:70vh;overflow-y:auto;padding:8px;display:none;z-index:30}
.tk-has-sub:hover .tk-dropdown{display:block}
.tk-dropdown ul{list-style:none;margin:0;padding:0}
.tk-dropdown li a{display:block;padding:6px 12px;color:var(--tx);text-decoration:none;font-size:14px;border-radius:5px}
.tk-dropdown li a:hover{background:var(--tint);color:var(--rot)}
.tk-dropdown .tk-more a{font-weight:700;color:var(--rot)}
.tk-box-menue h3{text-transform:capitalize}
.tk-sidemenue{max-height:440px;overflow-y:auto}.tk-sidemenue li a{font-size:14px}
.tk-footer-cols{display:grid;grid-template-columns:2fr 1fr;gap:30px;margin-bottom:16px}
.tk-footer-cols h4{color:#fff;font-size:15px;margin:0 0 10px}
.tk-footer-cols ul{list-style:none;margin:0;padding:0}.tk-footer-cols li{padding:3px 0}
.tk-footer-cols a{color:#c7ccd4;text-decoration:none;font-size:14px}.tk-footer-cols a:hover{color:#fff}
.tk-footer-bl{columns:2;column-gap:20px}
.tk-footer-note{margin:14px 0 6px;border-top:1px solid #3a434f;padding-top:14px}
.tk-burger-cb,.tk-burger{display:none}
@media(max-width:860px){
  .tk-burger{display:block;cursor:pointer;font-weight:600;padding:8px 12px;border:1px solid var(--line);border-radius:6px}
  .tk-nav{display:none;width:100%;order:3}.tk-burger-cb:checked~.tk-nav{display:block}
  .tk-nav-top{flex-direction:column}
  .tk-dropdown{position:static;display:block;box-shadow:none;border:0;max-height:none;padding:0 0 0 16px}
  .tk-footer-cols{grid-template-columns:1fr}.tk-footer-bl{columns:1}
}

/* Bundesland-Übersicht: Städte- und Kreis-Listen */
.tk-bl-staedte{list-style:none;padding:0;margin:14px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 20px}
.tk-bl-staedte li{padding:5px 0;border-bottom:1px solid var(--line)}
.tk-bl-staedte a{font-weight:600}
.tk-bl-staedte span{color:var(--mut);font-size:12px;font-weight:400}
.tk-bl-kreise{list-style:none;padding:0;margin:14px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2px 20px}
.tk-bl-kreise li{padding:3px 0;font-size:14px}
.tk-bl-kreise span{color:var(--mut);font-size:12px}

/* Fakten-Kacheln + Ablauf-Schritte (Content-Seiten, wiederverwendbar) */
.aa-fakten{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:4px 0 30px}
.aa-kachel{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:15px 16px 14px;display:flex;flex-direction:column;gap:5px}
.aa-kachel .aa-ico{width:34px;height:34px;border-radius:8px;background:var(--tint);color:var(--rot);display:flex;align-items:center;justify-content:center;margin-bottom:3px}
.aa-kachel .aa-ico svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.aa-kachel .aa-val{font-size:18px;font-weight:800;color:var(--tx);line-height:1.2}
.aa-kachel .aa-lbl{font-size:12px;color:var(--rot);text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.aa-kachel .aa-sub{font-size:12.5px;color:var(--mut);line-height:1.45}
.aa-schritte{list-style:none;counter-reset:s;padding:0;margin:10px 0 24px;display:grid;gap:12px}
.aa-schritt{counter-increment:s;position:relative;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px 16px 14px 60px}
.aa-schritt::before{content:counter(s);position:absolute;left:14px;top:13px;width:32px;height:32px;border-radius:50%;background:var(--rot);color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center}
.aa-schritt b{display:block;font-size:15px;margin-bottom:2px;color:var(--tx)}
.aa-schritt span{font-size:13.5px;color:var(--mut)}
@media(min-width:560px){.aa-schritte{grid-template-columns:1fr 1fr}}

/* === Startseite / Landingpage === */
.tk-main.tk-voll{grid-template-columns:1fr}
.tk-voll .tk-content{padding:0;background:transparent;box-shadow:none}
.aa-hero{background:linear-gradient(135deg,var(--tint),#fff 70%);border:1px solid var(--tint-b);border-radius:14px;padding:40px 38px 34px}
.aa-hero h1{margin:0 0 12px;font-size:30px;line-height:1.2}
.aa-hero p{font-size:18px;color:#374151;max-width:760px;margin:0 0 22px}
.aa-hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.aa-btn{display:inline-block;padding:12px 22px;border-radius:8px;font-weight:700;text-decoration:none;font-size:15px}
.aa-btn-rot{background:var(--rot);color:#fff}.aa-btn-rot:hover{background:var(--rot-d);color:#fff}
.aa-btn-weiss{background:#fff;color:var(--rot);border:1px solid var(--tint-b)}.aa-btn-weiss:hover{background:var(--tint)}
.aa-sekt{margin:38px 0 0}
.aa-sekt h2{font-size:22px;margin:0 0 4px}
.aa-sekt .aa-lead{color:var(--mut);margin:0 0 18px}
.aa-themen{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.aa-thema{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 20px;text-decoration:none;color:var(--tx);transition:border-color .15s,box-shadow .15s}
.aa-thema:hover{border-color:var(--tint-b);box-shadow:0 4px 14px rgba(200,16,46,.08);color:var(--tx)}
.aa-thema .aa-ic{width:44px;height:44px;border-radius:10px;background:var(--tint);color:var(--rot);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.aa-thema .aa-ic svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7}
.aa-thema h3{margin:0 0 6px;font-size:18px;color:var(--rot)}
.aa-thema p{margin:0;font-size:14px;color:var(--mut);line-height:1.55}
.aa-pop{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 20px}
.aa-pop li{padding:8px 0;border-bottom:1px solid var(--line)}
.aa-pop a{font-weight:600}
.aa-pop a::before{content:"›";color:var(--rot);margin-right:8px;font-weight:700}
.aa-staedte{display:flex;flex-wrap:wrap;gap:9px}
.aa-staedte a{display:inline-block;padding:8px 15px;background:var(--bg);border:1px solid var(--line);border-radius:20px;text-decoration:none;color:var(--tx);font-size:14px;font-weight:600}
.aa-staedte a:hover{background:var(--tint);border-color:var(--tint-b);color:var(--rot)}
.aa-staedte .aa-alle{background:var(--rot);color:#fff;border-color:var(--rot)}.aa-staedte .aa-alle:hover{background:var(--rot-d);color:#fff}
.aa-trust{margin:40px 0 0;padding:20px 22px;background:var(--bg);border-radius:12px;font-size:14px;color:var(--mut);line-height:1.6}
@media(max-width:600px){.aa-hero{padding:28px 22px}.aa-hero h1{font-size:24px}}

/* Hub-Seiten: A-Z-Verzeichnis der Unterseiten (mehrspaltig, kompakt) */
.aa-az{list-style:none;padding:0;margin:14px 0 8px;columns:4 175px;column-gap:26px}
.aa-az li{padding:4px 0;break-inside:avoid;border-bottom:1px solid var(--line)}
.aa-az a{font-weight:600;font-size:14px}
.aa-az a::before{content:"›";color:var(--rot);margin-right:7px;font-weight:700}
.aa-az-themen{columns:3 235px}
@media(max-width:600px){.aa-az{columns:2 140px}.aa-az-themen{columns:1}}

/* Hub-Hero-Bild */
.aa-hero-img{margin:0 0 22px;border-radius:10px;overflow:hidden;line-height:0}
.aa-hero-img img{width:100%;height:auto;display:block}

/* Startseite: aufgewerteter Inhalt */
.aa-statband{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap;margin:22px 0 0;padding:16px 22px;background:var(--tint);border:1px solid var(--tint-b);border-radius:10px}
.aa-statband .aa-statnum{font-size:26px;font-weight:800;color:var(--rot);line-height:1}
.aa-statband .aa-statlbl{font-size:14px;color:#374151}
.aa-statband .aa-statq{font-size:12px;color:var(--mut);margin-left:auto}
.aa-prose{max-width:800px;color:#333a45;line-height:1.72}
.aa-prose p{margin:0 0 12px}
.aa-vergleich{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 0}
.aa-vk{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px}
.aa-vk h3{margin:0 0 4px;color:var(--rot);font-size:17px}
.aa-vk .aa-vk-sub{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.03em;font-weight:700;margin-bottom:8px}
.aa-vk ul{margin:0;padding-left:18px;font-size:14px;color:#374151;line-height:1.6}
.aa-leist{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:2px 26px;list-style:none;padding:0;margin:16px 0 0}
.aa-leist li{padding:13px 0;border-top:2px solid var(--tint-b)}
.aa-leist b{display:block;color:var(--tx);font-size:15px;margin-bottom:3px}
.aa-leist span{font-size:14px;color:var(--mut);line-height:1.55}
.aa-faq{margin:16px 0 0}
@media(max-width:600px){.aa-vergleich{grid-template-columns:1fr}}

/* Affiliate-Fernschul-Vergleichstabelle */
.aa-info-auto{margin-top:30px}
.aa-fernschul-wrap{overflow-x:auto;margin:14px 0}
.aa-fernschul{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.aa-fernschul th{text-align:center;padding:10px 12px;border-bottom:2px solid var(--line);font-size:13px;color:var(--tx)}
.aa-fernschul td{text-align:center;padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}
.aa-fernschul .aa-fs-name{font-weight:700;color:var(--tx)}
.aa-fernschul img{max-height:46px;width:auto;display:inline-block}
.aa-fernschul .aa-fs-stars{max-height:20px}
.aa-fs-check{color:#39a935;font-size:20px;font-weight:700}
.aa-fs-btn{display:inline-block;background:#eb6c1d;color:#fff;padding:9px 14px;border-radius:6px;font-weight:700;font-size:13px;text-decoration:none;line-height:1.2}
.aa-fs-btn:hover{background:#d55f13;color:#fff}

/* Anbieter-Karten-Block (Fernschul-Affiliate, Design wie abitur-abi.de, in Marken-Rot) */
.anbieter-block{margin:30px 0 0}
.anbieter-ad-label{display:block;font-size:10px;color:#8a7715;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;margin:0 0 4px}
.anbieter-block h3{margin:0 0 6px;font-size:20px}
.anbieter-intro{font-size:15px;color:var(--mut);margin:6px 0 22px;max-width:720px;line-height:1.6}
.anbieter-disclosure{font-size:12px;color:var(--mut);line-height:1.5;margin:18px 0 0;max-width:760px}
.anbieter-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:20px;margin:0;align-items:stretch}
.anbieter-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px 22px 24px;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 4px 16px rgba(0,0,0,.04)}
.anbieter-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.08);border-color:var(--tint-b)}
.anbieter-card--featured{border-color:var(--rot);box-shadow:0 12px 30px rgba(200,16,46,.14);background:linear-gradient(180deg,var(--tint) 0%,#fff 40%)}
.anbieter-card--featured:hover{border-color:var(--rot-d);box-shadow:0 20px 44px rgba(200,16,46,.2)}
.anbieter-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--rot);color:#fff;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;font-weight:700;padding:6px 14px;border-radius:99px;box-shadow:0 6px 14px rgba(200,16,46,.35);white-space:nowrap}
.anbieter-logo{display:flex;align-items:center;justify-content:center;height:74px;margin:6px 0 14px}
.anbieter-logo img{width:140px;height:auto;max-height:64px;object-fit:contain;display:block}
.anbieter-name{font-size:18px;font-weight:800;margin:0 0 12px;line-height:1.25;color:var(--tx)}
.anbieter-name span{display:block;font-size:13px;font-weight:500;color:var(--mut);margin-top:2px;text-transform:none}
.anbieter-trust{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 16px;padding:11px 12px;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);width:100%;font-size:13px;font-weight:600;color:var(--tx);line-height:1.3}
.anbieter-trust-ico{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--rot);color:#fff;font-size:11px;font-weight:700;flex-shrink:0}
.anbieter-features{list-style:none;padding:0;margin:0 0 20px;width:100%;text-align:left}
.anbieter-features li{position:relative;padding:6px 0 6px 26px;font-size:14px;color:var(--tx);line-height:1.4}
.anbieter-features li::before{content:"";position:absolute;left:2px;top:11px;width:13px;height:7px;border-left:2.5px solid var(--rot);border-bottom:2.5px solid var(--rot);transform:rotate(-45deg)}
.anbieter-cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--rot);color:#fff;padding:13px 24px;border-radius:99px;font-weight:700;font-size:15px;text-decoration:none;line-height:1;width:100%;box-shadow:0 6px 16px rgba(200,16,46,.28);transition:background .15s,transform .15s,box-shadow .15s}
.anbieter-cta::after{content:"›";font-size:18px;font-weight:700;transition:transform .15s}
.anbieter-cta:hover{background:var(--rot-d);color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px rgba(200,16,46,.38)}
.anbieter-cta:hover::after{transform:translateX(3px)}
.anbieter-card--featured .anbieter-cta{background:var(--rot-d)}
.anbieter-card--featured .anbieter-cta:hover{background:#7d0a1c}
.anbieter-meta{margin:10px 0 0;font-size:12px;color:var(--mut)}
@media(max-width:560px){.anbieter-cards{grid-template-columns:1fr;max-width:400px;margin:0 auto}}

/* Startseite: Hero mit Bild + Sektions-Bild */
.aa-hero--split{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center}
.aa-hero-fig{margin:0;border-radius:12px;overflow:hidden;line-height:0;box-shadow:0 6px 20px rgba(0,0,0,.08)}
.aa-hero-fig img{width:100%;height:auto;display:block}
.aa-sekt-img{margin:18px 0 4px;border-radius:12px;overflow:hidden;line-height:0}
.aa-sekt-img img{width:100%;height:auto;display:block;max-height:340px;object-fit:cover}
/* Stadtseiten: Header-Streifen (kompakt) + Illustrations-Grafiken mit Bildunterschrift */
.aa-stadt-hero{margin:2px 0 20px;border-radius:10px;overflow:hidden;line-height:0}
.aa-stadt-hero img{width:100%;height:auto;display:block;max-height:280px;object-fit:cover;object-position:center 34%}
.aa-grafik{margin:20px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;line-height:0}
.aa-grafik img{width:100%;height:auto;display:block}
.aa-grafik figcaption{line-height:1.4;font-size:13px;color:var(--mut);padding:9px 14px;background:var(--bg);border-top:1px solid var(--line)}
/* Ämter-Karte (Leaflet/OSM, Klick-zum-Laden). z-index:0 kapselt Leaflet-Panes unter die klebende Nav. */
.aa-karte{position:relative;z-index:0;margin:20px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.aa-karte-ph{padding:28px 20px;text-align:center;background:var(--bg)}
.aa-karte-tit{margin:0 0 12px;font-weight:600}
.aa-karte-load{background:var(--rot);color:#fff;border:0;border-radius:24px;padding:11px 24px;font-weight:700;font-size:15px;cursor:pointer}
.aa-karte-load:hover{background:var(--rot-d)}
.aa-karte-hint{display:block;margin-top:10px;font-size:12px;color:var(--mut)}
.aa-karte-map{height:360px;width:100%}
.aa-karte figcaption{line-height:1.5;font-size:12px;color:var(--mut);padding:9px 14px;background:var(--bg);border-top:1px solid var(--line)}
.aa-pin span{display:block;width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.45)}
.aa-mpin{cursor:pointer;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
.aa-mpin svg{display:block}
.aa-bubble{background:rgba(200,16,46,.82);color:#fff;border:2px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 1px 5px rgba(0,0,0,.35);cursor:pointer}
.aa-bubble span{font-size:12px;line-height:1}
.aa-leg{display:inline-block;padding-left:17px;position:relative;margin-right:12px}
.aa-leg::before{content:"";position:absolute;left:0;top:50%;width:11px;height:11px;margin-top:-6px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.aa-leg-a::before{background:#c8102e}
.aa-leg-j::before{background:#2b5c8a}
.aa-leg-b::before{background:rgba(200,16,46,.82)}
/* AdSense-Anzeigenblöcke (manuell) - mit Pflicht-Label "Anzeige", Platz reserviert */
.aa-ad{margin:22px 0;min-height:100px;overflow:hidden}
.aa-ad-label{display:block;font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.aa-ad ins{display:block;margin:0 auto}
@media(max-width:760px){.aa-hero--split{grid-template-columns:1fr}}

/* Stellenanzeigen-Stadtseite */
.tk-stellen{list-style:none;padding:0;margin:14px 0}
.tk-stelle{padding:14px 0;border-bottom:1px solid var(--line)}
.tk-stelle-tit{font-weight:700;font-size:16px;color:var(--rot);text-decoration:none;line-height:1.35}
.tk-stelle-tit:hover{color:var(--rot-d);text-decoration:underline}
.tk-stelle-meta{margin:5px 0 0;font-size:13px;color:var(--mut);line-height:1.5}
.tk-stelle-firma{font-weight:600;color:var(--tx)}
.tk-stelle-art{display:inline-block;background:var(--tint);color:var(--rot);font-weight:600;font-size:11px;padding:1px 8px;border-radius:10px}
.tk-stellen-hinweis{font-size:13px;color:var(--mut);margin:12px 0 0}
.tk-kpi-link{font-weight:600}

/* Suche (Header + Autocomplete + Ergebnisseite) */
.tk-suche{position:relative}
.tk-suche-header{flex:0 1 250px;min-width:170px;order:3}
.tk-suche input{width:100%;padding:8px 14px;border:1px solid var(--line);border-radius:20px;font-size:14px;background:#fff;color:var(--tx)}
.tk-suche input:focus{outline:none;border-color:var(--rot);box-shadow:0 0 0 3px var(--tint)}
.tk-suche-drop{position:absolute;top:calc(100% + 5px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.13);z-index:50;max-height:380px;overflow:auto}
.tk-suche-drop a{display:block;padding:10px 14px;text-decoration:none;color:var(--tx);font-size:14px;border-bottom:1px solid var(--line);line-height:1.3}
.tk-suche-drop a:last-child{border-bottom:0}
.tk-suche-drop a:hover{background:var(--tint);color:var(--tx)}
.tk-sug-typ{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.03em;font-weight:700;color:var(--rot);background:var(--tint);padding:1px 7px;border-radius:8px;margin-right:7px;vertical-align:1px}
.tk-suche-drop em{color:var(--mut);font-style:normal;font-size:12px}
.tk-suche-gross{display:flex;gap:8px;margin:20px 0 4px;max-width:560px}
.tk-suche-gross input{padding:14px 18px;font-size:16px;border-radius:26px}
.tk-suche-gross button{background:var(--rot);color:#fff;border:0;border-radius:26px;padding:0 24px;font-weight:700;font-size:15px;cursor:pointer;white-space:nowrap}
.tk-suche-gross button:hover{background:var(--rot-d)}
@media(max-width:820px){.tk-suche-header{flex-basis:100%;order:4;min-width:0}}
/* Such-Block im Content (Stadtseiten + Hubs) - Akzentseite eckig (flaches Design) */
.aa-suchblock{background:linear-gradient(180deg,#fff,var(--bg));border:1px solid var(--line);border-left:4px solid var(--rot);border-radius:0 8px 8px 0;padding:15px 20px 18px;margin:22px 0}
.aa-suchblock h2{margin:0 0 3px;font-size:19px}
.aa-suchblock p{margin:0;color:var(--mut);font-size:14px}
.aa-suchblock .tk-suche-gross{margin:12px 0 0;max-width:100%}
.tk-box .tk-suche input{border-radius:20px}
