/* =====================================================================
   Seiten-Baukasten – /fuehrerschein, /schnellkurs, /ueber-uns und die
   Startseiten-Abschnitte dazu (inc/pages-view.php). Ergänzt style.css,
   pages.css und standorte.css, ändert dort nichts.
   Mobile-first, logische Abstände (RTL-fähig), ohne JavaScript nutzbar.
   ===================================================================== */

.sb-page{--sb-card:linear-gradient(150deg,var(--home-card),var(--home-panel));--sb-r:calc(var(--rk,1px) * 16)}
.sb-head{margin-block-end:8px}
.sb-head .kicker{margin-block-end:8px}

/* Sprungleiste unter der Einleitung */
.sb-jumps{display:flex;gap:8px;margin-block-start:16px;padding-block-end:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sb-jumps::-webkit-scrollbar{display:none}
.sb-jumps a{flex:none;padding-block:7px;padding-inline:14px;border-radius:999px;border:1px solid var(--home-line-strong);background:var(--field-bg,rgba(var(--home-tint,3,20,36),.5));color:var(--home-text);font-weight:800;font-size:calc(13px * var(--font-scale,1));text-decoration:none;white-space:nowrap}
.sb-jumps a:hover,.sb-jumps a:focus-visible{border-color:var(--brand-accent);color:var(--accent-ink,var(--brand-accent))}

/* Block allgemein */
.sb-block{padding-block:20px;scroll-margin-block-start:84px}
.sb-block h2{margin-block:0 10px;font-size:calc(22px * var(--font-scale,1));line-height:1.15;font-weight:900;letter-spacing:-.01em}
.sb-block h2 .accent,.sb-head 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}
.sb-intro{margin-block-end:14px;max-inline-size:68ch;color:var(--home-muted);font-size:calc(14.5px * var(--font-scale,1));line-height:1.55}
.sb-intro p{margin:0}
.sb-intro p+p{margin-block-start:8px}

/* Fließtext: Absätze, Aufzählungen, Zwischenüberschriften */
.sb-prose{max-inline-size:72ch;color:var(--home-prose,#dbe8f3);font-size:calc(14.5px * var(--font-scale,1));line-height:1.62}
.sb-prose p{margin-block:0 12px}
.sb-prose>:last-child{margin-block-end:0}
.sb-prose h3{margin-block:18px 6px;font-size:calc(12px * var(--font-scale,1));font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ink,var(--brand-accent))}
.sb-prose ul,.sb-note ul{list-style:none;margin-block:0 12px;padding:0;display:grid;gap:6px}
.sb-prose li,.sb-note li{position:relative;padding-inline-start:22px}
.sb-prose li::before,.sb-note li::before{content:"";position:absolute;inset-inline-start:3px;inset-block-start:.55em;inline-size:9px;block-size:9px;border-radius:3px;background:linear-gradient(135deg,var(--brand-accent),var(--pink))}

/* Text mit Bild */
.sb-text{display:grid;gap:16px}
.sb-text:not(.has-img) .sb-prose{padding:16px;border-radius:var(--sb-r);border:1px solid var(--home-line);background:var(--sb-card);max-inline-size:none}
.sb-text:not(.has-img) .sb-prose>p,.sb-text:not(.has-img) .sb-prose>ul{max-inline-size:72ch}
.sb-img{margin:0;border-radius:calc(var(--rk,1px) * 20);padding:1.5px;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,.4);align-self:start}
.sb-img img{display:block;inline-size:100%;block-size:auto;border-radius:calc(var(--rk,1px) * 19)}

