/* =====================================================================
   Fahrschule Aschmann – Startseite (Neubau ab 0)
   Eigenständige Datei, keine Abhängigkeit von app.css / altem Code.
   Mobile-first: Basis-Regeln < 640px, dann Tablet (>=640px), dann
   Desktop (>=980px). 1:1 nach freigegebenem Mockup (homepage_redesign_preview_v2.html).
   ===================================================================== */

:root{
  --brand-primary:#003366;
  --brand-primary-light:#2a6fbf;
  --brand-accent:#ff8c00;
  --brand-accent-dark:#f07b00;
  --pink:#ff4d8d;
  --home-night:#031a2e;
  --home-night-2:#05233d;
  --home-panel:#082b4a;
  --home-card:#0e416a;
  --home-line:rgba(151,198,235,.18);
  --home-line-strong:rgba(151,198,235,.32);
  --home-text:#f7fbff;
  --home-muted:#b9cfe0;
  --radius-l:calc(var(--rk,1px) * 26); /* --rk: Eckenrundung aus dem Admin (Design & Hero), 1px = Standard */
  --radius-m:calc(var(--rk,1px) * 18);
  --max:1240px;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font-family,'Segoe UI',system-ui,-apple-system,sans-serif);background:var(--home-night);color:var(--home-text);line-height:1.5;overflow-x:hidden;letter-spacing:var(--letter-spacing-adjust,0em)}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}

/* ===== MOBILE-FIRST BASE (< 640px) ===== */

