/* ============================================================
   FahrSchulKombinat — Desktop-Overrides (ab 900px)
   Portiert aus desktop.css des Mockups.
   ============================================================ */
@media (min-width:900px){
:root{--dpad:max(28px,calc((100% - var(--dcol))/2))}
body{background:var(--paper)}
.fsk-announce{font-size:12.5px;padding:10px 0}

/* Header mit Inline-Navigation */
.hdr{padding:14px var(--dpad)}
.hdr .wp-block-site-logo img,.hdr .fsk-logo-fallback img{height:48px}
.hdr .dnav{display:flex}
.hdr .wp-block-navigation__responsive-container-open{display:none}
.hdr .wp-block-navigation__responsive-container:not(.is-menu-open){display:block;position:relative;background:transparent}
.hdr .wp-block-navigation .wp-block-navigation__container{display:flex;gap:26px;align-items:center}
/* Core setzt .wp-block-navigation .…item__content.…item__content{color:inherit} (0,3,0) –
   daher Farbe am Block selbst setzen und die Link-Regeln mit doppelter Klasse absichern. */
.hdr .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content{
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:13px;
  color:var(--paper);text-decoration:none;position:relative;padding:4px 0;
}
.hdr .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover{color:var(--pink)}
.hdr .wp-block-navigation-item__content:hover::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:var(--pink);border-radius:2px}
.hdr .wp-block-navigation{order:2;margin-left:auto;margin-right:26px;color:var(--paper)}
/* Untermenü (z. B. Klassen → Seiten): Core zeichnet ohne has-background ein weißes Dropdown – hier im Header-Look */
.hdr .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container{
  background:var(--header-bg);color:var(--paper);border:var(--border);border-radius:14px;box-shadow:var(--shadow);
  padding:8px 0;min-width:250px;top:calc(100% + 12px);left:-18px;
}
/* Unsichtbare Brücke über dem Dropdown: sonst verliert die Maus beim Überqueren der 12px Lücke den Hover und das Menü klappt zu */
.hdr .wp-block-navigation .wp-block-navigation__submenu-container::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.hdr .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content{display:block;padding:9px 18px;font-size:12.5px;letter-spacing:.04em}
.hdr .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover::after{display:none}
.hdr .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content:hover{background:rgba(255,255,255,.07);color:var(--pink)}
.hdr .wp-block-navigation .wp-block-navigation-submenu__toggle{color:inherit;padding:0 0 0 2px;background:none;border:0}
.hdr .wp-block-navigation .has-child:hover>.wp-block-navigation-item__content{color:var(--pink)}
.hdr-actions{order:3;margin-left:0}
.fsk-wa{width:auto;padding:0 14px;gap:8px}
.fsk-wa .fsk-wa-label{display:inline;font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.04em;color:var(--ink)}

/* Hero: Querformat-Band */
.fsk-hero img,.fsk-hero .wp-block-cover img{aspect-ratio:2/1;max-height:640px;width:100%}
.fsk-hero.is-style-hero-text{padding:64px var(--dpad);display:grid;grid-template-columns:1.1fr 1fr;column-gap:56px;align-items:center}
.fsk-hero.is-style-hero-text h1{font-size:clamp(48px,5.5vw,76px)}
.fsk-hero.is-style-hero-text p{font-size:18px;max-width:40ch}
.fsk-locs{padding:14px 0 18px}
.fsk-locs-track{--locs-slow:1.5} /* größere Tafeln → etwas ruhiger; die Block-Einstellung „Geschwindigkeit“ bleibt wirksam */
.hero-loc{min-width:150px;margin-right:14px;font-size:14px;padding:12px 14px 10px;box-shadow:inset 0 0 0 2px var(--yellow),inset 0 0 0 3.5px var(--ink),4px 4px 0 var(--ink)}
.hero-loc small{font-size:9px}

/* Abschnitte: volle Breite, zentrierte Spalte, 2-spaltig (Titel links, Inhalt rechts) */
.fsk-section{padding:64px var(--dpad)}
.fsk-section.is-layout-grid,.fsk-section.has-two-columns{
  display:grid;grid-template-columns:minmax(300px,2fr) minmax(0,3fr);column-gap:56px;row-gap:0;align-items:start;
}
.fsk-section.has-two-columns>.sec-head{grid-column:1;grid-row:1/span 30;align-self:start}
/* :where() hält die Spezifität niedrig – sonst schlagen die vier :not() jeden späteren Override (Kontakt, Karte) */
.fsk-section.has-two-columns>:where(:not(.sec-head):not(.sdeco)){grid-column:2}
.fsk-section.has-two-columns>.loc-tabs{margin-top:6px}
.fsk-section.has-two-columns>.fsk-loc-group{margin-top:0}
.fsk-section.has-two-columns.is-style-centered-content{align-items:center}
.sec-title,.is-style-sec-title{font-size:clamp(30px,3.6vw,48px);overflow-wrap:anywhere}
.sec-sub,.is-style-sec-sub{font-size:17px;max-width:52ch}
.eyebrow,.is-style-eyebrow{font-size:13px}
/* Deko: alle drei Plätze sichtbar und größer. Oben links/rechts sitzen im Seitenrand neben der Inhaltsspalte
   (bei schmalen Desktops am Abschnittsrand), unten links unter der Titelspalte. */
