/* Template Imhof-Netz – (C) 2026 Mannheims-Webdesign Imhof – GPL-2.0-or-later; Schriften: SIL OFL 1.1 */
@font-face{font-family:"Archivo";src:url("../fonts/archivo.woff") format("woff");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibmplexsans.woff") format("woff");font-weight:100 700;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("../fonts/jetbrainsmono.woff") format("woff");font-weight:100 800;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/plusjakarta.woff") format("woff");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Lexend";src:url("../fonts/lexend.woff") format("woff");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Bangers";src:url("../fonts/bangers.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Geist";src:url("../fonts/geist.woff") format("woff");font-weight:100 900;font-style:normal;font-display:swap}
/* Imhof-Netz: ein Template, fünf Looks. Jeder Look setzt seine Tokens auf body[data-site]; jede Domain hat bewusst einen festen Look (kein Hell/Dunkel-Wechsel). */
:root{
  --ink:#16181d; --paper:#f4f5f7; --line:#d9dce2; --muted:#5b6170;
  --fokus:#ffd84d;
  --f-ui:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--f-ui);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
.in{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{text-wrap:balance;margin:0}
p{margin:0}
:focus-visible{outline:3px solid var(--fokus);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* gemeinsame Bausteine der Domains */
.site .kopf{border-bottom:1px solid var(--s-line)}
.kopf-in{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.logo .ln{display:block;font:var(--s-logo);line-height:1.1}
.logo small{display:block;font-size:12px;color:var(--s-muted)}
.lm{width:30px;height:30px;flex:none;border-radius:8px;background:var(--s-acc)}
.snav{display:flex;gap:18px;font-size:15px;flex-wrap:wrap}
.snav a{text-decoration:none;color:var(--s-fg)}
.snav a:hover{text-decoration:underline;text-underline-offset:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:var(--s-r);font-weight:600;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:inherit;font-size:15px}
.b1{background:var(--s-acc);color:var(--s-acc-t)}
.b2{border-color:var(--s-fg);color:var(--s-fg);background:transparent}
.klein-btn{min-height:38px;padding:6px 14px;font-size:14px}
.hero{padding-block:56px 48px}
.hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:center}
@media (max-width:820px){.hero-in{grid-template-columns:1fr}}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--s-muted);margin-bottom:14px}
.hero h1{font:var(--s-h1);letter-spacing:var(--s-h1-ls,-.01em)}
.lead{margin-top:18px;font-size:18px;max-width:58ch;color:var(--s-muted)}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.sek{padding-block:44px;border-top:1px solid var(--s-line)}
.sek h2{font:var(--s-h2);margin-bottom:20px}
.lead2{max-width:62ch;color:var(--s-muted);margin-bottom:20px}
.usps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:20px}
.usps li{display:grid;gap:4px}
.usps b{font-size:17px}
.usps span{color:var(--s-muted);font-size:15px}
.tabwrap{overflow-x:auto;border:1px solid var(--s-line);border-radius:var(--s-r);background:var(--s-card)}
.preise{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:560px}
.preise th,.preise td{padding:12px 14px;text-align:right;border-bottom:1px solid var(--s-line);vertical-align:top}
.preise thead th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--s-muted);font-weight:600}
.preise th[scope=row],.preise thead th:first-child{text-align:left;font-weight:600}
.preise small{display:block;font-weight:400;font-size:13px;color:var(--s-muted)}
.preise .ziel{display:block;font-weight:400;font-size:12px;color:var(--s-muted);margin-top:2px}
.preise .brutto{font-weight:700}
.preise tr:last-child>*{border-bottom:0}
.wege-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}
.weg{display:grid;gap:6px;padding:18px;border:1px solid var(--s-line);border-radius:var(--s-r);text-decoration:none;background:var(--s-card)}
.weg-t{font-weight:700;font-size:17px}
.weg-x{font-size:14px;color:var(--s-muted)}
.weg-d{font-size:13px;color:var(--s-link);font-weight:600;word-break:break-word}
.netz{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px}
.netz a{display:grid;gap:2px;padding:14px;border-radius:var(--s-r);border:1px solid var(--s-line);text-decoration:none;height:100%}
.netz b{font-size:14px;word-break:break-word}
.netz span{font-size:13px;color:var(--s-muted)}
.netz li[aria-current] a{border-color:var(--s-acc);box-shadow:inset 0 0 0 1px var(--s-acc)}
.faq{display:grid;gap:8px;max-width:820px}
.faq details{border:1px solid var(--s-line);border-radius:var(--s-r);background:var(--s-card)}
.faq summary{cursor:pointer;padding:14px 16px;font-weight:600}
.faq p{padding:0 16px 16px;color:var(--s-muted);max-width:68ch}
.kond{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.kond>div{padding:20px;border:1px solid var(--s-line);border-radius:var(--s-r);background:var(--s-card)}
.kond h3{font-size:18px;margin-bottom:10px}
.kond ul{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--s-muted)}
.kontakt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px}
@media (max-width:760px){.kontakt{grid-template-columns:1fr}}
.kontakt p{color:var(--s-muted)}
.sel{user-select:all;color:var(--s-fg);font-weight:600}
.form{display:grid;gap:8px}
.form label{font-size:14px;font-weight:600}
.form input,.form textarea{font:inherit;padding:10px 12px;border-radius:calc(var(--s-r)*.6);border:1px solid var(--s-line);background:var(--s-card);color:var(--s-fg);width:100%}
.form .chk{display:flex;gap:8px;align-items:flex-start;font-weight:400}
.form .chk input{width:auto;margin-top:4px}
.form .btn{justify-self:start;margin-top:6px}
.f-r{font-size:14px;color:var(--s-muted)}
.fuss{padding-block:28px 40px;border-top:1px solid var(--s-line);font-size:13px;color:var(--s-muted)}
.fuss .fl{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px}
.foto{display:grid;place-items:center;aspect-ratio:4/3;max-width:100%;border-radius:var(--s-r);background:repeating-linear-gradient(135deg,var(--s-card) 0 12px,var(--s-line) 12px 13px);border:1px dashed var(--s-muted);color:var(--s-muted);font-size:13px;text-align:center;padding:12px}
.site{background:var(--s-bg);color:var(--s-fg)}

/* ---------- d1 bildung-und-schulung.de: Look der Neuerstellung (Weltraum-Blau, Neon-Treppe, Gitterboden) ---------- */
[data-site="d1"]{--s-bg:#0a0f24;--s-fg:#eef1ff;--s-muted:#a9b1d6;--s-line:#222a52;--s-card:#10173a;--s-acc:#f7c948;--s-acc-t:#0a0f24;--s-link:#5fe3f0;--s-r:12px;--cyan:#4fd8ea;
  --s-logo:800 17px/1 "Archivo",var(--f-ui);--s-h1:900 clamp(36px,5.6vw,66px)/1.0 "Archivo",var(--f-ui);--s-h1-ls:-.01em;--s-h2:800 clamp(24px,3vw,34px)/1.15 "Archivo",var(--f-ui);
  font-family:"IBM Plex Sans",var(--f-ui);color-scheme:dark}