.site-header{position:sticky;top:0;z-index:50;padding:12px 0;background:rgba(var(--header-tint,var(--home-tint,3,20,36)),.75);backdrop-filter:blur(16px);border-bottom:1px solid var(--home-line)}
.has-fullbleed-hero .site-header{background:rgba(var(--header-tint,var(--home-tint,3,20,36)),.94);backdrop-filter:none;-webkit-backdrop-filter:none}
.nav{display:flex;align-items:center;justify-content:space-between;gap:10px}
.brand{display:flex;align-items:center;gap:9px;font-weight:900;text-decoration:none;color:var(--ink,#fff);font-size:calc(13px * var(--font-scale,1))}
.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--brand-accent),var(--pink));display:grid;place-items:center;font-size:calc(15px * var(--font-scale,1));flex:none}
.brand small{display:none}
.navlinks{display:none;list-style:none;margin:0;padding:0}
.cta-btn{padding:10px 16px;border-radius:999px;background:linear-gradient(135deg,var(--brand-accent),#ffb35c);color:#1a1200;font-weight:900;text-decoration:none;font-size:calc(12.5px * var(--font-scale,1));white-space:nowrap}

.hero{position:relative;padding:28px 0 40px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:0;
  background:radial-gradient(500px 340px at 90% -10%, rgba(255,140,0,.30), transparent 60%),
             radial-gradient(420px 340px at -10% 90%, rgba(255,77,141,.22), transparent 60%),
             linear-gradient(180deg,var(--home-night) 0%, var(--home-night-2) 55%, var(--home-night) 100%);}
.hero-grid{position:relative;z-index:1}
.eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:calc(10.5px * var(--font-scale,1));font-weight:900;letter-spacing:.1em;color:var(--accent-ink,var(--brand-accent));background:rgba(255,140,0,.12);border:1px solid rgba(255,140,0,.35);padding:6px 11px;border-radius:999px;margin-bottom:16px}
.eyebrow i{width:6px;height:6px;border-radius:50%;background:#4ade80}
h1{font-size:calc(32px * var(--font-scale,1));line-height:1.06;margin:0 0 14px;font-weight:900;letter-spacing:calc(-.02em + var(--letter-spacing-adjust,0em))}
h1 .accent{background:linear-gradient(90deg,var(--accent-g1,#ffb35c),var(--accent-g2,var(--brand-accent)) 45%,var(--accent-g3,var(--pink)));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:calc(15.5px * var(--font-scale,1));color:var(--home-muted);margin:0 0 22px}
.hero-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 22px;border-radius:999px;font-weight:900;font-size:calc(14.5px * var(--font-scale,1));text-decoration:none}
.btn-primary{background:linear-gradient(135deg,var(--brand-accent),var(--pink));color:#1a0f08;box-shadow:0 14px 30px -10px rgba(255,90,120,.5)}
.btn-ghost{background:rgba(var(--glass,255,255,255),.06);border:1px solid var(--home-line-strong);color:var(--ink,#fff)}
.btn-block{width:100%}
.btn-pink{background:linear-gradient(135deg,var(--pink),#c2367a)}
.btn-green{background:linear-gradient(135deg,#4ade80,#22c55e);color:#0d1a12}

.hero-visual{margin-top:26px;position:relative}
.hero-window{position:relative;display:block;width:100%}
.hero-media{position:relative;width:100%;border-radius:var(--hero-radius,24px);overflow:hidden;aspect-ratio:16/11;
  background:linear-gradient(160deg, rgba(255,140,0,.35), transparent 55%),
             linear-gradient(200deg, rgba(255,77,141,.28), transparent 50%),
             linear-gradient(135deg,var(--home-deep-2,#0a3152),var(--home-deep,#031a2e));
  border:1px solid var(--home-line-strong);}
.hero-media video,.hero-media img.hero-media-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-focus-x,50%) var(--hero-focus-y,50%);transform:scale(var(--hero-zoom,1));transform-origin:center}
.hero-media .hero-media-overlay{position:absolute;inset:0;background:#000;opacity:var(--hero-overlay,0);pointer-events:none}
.hero-media .glow{position:absolute;border-radius:50%;filter:blur(40px);opacity:.55}
.hero-media .glow1{width:180px;height:180px;background:var(--brand-accent);top:-40px;right:-40px}
.hero-media .glow2{width:160px;height:160px;background:var(--pink);bottom:-30px;left:-30px}

/* ---- Hero-Modus "Vollbild": Medium über die komplette Breite, Text darüber ---- */
.hero--fullbleed{padding:0}
.hero--fullbleed::before{display:none}
.hero--fullbleed .hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:linear-gradient(135deg,var(--home-deep-2,#0a3152),var(--home-deep,#031a2e))}
.hero--fullbleed .hero-bg video,.hero--fullbleed .hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-focus-x,50%) var(--hero-focus-y,50%);transform:scale(var(--hero-zoom,1));transform-origin:center}
.hero--fullbleed .hero-bg-gradient{position:absolute;inset:0;opacity:var(--hero-gradient,1);background:linear-gradient(90deg, rgba(var(--home-tint,3,20,36),.72) 0%, rgba(var(--home-tint,3,20,36),.52) 55%, rgba(var(--home-tint,3,20,36),.35) 100%)}
.hero--fullbleed .hero-bg-overlay{position:absolute;inset:0;background:#000;opacity:var(--hero-overlay,0)}
.hero--fullbleed .hero-grid{position:relative;z-index:1;padding-top:52px;padding-bottom:44px}
.hero--fullbleed .hero-visual{display:none}
@media(min-width:980px){
  .hero--fullbleed .hero-grid{grid-template-columns:1fr;padding-top:110px;padding-bottom:100px}
  .hero--fullbleed .hero p.lead{max-width:620px}
}
.float-card{margin-top:10px;padding:12px 14px;border-radius:calc(var(--rk,1px) * 14);background:rgba(4,20,36,.85);border:1px solid var(--home-line-strong);font-weight:800;font-size:calc(12px * var(--font-scale,1));display:flex;align-items:center;gap:9px}
.float-card svg{width:17px;height:17px;color:var(--accent-ink,var(--brand-accent));flex:none}

.stats{padding:0 0 44px}
.stat-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;border-radius:calc(var(--rk,1px) * 20);overflow:hidden;border:1px solid var(--home-line)}
.stat{background:var(--home-panel);padding:18px 12px;text-align:center}
.stat b{display:block;font-size:calc(24px * var(--font-scale,1));font-weight:900;color:var(--accent-ink,var(--brand-accent))}
.stat span{font-size:calc(11px * var(--font-scale,1));color:var(--home-muted);font-weight:700}

section{padding:44px 0}
.kicker{display:inline-block;font-size:calc(11px * var(--font-scale,1));font-weight:900;letter-spacing:.1em;color:var(--accent-ink,var(--brand-accent));margin-bottom:10px}
h2{font-size:calc(24px * var(--font-scale,1));font-weight:900;margin:0 0 10px;letter-spacing:calc(-.01em + var(--letter-spacing-adjust,0em))}
.section-head{margin-bottom:26px}
.section-head p{color:var(--home-muted);font-size:calc(14.5px * var(--font-scale,1));margin:0}

.bento{display:grid;grid-template-columns:1fr;gap:14px}
.b-card{position:relative;border-radius:calc(var(--rk,1px) * 20);padding:20px;overflow:hidden;border:1px solid var(--home-line);
  background:linear-gradient(150deg,var(--home-card),var(--home-panel));}
.b-card .icon{width:42px;height:42px;border-radius:calc(var(--rk,1px) * 12);background:linear-gradient(135deg,var(--brand-accent),var(--pink));display:grid;place-items:center;margin-bottom:12px}
.b-card .icon svg{width:20px;height:20px;color:#1a0f08}
.b-card strong{font-size:calc(17px * var(--font-scale,1));font-weight:900;display:block;margin-bottom:4px}
.b-card span{font-size:calc(13px * var(--font-scale,1));color:var(--home-muted)}
.b-card::after{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(255,140,0,.18),transparent 70%)}

.steps-panel{position:relative;overflow:hidden;border-radius:var(--radius-l);padding:20px;
  background:radial-gradient(500px 300px at 108% -12%, rgba(255,140,0,.22), transparent 64%),
             radial-gradient(500px 380px at -12% 108%, rgba(255,77,141,.18), transparent 62%),
             linear-gradient(165deg,var(--home-card) 0%, var(--home-panel) 100%);
  border:1px solid var(--home-line-strong);}
.steps-grid{display:grid;grid-template-columns:1fr;gap:12px}
.step-card{position:relative;background:var(--field-bg,rgba(var(--home-tint,3,20,36),.4));border:1px solid var(--home-line);border-radius:calc(var(--rk,1px) * 16);padding:16px}
.step-card .num{width:34px;height:34px;border-radius:calc(var(--rk,1px) * 10);background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent-dark));display:grid;place-items:center;font-weight:900;font-size:calc(14px * var(--font-scale,1));color:#1a0f08;margin-bottom:10px}
.step-card strong{display:block;font-size:calc(14.5px * var(--font-scale,1));margin-bottom:3px}
.step-card span{font-size:calc(12px * var(--font-scale,1));color:var(--home-muted);line-height:1.5}

.spotlight{position:relative;overflow:hidden;border-radius:var(--radius-l);padding:22px;border:1px solid var(--home-line-strong);
  background:linear-gradient(150deg,var(--home-card),var(--home-panel));}
.spotlight.accent-a::before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,140,0,.28),transparent 70%)}
.spotlight.accent-b::before{content:"";position:absolute;left:-60px;bottom:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,77,141,.24),transparent 70%)}
.spotlight.accent-c::before{content:"";position:absolute;right:-40px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(74,222,128,.20),transparent 70%)}
.spotlight .icon{position:relative;width:46px;height:46px;border-radius:calc(var(--rk,1px) * 13);display:grid;place-items:center;margin-bottom:14px}
.spotlight.accent-a .icon{background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent-dark))}
.spotlight.accent-b .icon{background:linear-gradient(135deg,var(--pink),#c2367a)}
.spotlight.accent-c .icon{background:linear-gradient(135deg,#4ade80,#22c55e)}
.spotlight .icon svg{width:22px;height:22px;color:#0d1a12}
.spotlight.accent-a .icon svg,.spotlight.accent-b .icon svg{color:#1a0f08}
.spotlight span.tag{position:relative;display:inline-block;font-size:calc(10.5px * var(--font-scale,1));font-weight:900;letter-spacing:.1em;color:var(--accent-ink,var(--brand-accent));margin-bottom:8px}
.spotlight h3{position:relative;margin:0 0 8px;font-size:calc(19px * var(--font-scale,1));font-weight:900;letter-spacing:calc(-.01em + var(--letter-spacing-adjust,0em))}
.spotlight p{position:relative;margin:0 0 14px;color:var(--home-muted);font-size:calc(13.5px * var(--font-scale,1));line-height:1.55}
.spotlight .tags{position:relative;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.spotlight .tags span{padding:6px 10px;border:1px solid var(--home-line);border-radius:999px;background:var(--field-bg,rgba(var(--home-tint,3,20,36),.4));font-size:calc(11px * var(--font-scale,1));font-weight:800}
.spotlight-grid{display:grid;gap:16px}

/* Social-Buttons (01.10.2026): länglich wie auf der alten Seite – Logo/Icon-Bild + Name + Unterzeile */
.social-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.social-card{position:relative;display:flex;align-items:center;gap:12px;min-block-size:64px;padding:11px 14px;border-radius:calc(var(--rk,1px) * 16);border:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.25);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.social-card:hover,.social-card:focus-visible{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.38);filter:brightness(1.06)}
.social-card:focus-visible{outline:3px solid var(--brand-accent);outline-offset:3px}
.social-icon{display:grid;place-items:center;flex:0 0 auto;inline-size:40px;block-size:40px;border-radius:calc(var(--rk,1px) * 12);background:rgba(255,255,255,.18);overflow:hidden}
.social-icon img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.social-text{display:grid;min-inline-size:0;line-height:1.2}
.social-text strong{font-size:calc(15px * var(--font-scale,1));font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.social-text small{font-size:calc(12px * var(--font-scale,1));font-weight:600;opacity:.88;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.social-instagram{background:linear-gradient(135deg,#7a2fe3,#e4387d 55%,#ff8a3d)}
.social-facebook{background:linear-gradient(135deg,#1565d8,#2a8af0)}
.social-tiktok{background:linear-gradient(135deg,#0d0d10,#24151c);box-shadow:inset 3px 0 0 #25f4ee,inset -3px 0 0 #fe2c55,0 8px 20px rgba(0,0,0,.25)}
.social-tiktok:hover,.social-tiktok:focus-visible{box-shadow:inset 3px 0 0 #25f4ee,inset -3px 0 0 #fe2c55,0 12px 26px rgba(0,0,0,.38)}
.social-tiktok .social-icon{background:#080b10}
.social-tiktok .social-icon svg{filter:drop-shadow(-1.5px 0 0 #25f4ee) drop-shadow(1.5px 1px 0 #fe2c55)}
.social-whatsapp{background:linear-gradient(135deg,#128c4a,#25d366)}
@media(prefers-reduced-motion:reduce){.social-card{transition:none}.social-card:hover,.social-card:focus-visible{transform:none}}

.final-cta{position:relative;border-radius:var(--radius-l);overflow:hidden;padding:44px 22px;text-align:center;
  background:radial-gradient(400px 260px at 20% 0%, rgba(255,140,0,.30), transparent 60%),
             radial-gradient(400px 260px at 90% 100%, rgba(255,77,141,.25), transparent 60%),
             linear-gradient(135deg,var(--brand-primary),var(--home-deep,#031a2e) 80%);
  border:1px solid var(--home-line-strong);}
.final-cta h2{font-size:calc(26px * var(--font-scale,1))}
.final-cta .accent{background:linear-gradient(90deg,#ffb35c,var(--brand-accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.final-cta p{color:var(--home-muted);margin:0 auto 22px}

.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;padding:10px 14px;background:rgba(var(--home-tint,3,20,36),.92);backdrop-filter:blur(16px);border-top:1px solid var(--home-line-strong);gap:8px}
.mobile-bar a{flex:1;text-align:center;padding:13px;border-radius:13px;background:linear-gradient(135deg,var(--brand-accent),var(--pink));color:#1a0f08;font-weight:900;text-decoration:none;font-size:calc(13.5px * var(--font-scale,1))}
body{padding-bottom:70px}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
footer{padding:30px 0;text-align:center;color:var(--home-muted);font-size:calc(12px * var(--font-scale,1));border-top:1px solid var(--home-line)}

/* ===== TABLET (>=640px) ===== */
@media(min-width:640px){
  .hero-actions{flex-direction:row}
  .btn{padding:16px 26px}
  .stat-strip{grid-template-columns:repeat(4,1fr)}
  .bento{grid-template-columns:repeat(2,1fr)}
  .steps-grid{grid-template-columns:repeat(2,1fr)}
  h1{font-size:calc(44px * var(--font-scale,1))}
  h2{font-size:calc(30px * var(--font-scale,1))}
}

/* ===== DESKTOP (>=980px) ===== */
@media(min-width:980px){
  .site-header{padding:16px 0}
  .brand small{display:block;font-weight:600;font-size:calc(11px * var(--font-scale,1));color:var(--home-muted)}
  .navlinks{display:flex;gap:4px}
  .navlinks a{padding:9px 15px;border-radius:999px;font-size:calc(13.5px * var(--font-scale,1));font-weight:800;text-decoration:none;color:var(--ink-soft,#dce9f4)}
  .navlinks a:hover{background:rgba(var(--glass,255,255,255),.08)}
  .cta-btn{padding:12px 22px;font-size:calc(14px * var(--font-scale,1))}

  .hero{padding:64px 0 80px}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}
  h1{font-size:calc(60px * var(--font-scale,1))}
  .hero p.lead{font-size:calc(18px * var(--font-scale,1));max-width:520px}
  .hero-visual{margin-top:0}
  .hero-window{width:var(--hero-size,100%);margin-left:auto;transform:translate3d(var(--hero-shift-x,0%),var(--hero-shift-y,0%),0)}
  .float-card{position:absolute;margin-top:0;animation:hero-float 5s ease-in-out infinite}
  .float-card.f1{top:6%;left:-6%}
  .float-card.f2{bottom:8%;right:-8%;animation-delay:1.1s}
  @keyframes hero-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
  @media(prefers-reduced-motion:reduce){.float-card{animation:none}}

  .stats{padding:0 0 70px}
  section{padding:70px 0}
  h2{font-size:calc(38px * var(--font-scale,1))}
  .section-head{max-width:640px;margin-bottom:38px}

  .bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:135px}
  .b-card.big{grid-column:span 2;grid-row:span 2}
  .b-card.wide{grid-column:span 2}
  .b-card.big strong{font-size:calc(23px * var(--font-scale,1))}
  .b-card{transition:transform .2s ease}
  .b-card:hover{transform:translateY(-4px)}

  .steps-grid{grid-template-columns:repeat(5,1fr)}

  .spotlight-grid.cols-3{grid-template-columns:repeat(3,1fr)}
  .spotlight-grid.cols-2{grid-template-columns:repeat(2,1fr)}
  .spotlight-grid.cols-1{max-inline-size:560px}
  .spotlight{padding:26px}

  .final-cta{padding:70px 40px}
  .final-cta h2{font-size:calc(42px * var(--font-scale,1))}

  .mobile-bar{display:none}
  body{padding-bottom:0}
}
/* Phase 2: Sprachumschalter im Kopf (nur sichtbar, wenn Modul „Sprachumschalter“ an). Logische Abstände für RTL. */
.nav-end{display:flex;align-items:center;gap:10px}
.lang-switch{position:relative}
.lang-switch summary{list-style:none;cursor:pointer;padding-block:9px;padding-inline:12px;border-radius:999px;border:1px solid var(--home-line-strong);color:var(--ink-soft,#dce9f4);font-weight:800;font-size:calc(12.5px * var(--font-scale,1));user-select:none}
.lang-switch summary::-webkit-details-marker{display:none}
.lang-switch summary::after{content:" \25BE";opacity:.7}
.lang-switch[open] summary{background:rgba(var(--glass,255,255,255),.08)}
.lang-switch ul{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;z-index:60;min-inline-size:170px;margin:0;padding-block:6px;padding-inline:6px;list-style:none;background:var(--home-panel);border:1px solid var(--home-line-strong);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.lang-switch a{display:block;padding-block:9px;padding-inline:12px;border-radius:10px;color:var(--home-text);text-decoration:none;font-weight:700;font-size:calc(13.5px * var(--font-scale,1))}
.lang-switch a:hover{background:rgba(var(--glass,255,255,255),.08)}
.lang-switch a[aria-current]{color:var(--accent-ink,var(--brand-accent))}
@media(max-width:639px){.nav-end{min-inline-size:0;gap:8px}.nav-end .cta-btn{white-space:normal;text-align:center;line-height:1.2;max-inline-size:8.5em;padding-inline:12px}.nav .brand{min-inline-size:0}}
@media(max-width:399px){.nav-end{gap:6px}.lang-switch summary{padding-inline:9px}.nav-end .cta-btn{max-inline-size:7.5em;padding-inline:10px}}
/* Phase 2a: Links in der Fußzeile (Rechtstexte, Kontakt) – Startseite und Unterseiten */
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-block-start:12px}
.footer-links a{color:var(--home-muted);text-decoration:none;font-weight:700;padding-block:4px}
.footer-links a:hover,.footer-links a:focus-visible{color:var(--home-text);text-decoration:underline}

/* ===== Fußzeile (neu): Marke, Kontakt, Rechtliches, Social Media ===== */
.site-footer{margin-block-start:40px;padding:0;text-align:start;color:var(--home-muted);font-size:calc(14px * var(--font-scale,1));border-top:1px solid var(--home-line);
  background:radial-gradient(600px 260px at 0% 0%,rgba(255,140,0,.10),transparent 70%),linear-gradient(180deg,var(--home-night-2),var(--home-night))}
.footer-grid{display:grid;gap:28px;padding-block:40px 30px}
.footer-brand .brand{font-size:calc(16px * var(--font-scale,1))}
.footer-brand p{margin:12px 0 16px;max-width:34ch;line-height:1.55}
.footer-social{display:flex;gap:10px}
.footer-social a{display:grid;place-items:center;width:42px;height:42px;border-radius:calc(var(--rk,1px) * 12);border:1px solid var(--home-line-strong);color:var(--home-text);background:rgba(var(--glass,255,255,255),.04);transition:background .15s,border-color .15s,color .15s}
.footer-social a:hover,.footer-social a:focus-visible{background:var(--brand-accent);border-color:var(--brand-accent);color:#1a1200}
.footer-col h2{margin:0 0 12px;color:var(--home-text);font-size:calc(12px * var(--font-scale,1));font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer-col a{color:var(--home-text);text-decoration:none;font-weight:700}
.footer-col a:hover,.footer-col a:focus-visible{color:var(--accent-ink,var(--brand-accent))}
.site-footer .footer-links{display:grid;gap:8px;justify-content:start;margin:0}
.site-footer .footer-links a{color:var(--home-text);padding:0}
.site-footer .footer-links a:hover,.site-footer .footer-links a:focus-visible{color:var(--accent-ink,var(--brand-accent));text-decoration:none}
.footer-bottom{border-top:1px solid var(--home-line);padding-block:16px;font-size:calc(12.5px * var(--font-scale,1))}
@media(min-width:640px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
/* Fußzeile mit Spalte „Seiten“: Seiten-Links zweispaltig, damit die Liste kurz bleibt; Tablet 2 × 2, Desktop vier Spalten */
.site-footer .footer-pages{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
@media(min-width:640px){.footer-grid.has-pages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:980px){.footer-grid.has-pages{grid-template-columns:1.3fr 1fr 1.8fr .9fr}}
/* Social: 640–767 px (z. B. iPad mini hoch) Buttons nicht über die ganze Breite */
@media(min-width:640px){.social-section .social-strip{grid-template-columns:repeat(2,200px)}}
/* Social: ab 768 px Text links, Buttons rechts (2 je Reihe) */
@media(min-width:768px){
  .social-section>.wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 48px;align-items:center}
  .social-section .section-head{margin:0}
  .social-section .social-strip{grid-template-columns:repeat(2,170px)}
  .social-section .social-strip:not(:has(>:nth-child(2))){grid-template-columns:170px}
}
/* Social: ab 1280 px alle Buttons in einer Reihe */
@media(min-width:1280px){
  .social-section .social-strip{grid-template-columns:repeat(var(--social-count,4),175px)}
}

/* ===== Kompakt-Paket (02.10.2026): kleinere Kacheln, weniger Luft, Zahlenleiste aufgewertet ===== */
/* Zahlenleiste: schwebt über der Hero-Kante, Verlaufsrahmen, Symbole, Zahlen zählen hoch (main.js); v13: Schrift und Höhe kleiner */
.hero-actions{margin-bottom:0}
.hero{padding-bottom:64px}
.hero--fullbleed{padding-bottom:0}
.hero--fullbleed .hero-grid{padding-bottom:78px}
.stats{position:relative;z-index:2;margin-top:-38px;padding:0 0 36px}
.stat-strip{position:relative;gap:0;border:0;padding:1.5px;border-radius:calc(var(--rk,1px) * 22);overflow:hidden;
  background:linear-gradient(120deg,var(--brand-accent),var(--pink) 45%,rgba(255,255,255,.14) 70%,var(--brand-accent));
  box-shadow:0 18px 44px rgba(0,0,0,.45),0 0 34px rgba(255,140,0,.16)}
.stat{position:relative;display:grid;justify-items:center;gap:1px;padding:10px 8px 9px;background:linear-gradient(170deg,var(--home-card),var(--home-panel));transition:background .2s ease}
.stat:first-child{border-start-start-radius:calc(var(--rk,1px) * 21)}
.stat:last-child{border-end-end-radius:calc(var(--rk,1px) * 21)}
.stat:nth-child(2){border-start-end-radius:calc(var(--rk,1px) * 21)}
.stat:nth-child(3){border-end-start-radius:calc(var(--rk,1px) * 21)}
.stat:nth-child(odd){border-inline-end:1px solid var(--home-line)}
.stat:nth-child(-n+2){border-block-end:1px solid var(--home-line)}
.stat-ico{display:grid;place-items:center;inline-size:22px;block-size:22px;margin-block-end:2px;border-radius:calc(var(--rk,1px) * 7);color:#1a0f08;background:linear-gradient(135deg,var(--brand-accent),var(--pink))}
.stat-ico svg{inline-size:13px;block-size:13px}
.stat b{font-size:calc(20px * var(--font-scale,1));line-height:1.05;font-variant-numeric:tabular-nums;background:linear-gradient(90deg,var(--accent-g1,#ffc27a),var(--accent-g2,var(--brand-accent)) 55%,var(--accent-g3,var(--pink)));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{font-size:calc(11px * var(--font-scale,1))}
@media(hover:hover){.stat:hover{background:linear-gradient(170deg,var(--home-card),var(--home-card))}}

/* Abstände */
section{padding:36px 0}
.section-head{margin-bottom:20px}

/* Führerschein-Kacheln: am Handy 2 × 2 */
.bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.b-card{padding:14px;border-radius:calc(var(--rk,1px) * 18)}
.b-card .icon{width:36px;height:36px;border-radius:calc(var(--rk,1px) * 11);margin-bottom:10px}
.b-card .icon svg{width:18px;height:18px}
.b-card strong{font-size:calc(15px * var(--font-scale,1));line-height:1.25}
.b-card span{font-size:calc(12.5px * var(--font-scale,1));line-height:1.45;display:block}

/* 5 Schritte: schlanke Zeilen (Nummer links, Text rechts) */
.steps-panel{padding:14px}
.steps-grid{gap:8px}
.step-card{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:12px;align-items:center;padding:10px 12px;border-radius:calc(var(--rk,1px) * 14)}
.step-card .num{grid-row:span 2;margin-bottom:0}
.step-card strong{margin-bottom:0;align-self:end}
.step-card span{align-self:start;line-height:1.35}

/* Module: Symbol neben Titel, weniger Innenabstand, Knopf unten bündig */
.spotlight-grid{gap:12px}
.spotlight{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto 1fr auto;column-gap:12px;padding:16px}
.spotlight .icon{grid-row:span 2;align-self:center;width:42px;height:42px;margin-bottom:0}
.spotlight span.tag{margin-bottom:2px;align-self:end}
.spotlight h3{margin:0;font-size:calc(17px * var(--font-scale,1));line-height:1.2;align-self:start}
.spotlight p{grid-column:1 / -1;margin:10px 0 10px;font-size:calc(13px * var(--font-scale,1));line-height:1.5}
.spotlight .tags{grid-column:1 / -1;margin-bottom:12px;align-self:start}
.spotlight .tags span{padding:5px 9px}
.spotlight .btn{grid-column:1 / -1;padding:12px 16px}

.final-cta{padding:34px 20px}

@media(min-width:640px){
  .stat-strip{border-radius:calc(var(--rk,1px) * 22)}
  .stat:nth-child(n){padding:13px 12px 12px;border-radius:0;border-block-end:0;border-inline-end:1px solid var(--home-line)}
  .stat:nth-child(n):first-child{border-start-start-radius:calc(var(--rk,1px) * 21);border-end-start-radius:calc(var(--rk,1px) * 21)}
  .stat:nth-child(n):last-child{border-start-end-radius:calc(var(--rk,1px) * 21);border-end-end-radius:calc(var(--rk,1px) * 21);border-inline-end:0}
  .stat b{font-size:calc(24px * var(--font-scale,1))}
  .stat-ico{inline-size:26px;block-size:26px;margin-block-end:3px;border-radius:calc(var(--rk,1px) * 8)}
  .stat-ico svg{inline-size:15px;block-size:15px}
  .bento{gap:12px}
  .b-card{padding:16px}
}
/* ab iPad mini hoch: 5 Schritte in einer Reihe, 3 Module nebeneinander */
@media(min-width:720px){
  .steps-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .step-card{display:block;padding:10px}
  .step-card strong{font-size:calc(13px * var(--font-scale,1));overflow-wrap:anywhere;hyphens:auto}
  .step-card .num{margin-bottom:8px}
  .step-card strong{margin-bottom:2px}
  .spotlight-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .spotlight-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spotlight{padding:16px}
}
@media(min-width:980px){
  .hero{padding-bottom:104px}
  .hero--fullbleed{padding-bottom:0}
  .hero--fullbleed .hero-grid{padding-bottom:126px}
  .stats{margin-top:-52px;padding:0 0 44px}
  .stat:nth-child(n){padding:14px 14px 13px}
  .stat b{font-size:calc(26px * var(--font-scale,1))}
  section{padding:50px 0}
  .section-head{margin-bottom:26px}
  .bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:112px;gap:14px}
  .b-card{padding:18px}
  .b-card .icon{width:40px;height:40px}
  .b-card strong{font-size:calc(17px * var(--font-scale,1))}
  .b-card.big strong{font-size:calc(22px * var(--font-scale,1))}
  .b-card span{font-size:calc(13px * var(--font-scale,1))}
  .step-card{padding:14px}
  .step-card strong{font-size:calc(14.5px * var(--font-scale,1))}
  .spotlight-grid{gap:16px}
  .spotlight{padding:20px}
  .spotlight h3{font-size:calc(18px * var(--font-scale,1))}
  .final-cta{padding:48px 40px}
}
@media(prefers-reduced-motion:reduce){.stat{transition:none}}

/* Knopf „Vertrag widerrufen“ in der Fußzeile (elektronische Widerrufsfunktion, v15): hebt sich von den Rechts-Links ab */
.site-footer .withdraw-btn{display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;margin-block-start:14px;padding-block:10px;padding-inline:18px;border-radius:999px;border:2px solid var(--brand-accent);color:var(--accent-ink,var(--brand-accent));font-weight:800;font-size:calc(14px * var(--font-scale,1));text-decoration:none}
.site-footer .withdraw-btn:hover,.site-footer .withdraw-btn:focus-visible{background:var(--brand-accent);color:#1a1200}
/* ===== Menü der Kopfzeile (inc/menu.php, Admin „Startseite“): Hamburger unter 980 px, Sprachen nebeneinander oder als Dropdown ===== */
.sec-anchor{display:block;block-size:0;scroll-margin-block-start:72px}
.mainnav{display:none}
.nav-end .is-desktop,.lang-row.is-wide{display:none}
.navlinks a[aria-current]{color:var(--accent-ink,var(--brand-accent))}
.lang-row{display:flex;flex-wrap:wrap;gap:4px}
.lang-row a{padding:8px 9px;border-radius:999px;border:1px solid var(--home-line-strong);color:var(--ink-soft,#dce9f4);font-weight:800;font-size:calc(12px * var(--font-scale,1));line-height:1;text-decoration:none}
.lang-row a:hover,.lang-row a:focus-visible{background:rgba(var(--glass,255,255,255),.08)}
.lang-row a[aria-current]{background:linear-gradient(135deg,var(--brand-accent),#ffb35c);border-color:transparent;color:#1a1200}
.nav-toggle{list-style:none;display:grid;place-items:center;inline-size:42px;block-size:42px;border-radius:13px;border:1px solid var(--home-line-strong);cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
.nav-toggle::-webkit-details-marker{display:none}
.nav-toggle:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}
.nav-toggle-box{position:relative;display:block;inline-size:20px;block-size:14px}
.nav-toggle-box i{position:absolute;inset-inline:0;inset-block-start:6px;block-size:2px;border-radius:2px;background:var(--ink,#fff);transition:transform .3s ease,opacity .2s ease}
.nav-toggle-box i:nth-child(1){transform:translateY(-6px)}
.nav-toggle-box i:nth-child(3){transform:translateY(6px)}
.nav-burger[open] .nav-toggle{background:linear-gradient(135deg,var(--brand-accent),var(--pink));border-color:transparent}
.nav-burger[open] .nav-toggle-box i{background:#1a0f08}
.nav-burger[open] .nav-toggle-box i:nth-child(1){transform:rotate(45deg)}
.nav-burger[open] .nav-toggle-box i:nth-child(2){opacity:0}
.nav-burger[open] .nav-toggle-box i:nth-child(3){transform:rotate(-45deg)}
.site-header.is-menu-open,.site-header:has(.nav-burger[open]){z-index:90;background:rgba(var(--header-tint,var(--home-tint,3,20,36)),.98);backdrop-filter:none;-webkit-backdrop-filter:none}
body.menu-open{overflow:hidden}
.site-menu{position:absolute;inset-inline:0;inset-block-start:100%;block-size:calc(100vh - var(--header-h,61px));block-size:calc(100dvh - var(--header-h,61px));
  background:radial-gradient(420px 300px at 100% 0,rgba(255,140,0,.26),transparent 62%),radial-gradient(380px 320px at 0 100%,rgba(255,77,141,.2),transparent 62%),#031424;
  animation:menu-fade .22s ease both}
.site-menu-in{box-sizing:border-box;block-size:100%;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:18px;padding:14px 22px calc(110px + env(safe-area-inset-bottom,0px));max-inline-size:560px;margin-inline:auto}
.site-menu-links{list-style:none;margin:0;padding:0;display:grid}
.site-menu-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:12px;border-block-end:1px solid var(--home-line);color:var(--ink,#fff);font-size:calc(19px * var(--font-scale,1));font-weight:800;line-height:1.2;text-decoration:none;overflow-wrap:anywhere}
.site-menu-links a::after{content:"\2192";flex:none;font-size:.85em;color:var(--accent-ink,var(--brand-accent));transition:transform .2s ease}
.site-menu-links a:hover::after,.site-menu-links a:focus-visible::after{transform:translateX(4px)}
[dir=rtl] .site-menu-links a::after{content:"\2190"}
.site-menu-links a[aria-current]{color:var(--accent-ink,var(--brand-accent))}
.site-menu-cta{align-self:flex-start}
.site-menu-langs{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.site-menu-langs>span{font-size:calc(11px * var(--font-scale,1));font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--home-muted)}
.site-menu-langs .lang-row a{padding:10px 13px;font-size:calc(13.5px * var(--font-scale,1))}
.site-menu-langs .lang-switch ul{position:static;margin-block-start:8px;box-shadow:none}
.nav-burger[open] .site-menu-links li,.nav-burger[open] .site-menu-cta,.nav-burger[open] .site-menu-langs{animation:menu-in .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 55ms + 70ms)}
@keyframes menu-fade{from{opacity:0}to{opacity:1}}
@keyframes menu-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
/* Seitenleiste von rechts */
.site-menu--side{inset-inline-start:auto;inline-size:min(86vw,340px);border-inline-start:1px solid var(--home-line-strong);box-shadow:-30px 0 60px rgba(0,0,0,.55);animation:menu-slide .32s cubic-bezier(.2,.8,.2,1) both}
.site-menu--side::before{content:"";position:absolute;inset-block:0;inset-inline-end:100%;inline-size:100vw;background:rgba(2,10,20,.6);animation:menu-fade .3s ease both}
.site-menu--side .site-menu-in{padding-inline:20px}
.site-menu--side .site-menu-links a{font-size:calc(17px * var(--font-scale,1));padding-block:11px}
@keyframes menu-slide{from{transform:translateX(100%)}to{transform:none}}
[dir=rtl] .site-menu--side{animation-name:menu-slide-rtl}
@keyframes menu-slide-rtl{from{transform:translateX(-100%)}to{transform:none}}
@media(max-width:399px){.site-header.has-burger .nav-end{gap:6px}.nav-toggle{inline-size:40px;block-size:40px}}
@media(min-width:360px) and (max-width:639px){.site-header.has-burger .nav-end .cta-btn{white-space:nowrap;max-inline-size:none}}
@media(min-width:640px){.lang-row.is-wide{display:flex}.lang-switch.is-narrow{display:none}}
@media(min-width:980px){
  .mainnav{display:block;min-inline-size:0}
  .navlinks{flex-wrap:wrap;justify-content:center}
  .nav-burger{display:none}
  .lang-switch.is-desktop{display:block}
  .lang-row.is-desktop{display:flex;flex-wrap:nowrap}
  .cta-btn.is-desktop{display:inline-block}
}
@media(min-width:980px) and (max-width:1179px){.site-header.has-burger .navlinks a{padding-inline:10px}.site-header.has-burger .brand small{display:none}}
/* Mehr als sechs Menüpunkte: Hamburger bis 1280 px, darüber Menüzeile ohne den kleinen Text unter dem Namen */
.site-header.nav-many .brand small{display:none}
@media(min-width:640px){.site-header.nav-many .brand{white-space:nowrap}}
@media(min-width:980px) and (max-width:1279px){.site-header.nav-many .mainnav{display:none}.site-header.nav-many .nav-burger{display:block}}
@media(min-width:1280px){.site-header.nav-many .navlinks a{padding-inline:11px}}
@media(prefers-reduced-motion:reduce){.site-menu,.site-menu--side,.site-menu--side::before,.nav-burger[open] .site-menu-links li,.nav-burger[open] .site-menu-cta,.nav-burger[open] .site-menu-langs{animation:none}.nav-toggle-box i{transition:none}}
/* Wege-Kacheln („Dein Weg“, Admin „Wege“): flache, farbige Kacheln mit Knopf „Auswählen“ – beliebige Anzahl, Farbe je Weg (--c1/--c2 im style-Attribut).
   Feste Farben mit weißer Schrift, in allen Farb-Designs gleich. */
.bento-ways{grid-auto-rows:auto}
.bento-ways>.b-card{position:relative;min-height:150px;padding:14px 14px 56px;border:0;color:#fff;
  background:linear-gradient(135deg,var(--c1,#b83a0a),var(--c2,#d9480f));box-shadow:0 14px 30px -16px var(--c1,#b83a0a)}
.bento-ways>.b-card::after{display:none}
.bento-ways>.b-card strong,.bento-ways>.b-card span{color:#fff}
.bento-ways>.b-card span{opacity:.94}
.bento-ways>.b-card .icon{background:rgba(255,255,255,.22)}
.bento-ways>.b-card .icon svg{color:#fff}
.bento-ways .b-go{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;padding:7px 13px;border-radius:999px;background:#fff;color:#111;font-style:normal;font-weight:900;font-size:calc(12.5px * var(--font-scale,1));line-height:1.2;transition:transform .2s ease}
.bento-ways>a.b-card:hover .b-go,.bento-ways>a.b-card:focus-visible .b-go{transform:translateX(3px)}
.bento-ways>a.b-card:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:979px){.bento-ways>.b-card:last-child:nth-child(odd){grid-column:1 / -1}}
@media(min-width:980px){
  .bento-ways{grid-template-columns:repeat(var(--ways-cols,4),minmax(0,1fr));grid-auto-rows:auto}
  .bento-ways>.b-card{min-height:176px;padding:18px 18px 62px}
}
/* Wege-Kacheln mit Foto (Admin „Wege“): Foto füllt die Kachel, darüber ein Farbschleier in den Farben des Wegs, damit die weiße Schrift lesbar bleibt */
.bento-ways>.b-card.has-photo{isolation:isolate}
.bento-ways>.b-card .b-photo{position:absolute;inset:0;z-index:-2;inline-size:100%;block-size:100%;object-fit:cover;object-position:60% 50%;transition:transform .6s ease}
.bento-ways>.b-card.has-photo::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(135deg,rgba(0,0,0,.45),rgba(0,0,0,.62));
  background:linear-gradient(160deg,color-mix(in srgb,var(--c1,#b83a0a) 58%,transparent),color-mix(in srgb,var(--c2,#d9480f) 92%,transparent))}
/* Chip oben links; bei mindestens einem Chip bekommen alle Kacheln oben denselben Platz, damit die Symbole auf einer Linie bleiben */
.bento-ways .b-chip{position:absolute;inset-block-start:12px;inset-inline-start:14px;max-inline-size:calc(100% - 28px);padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.42);
  color:#fff;font-weight:800;font-size:calc(11.5px * var(--font-scale,1));line-height:1.3;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.bento-ways.has-chips>.b-card{padding-block-start:46px}
@media(min-width:980px){.bento-ways.has-chips>.b-card{padding-block-start:52px}.bento-ways .b-chip{inset-block-start:14px;inset-inline-start:18px}}
/* Bewegung nur mit Maus (Handy bleibt ruhig) und nur, wenn der Besucher Bewegung nicht abgeschaltet hat */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .bento-ways>a.b-card{transition:transform .25s ease,box-shadow .25s ease}
  .bento-ways>a.b-card:hover,.bento-ways>a.b-card:focus-visible{transform:translateY(-5px);box-shadow:0 22px 38px -16px var(--c1,#b83a0a)}
  .bento-ways>a.b-card:hover .b-photo,.bento-ways>a.b-card:focus-visible .b-photo{transform:scale(1.07)}
}
@media(prefers-reduced-motion:reduce){.bento-ways .b-go{transition:none}.bento-ways>a.b-card:hover .b-go{transform:none}}
/* Werbe-Banner: die Kästen Prüfungsangst, Fahrstunden, Kontakt, Schnellkurs und Über uns – je eigene Farbe, Text links, weißer Knopf rechts.
   Farben sind fest (weiße Schrift auf kräftigem Verlauf, in allen Farb-Designs gleich); „.final-cta“ steht in fs_light_islands(). */
.home-pruefungsangst{--cta1:#6d4aff;--cta2:#d6336c}
.home-fahrschulwechsel{--cta1:#364fc7;--cta2:#862e9c}
.home-umschreibung{--cta1:#0b7285;--cta2:#5f3dc4}
.home-buchen{--cta1:#b83a0a;--cta2:#d9480f}
.home-contact{--cta1:#0b7285;--cta2:#1971c2}
.home-schnellkurs{--cta1:#c92a2a;--cta2:#d9480f}
.home-ueberuns{--cta1:#1864ab;--cta2:#5f3dc4}
:is(.home-pruefungsangst,.home-fahrschulwechsel,.home-umschreibung,.home-buchen,.home-contact,.home-schnellkurs,.home-ueberuns) .final-cta{
  display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;row-gap:6px;align-items:center;text-align:left;
  padding:26px 30px;border:0;color:#fff;
  background:linear-gradient(100deg,var(--cta1),var(--cta2));box-shadow:0 14px 34px -14px var(--cta1)}
:is(.home-pruefungsangst,.home-fahrschulwechsel,.home-umschreibung,.home-buchen,.home-contact,.home-schnellkurs,.home-ueberuns) .final-cta>:not(.btn){grid-column:1}
:is(.home-pruefungsangst,.home-fahrschulwechsel,.home-umschreibung,.home-buchen,.home-contact,.home-schnellkurs,.home-ueberuns) .final-cta .kicker{color:rgba(255,255,255,.9);margin:0}
:is(.home-pruefungsangst,.home-fahrschulwechsel,.home-umschreibung,.home-buchen,.home-contact,.home-schnellkurs,.home-ueberuns) .final-cta h2{margin:0;color:#fff;font-size:calc(26px * var(--font-scale,1))}
:is(.home-pruefungsangst,.home-fahrschulwechsel,.home-umschreibung,.home-buchen,.home-contact,.home-schnellkurs,.home-ueberuns) .final-cta .accent{background:none;-webkit-text-fill-color:#fff;color:#fff;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}
:is(.home-pruefungsangst,.home-fahrschulwechsel,.home-umschreibung,.home-buchen,.home-contact,.home-schnellkurs,.home-ueberuns) .final-cta p{margin:0;color:rgba(255,255,255,.95)}
:is(.home-pruefungsangst,.home-fahrschulwechsel,.home-umschreibung,.home-buchen,.home-contact,.home-schnellkurs,.home-ueberuns) .final-cta .btn{grid-column:2;grid-row:1 / 4;background:#fff;color:#111;box-shadow:none}
:is(.home-pruefungsangst,.home-fahrschulwechsel,.home-umschreibung,.home-buchen,.home-contact,.home-schnellkurs,.home-ueberuns) .final-cta .btn:hover,
:is(.home-pruefungsangst,.home-fahrschulwechsel,.home-umschreibung,.home-buchen,.home-contact,.home-schnellkurs,.home-ueberuns) .final-cta .btn:focus-visible{background:#fff4e6;color:#111}
@media(max-width:699px){
  :is(.home-pruefungsangst,.home-fahrschulwechsel,.home-umschreibung,.home-buchen,.home-contact,.home-schnellkurs,.home-ueberuns) .final-cta{grid-template-columns:minmax(0,1fr);padding:22px 20px}
  :is(.home-pruefungsangst,.home-fahrschulwechsel,.home-umschreibung,.home-buchen,.home-contact,.home-schnellkurs,.home-ueberuns) .final-cta .btn{grid-column:1;grid-row:auto;justify-self:start;margin-top:12px}
}
@media(min-width:980px){
  :is(.home-pruefungsangst,.home-fahrschulwechsel,.home-umschreibung,.home-buchen,.home-contact,.home-schnellkurs,.home-ueberuns) .final-cta{padding:30px 36px}
  :is(.home-pruefungsangst,.home-fahrschulwechsel,.home-umschreibung,.home-buchen,.home-contact,.home-schnellkurs,.home-ueberuns) .final-cta h2{font-size:calc(30px * var(--font-scale,1))}
}

/* Preisrechner-Banner (Startseite, inc/home/rechner.php) – schmaler Streifen */
.home-rechner{padding-block:6px}
.rcb{display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:calc(var(--rk,1px) * 20);background:linear-gradient(135deg,var(--brand-accent),var(--pink));color:#1a0f08;box-shadow:0 18px 40px -22px rgba(255,100,60,.8)}
.rcb-ico{flex:none;inline-size:44px;block-size:44px;border-radius:calc(var(--rk,1px) * 13);background:rgba(26,15,8,.88);display:grid;place-items:center;color:#ffd7a3}
.rcb-ico svg{inline-size:24px;block-size:24px}
.rcb-t{flex:1 1 auto;min-inline-size:0}
.rcb-t h2{margin:0;font-size:calc(19px * var(--font-scale,1));font-weight:900;line-height:1.2;color:inherit}
.rcb-t p{margin:2px 0 0;font-size:calc(14px * var(--font-scale,1));font-weight:700;opacity:.85;color:inherit}
.rcb-btn{flex:none;padding-block:12px;padding-inline:20px;border-radius:999px;background:#1a0f08;color:#fff;font-weight:900;font-size:calc(15px * var(--font-scale,1));white-space:nowrap;border:0}
.rcb-btn:hover,.rcb-btn:focus-visible{background:#000;color:#fff}
@media(max-width:639px){.rcb{flex-wrap:wrap;padding:14px}.rcb-t h2{font-size:calc(17px * var(--font-scale,1))}.rcb-btn{flex:1 1 100%;text-align:center}}