.sdeco{display:block}
.sdeco.is-sign,.sdeco.is-doodle{width:72px;height:72px}
.sdeco.is-sticker{font-size:15px;padding:8px 14px}
.sdeco.is-tl{top:18px;left:max(16px,calc(var(--dpad) - 92px))}
.sdeco.is-tr{top:24px;right:max(16px,calc(var(--dpad) - 92px))}
.sdeco.is-bl{bottom:48px;left:var(--dpad)}
/* Einspaltig (Option „Titel links, Inhalt rechts“ aus): links unten ist keine freie Titelspalte – Deko bekommt einen eigenen Streifen unter dem Inhalt */
.fsk-section:not(.has-two-columns):not(.fsk-cta):has(>.sdeco.is-bl){padding-bottom:150px}
/* CTA (zentrierter Text): Deko in den Ecken */
.fsk-cta>.sdeco.is-tl{top:18px;left:22px}
.fsk-cta>.sdeco.is-tr{top:18px;right:22px}
.fsk-cta>.sdeco.is-bl{bottom:18px;left:22px}
.fsk-marquee{padding:16px 0}
.fsk-marquee .usp{font-size:17px;padding:0 22px}
.dsk-only{display:block !important}
.note-line{text-align:left;font-size:13.5px;margin-top:18px;padding-right:140px}

/* Standort-Tabs */
.loc-tabs{max-width:520px}
.fsk-section.has-two-columns>.fsk-loc-group>.loc-tabs{margin-top:0}

/* Kontakt: Tabs + CTA links unter dem Titel, Karte rechts */
.fsk-contact{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,2fr);column-gap:56px;align-items:center}
.fsk-contact>.loc-tabs{grid-column:1;flex-direction:column;max-width:340px;margin-top:0;gap:10px}
.fsk-contact>.loc-tabs .loc-tab{flex-direction:row;justify-content:space-between;padding:12px 16px}
.fsk-contact>.btn{grid-column:1;justify-self:start;width:auto;margin-top:22px}
.fsk-contact>.contact-panels{grid-column:2;grid-row:1/span 3}
.contact-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:0}
.contact-card.loc-panel.is-active{display:grid}
.contact-card .cc-img{height:100%;min-height:280px;border-right:0;border-bottom:0}
.cc-body{padding:24px 28px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.cc-row{padding:14px 0}
.cc-row .ct{overflow-wrap:anywhere}
.cc-row .ct b{font-size:12px}
.cc-row .ct span,.cc-row .ct a{font-size:14.5px}
/* Im 2-Spalten-Abschnitt: Tabs + CTA rutschen links unter den Titel, die Karte steht rechts daneben.
   display:contents macht Tabs/Karte/CTA zu Grid-Kindern des Abschnitts (die generische „alles in Spalte 2“-Regel
   oben greift per > nur für direkte Kinder und hat Vorrang vor einfachen Overrides). */
.fsk-section.has-two-columns:has(>.fsk-contact){
  grid-template-columns:minmax(300px,1fr) minmax(0,2fr);
  grid-template-rows:auto auto auto minmax(84px,1fr); /* Zeile 4 = Luft für das Verkehrsschild unter dem CTA */
  align-items:start;
}
.fsk-section.has-two-columns:has(>.fsk-contact)>.sec-head{grid-row:1}
.fsk-section.has-two-columns>.fsk-contact{display:contents}
.fsk-section.has-two-columns>.fsk-contact>.loc-tabs{grid-column:1;grid-row:2;margin-top:28px;width:100%}
.fsk-section.has-two-columns>.fsk-contact>.btn{grid-column:1;grid-row:3;justify-self:start;width:min(100%,355px);margin-top:20px}
.fsk-section.has-two-columns>.fsk-contact>.contact-panels{grid-column:2;grid-row:1/span 4;align-self:stretch}
.fsk-section.has-two-columns>.fsk-contact .contact-card.is-active{height:100%}
.fsk-section.has-two-columns:has(>.fsk-contact)>.sdeco.is-bl{left:calc(var(--dpad) + 130px)}

/* Stundenplan */
.schedule{gap:12px}
.schedule.loc-panel.is-active{display:grid;grid-template-columns:1fr}
.slot{min-width:0;padding:14px 20px;gap:18px}
.slot .day{width:62px;font-size:15px}
.slot .si{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.slot .si b{font-size:16px;display:inline}
.slot .si small{font-size:13px}
.slot .time{white-space:nowrap;font-size:13.5px;background:var(--cyan);border:2px solid var(--ink);border-radius:999px;padding:6px 14px;box-shadow:2px 2px 0 var(--ink);min-width:118px;text-align:center}
.slot:nth-child(even) .time{background:var(--pink)}

/* Klassen / Kennzeichen / Team / Fuhrpark */
.klassen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.klasse .kbody h3{padding-right:40px}
.klasse .kbody p{font-size:13.5px}
.plate-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}
.plate-code{font-size:30px}
.plate-city{font-size:10.5px}
.team-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}
.coach .cphoto{width:96px;height:96px}
.coach .cname{font-size:14px}
.fleet-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}