[data-site="d1"] .kopf{background:#0a0f24;border-bottom-color:#1a2147}
[data-site="d1"] .lm{background:#f7c948;border-radius:8px;position:relative}
[data-site="d1"] .lm::after{content:"";position:absolute;left:7px;right:7px;bottom:7px;height:15px;background:linear-gradient(90deg,#0a0f24 0 3px,transparent 3px 6px,#0a0f24 6px 9px,transparent 9px 12px,#0a0f24 12px 16px);clip-path:polygon(0 70%,30% 70%,30% 40%,62% 40%,62% 0,100% 0,100% 100%,0 100%)}
[data-site="d1"] .snav li.active>a{border-bottom:2px solid var(--cyan)}
[data-site="d1"] .kopf .klein-btn{background:transparent;color:var(--cyan);border-color:var(--cyan);border-radius:999px}
[data-site="d1"] .hero{position:relative;overflow:hidden;padding-block:64px 88px;background:radial-gradient(50% 70% at 75% 35%,#2b1d66 0%,transparent 70%),radial-gradient(40% 50% at 10% 90%,#0f3a52 0%,transparent 70%),#0a0f24}
[data-site="d1"] .hero::before{content:"";position:absolute;left:-20%;right:-20%;bottom:-40px;height:260px;background-image:linear-gradient(rgba(79,216,234,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(79,216,234,.22) 1px,transparent 1px);background-size:48px 48px;transform:perspective(420px) rotateX(62deg);transform-origin:bottom;mask-image:linear-gradient(transparent,#000 70%);-webkit-mask-image:linear-gradient(transparent,#000 70%);pointer-events:none}
[data-site="d1"] .hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(1px 1px at 12% 20%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 40% 12%,#fff6 50%,transparent 51%),radial-gradient(1.5px 1.5px at 66% 28%,#fff9 50%,transparent 51%),radial-gradient(1px 1px at 88% 16%,#fff7 50%,transparent 51%),radial-gradient(1px 1px at 92% 64%,#fff5 50%,transparent 51%),radial-gradient(1px 1px at 30% 56%,#fff4 50%,transparent 51%);pointer-events:none}
[data-site="d1"] .hero-in{position:relative;z-index:1}
[data-site="d1"] .hero h1{text-transform:uppercase}
[data-site="d1"] .hero h1 em{font-style:normal;background:linear-gradient(90deg,#ff9a3c,#e26ad8 55%,#8c6bff);-webkit-background-clip:text;background-clip:text;color:transparent}
[data-site="d1"] .eyebrow{display:inline-flex;align-items:center;gap:8px;font:500 11px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.12em;color:#f7c948;border:1px solid #3a3f2a;background:rgba(247,201,72,.06);border-radius:999px;padding:7px 12px}
[data-site="d1"] .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:#f7c948;box-shadow:0 0 8px #f7c948}
[data-site="d1"] .btn{border-radius:999px}
[data-site="d1"] .b1{box-shadow:0 0 24px rgba(247,201,72,.35)}
[data-site="d1"] .b2{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 18px rgba(79,216,234,.18)}
[data-site="d1"] .sek h2{font-family:"Archivo",var(--f-ui)}
[data-site="d1"] .preise .brutto{color:#f7c948}
.treppe{position:relative;max-width:440px;justify-self:center;width:100%}
.treppe svg{width:100%;height:auto;display:block;overflow:visible}
.treppe .ziel{position:absolute;left:0;top:0;background:rgba(16,23,58,.9);border:1px solid #2b3466;border-radius:10px;padding:12px 14px;max-width:210px;font-size:12px;color:#a9b1d6;backdrop-filter:blur(4px)}
.treppe .ziel small{display:block;font:500 10px/1 "JetBrains Mono",monospace;letter-spacing:.12em;color:#f7c948;margin-bottom:6px}
.treppe .ziel b{display:block;color:#fff;font:800 14px "Archivo",sans-serif;margin-bottom:2px}
.st-l{font:600 9px "JetBrains Mono",monospace;letter-spacing:.08em;fill:#cfe9f2}
@media (prefers-reduced-motion:no-preference){.st-stern{animation:funkeln 2.4s ease-in-out infinite;transform-origin:center;transform-box:fill-box}@keyframes funkeln{50%{opacity:.55;transform:scale(.85)}}}

/* ---------- d2 ausbilder-der-ausbilder.de: Farbkonzept der bisherigen Seite (Dunkelblau, Gelb, Rasterpapier) ---------- */
[data-site="d2"]{--s-bg:#f8f7f2;--s-fg:#161b2e;--s-muted:#4d5468;--s-line:#e4e2d8;--s-card:#ffffff;--s-acc:#22378f;--s-acc-t:#ffffff;--s-link:#22378f;--s-r:10px;--gelb:#ffe15a;
  --s-logo:800 17px/1.05 "Plus Jakarta Sans",var(--f-ui);--s-h1:800 clamp(36px,5.4vw,64px)/1.04 "Plus Jakarta Sans",var(--f-ui);--s-h1-ls:-.03em;--s-h2:800 clamp(24px,3vw,36px)/1.15 "Plus Jakarta Sans",var(--f-ui);
  font-family:"Plus Jakarta Sans",var(--f-ui);color-scheme:light}
[data-site="d2"]{background-image:linear-gradient(#ecebe3 1px,transparent 1px),linear-gradient(90deg,#ecebe3 1px,transparent 1px);background-size:28px 28px}
[data-site="d2"] .kopf{background:rgba(248,247,242,.92)}
[data-site="d2"] .logo .ln{color:#22378f}
[data-site="d2"] .logo small{color:#161b2e;font-weight:700;font-style:italic;background:var(--gelb);display:inline-block;padding:0 4px;border-radius:3px}
[data-site="d2"] .lm{width:36px;height:36px;border-radius:8px;background:#22378f;position:relative;overflow:hidden}
[data-site="d2"] .lm::after{content:"";position:absolute;left:6px;right:6px;bottom:8px;height:12px;background:var(--gelb);clip-path:polygon(0 100%,100% 0,100% 100%)}
[data-site="d2"] .snav a{font-weight:600}
[data-site="d2"] .snav li.active>a{box-shadow:inset 0 -4px 0 var(--gelb)}
[data-site="d2"] .eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:13px;color:#22378f;background:#fff;border:1px solid #e4e2d8;border-radius:999px;padding:5px 12px}
[data-site="d2"] .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:#1aa36f}
[data-site="d2"] mark{background:var(--gelb);color:inherit;border-radius:10px;padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
[data-site="d2"] .b2{border-color:#22378f;color:#22378f;background:#fff}
[data-site="d2"] .btn{border-radius:10px}
[data-site="d2"] .sek h2 span,[data-site="d2"] .sek h2{background:none}
[data-site="d2"] .preise tbody tr:hover{background:#fff8d4}
[data-site="d2"] .preise .brutto{color:#22378f}
[data-site="d2"] .wunsch{background:#22378f;color:#fff;border-top:0}
[data-site="d2"] .wunsch p{color:#dfe4ff;max-width:62ch;margin-bottom:18px}
[data-site="d2"] .wunsch .btn{background:var(--gelb);color:#161b2e}
[data-site="d2"] .netz li[aria-current] a{background:#fff8d4}
.plan{position:relative;background:#fff;border-radius:14px;padding:30px 24px 24px;box-shadow:0 18px 40px rgba(22,27,46,.14);display:grid;gap:12px;transform:rotate(-1.5deg);max-width:400px;justify-self:center;width:100%}
.plan::before{content:"";position:absolute;top:-12px;left:50%;width:120px;height:24px;background:rgba(255,225,90,.85);transform:translateX(-50%) rotate(-3deg)}
.plan-k{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#4d5468}
.plan-h{font:800 22px/1.2 "Plus Jakarta Sans",sans-serif;color:#22378f}
.plan ol{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.plan li{display:flex;gap:10px;align-items:baseline}
.plan li::before{content:"✓";flex:none;width:20px;height:20px;border-radius:50%;background:var(--gelb);display:grid;place-items:center;font-size:12px;font-weight:800;color:#161b2e;transform:translateY(3px)}
.plan-p{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-variant-numeric:tabular-nums;border-top:1px dashed #e4e2d8;padding-top:12px}
.plan-p b{color:#22378f}
.plan .btn{width:100%}

/* ---------- App-Look (abgestimmt), Variante d3 Mannheim-Kurse und d5 Nachhilfe ---------- */
[data-look="app"]{--s-fg:#18213a;--s-muted:#55607a;--s-line:#dde3ef;--s-card:#ffffff;--s-acc-t:#ffffff;--s-r:16px;
  --s-logo:800 17px/1.05 "Lexend",var(--f-ui);--s-h1:800 clamp(34px,5vw,58px)/1.05 "Lexend",var(--f-ui);--s-h1-ls:-.02em;--s-h2:800 clamp(22px,2.8vw,32px)/1.2 "Lexend",var(--f-ui);
  font-family:"Lexend",var(--f-ui);color-scheme:light}
[data-look="app"] .kopf{background:var(--s-card)}
[data-look="app"] .hl{background:var(--s-hl);border-radius:10px;padding:0 .15em}
[data-look="app"] .btn{border-radius:999px;box-shadow:0 4px 0 var(--s-acc-d)}
[data-look="app"] .b2{box-shadow:none}
[data-look="app"] .eyebrow{color:var(--s-muted)}
[data-look="app"] .usps li{background:var(--s-card);border:1px solid var(--s-line);border-radius:16px;padding:16px}
[data-look="app"] .preise .brutto{color:var(--s-acc)}
[data-look="app"] .tabwrap,[data-look="app"] .weg,[data-look="app"] .faq details,[data-look="app"] .kond>div{box-shadow:0 6px 18px rgba(24,33,58,.06)}
[data-look="app"] .foto{background:repeating-linear-gradient(135deg,#fff 0 12px,var(--s-line) 12px 13px);border-radius:20px}

[data-site="d3"]{--s-bg:#f4f7f5;--s-acc:#1f7a5a;--s-acc-d:#145340;--s-link:#1f7a5a;--s-hl:#ffd166}
[data-site="d3"] .lm{border-radius:6px;background:conic-gradient(from 90deg,#1f7a5a 0 25%,#ffd166 25% 50%,#1f7a5a 50% 75%,#ffd166 75%)}
.d3-vis{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.d3-vis .foto{grid-column:1/-1;aspect-ratio:16/9}
.d3-vis .karte{margin:0;background:#fff;border:1px solid #dde3ef;border-radius:20px;padding:12px;box-shadow:0 12px 30px rgba(24,33,58,.1)}
.d3-vis .karte svg{width:100%;height:auto;display:block}
.d3-vis .karte figcaption{font-size:12px;color:#55607a;margin-top:6px}
.qd{fill:#e6eee9}
.qj{fill:#1f7a5a}
.ql{font:600 11px "Lexend",sans-serif;fill:#55607a}
.qt{font:700 12px "Lexend",sans-serif;fill:#1f7a5a}
.siegel{align-self:center;justify-self:center;width:150px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;padding:16px;color:#18213a;background:#ffd166;box-shadow:0 6px 0 #d9a92e;transform:rotate(-6deg)}
.siegel span{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.siegel b{font:800 15px/1.15 "Lexend",sans-serif}

[data-site="d5"]{--s-bg:#f5f4fb;--s-acc:#4f46b8;--s-acc-d:#372f8a;--s-link:#4f46b8;--s-hl:#b9f0dc}
[data-site="d5"] .lm{border-radius:50%;background:radial-gradient(circle at 35% 35%,#b9f0dc 0 30%,#4f46b8 31%)}
[data-site="d5"] .hero{position:relative;overflow:hidden}
[data-site="d5"] .hero::before{content:"";position:absolute;right:-120px;top:-80px;width:520px;height:520px;border-radius:46% 54% 60% 40%/50% 40% 60% 50%;background:#4f46b8;opacity:.92}
[data-site="d5"] .hero::after{content:"";position:absolute;right:300px;bottom:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(#4f46b8 1.6px,transparent 1.8px) 0 0/14px 14px;opacity:.35}
@media (max-width:820px){[data-site="d5"] .hero::before{right:-200px;top:auto;bottom:-120px;width:460px;height:460px}}
[data-site="d5"] .hero-in{position:relative;z-index:1}
[data-site="d5"] .hero h1 .hl{background:#b9f0dc;box-shadow:0 4px 0 #7fd9b9}
.plan5{position:relative;background:#fff;border-radius:24px;padding:22px;box-shadow:0 24px 50px rgba(32,26,90,.28);display:grid;gap:14px;max-width:420px;justify-self:center;width:100%}
.p5-kopf{display:flex;align-items:center;gap:12px}
.p5-kopf b{display:block;font-size:18px}
.p5-kopf span{font-size:13px;color:#55607a}
.foto.mini{width:56px;aspect-ratio:1;border-radius:50%;padding:4px;font-size:8px;line-height:1.1;flex:none;border:2px solid #b9f0dc}
.p5-tabs{display:flex;flex-wrap:wrap;gap:6px}
.p5-tabs button{font:600 13px "Lexend",sans-serif;border:1.5px solid #dde3ef;background:#f5f4fb;color:#18213a;border-radius:999px;padding:8px 12px;cursor:pointer}
.p5-tabs button[aria-selected="true"]{background:#4f46b8;border-color:#4f46b8;color:#fff}
.p5-u{font-size:14px;color:#55607a;min-height:1.5em}
.p5-preis{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:8px;font-variant-numeric:tabular-nums;background:#f5f4fb;border-radius:16px;padding:12px}
.p5-preis small{display:block;font-size:11px;color:#55607a;text-transform:uppercase;letter-spacing:.06em}
.p5-preis span{font-weight:600}
.p5-preis .gross b{font-size:20px;white-space:nowrap;color:#4f46b8}
.plan5 .btn{width:100%}
.schild{position:absolute;font:700 12px "Lexend",sans-serif;padding:7px 12px;border-radius:999px;box-shadow:0 6px 16px rgba(24,33,58,.18);white-space:nowrap}
.schild.s1{left:20px;top:-16px;background:#ffd166;color:#18213a;transform:rotate(-7deg)}
.schild.s2{right:20px;bottom:-16px;background:#b9f0dc;color:#18213a;transform:rotate(5deg)}
.plan5{margin-block:16px}
@media (prefers-reduced-motion:no-preference){.schild{animation:schweben 5s ease-in-out infinite}.schild.s2{animation-delay:-2.5s}@keyframes schweben{50%{translate:0 -6px}}}
.weg5{background:#4f46b8;color:#fff}
.weg5-in{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding-block:16px;font-weight:600;font-size:15px}
.weg5-in span{display:inline-flex;align-items:center;gap:8px}
.weg5-in b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#b9f0dc;color:#18213a;font-size:13px}
.weg5-in i{font-style:normal;opacity:.6}
[data-site="d5"] .usp{background:#ecebfa}

/* ---------- d4 ausbilder-eignungspruefung.de: Comic-Look des Mannheim-Pakets ---------- */
[data-site="d4"]{--s-bg:#171b55;--s-fg:#ffffff;--s-muted:#d3d6ff;--s-line:#2c3283;--s-card:#232873;--s-acc:#ffd23f;--s-acc-t:#0a0a1a;--s-link:#3ee0ff;--s-r:14px;--tinte:#0a0a1a;--pink:#ff5c8a;--cyan:#3ee0ff;--gelb:#ffd23f;
  --s-logo:400 22px/1 "Bangers",Impact,sans-serif;--s-h1:400 clamp(48px,7.6vw,96px)/.95 "Bangers",Impact,sans-serif;--s-h1-ls:.01em;--s-h2:400 clamp(30px,4vw,46px)/1.05 "Bangers",Impact,sans-serif;
  font-family:"Geist","IBM Plex Sans",var(--f-ui);color-scheme:dark}
[data-site="d4"]{background-image:radial-gradient(rgba(255,255,255,.07) 1.4px,transparent 1.6px);background-size:22px 22px}
[data-site="d4"] .kopf{background:#1c2066;border-bottom:3px solid var(--tinte)}
[data-site="d4"] .logo .ln{letter-spacing:.03em}
[data-site="d4"] .logo small{text-transform:uppercase;letter-spacing:.14em;font-size:10px}
[data-site="d4"] .lm{border-radius:6px;background:#fff;box-shadow:3px 3px 0 var(--gelb);position:relative}
[data-site="d4"] .lm::after{content:"";position:absolute;inset:7px 9px 7px 9px;background:var(--tinte);clip-path:polygon(0 0,60% 0,100% 30%,60% 55%,100% 80%,60% 100%,0 100%)}
[data-site="d4"] .kopf .klein-btn{background:#4d63ff;color:#fff;font-family:"Bangers",Impact,sans-serif;letter-spacing:.05em;font-size:17px;border:2px solid var(--tinte);box-shadow:3px 3px 0 var(--tinte)}
[data-site="d4"] .hero{position:relative;overflow:hidden;padding-block:56px 64px}
[data-site="d4"] .hero::before{content:"";position:absolute;right:-90px;top:30px;width:280px;height:280px;border-radius:50%;background:radial-gradient(#e0a800 2px,transparent 2.4px) 0 0/12px 12px,var(--gelb);box-shadow:0 0 120px rgba(255,210,63,.3)}
[data-site="d4"] .hero::after{content:"";position:absolute;left:-60px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:#4d63ff;opacity:.6}
[data-site="d4"] .hero-in{position:relative;z-index:1}
[data-site="d4"] .eyebrow{display:inline-block;font:400 15px/1 "Bangers",Impact,sans-serif;letter-spacing:.08em;color:var(--tinte);background:var(--gelb);border:2px solid var(--tinte);padding:6px 12px;border-radius:999px;transform:rotate(-2deg);box-shadow:3px 3px 0 var(--tinte)}
[data-site="d4"] .hero h1{text-transform:uppercase;text-shadow:4px 4px 0 var(--tinte);position:relative}
[data-site="d4"] .hero h1 .c{color:var(--cyan)}
[data-site="d4"] .hero h1 .hl{display:inline-block;color:var(--tinte);background:var(--gelb);border:3px solid var(--tinte);padding:0 .14em;border-radius:.1em;transform:rotate(-2deg);box-shadow:.08em .08em 0 var(--pink);text-shadow:none;margin-top:.08em}
.blase{position:absolute;right:4%;top:-6px;font:400 18px/1.05 "Bangers",Impact,sans-serif;color:var(--tinte);background:#fff;border:3px solid var(--tinte);border-radius:14px;padding:8px 12px;transform:rotate(6deg);text-shadow:none;text-transform:uppercase}
.blase::after{content:"";position:absolute;left:14px;bottom:-14px;border:8px solid transparent;border-top-color:var(--tinte);border-left-color:var(--tinte)}
@media (max-width:600px){.blase{position:static;display:inline-block;margin-left:8px;font-size:14px;vertical-align:middle}}
[data-site="d4"] .lead{color:#d3d6ff}
[data-site="d4"] .btn{font:400 19px/1 "Bangers",Impact,sans-serif;letter-spacing:.05em;border:2px solid var(--tinte);border-radius:8px;box-shadow:4px 4px 0 var(--tinte);transition:transform .12s,box-shadow .12s}
[data-site="d4"] .btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--tinte)}
[data-site="d4"] .b2{background:var(--pink);color:var(--tinte)}
[data-site="d4"] .sek{border-top:0}
[data-site="d4"] .sek h2{text-transform:uppercase;text-shadow:3px 3px 0 var(--tinte)}
[data-site="d4"] .usps li{background:#232873;border:2px solid var(--tinte);border-radius:14px;padding:16px;box-shadow:5px 5px 0 var(--tinte)}
[data-site="d4"] .tabwrap,[data-site="d4"] .weg,[data-site="d4"] .faq details,[data-site="d4"] .netz a{border:2px solid var(--tinte);box-shadow:5px 5px 0 var(--tinte)}
[data-site="d4"] .preise .brutto{color:var(--gelb)}
[data-site="d4"] .netz li[aria-current] a{background:var(--gelb);color:var(--tinte)}
[data-site="d4"] .netz li[aria-current] span{color:var(--tinte)}
[data-site="d4"] .form input,[data-site="d4"] .form textarea{border:2px solid var(--tinte)}
div.band{background:var(--gelb);border-block:3px solid var(--tinte);overflow:hidden;transform:rotate(-1.5deg);margin-block:8px 28px;position:relative;z-index:2}
div.band .band-in{display:flex;gap:28px;white-space:nowrap;padding:12px 0;font:400 26px/1 "Bangers",Impact,sans-serif;letter-spacing:.04em;color:var(--tinte);width:max-content}
div.band .band-in i{color:var(--pink);font-style:normal}
@media (prefers-reduced-motion:no-preference){div.band .band-in{animation:laufen 28s linear infinite}@keyframes laufen{to{transform:translateX(-50%)}}}
.quiz{position:relative;background:#fffdf5;color:var(--tinte);border:3px solid var(--tinte);border-radius:14px;padding:30px 22px 22px;box-shadow:8px 8px 0 var(--tinte);display:grid;gap:14px;transform:rotate(1deg)}
.quiz-tag{position:absolute;top:-16px;left:18px;font:400 14px/1 "Bangers",Impact,sans-serif;letter-spacing:.06em;background:var(--gelb);border:2px solid var(--tinte);padding:6px 10px;transform:rotate(-3deg)}
.q-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:600;color:#3b3f6b}
.xp{flex:1;max-width:140px;height:12px;border-radius:999px;background:#e7e8f5;border:2px solid var(--tinte);overflow:hidden}
.xp i{display:block;height:100%;background:var(--pink);transition:width .4s}
.quiz.geloest .xp i{width:60%!important;background:#26c281}
.q-f{font-weight:700;font-size:18px}
.q-a{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.q-a button{font:400 20px/1 "Bangers",Impact,sans-serif;letter-spacing:.04em;padding:12px;border-radius:10px;border:2px solid var(--tinte);background:#eef0ff;color:var(--tinte);cursor:pointer;box-shadow:3px 3px 0 var(--tinte)}
.q-a button:hover{background:#dfe3ff}
.q-a .richtig{background:#b8f2d6}
.q-a .falsch{background:#ffc9d6}
.q-r{font-size:14px;color:#3b3f6b;min-height:2.8em}
.sticker{position:absolute;right:-18px;top:-38px;width:96px;height:96px;border-radius:50%;background:var(--pink);border:3px solid var(--tinte);display:grid;place-content:center;text-align:center;font:400 15px/1 "Bangers",Impact,sans-serif;color:var(--tinte);transform:rotate(12deg);box-shadow:3px 3px 0 var(--tinte);z-index:2}
.sticker b{font-size:26px;font-weight:400}
@media (max-width:600px){.sticker{right:-6px;top:-44px;width:80px;height:80px;font-size:12px}}



/* ================= Joomla-Ergänzungen (Kopf, Menü, Seitenkopf, Inhalte, Formulare, Fuß) ================= */
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;overflow-x:clip}
main,.beitrag{min-width:0;max-width:100%;overflow-x:clip}
main{flex:1}
img{max-width:100%;height:auto}
.sprunglink{position:absolute;left:-9999px;top:8px;z-index:50;background:var(--s-acc);color:var(--s-acc-t);padding:10px 14px;border-radius:8px}
.sprunglink:focus{left:12px}
.site a:not(.btn){color:inherit}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.beitrag .sek a:not(.btn):not(.weg):not(.netz a),.rechtstext a,.kontaktblock a{color:var(--s-link);text-underline-offset:3px}

/* Kopf */
.kopf{position:sticky;top:0;z-index:20;background:var(--s-bg)}
.kopf-in{flex-wrap:nowrap;max-width:1320px}
.logo{flex:none}
.kopf-cta{flex:none;white-space:nowrap}
.snav{min-width:0}
.logo .ln{white-space:nowrap}
.snav{align-items:center}
.snav{flex-wrap:nowrap}
.snav ul{display:flex;flex-wrap:nowrap;gap:4px 16px;list-style:none;margin:0;padding:0}
.snav li{position:relative;white-space:nowrap}
.snav a{display:inline-block;padding:6px 0}
.snav li.active>a,.snav li.current>a{font-weight:700}
.mod-menu__toggle-sub{display:none}
/* Untermenüs: Desktop als Aufklapper bei Hover/Fokus */
.snav li ul{display:none;position:absolute;left:-14px;top:100%;z-index:30;min-width:230px;flex-direction:column;gap:0;padding:8px 0;background:var(--s-card);border:1px solid var(--s-line);border-radius:var(--s-r);box-shadow:0 14px 34px rgba(0,0,0,.14)}
.snav li:hover>ul,.snav li:focus-within>ul{display:flex}
.snav li ul a{display:block;padding:8px 14px;font-weight:500}
.snav li.deeper>a::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);opacity:.6}
.kopf .snav .nav-cta{display:none}
.nav-schalter{display:none;align-items:center;gap:8px;min-height:40px;padding:6px 12px;border-radius:999px;border:1.5px solid var(--s-line);background:var(--s-card);color:var(--s-fg);font:600 14px var(--f-ui);cursor:pointer}
.nav-strich,.nav-strich::before,.nav-strich::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .2s}
.nav-strich::before,.nav-strich::after{content:"";position:absolute;left:0}
.nav-strich::before{top:-6px}.nav-strich::after{top:6px}
.nav-schalter[aria-expanded="true"] .nav-strich{background:transparent}
.nav-schalter[aria-expanded="true"] .nav-strich::before{transform:translateY(6px) rotate(45deg)}
.nav-schalter[aria-expanded="true"] .nav-strich::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1300px){
  .kopf-in{flex-wrap:wrap}
  .nav-schalter{display:inline-flex}
  .kopf-cta{display:none}
  .snav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-block:8px 16px}
  .snav.offen{display:flex}
  .snav ul{flex-direction:column;gap:0}
  .snav li{border-top:1px solid var(--s-line);white-space:normal}
  .snav a{display:block;padding:12px 4px;font-size:16px}
  .snav li ul{display:flex;position:static;min-width:0;padding:0 0 8px 16px;background:none;border:0;box-shadow:none}
  .snav li ul li{border-top:0}
  .snav li ul a{padding:7px 4px;font-size:15px}
  .snav li.deeper>a::after{display:none}
  .kopf .snav .nav-cta{display:inline-flex;margin-top:12px;align-self:flex-start}
}

/* Seitenkopf der Unterseiten */
.seitenkopf{padding-block:44px 28px}
.seitenkopf h1{font:var(--s-h1);font-size:clamp(30px,4.4vw,52px);letter-spacing:var(--s-h1-ls,-.01em);max-width:22ch}
.seitenkopf .lead{max-width:64ch}
.seitenkopf .eyebrow{margin-top:14px}
.mod-breadcrumbs__wrapper{font-size:13px;color:var(--s-muted)}
.mod-breadcrumbs{display:flex;flex-wrap:wrap;gap:4px 8px;list-style:none;margin:0;padding:0}
.mod-breadcrumbs li+li::before{content:"›";margin-right:8px;opacity:.6}
.mod-breadcrumbs a{color:var(--s-muted);text-decoration:none}
.mod-breadcrumbs a:hover{text-decoration:underline}
.mod-breadcrumbs .float-start,.mod-breadcrumbs__divider{display:none}
[data-site="d1"] .seitenkopf{background:radial-gradient(50% 120% at 85% 0%,#2b1d66 0%,transparent 70%),#0a0f24}
[data-site="d1"] .seitenkopf h1{text-transform:uppercase}
[data-site="d4"] .seitenkopf h1{text-transform:uppercase;text-shadow:3px 3px 0 var(--tinte)}
[data-site="d5"] .seitenkopf{background:linear-gradient(180deg,#ecebfa,transparent)}
[data-site="d3"] .seitenkopf{background:linear-gradient(180deg,#e6f1eb,transparent)}

/* Inhalte */
.beitrag>.sek:first-child{border-top:0}
.sek h3{font-size:19px;margin:22px 0 8px}
.sek p+p,.sek p+ul,.sek ul+p,.sek p+ol,.sek ol+p,.sek p+.btns,.sek .tabwrap+p,.sek p+.tabwrap,.sek p+.karten,.sek .karten+p,.sek p+.faq,.sek .faq+p,.sek p+.hinweis,.sek .hinweis+p,.sek p+.kond,.sek .kond+p,.sek p+.wege-g{margin-top:14px}
.sek ul:not([class]),.sek ol:not([class]){margin:12px 0 0;padding-left:22px;display:grid;gap:6px}
.sek .in>p,.sek .in>ul:not([class]),.sek .in>ol:not([class]){max-width:72ch}
.sek.schmal .in{max-width:860px}
.sek.usp{background:color-mix(in srgb,var(--s-card) 60%,var(--s-bg))}
.sek.band{background:var(--s-acc);color:var(--s-acc-t)}
.sek.band h2,.sek.band p{color:inherit}
.sek.band .btn.b1{background:var(--s-acc-t);color:var(--s-acc)}
.sek.band .btn.b2{border-color:currentColor;color:inherit}
.karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin-top:8px}
.karten .karte{background:var(--s-card);border:1px solid var(--s-line);border-radius:var(--s-r);padding:18px}
.karten .karte h3{margin:0 0 8px;font-size:17px}
.karten .karte p{color:var(--s-muted);font-size:15px}
[data-look="app"] .karten .karte{box-shadow:0 6px 18px rgba(24,33,58,.06)}
[data-site="d4"] .karten .karte{border:2px solid var(--tinte);box-shadow:5px 5px 0 var(--tinte)}
.schritte{list-style:none;counter-reset:s;margin:8px 0 0;padding:0;display:grid;gap:12px;max-width:760px}
.schritte li{counter-increment:s;position:relative;padding:6px 0 0 50px;min-height:36px}
.schritte li::before{content:counter(s);position:absolute;left:0;top:0;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--s-acc);color:var(--s-acc-t);font-weight:700}
.hinweis{border:1px solid var(--s-line);border-left:4px solid var(--s-acc);background:var(--s-card);border-radius:var(--s-r);padding:16px 18px;max-width:760px}
.hinweis p+p{margin-top:8px}
.zweispaltig{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px 32px}
.rechtstext h2{font-size:21px;margin:28px 0 8px}
.rechtstext p{max-width:72ch}
.faq-antwort p{padding:0 16px 16px;color:var(--s-muted)}
.faq-antwort p+p{margin-top:-6px}
.btns .btn{text-align:center}
.preise td.buchen{text-align:right;white-space:nowrap}
.preise .buchen a{font-size:13px;font-weight:600;color:var(--s-link)}
.preise-hinweis{font-size:13px;color:var(--s-muted);margin-top:10px;max-width:80ch}
.netz{margin-top:6px}
.netz a{color:inherit}
.kontaktblock{background:var(--s-card);border:1px solid var(--s-line);border-radius:var(--s-r);padding:18px 20px}
.kontaktblock h3{margin:0 0 10px}
.kontaktblock dl{margin:0;display:grid;gap:10px}
.kontaktblock dt{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--s-muted)}
.kontaktblock dd{margin:2px 0 0}
.d3-vis .foto,.d5-vis .foto{color:var(--s-muted)}

/* Formulare (Plugin) */
.ada-form{display:grid;gap:18px;max-width:820px}
.ada-form fieldset{border:1px solid var(--s-line);border-radius:var(--s-r);padding:18px;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;background:var(--s-card)}
.ada-form legend{font-weight:700;padding:0 6px}
.ada-form label{display:grid;gap:6px;font-size:14px;font-weight:600;min-width:0}
.ada-form .voll{grid-column:1/-1}
@media (max-width:640px){.ada-form fieldset{grid-template-columns:1fr}}
.ada-form input[type=text],.ada-form input[type=email],.ada-form input[type=tel],.ada-form input[type=password],.ada-form select,.ada-form textarea{font:inherit;font-weight:400;padding:11px 12px;border-radius:calc(var(--s-r)*.6);border:1px solid var(--s-line);background:var(--s-bg);color:var(--s-fg);width:100%;min-width:0}
[data-site="d4"] .ada-form input,[data-site="d4"] .ada-form select,[data-site="d4"] .ada-form textarea{border:2px solid var(--tinte)}
.ada-form .wahl{display:flex;flex-wrap:wrap;gap:8px 20px;font-weight:400}
.ada-form .wahl label{display:flex;gap:8px;align-items:center;font-weight:400}
.ada-form .einwilligung{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.ada-form .einwilligung input{margin-top:4px;flex:none}
.ada-form .pflicht{color:var(--s-link)}
.ada-form .honig{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ada-form button{justify-self:start}
.ada-form .hinweis-klein{font-size:13px;color:var(--s-muted)}
.ada-meldung:empty{display:none}
.ada-meldung{padding:14px 16px;border-radius:var(--s-r);font-weight:600}
.ada-meldung.ok{background:#d7f5e6;color:#0d3b26}
.ada-meldung.fehler{background:#ffe1e1;color:#5c0b0b}

/* Fuß */
.fuss{margin-top:auto}
.fuss-raster{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:28px;padding-bottom:24px}
@media (max-width:900px){.fuss-raster{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fuss-raster{grid-template-columns:1fr}}
.fuss h2{font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 10px;color:var(--s-fg)}
.fuss p+p{margin-top:10px}
.fuss .logo{margin-bottom:12px}
.fuss ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fuss a{text-decoration:none}
.fuss a:hover{text-decoration:underline}
.fuss .partner{grid-template-columns:1fr 1fr;gap:4px 12px;font-size:12px}
.fuss .schwestern{gap:9px}
.fuss .schwestern li{display:flex;flex-direction:column;line-height:1.3;overflow-wrap:anywhere}
.fuss .schwestern a,.fuss .schwestern span{font-weight:600;color:var(--s-fg)}
.fuss .schwestern small{font-size:11.5px;opacity:.8}
.fuss .schwestern .hier span{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.fuss-partner{border-top:1px solid var(--s-line);padding:20px 0 24px}
.fuss .portale{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:900px){.fuss .portale{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fuss .portale{grid-template-columns:1fr}}
.fuss .portale li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--s-line);border-radius:10px;line-height:1.35}
.fuss .portale .thema{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;opacity:.75}
.fuss .portale a{font-weight:700;color:var(--s-fg);font-size:14px}
.fuss .portale span{font-size:12px}
.fuss .portale .host{font-size:11px;opacity:.7}
.fuss .rf{border-top:1px solid var(--s-line);padding-top:16px;max-width:none}
.fuss .unterzeile{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:10px;font-size:12px}
[data-site="d4"] .fuss{border-top:3px solid var(--tinte);background:#12154a}
[data-site="d1"] .fuss{background:#070b1c}

/* Meldungen von Joomla */
.meldungen:empty{display:none}
#system-message-container joomla-alert,#system-message-container .alert{display:block;margin:16px 0;padding:12px 16px;border-radius:var(--s-r);background:var(--s-card);border:1px solid var(--s-line)}
.site,.site section{scroll-margin-top:84px}

/* Preistabelle mobil: Karten mit netto / USt. / brutto nebeneinander */
.tabwrap{max-width:100%}
@media (max-width:640px){
  .preise{min-width:0}
  .preise thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .preise,.preise tbody{display:block}
  .preise tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--s-line);padding:12px 14px;gap:4px 10px}
  .preise tr:last-child{border-bottom:0}
  .preise th,.preise td{display:block;padding:0;border:0;text-align:left}
  .preise th[scope=row]{grid-column:1/-1;margin-bottom:6px}
  .preise td:nth-of-type(1)::before,.preise td:nth-of-type(2)::before,.preise td:nth-of-type(3)::before{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--s-muted);font-weight:600}
  .preise td:nth-of-type(1)::before{content:"netto"}
  .preise td:nth-of-type(2)::before{content:"USt. 19 %"}
  .preise td:nth-of-type(3)::before{content:"brutto"}
  .preise td.buchen{grid-column:1/-1;text-align:left;margin-top:6px}
}

/* D4: Sprechblase nicht über dem Wort, Deko-Kreis mobil zurücknehmen */
[data-site="d4"] .hero h1{position:relative;padding-right:0}
[data-site="d4"] .hero-t{position:relative}
[data-site="d4"] .hero .blase{right:12%;top:150px;bottom:auto}
@media (max-width:600px){
  [data-site="d4"] .hero .blase{position:static;margin:8px 0 0}
  [data-site="d4"] .hero::before{width:170px;height:170px;right:-80px;top:10px;opacity:.55}
  [data-site="d4"] .hero-t{position:relative;z-index:1}
}
/* Desktop: „Start“ entfällt im Kopfmenü (Logo führt zur Startseite), mobil bleibt es */
@media (min-width:1301px){.snav li.default{display:none}}
/* Desktop: dritte Menüebene nicht aufklappen (Seiten sind über die Elternseite verlinkt) */
@media (min-width:1301px){.snav li ul ul,.snav li li.deeper>a::after{display:none!important}}
/* Preiszeile ohne Betrag („Preis auf Anfrage“) */
.preise td[colspan]{text-align:right;color:var(--s-muted);font-style:italic}
@media (max-width:640px){.preise td[colspan]{grid-column:1/-1;text-align:left}.preise td[colspan]::before{content:none!important}}
/* hervorgehobener externer Menüpunkt (z. B. Lernstudio) */
.snav a.menue-hervor{color:var(--s-acc)!important;font-weight:700}
[data-site="d1"] .snav a.menue-hervor{color:#f7c948!important}
[data-site="d1"] .snav ul{column-gap:12px}
.d3-vis .karte.live{grid-column:1/-1}
/* Porträt Klaus Imhof: klein und rund */
.portrait{float:right;width:120px;height:120px;border-radius:50%;object-fit:cover;margin:4px 0 14px 22px;border:3px solid var(--s-card);box-shadow:0 6px 18px rgba(0,0,0,.14)}
@media (max-width:640px){.portrait{width:92px;height:92px;margin-left:14px}}
.portrait.mini{float:none;width:56px;height:56px;margin:0;border-width:2px;flex:none;box-shadow:none}
.sek .in::after{content:"";display:table;clear:both}

/* ================= Prüfungstrainer ================= */
.trainer-leiste{background:var(--s-acc);color:var(--s-acc-t);font-size:13px}
.trainer-leiste .in{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:34px;flex-wrap:wrap}
.trainer-leiste nav{display:flex;gap:10px;margin-left:auto;align-items:center}
.trainer-leiste a{color:inherit;text-decoration:none}
.trainer-leiste a:hover{text-decoration:underline}
[data-site="d4"] .trainer-leiste{background:var(--tinte);color:#fff}
[data-site="d4"] .trainer-leiste .t-countdown{color:var(--gelb);font-weight:700}
.trainer-laden{color:var(--s-muted)}
.beispiele{display:grid;gap:16px;margin-top:8px}
.q-karte{background:var(--s-card);border:1px solid var(--s-line);border-radius:var(--s-r);padding:18px 18px 16px}
[data-site="d4"] .q-karte{border:2px solid var(--tinte);box-shadow:5px 5px 0 var(--tinte);color:var(--tinte);background:#fffdf5}
.q-nr{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--s-muted);margin:0 0 6px}
[data-site="d4"] .q-nr{color:#5b5e8a}
.q-frage{font-size:18px;line-height:1.4;margin:0 0 12px}
[data-site="d4"] .q-frage{font-family:inherit;text-transform:none;text-shadow:none;letter-spacing:0;color:var(--tinte)}
.q-antworten{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:a}
.q-antworten li{counter-increment:a}
.q-antworten button{width:100%;text-align:left;display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:calc(var(--s-r)*.7);border:1.5px solid var(--s-line);background:var(--s-bg);color:var(--s-fg);font:inherit;cursor:pointer;transition:transform .1s,border-color .1s}
.q-antworten button::before{content:counter(a,upper-alpha);font-weight:700;min-width:1.2em}
.q-antworten button:hover:not(:disabled){border-color:var(--s-acc);transform:translateX(2px)}
.q-antworten button:disabled{cursor:default}
.q-antworten button.richtig{border-color:#1b7a3a;background:#dff5e6;color:#0d3b1d}
.q-antworten button.falsch{border-color:#b3261e;background:#fde4e2;color:#5c0b0b}
.q-antworten button.gewaehlt{border-color:var(--s-acc);background:color-mix(in srgb,var(--s-acc) 14%,var(--s-bg));font-weight:600}
[data-site="d4"] .q-antworten button{border:2px solid var(--tinte);background:#fff;color:var(--tinte)}
.q-feedback:empty{display:none}
.q-feedback{margin-top:12px;padding:12px 14px;border-radius:calc(var(--s-r)*.7);background:var(--s-bg)}
.q-feedback.ok{background:#dff5e6;color:#0d3b1d}
.q-feedback.nein{background:#fde4e2;color:#5c0b0b}
.q-recht{font-size:13px;opacity:.85;margin-top:4px}
.q-loesung{margin-top:10px;font-size:14px}
.q-loesung summary{cursor:pointer;color:var(--s-link)}
.trainer-app,.trainer-sim{display:grid;gap:18px}
.t-kopf h2{margin:0 0 6px}
.t-zugang{margin:0;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.t-zugang.ok{color:#1b7a3a}
.t-termin{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:end;background:var(--s-card);border:1px solid var(--s-line);border-radius:var(--s-r);padding:14px 16px}
.t-termin label{display:grid;gap:4px;font-weight:600;font-size:14px}
.t-termin input{font:inherit;padding:8px 10px;border-radius:8px;border:1px solid var(--s-line)}
.t-countdown{font-weight:700}
.t-felder{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px}
.t-feld{display:grid;grid-template-columns:80px 1fr;gap:14px;align-items:center;background:var(--s-card);border:1px solid var(--s-line);border-radius:var(--s-r);padding:14px}
[data-site="d4"] .t-feld,[data-site="d4"] .t-termin{border:2px solid var(--tinte);box-shadow:4px 4px 0 var(--tinte);background:#fffdf5;color:var(--tinte)}
.t-feld b{display:block}
.t-feld span{display:block;font-size:14px}
.t-feld small{display:block;font-size:12px;color:var(--s-muted);margin:4px 0 8px}
[data-site="d4"] .t-feld small{color:#5b5e8a}
.ring{width:80px;height:80px}
.ring-bg{fill:none;stroke:var(--s-line);stroke-width:8}
.ring-wert{fill:none;stroke:var(--s-acc);stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .6s}
[data-site="d4"] .ring-wert{stroke:var(--pink)}
.ring text{font:700 16px var(--f-ui,inherit);fill:currentColor}
.t-stand{font-size:13px;color:var(--s-muted);margin:0}
.t-sim-kopf{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;position:sticky;top:64px;z-index:5;background:var(--s-bg);padding:10px 0;border-bottom:1px solid var(--s-line)}
.t-sim-kopf .btn{margin-left:auto}
.t-uhr{font-variant-numeric:tabular-nums;font-weight:700}
.t-uhr.knapp{color:#b3261e}
.t-sim-nav{display:flex;flex-wrap:wrap;gap:6px}
.t-sim-nav button{width:36px;height:36px;border-radius:8px;border:1.5px solid var(--s-line);background:var(--s-card);color:var(--s-fg);font:inherit;font-size:13px;cursor:pointer}
.t-sim-nav button.erledigt{background:color-mix(in srgb,var(--s-acc) 22%,var(--s-card))}
.t-sim-nav button.jetzt{border-color:var(--s-acc);font-weight:700}
.t-ergebnis h2{margin-top:0}
.t-balken-liste{display:grid;gap:10px;max-width:760px}
.t-balken{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,2fr) 48px;gap:10px;align-items:center;font-size:14px}
.t-balken-spur{height:12px;border-radius:999px;background:var(--s-line);overflow:hidden}
.t-balken-spur i{display:block;height:100%;background:var(--s-acc);border-radius:999px}
[data-site="d4"] .t-balken-spur i{background:var(--pink)}
@media (max-width:640px){.t-balken{grid-template-columns:1fr 48px}.t-balken-spur{grid-column:1/-1;order:3}}
.lernplan-ergebnis:empty{display:none}
.lernplan-tab{width:100%;border-collapse:collapse}
.lernplan-tab th,.lernplan-tab td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--s-line);vertical-align:top}
.paket-karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px}
.entwurf-liste{display:grid;gap:12px}
/* Joomla-Formulare (Anmeldung, Registrierung) im Look */
.com-users-login,.com-users-registration,.com-users-reset,.com-users-remind{max-width:560px}
.com-users-login form,.com-users-registration form{display:grid;gap:12px}
.com-users-login input[type=text],.com-users-login input[type=password],.com-users-registration input{font:inherit;padding:10px 12px;border-radius:8px;border:1px solid var(--s-line);width:100%;max-width:420px}
.com-users-login .btn,.com-users-registration .btn,.com-users-login button,.com-users-registration button{display:inline-flex;align-items:center;min-height:44px;padding:10px 20px;border-radius:var(--s-r);font-weight:600;border:2px solid transparent;background:var(--s-acc);color:var(--s-acc-t);cursor:pointer;font-family:inherit}
.control-group{display:grid;gap:4px}
.control-label label{font-weight:600}
/* Pflicht-Sternchen in der Zeile der Beschriftung */
.ada-form fieldset > label:not(.einwilligung){display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:6px}
.ada-form fieldset > label:not(.einwilligung) > input,.ada-form fieldset > label:not(.einwilligung) > select,.ada-form fieldset > label:not(.einwilligung) > textarea{flex:1 0 100%}
[data-site="d4"] .t-zugang.ok{color:#8ff0b8}
[data-site="d4"] .t-zugang.ok b{color:var(--gelb)}
/* Kurze Menüs (Prüfungstrainer, Nachhilfe): Desktop-Navigation schon ab 1025 px */
@media (min-width:1025px) and (max-width:1300px){
  [data-site="d4"] .kopf-in,[data-site="d5"] .kopf-in{flex-wrap:nowrap}
  [data-site="d4"] .nav-schalter,[data-site="d5"] .nav-schalter{display:none}
  [data-site="d4"] .kopf-cta,[data-site="d5"] .kopf-cta{display:inline-flex}
  [data-site="d4"] .snav,[data-site="d5"] .snav{display:flex;width:auto;flex-direction:row;align-items:center;padding:0}
  [data-site="d4"] .snav ul,[data-site="d5"] .snav ul{flex-direction:row;gap:4px 16px}
  [data-site="d4"] .snav li,[data-site="d5"] .snav li{border-top:0;white-space:nowrap}
  [data-site="d4"] .snav a,[data-site="d5"] .snav a{display:inline-block;padding:6px 0;font-size:inherit}
  [data-site="d4"] .snav li ul,[data-site="d5"] .snav li ul{display:none;position:absolute;left:-14px;top:100%;min-width:230px;flex-direction:column;padding:8px 0;background:var(--s-card);border:1px solid var(--s-line);border-radius:var(--s-r);box-shadow:0 14px 34px rgba(0,0,0,.14)}
  [data-site="d4"] .snav li:hover>ul,[data-site="d4"] .snav li:focus-within>ul,[data-site="d5"] .snav li:hover>ul,[data-site="d5"] .snav li:focus-within>ul{display:flex}
  [data-site="d4"] .snav li ul a,[data-site="d5"] .snav li ul a{display:block;padding:8px 14px}
  [data-site="d4"] .snav li.default,[data-site="d5"] .snav li.default{display:none}
  [data-site="d4"] .kopf .snav .nav-cta,[data-site="d5"] .kopf .snav .nav-cta{display:none}
}
/* „Ich bin kein Roboter“ (Joomla-Captcha Proof of Work / ALTCHA) */
.ada-roboter{grid-column:1/-1;display:flex;flex-direction:column;gap:6px;margin:6px 0 4px}
.ada-roboter-titel{font-size:13px;font-weight:600}
.ada-roboter altcha-widget{--altcha-max-width:340px;--altcha-border-radius:10px;--altcha-color-base:#fff;--altcha-color-text:#18213a;--altcha-color-border:var(--s-line,#ccd);--altcha-color-border-focus:var(--akzent,#1f7a5a);--altcha-color-active:var(--akzent,#1f7a5a);--altcha-color-error-text:#b42318;display:block}