/* Punkte */
.sb-points{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sb-points li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:start;padding:11px 13px;border-radius:calc(var(--rk,1px) * 14);border:1px solid var(--home-line);background:var(--sb-card)}
.sb-points i{display:grid;place-items:center;inline-size:26px;block-size:26px;border-radius:calc(var(--rk,1px) * 8);color:#1a0f08;background:linear-gradient(135deg,var(--brand-accent),var(--pink))}
.sb-points i svg{inline-size:14px;block-size:14px;stroke-width:3}
.sb-points div{display:grid;gap:2px;min-inline-size:0;align-self:center}
.sb-points strong{font-size:calc(14.5px * var(--font-scale,1));font-weight:900;line-height:1.3}
.sb-points span{color:var(--home-muted);font-size:calc(13px * var(--font-scale,1));line-height:1.45}

/* Schritte */
.sb-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:none}
.sb-steps li{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;border-radius:calc(var(--rk,1px) * 14);border:1px solid var(--home-line);background:var(--sb-card)}
.sb-step-nr{font-size:calc(24px * var(--font-scale,1));font-weight:900;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;background:linear-gradient(135deg,var(--accent-g1,#ffb35c),var(--accent-g2,var(--brand-accent)) 50%,var(--accent-g3,var(--pink)));-webkit-background-clip:text;background-clip:text;color:transparent}
.sb-steps strong{display:block;font-size:calc(15px * var(--font-scale,1));font-weight:900;line-height:1.3}
.sb-steps p{margin-block:3px 0;color:var(--home-muted);font-size:calc(13.5px * var(--font-scale,1));line-height:1.5}

/* Karten */
.sb-cards{display:grid;gap:10px}
.sb-card{position:relative;overflow:hidden;padding:16px;border-radius:calc(var(--rk,1px) * 18);border:1px solid var(--home-line);background:var(--sb-card)}
.sb-card::before{content:"";position:absolute;inset-inline-end:-50px;inset-block-start:-50px;inline-size:170px;block-size:170px;border-radius:50%;background:radial-gradient(circle,rgba(255,140,0,.20),transparent 70%);pointer-events:none}
.sb-card:nth-child(even)::before{background:radial-gradient(circle,rgba(255,77,141,.20),transparent 70%)}
.sb-card>*{position:relative}
.sb-card-mark{display:inline-block;margin-block-end:6px;font-size:calc(40px * var(--font-scale,1));font-weight:900;line-height:1;letter-spacing:-.04em;background:linear-gradient(135deg,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}
.sb-card h3{margin-block:0 6px;font-size:calc(17px * var(--font-scale,1));font-weight:900;line-height:1.2}
.sb-card p{margin-block:0 10px;color:var(--home-prose,#dbe8f3);font-size:calc(14px * var(--font-scale,1));line-height:1.55}
.sb-card>:last-child{margin-block-end:0}
.sb-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.sb-prose .sb-facts{display:flex;margin-block:4px 12px}
.sb-facts li,.sb-prose .sb-facts li{padding:5px 10px;border-radius:999px;border:1px solid var(--home-line);background:var(--field-bg,rgba(var(--home-tint,3,20,36),.4));font-size:calc(12px * var(--font-scale,1));font-weight:800;line-height:1.3}
.sb-prose .sb-facts li::before{content:none}
.sb-sr{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Hinweis */
.sb-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;margin-block:20px;padding:14px 16px;border-radius:var(--sb-r);border:1px solid var(--note-line,rgba(120,180,255,.4));background:var(--note-bg,linear-gradient(150deg,rgba(42,111,191,.28),rgba(8,43,74,.7)));color:var(--home-prose,#dbe8f3);font-size:calc(14px * var(--font-scale,1));line-height:1.55}
.sb-note>i{display:grid;place-items:center;inline-size:28px;block-size:28px;border-radius:50%;font-style:normal;font-weight:900;color:#06203a;background:#8fc3ff}
.sb-note-wichtig{border-color:rgba(255,140,0,.5);background:linear-gradient(150deg,rgba(255,140,0,.16),rgba(255,77,141,.10))}
.sb-note-wichtig>i{color:#1a0f08;background:linear-gradient(135deg,var(--brand-accent),var(--pink))}
.sb-note h2{margin-block:2px 6px;font-size:calc(16px * var(--font-scale,1))}
.sb-note p{margin-block:0 8px}
.sb-note ul{margin-block-end:0}
.sb-note div>:last-child{margin-block-end:0}

/* Klassen */
.sb-catnav{display:flex;flex-wrap:wrap;gap:8px;margin-block-end:6px}
.sb-catnav a{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;border:1px solid var(--home-line-strong);background:var(--field-bg,rgba(var(--home-tint,3,20,36),.5));color:var(--home-text);font-weight:900;font-size:calc(13.5px * var(--font-scale,1));text-decoration:none}
.sb-catnav a:hover,.sb-catnav a:focus-visible{border-color:var(--brand-accent)}
.sb-catnav-pic{display:grid;place-items:center;inline-size:30px;block-size:30px;border-radius:50%;overflow:hidden;color:#1a0f08;background:linear-gradient(135deg,var(--brand-accent),var(--pink))}
.sb-catnav-pic svg{inline-size:17px;block-size:17px}
.sb-catnav-pic img{inline-size:100%;block-size:100%;object-fit:cover}
.sb-catnav b{min-inline-size:20px;padding-inline:6px;border-radius:999px;background:rgba(var(--glass,255,255,255),.1);color:var(--accent-ink,var(--brand-accent));font-size:calc(11.5px * var(--font-scale,1));line-height:20px;text-align:center}
.sb-group{padding-block-start:16px;scroll-margin-block-start:84px}
.sb-group-title{margin-block:0 8px;font-size:calc(11.5px * var(--font-scale,1));font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink,var(--brand-accent))}
.sb-classes{display:grid;gap:8px;align-items:start}
.sb-class{border-radius:calc(var(--rk,1px) * 14);border:1px solid var(--home-line);background:var(--sb-card);scroll-margin-block-start:84px;transition:border-color .2s ease}
.sb-class[open],.sb-class:hover{border-color:var(--home-line-strong)}
.sb-class:target,.sb-class[open]{border-color:rgba(255,140,0,.55)}
.sb-class summary,.sb-class-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 13px;list-style:none;cursor:pointer}
.sb-class-row{cursor:default}
.sb-class summary::-webkit-details-marker{display:none}
.sb-class summary:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px;border-radius:calc(var(--rk,1px) * 14)}
.sb-class .loc-code{min-inline-size:52px;padding-block:5px;font-size:calc(13px * var(--font-scale,1))}
.sb-class-head{display:grid;gap:1px;min-inline-size:0}
.sb-class-head strong{font-size:calc(14.5px * var(--font-scale,1));font-weight:900;line-height:1.3}
.sb-class-head span{color:var(--home-muted);font-size:calc(12.5px * var(--font-scale,1));line-height:1.4}
.sb-chev{inline-size:9px;block-size:9px;margin-inline:4px 6px;border-inline-end:2.5px solid var(--brand-accent);border-block-end:2.5px solid var(--brand-accent);transform:rotate(45deg);transition:transform .2s ease}
.sb-class[open] .sb-chev{transform:rotate(-135deg)}
.sb-class-body{padding:2px 14px 14px;border-block-start:1px solid var(--home-line);max-inline-size:none}
.sb-class-body>:first-child{margin-block-start:12px}
.sb-class-actions{margin-block:14px 0 !important}
.sb-class-actions .btn,.sb-cta .btn{padding:11px 18px;font-size:calc(13.5px * var(--font-scale,1))}

/* Knopf-Kasten */
.sb-cta{padding-block:22px}
.sb-cta .final-cta h2{margin-block:0 10px;font-size:calc(24px * var(--font-scale,1))}
.sb-cta .final-cta p{max-inline-size:56ch;margin-block:0 18px}
.sb-cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}

/* Startseite: Bereichs-Kacheln */
.sb-home-cats .loc-card-img svg{inline-size:26px;block-size:26px}
.home-schnellkurs,.home-ueberuns{padding-block:8px}

@media(prefers-reduced-motion:reduce){.sb-chev,.sb-class{transition:none}}

@media(min-width:640px){
  .sb-block{padding-block:26px}
  .sb-block h2{font-size:calc(26px * var(--font-scale,1))}
  .sb-points{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sb-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sb-cards-2,.sb-cards-3,.sb-cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sb-card{padding:20px}
  .sb-classes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sb-text:not(.has-img) .sb-prose{padding:22px}
  .sb-cta .final-cta h2{font-size:calc(30px * var(--font-scale,1))}
}
@media(min-width:980px){
  .sb-block{padding-block:30px}
  .sb-block h2{font-size:calc(30px * var(--font-scale,1))}
  .sb-points{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sb-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sb-steps li{grid-template-columns:minmax(0,1fr);gap:8px;padding:16px}
  .sb-step-nr{font-size:calc(34px * var(--font-scale,1))}
  .sb-cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sb-cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sb-card-mark{font-size:calc(56px * var(--font-scale,1))}
  .sb-text.has-img{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px;align-items:start}
  .sb-cta .final-cta h2{font-size:calc(36px * var(--font-scale,1))}
  /* Startseite: Bereichs-Kacheln bleiben auch am Desktop flach (Symbol links, Text rechts) */
  .sb-home-cats .loc-card{grid-template-columns:76px minmax(0,1fr) auto;grid-template-rows:auto;gap:12px;align-items:center;padding:8px;padding-inline-end:12px}
  .sb-home-cats .loc-card-img{grid-column:auto;inline-size:76px;block-size:60px;aspect-ratio:auto}
  .sb-home-cats .loc-card-body{padding-inline-start:0}
}
/* Themenfarbe je Seite + Werbe-Banner am Seitenende (Entwurf 2): Zahlen, V1/V2, Akzentwörter und Balken nehmen die Farbe der Seite an;
   der Handlungsblock unten wird zum farbigen Banner wie auf der Startseite. Feste Farben, in allen Farb-Designs gleich. */
.sb-page{--t1:#b83a0a;--t2:#d9480f}
.sb-page-schnellkurs{--t1:#c92a2a;--t2:#d9480f;--accent-g1:#f76707;--accent-g2:#e8590c;--accent-g3:#c92a2a}
.sb-page-ueberuns{--t1:#1864ab;--t2:#5f3dc4;--accent-g1:#3b8ee8;--accent-g2:#4263eb;--accent-g3:#7048e8}
.sb-page-fuehrerschein{--t1:#0b7285;--t2:#1971c2;--accent-g1:#15aabf;--accent-g2:#1c7ed6;--accent-g3:#1971c2}
.sb-page-fahrschulwechsel{--t1:#364fc7;--t2:#862e9c;--accent-g1:#748ffc;--accent-g2:#9775fa;--accent-g3:#c2255c}
.sb-page-umschreibung{--t1:#0b7285;--t2:#5f3dc4;--accent-g1:#15aabf;--accent-g2:#4c6ef5;--accent-g3:#7048e8}
.sb-page-pruefungsangst{--t1:#6d4aff;--t2:#d6336c;--accent-g1:#9c6cff;--accent-g2:#845ef7;--accent-g3:#d6336c}
.sb-page-buchen{--t1:#b83a0a;--t2:#d9480f;--accent-g1:#f76707;--accent-g2:#e8590c;--accent-g3:#b83a0a}
.sb-page-simulator{--t1:#2b8a3e;--t2:#0b7285;--accent-g1:#37b24d;--accent-g2:#2b8a3e;--accent-g3:#0b7285}
.sb-page .sb-head::before{content:"";display:block;inline-size:72px;block-size:5px;border-radius:4px;margin-block-end:14px;background:linear-gradient(90deg,var(--t1),var(--t2))}
.sb-page .sb-block>h2{position:relative;padding-inline-start:16px}
.sb-page .sb-block>h2::before{content:"";position:absolute;inset-inline-start:0;inset-block:.16em;inline-size:5px;border-radius:4px;background:linear-gradient(var(--t1),var(--t2))}
.sb-page .sb-facts li{border-color:color-mix(in srgb,var(--t2) 55%,transparent)}
.sb-page .sb-jumps a{border-color:color-mix(in srgb,var(--t2) 60%,transparent)}
.sb-page .sb-cta .final-cta{display:grid;grid-template-columns:minmax(0,1fr);row-gap:6px;align-items:center;text-align:left;padding:24px 22px;border:0;color:#fff;
  background:linear-gradient(100deg,var(--t1),var(--t2));box-shadow:0 14px 34px -14px var(--t1)}
.sb-page .sb-cta .final-cta h2{margin:0;color:#fff}
.sb-page .sb-cta .final-cta p{margin:0;color:rgba(255,255,255,.95)}
.sb-page .sb-cta .final-cta .accent{background:none;-webkit-text-fill-color:#fff;color:#fff;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}
.sb-page .sb-cta .sb-cta-btns{justify-content:flex-start;margin-block-start:12px}
.sb-page .sb-cta .btn-primary{background:#fff;color:#111;box-shadow:none}
.sb-page .sb-cta .btn-primary:hover,.sb-page .sb-cta .btn-primary:focus-visible{background:#fff4e6;color:#111}
.sb-page .sb-cta .btn-ghost{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.55)}
@media(min-width:700px){
  .sb-page .sb-cta .final-cta{grid-template-columns:minmax(0,1fr) auto;column-gap:28px;padding:30px 36px}
  .sb-page .sb-cta .final-cta>:not(.sb-cta-btns){grid-column:1}
  .sb-page .sb-cta .sb-cta-btns{grid-column:2;grid-row:1 / 3;justify-content:flex-end;margin-block-start:0}
}

/* Umschreibung: Länderwahl und Ergebnis je Klasse */
.sb-conv{display:grid;gap:18px;margin-block:18px}
.conv-search{display:grid;gap:6px;font-weight:800;font-size:calc(13px * var(--font-scale,1))}
.conv-search input{inline-size:100%;max-inline-size:420px;padding:11px 14px;border-radius:12px;border:1px solid var(--home-line);background:var(--field-bg,rgba(var(--home-tint,3,20,36),.4));color:inherit;font:inherit}
.conv-list{display:flex;flex-wrap:wrap;gap:8px;margin-block-start:12px;max-block-size:260px;overflow:auto;padding:4px;border-radius:14px}
.conv-country{padding:8px 13px;border-radius:999px;border:1px solid var(--home-line);background:var(--field-bg,rgba(var(--home-tint,3,20,36),.4));color:inherit;font:inherit;font-size:calc(13px * var(--font-scale,1));font-weight:700;cursor:pointer;min-block-size:38px}
.conv-country[hidden]{display:none}
.conv-country:hover,.conv-country:focus-visible{border-color:var(--t1,#0b7285)}
.conv-country.is-on{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--t1,#0b7285),var(--t2,#5f3dc4))}
.conv-none{margin:8px 0 0;font-weight:700}
.conv-result{display:grid;gap:12px}
.conv-result:empty{display:none}
.conv-title{margin:0;font-size:calc(20px * var(--font-scale,1))}
.conv-state{display:grid;gap:6px;font-weight:800;max-inline-size:360px}
.conv-state select{padding:10px 12px;border-radius:12px;border:1px solid var(--home-line);background:var(--field-bg,rgba(var(--home-tint,3,20,36),.4));color:inherit;font:inherit}
.conv-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.conv-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid var(--home-line);border-inline-start:6px solid var(--conv-c,#868e96);background:var(--field-bg,rgba(var(--home-tint,3,20,36),.4))}
.conv-row .conv-offer{grid-column:2 / -1;font-size:calc(12.5px * var(--font-scale,1));opacity:.85;line-height:1.45}
.conv-res{text-align:end}
.conv-e,.conv-n{--conv-c:#2b8a3e}
.conv-t,.conv-p{--conv-c:#e8590c}
.conv-b{--conv-c:#c92a2a}
.conv-a{--conv-c:#868e96}
.conv-long,.conv-hint,.conv-disclaimer{margin:0;line-height:1.55}
.conv-hint,.conv-disclaimer{font-size:calc(12.5px * var(--font-scale,1));opacity:.85}
.conv-firstaid{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;border:1px dashed var(--t1,#0b7285)}
.conv-actions{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:560px){.conv-row{grid-template-columns:auto minmax(0,1fr)}.conv-res{grid-column:1 / -1;text-align:start}}

.conv-signup-hint{margin:0;padding:12px 14px;border-radius:14px;border:1px dashed var(--t1,#0b7285);font-weight:700}
.conv-pickbox{display:flex;align-items:center;gap:8px;cursor:pointer}
.conv-pickbox input{inline-size:20px;block-size:20px}
.conv-row.is-picked{outline:2px solid var(--t1,#0b7285)}
.conv-actions .btn.is-disabled{opacity:.5}
.conv-need{flex-basis:100%}