/* Karte */
.tmap{max-width:640px;justify-self:center;background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px 40px;width:100%}
.tmap-svg path{fill:#FFF3C4}
.tmap-svg{filter:drop-shadow(5px 5px 0 var(--ink))}
.tmap-dot{width:16px;height:16px;border-width:3px;box-shadow:0 0 0 5px rgba(253,89,180,.28)}
.ortsschild{font-size:15px;padding:6px 14px 5px;box-shadow:3px 3px 0 var(--ink)}
.fsk-map-wrap{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);column-gap:56px;align-items:center}
.fsk-map-wrap>.tmap{grid-column:2}
.loc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-width:360px;grid-column:1}
.loc-list li{display:flex;align-items:center;gap:12px;background:var(--card);border:var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:12px 14px}
.loc-list .ll-dot{flex:none;width:12px;height:12px;border-radius:50%;background:var(--pink);border:2.5px solid var(--ink)}
.loc-list div{flex:1;min-width:0;display:flex;flex-direction:column}
.loc-list b{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:14px}
.loc-list small{font-size:12px;color:var(--ink-soft)}
.loc-list a{flex:none;text-decoration:none;color:var(--ink);font-family:var(--font-display);font-weight:800;font-size:20px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--cyan);border:2px solid var(--ink);border-radius:50%;box-shadow:2px 2px 0 var(--ink)}
.loc-list a:hover{background:var(--pink)}
/* Im 2-Spalten-Abschnitt: Liste links direkt unter dem Titel, Karte rechts daneben (wie beim Kontakt-Block).
   display:contents macht Liste und Karte zu Grid-Kindern des Abschnitts. */
.fsk-section.has-two-columns:has(>.fsk-map-wrap){align-items:start}
.fsk-section.has-two-columns:has(>.fsk-map-wrap)>.sec-head{grid-row:1}
.fsk-section.has-two-columns>.fsk-map-wrap{display:contents}
.fsk-section.has-two-columns>.fsk-map-wrap>.loc-list{grid-column:1;grid-row:2;margin-top:28px;max-width:420px}
.fsk-section.has-two-columns>.fsk-map-wrap>.tmap{grid-column:2;grid-row:1/span 3;margin-top:0;justify-self:end}

/* Bewertungen / Blog / FAQ */
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.fsk-section.has-two-columns>.wp-block-buttons{justify-self:start;margin-top:16px}
.blog-grid .wp-block-post-template{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.post-media img,.post-media .wp-block-post-featured-image__placeholder{height:180px}
.faq-list{max-width:760px}
.faq-list summary{font-size:16px}
.faq-list details>*:not(summary){font-size:14.5px}

/* Vollbreite Einzelblöcke */
.fsk-video{padding:0}
.fsk-video>*{max-width:var(--dcol);margin:0 auto;border-left:var(--bw) solid var(--ink);border-right:var(--bw) solid var(--ink)}
.fsk-cta{padding:96px var(--dpad) 72px}
.fsk-cta h2{font-size:56px}
.fsk-cta p{font-size:18px;max-width:44ch}
.fsk-seo{padding:56px var(--dpad)}
.fsk-seo h2{font-size:30px}
.fsk-seo p{font-size:15px;max-width:80ch}
.fsk-seo ul,.fsk-seo ol{font-size:15px;max-width:80ch}
.fsk-seo .seo-prices{max-width:560px}
.fsk-seo table{font-size:13px;max-width:900px}

/* Footer */
.ft{padding:48px var(--dpad) 32px;display:grid;grid-template-columns:auto 1fr auto;column-gap:40px;align-items:center;text-align:left}
.ft .wp-block-site-logo{margin:0}
.ft .wp-block-site-logo img,.ft .fsk-logo-fallback img{margin:0;height:40px}
.ft p{margin:0;max-width:40ch;margin-inline:0}
.ft .social{margin:0;justify-content:flex-end}
.ft .legal,.ft .copy{grid-column:1/-1;margin-top:18px}
.ft .legal{justify-content:flex-start;gap:22px}
.ft .copy{margin-top:8px}

/* Anmeldung: breite Karte, Schritt-Leiste als Reihe, Felder mehrspaltig, Buttons außen */
.fsk-section.has-two-columns>.wizard{margin-top:0}
/* Einspaltig: angenehme Formularbreite statt voller Spalte */
.fsk-section:not(.has-two-columns)>.wizard{max-width:820px}
.wizard .wiz-progress{gap:10px;margin-bottom:22px}
.wizard .wp-dot{flex-direction:row;justify-content:center;gap:10px;padding:12px 10px;border-radius:14px}
.wizard .wp-dot b{width:30px;height:30px;font-size:14px}
.wizard .wp-dot small{font-size:12px;letter-spacing:.06em}
/* Fünf Schritte (BF17): etwas kompakter, damit alle Beschriftungen in die Reihe passen */
.wizard .wiz-progress:has(.wp-item:nth-child(2):not([hidden])){gap:8px}
.wizard .wiz-progress:has(.wp-item:nth-child(2):not([hidden])) .wp-dot{gap:7px;padding:12px 8px}
.wizard .wiz-progress:has(.wp-item:nth-child(2):not([hidden])) .wp-dot b{width:26px;height:26px;font-size:12.5px}
.wizard .wiz-progress:has(.wp-item:nth-child(2):not([hidden])) .wp-dot small{font-size:10.5px;letter-spacing:.04em}
.wizard .wp-dot.done:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.wizard .wiz-card{padding:34px 36px 30px}
.wizard .wiz-step{gap:18px}
.wizard .wiz-step legend{font-size:28px;margin-bottom:20px}
.wizard .f,.wizard .flabel{font-size:12.5px;gap:7px}
.wizard .f input,.wizard .f select{min-height:50px;padding:12px 14px;border-radius:12px}
.wizard .f select{padding-right:40px}
.wizard .f input:hover,.wizard .f select:hover{box-shadow:3px 3px 0 var(--cyan-soft)}
.wizard .f input:focus,.wizard .f select:focus{box-shadow:4px 4px 0 var(--cyan)}
.wizard .f2,.wizard .f3{gap:18px}
.wizard .f3{grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) minmax(0,1.6fr)}
.wizard .f3>.f:first-child{grid-column:auto}
.wizard .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.wizard .flabel.is-group{margin-top:6px;padding-top:18px}
.wizard .radios{gap:14px;max-width:460px}
.wizard .radios .r{font-size:14px;min-height:52px;border-radius:12px}
.wizard .radios .r:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}
.wizard .wiz-note{font-size:14px;padding:16px 18px;border-radius:14px}
.wizard .agb{font-size:13.5px}
.wizard .wiz-error{font-size:14px}
.wizard .wiz-nav{justify-content:space-between;margin-top:26px;gap:16px}
.wizard .wiz-nav .btn{flex:none;min-width:190px;font-size:15px;padding:15px 26px}
.wizard .wiz-nav .wiz-next{margin-left:auto}
.wizard .wiz-nav .btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}
.wizard .wiz-done{padding:48px 0}
.wizard .wiz-done .done-star{width:76px;height:76px;font-size:36px}
.wizard .wiz-done h3{font-size:34px}
.wizard .wiz-done p{font-size:16px;max-width:36ch}

/* --dpad wächst mit dem Viewport und zentriert die Spalte schon selbst – zusätzlich max-width:var(--dcol)
   würde die Innenbreite bei breiten Screens auf 1120px − 2·dpad (→ 0) schrumpfen lassen. */
.fsk-page{padding:48px var(--dpad) 80px;max-width:none}
.fsk-crumbs{font-size:12px;margin-bottom:22px}
}

/* Zwischenbreite 600–899px: Core-Navigation weiter als Burger */
@media (min-width:600px) and (max-width:899px){
.hdr .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}
.hdr .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none}
}
