@charset "UTF-8";
/*
Theme Name: Fahrschule Wintgen
Theme URI: http://www.wintgenl.de/
Author: SIGN+DESIGN Werbeagentur
Author URI: https://www.signunddesign.com/
Description: Wozu lange um den „heißen Brei" reden: Unser Ziel ist Ihr Erfolg! Denn nur erfolgreiche Kunden sind auf Dauer glückliche Kunden. Und um Sie glücklich zu machen, richten wir unsere Energie auf Ihren stimmigen Auftritt und die Entwicklung zielführender Kommunikationsmaßnahmen. Werbung darf bei uns Spaß machen und ist trotzdem niemals Selbstzweck. Was zählt ist Ihr Erfolg! Die Früchte unserer Bemühungen: treue, langjährige Kunden und zahlreiche Weiterempfehlungen – mit ein Grund dafür, dass viele unserer Kunden aus dem Bereich Immobilien stammen. Und hier liegt auch seit über 20 Jahren ein Schwerpunkt unserer Arbeit.
Version: 2.1
*/

/* ========================================
   GLOBAL RESET
   ======================================== */

body, html, h1, h2, h3, h4, h5, h6, p, ul, ol, li {padding: 0;margin: 0;}
body, html {overflow: unset;width: 100%;-webkit-font-smoothing: antialiased;-webkit-overflow-scrolling: touch;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

/* ========================================
   CSS VARIABLES
   ======================================== */

* {
    /* Typography */
    --font-family: "source-sans-pro", sans-serif;
    --font-size: 18px;
    --line-height: calc(var(--font-size) * 1.8);

    /* Layout */
    --wrp-width: 1240px;
    --header-height: 118px;  /* Höhe des fixierten Headers */
    --submenu-offset: 84px;  /* Offset für Desktop-Submenu */

    /* Colors */
    --primary-color: #FFCF53;
    --secondary-color: #E4032E;
    --green-color: #B0C16C;
    --text-color: #515151;
    --bg-white: #fff;
    --bg-light-gray: #f5f5f5;
    --bg-lighter-gray: #f8f8f8;
    --bg-gray: #efefef;
    --border-gray: #dedede;
    --icon-gray: #a4a4a4;
    --text-dark: #3C3C3B;

    /* Effects */
    --transition: .45s ease;
    --box-shadow: 0px 5px 13px 0px rgba(0, 0, 0, 0.3);
    --border-radius: 10px;
}

.wpforms-submit-spinner {display:none!important;}

div.wpforms-container-full .wpforms-form button[type=submit] {
	display:block;
    background: var(--green-color)!important;
    font-weight: 700;
    color: #fff!important;
    border-radius: 40px!important;
    padding: 13px 35px!important;
    text-transform: uppercase!important;
	border:0!important;
	transition: var(--transition)
}
div.wpforms-container-full .wpforms-form button[type=submit]:hover {
    background: var(--primary-color)!important;
	color: var(--text-color)!important;;
    font-weight: 700;
    transition: var(--transition)
}
/* ========================================
   GLOBAL STYLES
   ======================================== */

html {scroll-behavior: smooth;}
body {font-size: var(--font-size);font-family: var(--font-family), sans-serif;line-height: var(--line-height);color: var(--text-color);}
body.nav-open {overflow: hidden;}
body.nav-open header {z-index: 9600;} /* Stacking-Context über floating Elemente heben */
img {-ms-interpolation-mode: bicubic;vertical-align: bottom;}
svg {width: 100%;height: 100%;}
hr {border: none;height: 1px;background: #ddd;margin: 0;}
.wrp {max-width: var(--wrp-width);width: 90%;margin: 0 auto;position: relative;box-sizing: border-box;}
.vision-trigger {right:inherit;left:20px;z-index: 8000;}
body.nav-open .vision-trigger {z-index: 100 !important;}
.fahrlehrer-load-more__btn {display: inline-block;
    background: #fff;
    padding: 13px 40px;
    box-sizing: border-box;
    color: var(--primary-color);
    font-size:16px;
    border-radius: 40px;
    border:0;
    font-weight: 700;box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.08);text-transform: uppercase;cursor:pointer;transition: var(--transition);}
.fahrlehrer-load-more__btn:hover {transition: var(--transition);color: var(--secondary-color);}
/* ========================================
   UTILITY CLASSES
   ======================================== */

/* Margins */
.mb {margin-bottom: 100px;}
.mb50 {margin-bottom: 50px;}

/* ========================================
   TYPOGRAPHY
   ======================================== */

h1, h2, h3 {margin: 0;text-transform:uppercase}
h1 {font-size:28px;font-weight:700;line-height:36px;}
h3 {font-weight:300;}
a {text-decoration: none;outline: none;color: var(--text-color);transition: var(--transition);}
a:hover {color: var(--primary-color);transition: var(--transition);}
.btn {padding: 12px 16px;background: var(--primary-color);display: inline-block; margin-top: 25px;}
p {margin-bottom: var(--line-height);}
p:last-child {margin-bottom: 0;}
address {font-style: normal;color: var(--text-color);}
address a {display: block;}
ol, ul {margin-bottom: var(--line-height);}
li {margin-left: 20px;}

/* ========================================
   HEADER
   ======================================== */

header {position: fixed;top: 0;width: 100%;z-index: 10;padding:0;box-sizing: border-box;background: var(--bg-white);box-shadow: var(--box-shadow);}
header .header-grid {display: grid;grid-template-columns: 350px auto;grid-template-rows: auto;justify-items: start;align-items: center;justify-content: space-between;transition: var(--transition);}
.scrolled header .header-grid {display: grid;grid-template-columns: 250px auto;transition: var(--transition);}
header .header-grid .logo {width: 100%;}
header .header-grid .logo a {display: flex;align-items: center;}
header .header-grid .mainnav-toggle {display: none;justify-self: end;}

/* ========================================
   NAVIGATION - DESKTOP
   ======================================== */

#mainnav ul.mainnav.smart {display: none;}
#mainnav {display: block;transform: translate(0);}
#mainnav ul.mainnav.desktop li {list-style-type: none;font-size: 20px;margin-left: 40px;}
#mainnav ul.mainnav.desktop li:first-child {margin-left: 0;}
#mainnav ul.mainnav.desktop li a {font-size:20px;font-weight:600;text-transform:uppercase;display: block;color: var(--text-color);transition: var(--transition);padding: 30px 0;}
#mainnav ul.mainnav.desktop li a:hover, #mainnav ul.mainnav.desktop li.current-menu-item a {color: var(--primary-color);transition: var(--transition);}
#mainnav ul.mainnav.desktop li.current_page_ancestor a {color: var(--primary-color);transition: var(--transition);}
#mainnav ul.mainnav.desktop li.current-menu-item a:after  {
    content: "";
    display: block;
    background: url(assets/traffic.svg) left top no-repeat;
    background-size: 55px;
    width: 55px;
    height: 2px;
    margin: 2px auto 0 auto;
}
#mainnav ul.mainnav.desktop li.current_page_ancestor a:after  {
    content: "";
    display: block;
    background: url(assets/traffic.svg) left top no-repeat;
    background-size: 55px;
    width: 55px;
    height: 2px;
    margin: 2px auto 0 auto;
}

/* ========================================
   NAVIGATION - DESKTOP SUBMENU
   ======================================== */

@media (min-width: 1025px) {
    #mainnav ul.mainnav.desktop {display: flex;align-items: center;margin: 0;}
    html.scrolled #mainnav ul.mainnav li a {padding: 15px 0;transition: var(--transition);}

    /* Submenu Level 1 */
    #mainnav ul.mainnav li.menu-item-has-children {position: relative;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu {position: absolute;left: 0;display: block;height: auto;max-height: 0;overflow: hidden;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li {font-size:16px;color:var(--text-color);width: 250px;height: 100%;padding: 10px;transition: 0.8s ease;background: var(--bg-light-gray);border-radius:10px;margin: 0 0 3px 0;}
    #mainnav ul.mainnav li.menu-item-has-children:hover > ul.sub-menu {max-height: 674px;padding: 0;overflow: visible;margin-top: -6px;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.current-menu-item {background: var(--primary-color);}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li:hover {background: var(--primary-color);}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li:hover a {color:var(--text-color);}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li a {font-size:16px;padding: 3px;color:var(--text-color);}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.current-menu-item a {color:var(--text-color);}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li:last-child {margin-bottom: 0;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li a:after {display:none;}

    /* Submenu Level 2 */
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu {position: absolute;left: 100%;top: 6px;overflow: hidden;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children:hover ul.sub-menu {overflow: visible;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu li {background: var(--bg-light-gray);}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu li a {color: var(--text-color);}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu li:hover a {color: var(--primary-color);}

    /* Hide mobile elements on desktop */
    #mainnav .head, #mainnav address.contact, #mainnav ul.mainnav li.back {display: none;}
    #mainnav .oc-head, #mainnav .oc-footer {display: none;}
}

/* ========================================
   NAVIGATION - MOBILE OFFCANVAS
   ======================================== */

@media (max-width: 1024px) {

    /* ── Desktop-Nav ausblenden ── */
    .mainnav.desktop {display: none;}

    /* ── Hamburger-Button im Header ── */
    .mainnav-toggle.off {
        display: block;
        position: absolute;top: 50%;right: 0;
        transform: translateY(-50%);
        z-index: 50;
    }
    /* Hamburger bleibt sichtbar wenn Nav offen, zeigt als × */
    .mainnav-toggle.off.active .btn-mainnav-toggle span:nth-child(1) {top: 27px;transform: rotate(45deg);}
    .mainnav-toggle.off.active .btn-mainnav-toggle span:nth-child(2) {opacity: 0;transform: scaleX(0);}
    .mainnav-toggle.off.active .btn-mainnav-toggle span:nth-child(3) {top: 27px;transform: rotate(-45deg);}
    .mainnav-toggle.off .btn-mainnav-toggle {
        display: flex;align-items: center;justify-content: center;
        width: 56px;height: 56px;border-radius: 12px;
        background: var(--primary-color);cursor: pointer;
        box-shadow: 0 4px 16px rgba(242,146,13,0.4);
        position: relative;transition: var(--transition);
    }
    .scrolled .mainnav-toggle.off .btn-mainnav-toggle {width:45px;height:45px;transition: var(--transition);}
    .mainnav-toggle.off .btn-mainnav-toggle span {
        display: block;width: 24px;height: 2px;border-radius: 2px;
        background: #fff;
        position: absolute;left: 50%;margin-left: -12px;
        transition: transform 0.35s ease, opacity 0.25s ease, top 0.35s ease;
    }
    .mainnav-toggle.off .btn-mainnav-toggle span:nth-child(1) {top: 19px;transition: var(--transition);}
    .mainnav-toggle.off .btn-mainnav-toggle span:nth-child(2) {top: 27px;transition: var(--transition);}
    .mainnav-toggle.off .btn-mainnav-toggle span:nth-child(3) {top: 35px;transition: var(--transition);}

    .scrolled .mainnav-toggle.off .btn-mainnav-toggle span:nth-child(1) {top: 13px;transition: var(--transition);}
    .scrolled .mainnav-toggle.off .btn-mainnav-toggle span:nth-child(2) {top: 21px;transition: var(--transition);}
    .scrolled .mainnav-toggle.off .btn-mainnav-toggle span:nth-child(3) {top: 29px;transition: var(--transition);}
    .mainnav-toggle.off .btn-mainnav-toggle.active span:nth-child(1) {top: 27px;transform: rotate(45deg);}
    .mainnav-toggle.off .btn-mainnav-toggle.active span:nth-child(2) {opacity: 0;transform: scaleX(0);}
    .mainnav-toggle.off .btn-mainnav-toggle.active span:nth-child(3) {top: 27px;transform: rotate(-45deg);}

    /* ── Offcanvas Panel ── */
    #mainnav {
        position: fixed;top: 0;right: 0;bottom: 0;
        width: 100%;max-width: 420px;
        background: #fff;
        transform: translateX(105%);
        transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: -8px 0 40px rgba(0,0,0,0.18);
        z-index: 9500;
        display: flex;flex-direction: column;
        overflow: hidden;
    }
    #mainnav.active {transform: translateX(0);}

    /* ── Panel-Header: Logo + Schließen ── */
    .oc-head {
        display: flex;align-items: center;justify-content: space-between;
        padding: 18px 16px 18px 24px;
        border-bottom: 1px solid var(--border-gray);
        flex-shrink: 0;
    }
    .oc-logo {display: flex;align-items: center;flex: 1;min-width: 0;}
    .oc-logo img {height: 22px;width: auto;max-width: 110px;object-fit: contain;}
    .oc-logo svg {height: 30px;width: auto;}

    /* Schließen-Button – immer als × */
    #mainnav .oc-head .mainnav-toggle {display: flex;align-items: center;justify-content: center;width: 45px;height: 45px;flex-shrink: 0;}
    #mainnav .oc-head .mainnav-toggle .btn-mainnav-toggle {
        display: flex;align-items: center;justify-content: center;
        width: 45px;height: 45px;border-radius: 12px;
        background: var(--secondary-color);cursor: pointer;
        position: relative;box-shadow: 0 4px 16px rgba(228,3,46,0.4);
    }
    #mainnav .oc-head .mainnav-toggle .btn-mainnav-toggle span {
        display: block;width: 24px;height: 2px;border-radius: 2px;
        background: #fff;
        position: absolute;left: 50%;margin-left: -12px;top: 21px;
        transition: none;
    }
    #mainnav .oc-head .mainnav-toggle .btn-mainnav-toggle span:nth-child(1) {transform: rotate(45deg);}
    #mainnav .oc-head .mainnav-toggle .btn-mainnav-toggle span:nth-child(2) {opacity: 0;}
    #mainnav .oc-head .mainnav-toggle .btn-mainnav-toggle span:nth-child(3) {transform: rotate(-45deg);}
    #mainnav .oc-head .mainnav-toggle .btn-mainnav-toggle.active span:nth-child(1),
    #mainnav .oc-head .mainnav-toggle .btn-mainnav-toggle.not-active span:nth-child(1) {top: 21px;transform: rotate(45deg);}
    #mainnav .oc-head .mainnav-toggle .btn-mainnav-toggle.active span:nth-child(2),
    #mainnav .oc-head .mainnav-toggle .btn-mainnav-toggle.not-active span:nth-child(2) {opacity: 0;}
    #mainnav .oc-head .mainnav-toggle .btn-mainnav-toggle.active span:nth-child(3),
    #mainnav .oc-head .mainnav-toggle .btn-mainnav-toggle.not-active span:nth-child(3) {top: 21px;transform: rotate(-45deg);}

    /* ── Panel-Body (scrollbar) ── */
    .oc-body {flex: 1;overflow-y: auto;overflow-x: hidden;-webkit-overflow-scrolling: touch;}

    /* ── Menü-Items ── */
    #mainnav ul.mainnav.smart {display: block;}
    #mainnav ul.mainnav.desktop {display: none;}
    #mainnav ul.mainnav {list-style: none;margin: 0;padding: 0;}
    #mainnav ul.mainnav > li {position: relative;border-bottom: 1px solid var(--border-gray);}
    #mainnav ul.mainnav > li > a {
        display: block;
        padding: 0 62px 0 24px;
        min-height: 58px;line-height: 58px;
        font-size: 16px;font-weight: 700;
        text-transform: uppercase;letter-spacing: 0.05em;
        color: var(--text-color);text-decoration: none;
        border-left: 3px solid transparent;
        box-sizing: border-box;
        transition: color 0.2s, background 0.2s, border-color 0.2s;
        white-space: nowrap;overflow: hidden;text-overflow: ellipsis;
    }
    #mainnav ul.mainnav > li > a:hover {color: var(--primary-color);background: #fff8f0;border-left-color: var(--primary-color);}
    #mainnav ul.mainnav > li.current-menu-item > a,
    #mainnav ul.mainnav > li.current_page_ancestor > a {color: var(--primary-color);background: #fff8f0;border-left-color: var(--primary-color);}

    /* ── Chevron (Submenu-Toggle) ── */
    #mainnav .opensubnav {
        position: absolute;right: 0;top: 0;
        width: 58px;height: 58px;
        display: flex;align-items: center;justify-content: center;
        cursor: pointer;z-index: 5;
        border-left: 1px solid var(--border-gray);
        transition: background 0.2s;
    }
    #mainnav .opensubnav::after {
        content: '';display: block;
        width: 9px;height: 9px;
        border-right: 2px solid #999;border-bottom: 2px solid #999;
        transform: rotate(45deg);
        transition: transform 0.3s ease, border-color 0.2s;
        margin-top: -4px;
    }
    #mainnav .opensubnav:hover {background: #f5f5f5;}
    #mainnav .opensubnav:hover::after {border-color: var(--primary-color);}
    #mainnav .opensubnav.active {background: #fff8f0;}
    #mainnav .opensubnav.active::after {transform: rotate(-135deg);margin-top: 4px;border-color: var(--primary-color);}

    /* ── Submenüs (smooth max-height) ── */
    #mainnav li.menu-item-has-children > ul.sub-menu {
        max-height: 0;overflow: hidden;
        transition: max-height 0.35s ease;
        background: #fafafa;
        list-style: none;margin: 0;padding: 0;
    }
    #mainnav li.menu-item-has-children.active > ul.sub-menu {max-height: 600px;}
    #mainnav ul.sub-menu > li {position: relative;border-bottom: 1px solid var(--border-gray);}
    #mainnav ul.sub-menu > li:last-child {border-bottom: none;}
    #mainnav ul.sub-menu > li > a {
        display: block;
        padding: 0 24px 0 38px;
        min-height: 50px;line-height: 50px;
        font-size: 15px;font-weight: 600;
        color: var(--text-color);text-decoration: none;
        border-left: 3px solid transparent;box-sizing: border-box;
        transition: color 0.2s, background 0.2s, border-color 0.2s;
    }
    #mainnav ul.sub-menu > li > a:hover {color: var(--primary-color);background: #fff8f0;border-left-color: var(--primary-color);}
    #mainnav ul.sub-menu > li.current-menu-item > a {color: var(--primary-color);border-left-color: var(--primary-color);}
    #mainnav li.menu-item-has-children.active ul.sub-menu li.menu-item-has-children.active > ul.sub-menu {max-height: 400px;}
    #mainnav ul.sub-menu ul.sub-menu > li > a {padding-left: 52px;}

    /* ── Panel-Footer: Kontakt-CTA ── */
    .oc-footer {
        flex-shrink: 0;
        border-top: 1px solid var(--border-gray);
        padding: 14px 20px;
        display: flex;gap: 10px;
        background: #fff;
    }
    .oc-footer__login,
    .oc-footer__whatsapp {
        flex: 1;
        display: flex;align-items: center;justify-content: center;gap: 8px;
        padding: 13px 10px;border-radius: 10px;
        font-size: 14px;font-weight: 700;
        text-decoration: none;color: #fff;
        transition: filter 0.2s;
    }
    .oc-footer__login svg,
    .oc-footer__whatsapp svg {width: 18px;height: 18px;flex-shrink: 0;fill: #fff;}
    .oc-footer__login {background: var(--green-color);}
    .oc-footer__login:hover {filter: brightness(0.9);color: #fff;}
    .oc-footer__whatsapp {background: #25D366;}
    .oc-footer__whatsapp:hover {filter: brightness(0.9);color: #fff;}

    /* ── Overlay ── */
    #mainnav-overlay {
        position: fixed;top: 0;right: 0;left: 0;bottom: 0;
        background: rgba(0,0,0,0.55);
        opacity: 0;visibility: hidden;pointer-events: none;
        z-index: 9200;
        transition: opacity 0.35s ease, visibility 0.35s ease;
    }
    #mainnav-overlay.active {opacity: 1;visibility: visible;pointer-events: auto;}

    /* Legacy ausblenden */
    #mainnav .head {display: none !important;}
    #mainnav address.contact {display: none !important;}
}

/* ========================================
   STAGE / HERO SECTIONS
   ======================================== */

.stage {aspect-ratio: 3/0.9;width: 100%;position: relative;margin-top: 0;}
.home.page .stage.mb {margin-bottom:100px;}
.page .stage.mb {margin-bottom:50px;}

/* Fallback für Browser ohne aspect-ratio Support */
@supports not (aspect-ratio: 3/1) {
    .stage {padding-top: 33.33%;}
}


.stage img {width: 100%;height: 100%;object-fit: cover;object-position: center;}
.stage.subpage {aspect-ratio: 3/.7;width: 100%;position: relative;}


@supports not (aspect-ratio: 3/.7) {
    .stage.subpage {padding-top: 23.33%;}
}

/* ========================================
   PAGE LAYOUT
   ======================================== */

main.withsidebar .page-build {display: grid;grid-template-columns: 70% 25%;align-items: flex-start;justify-content: space-between;max-width: var(--wrp-width);width: 90%;margin: 0 auto;}
main.withsidebar .content .wrp {width: 100%;}

/* ========================================
   CONTENT BLOCKS
   ======================================== */

/* Text Block */
.text.multiple-col .wrp {-webkit-columns: 2 350px;-moz-columns: 2 350px;columns: 2 350px;-webkit-column-gap: 4em;-moz-column-gap: 4em;column-gap: 4em;}
.text.align-center {text-align: center;}
.text h2 {font-size:28px;line-height:32px;font-weight:700}
.text h3 {font-size:20px;line-height:28px;font-weight:300;font-style: italic;margin:0 0 40px 0}

/* Text + Image Block */
.textbild {background: #f2f2f2;display: grid;align-items: center;overflow: hidden;}
.textbild .wrp {display: contents;}
.textbild .text {font-size:20px;line-height:30px;box-sizing: border-box;padding: 50px 30px;}
.textbild.ersttext .text {padding-left: max(8vw, calc((100vw - var(--wrp-width)) / 2 + 30px));padding-right: 60px;}
.textbild.erstbild .text {padding-right: max(8vw, calc((100vw - var(--wrp-width)) / 2 + 30px));padding-left: 60px;}
.textbild .bild {width: 100%;height: 100%;}
.textbild .bild img {width: 100%;height: 100%;object-fit: cover;}
.textbild-buttons {display: flex;flex-wrap: wrap;gap: 15px;margin-top: 25px;}
.textbild-buttons .btn {background:var(--green-color);font-weight:700;color:#fff;border-radius:40px;padding:10px 30px;text-transform: uppercase}
.textbild-buttons .btn:nth-child(1) {background:var(--green-color);transition: var(--transition);}
.textbild-buttons .btn:hover:nth-child(1) {color:var(--text-color);background:var(--primary-color);transition: var(--transition);}
.textbild-buttons .btn:nth-child(2) {background:var(--primary-color);transition: var(--transition);}
.textbild-buttons .btn:hover:nth-child(2) {color:var(--text-color);background:var(--primary-color);transition: var(--transition);}
.textbild-buttons .btn:nth-child(3) {background:var(--secondary-color);transition: var(--transition);}
.textbild-buttons .btn:hover:nth-child(3) {color:var(--text-color);background:var(--primary-color);transition: var(--transition);}
.buttongruppe .textbild-buttons {margin-top: 0;justify-content: center;}

/* Teasercards */
.teasercards {position: relative;}
.teasercards .wrp {position: relative;overflow: visible;}
.teasercards .cards.no-carousel {display: grid;grid-column-gap: 50px;grid-row-gap: 50px;margin: 0;}
.teasercards .cards.no-carousel li {list-style-type: none;margin: 0;}
.teasercards .splide {overflow: visible;position: relative;}
.teasercards .splide .splide__track {overflow: hidden;}
.teasercards .splide ul.cards {display: flex;grid-column-gap: unset;}
.teasercard-item .img-wrp {width: 100%;aspect-ratio: 2/1.5;display: block;}

@supports not (aspect-ratio: 2/1.5) {
    .teasercard-item .img-wrp {padding-top: 75%;position: relative;}
    .teasercard-item .img-wrp img {position: absolute;top: 0;left: 0;}
}

.teasercard-item .img-wrp img {width: 100%;height: 100%;object-fit: cover;}
.teasercard-item .teasercard-content {display: block;}
.teasercard-item .teasercard-content .btn {display: inline-block;}
.teasercards .splide__arrow--prev {left: -100px;}
.teasercards .splide__arrow--next {right: -100px;}

/* Führerschein Block */

.stage .wrp {margin-top:-100px}
.stage .wrp .boxen {display:grid;grid-template-columns: 1fr 1fr;gap:20px;}
.stage .wrp .boxen .headerbox {background:#fff url(assets/icon-wint.png) right bottom no-repeat;background-size:235px;border-radius:10px;padding:40px;box-sizing:border-box;box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.08);}
.stage .wrp .boxen .headerbox h3 {font-size:20px;font-style:italic;margin:0 0 20px 0;}
.stage .wrp .boxen .headerbox h2 {font-size:24px;font-weight:700;margin:0;}
.stage .wrp .boxen .headerbox ul {margin:0 0 30px 0;list-style-type: none}
.stage .wrp .boxen .headerbox ul li {margin:0;font-size:20px;font-weight:400;background: url(assets/list-check.svg) left 10px no-repeat;background-size: 15px;padding-left:25px;}
.stage .wrp .boxen .headerbox a {margin:0;font-size:20px;font-weight:600;text-transform:uppercase;}
.stage .wrp .boxen .headerbox a:after {content:"";display:block;background:url(assets/traffic.svg) left top no-repeat; background-size:55px;width:55px;height:3px;margin-top:2px;}


/* Fahrlehrer Block */
.fahrlehrer-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 25px;}
.fahrlehrer-grid.cols-3 {grid-template-columns: repeat(3, 1fr);}
.fahrlehrer-grid.cols-2 {grid-template-columns: repeat(2, 1fr);}
.fahrlehrer-grid.cols-1 {grid-template-columns: 1fr;max-width: 400px;}
.fahrlehrer-card {background:var(--bg-white);border-radius: var(--border-radius);overflow: hidden;box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.08);}
.fahrlehrer-card__bild {width: 100%;overflow: hidden;background: var(--bg-light-gray);}
.fahrlehrer-card__bild img {width: 100%;height: 100%;object-fit: cover;object-position: top center;}
.fahrlehrer-card__body {padding: 20px;}
.fahrlehrer-card__name {display: block;text-transform:uppercase;font-size: 20px;font-weight: 700;color: var(--text-dark);margin-bottom: 0;}
.fahrlehrer-card__bezeichnung {display: block;font-style: italic;font-weight: 300;color: var(--text-color);margin-bottom: 20px;}
.fahrlehrer-card__klassen {display: flex;flex-wrap: wrap;gap: 6px;}
.fahrlehrer-card__klasse {color: var(--text-dark);font-size: 16px;line-height:24px;font-weight: 400;}
.fahrlehrer-card--hidden {display: none;}
.fahrlehrer-load-more {display: flex;justify-content: center;margin-top: 40px;}
.fahrlehrer-card__klassen .klasse {font-weight:700;display:block;width: 100%;margin:0;line-height:18px;font-size: 18px;}
.fahrlehrer-card__kontakt .klasse {font-weight:700;display:block;width: 100%;margin:0;line-height:18px;font-size: 18px;}

/* Standorte Block */
.standorte .wrp {display: grid;grid-template-columns: repeat(3, 1fr);gap: 30px;}
.standorte .wrp.cols-2 {grid-template-columns: repeat(2, 1fr);}
.standort-card {background: var(--bg-white);border-radius: var(--border-radius);padding: 40px;box-sizing: border-box;display: flex;flex-direction: column; box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.08);}
.standort-card__name {display: block;text-transform:uppercase;font-size: 24px;font-weight: 700;margin-bottom: 0;color: var(--text-dark);}
.standort-card__address {font-size:20px;line-height:28px;font-style: normal;font-weight:600;margin-bottom: 15px;}
.standort-card__phone,.standort-card__email {display: block;color: var(--text-color);text-decoration: none;margin-bottom: 8px;transition: var(--transition);}
.standort-card__phone:hover,.standort-card__email:hover {color: var(--secondary-color);transition: var(--transition);}
.standort-card__theorie {margin-top: 20px;flex-grow: 1;}
.standort-card .btn {margin-top: 25px;display: inline-block;font-weight:600;background:none;padding:0;text-transform: uppercase}
.standort-card .btn:after {content:"";display:block;background:url(assets/traffic.svg) left top no-repeat; background-size:55px;width:55px;height:3px;margin-top:2px;}

/* Infoboxen Block */
.infoboxen-grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: 30px;}
.infoboxen-grid.cols-1 {grid-template-columns: 1fr;}
.infobox-card {background: var(--bg-white) url(assets/icon-wint.png) right bottom no-repeat;
    background-size: 235px;border-radius: var(--border-radius);padding: 40px;box-sizing: border-box;display: flex;flex-direction: column;box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.08);}
.infobox-card__name {display: block;text-transform: uppercase;font-size: 24px;font-weight: 700;margin-bottom: 0;color: var(--text-dark);}
.infobox-card__sub {display: block;font-size: 20px;line-height: 28px;font-style: italic;font-weight: 300;margin-bottom: 15px;color: var(--text-color);}
.infobox-card__text {margin-top: 20px;flex-grow: 1;}
.infobox-card__text p {margin-bottom: 10px;}
.infobox-card__text p:last-child {margin-bottom: 0;}
.infobox-card__text ul {list-style: none;margin-bottom: 20px;}
.infobox-card__text ul li {margin: 0;font-size: 20px;font-weight: 400;background: url(assets/list-check.svg) left 10px no-repeat;background-size: 15px;padding-left: 25px;}
.infobox-card__link {display: inline-block;margin-top: 25px;font-size: 20px;font-weight: 600;text-transform: uppercase;color: var(--text-dark);text-decoration: none;}
.infobox-card__link:after {content: "";display: block;background: url(assets/traffic.svg) left top no-repeat;background-size: 55px;width: 55px;height: 3px;margin-top: 2px;}

/* Linie Block */
.linie {text-align: center;padding: 50px 0;}
.linie img, .linie svg {width: 61px !important;height: 3px !important;}

/* Erforderliche Unterlagen Block */
.unterlagen.mb {margin-bottom:40px;}
.unterlagen-grid {display: flex;flex-wrap: nowrap;gap: 30px;margin-top: 40px;}
.unterlagen-card {flex: 1 1 auto;background: var(--bg-white);border-radius: var(--border-radius);padding: 10px 30px 10px 55px;box-sizing: border-box;box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.08);position: relative;}
.unterlagen-card::before {content: '';position: absolute;left: 20px;top: 15px;width: 20px;height: 20px;background: url(assets/list-check.svg) center no-repeat;background-size: contain;}
.unterlagen-card__text {font-size: 18px;font-weight: 600;line-height: 1.4;display: block;color: var(--text-dark);}

/* ========================================
   THEORIEZEITEN BLOCK
   ======================================== */
.theoriezeiten .wrp {display: flex;flex-direction: column;gap: 20px;}
.theorie-box {background: var(--bg-white);border-radius: var(--border-radius);padding: 25px 40px;box-sizing: border-box;box-shadow: 0 3px 15px 0 rgba(0,0,0,0.08);display: flex;align-items: center;gap: 30px;}
.theorie-box__standort {flex: 0 0 220px;}
.theorie-box__standort strong {display: block;text-transform: uppercase;font-size: 20px;font-weight: 700;color: var(--text-dark);}
.theorie-box__blocks {flex: 1;display: grid;grid-template-columns: 1fr 1fr;gap: 15px 30px;}
.theorie-box__block {display: flex;flex-direction: column;gap: 3px;}
.theorie-box__datum {font-size: 18px;font-weight: 700;line-height:18px;color: var(--text-dark);}
.theorie-box__uhrzeit {font-size: 16px;line-height:16px;color: var(--text-color);}
.theorie-box__empty {font-size: 15px;color: var(--text-color);font-style: italic;grid-column: 1 / -1;}
.theorie-box__action {flex: 0 0 auto;}
.theorie-box__action .btn {cursor: pointer;background: var(--green-color);font-weight: 700;color: #fff;border-radius: 40px;border:0;margin:0;padding: 10px 30px;text-transform: uppercase;transition: var(--transition);}
.theorie-box__action .btn:hover {color: var(--text-color);background: var(--primary-color);transition: var(--transition);}

/* Theoriezeiten Modal */
.theorie-modal {display: none;position: fixed;inset: 0;z-index: 9999;align-items: center;justify-content: center;}
.theorie-modal.is-open {display: flex;}
.theorie-modal__overlay {position: absolute;inset: 0;background: rgba(0,0,0,0.6);cursor: pointer;}
.theorie-modal__box {position: relative;background: #fff;border-radius: var(--border-radius);padding: 50px;box-sizing: border-box;width: 90%;max-width: 720px;max-height: 90vh;overflow-y: auto;z-index: 1;}
.theorie-modal__close {position: absolute;top: 12px;right: 18px;background: none;border: none;font-size: 34px;line-height: 1;cursor: pointer;color: var(--text-dark);padding: 0;}
.theorie-modal__close:hover {color: var(--primary-color);}
.theorie-modal__standort-label {font-size: 20px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.08em;color: var(--text-color);margin: 0 0 10px 0;}
.theorie-modal__dates {display: flex;flex-wrap: wrap;gap:0;margin-bottom: 25px;}
.theorie-modal__date {display: inline-block;background: var(--bg-light-gray, #f5f5f5);border-radius: 6px;padding: 6px 14px;font-size: 15px;font-weight: 600;color: var(--text-dark);}
body.theorie-modal-active {overflow: hidden;}
.theorie-modal__separator {border: none;border-top: 2px solid #f0f0f0;margin: 18px 0 0;}
.theorie-modal__block-title {flex-basis: 100%;font-size: 13px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.08em;color: var(--text-color);margin: 12px 0 6px;}
.theorie-modal__stundenplan {flex-basis: 100%;display: grid;grid-template-columns: repeat(3, 1fr);gap: 0 24px;}
@media (max-width: 600px) {
    .theorie-modal__stundenplan {grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 400px) {
    .theorie-modal__stundenplan {grid-template-columns: 1fr;}
}
.theorie-modal__tag {display: flex;align-items: center;gap: 12px;padding: 6px 10px;background: var(--bg-light-gray, #f5f5f5);border-radius: 6px;}
.theorie-modal__tag-datum {font-weight: 700;color: var(--text-dark);font-size: 15px;flex-shrink: 0;}
.theorie-modal__tag-lektionen {font-size: 14px;font-weight: 400;color: var(--text-dark);}

/* Theorietermine Standort-Block */
.theorie-standort-box {background: var(--bg-white);border-radius: var(--border-radius);padding: 25px 40px;box-sizing: border-box;box-shadow: 0 3px 15px 0 rgba(0,0,0,0.08);display: flex;align-items: center;gap: 30px;}
.theorie-standort-box__blocks {flex: 1;display: grid;grid-template-columns: 1fr 1fr;gap: 15px 30px;}
.theorie-standort-box__block {display: flex;flex-direction: column;gap: 3px;}

@media (max-width: 900px) {
    .theorie-standort-box {flex-wrap: wrap;padding: 25px 30px;gap: 20px;}
    .theorie-standort-box__blocks {width: 100%;flex: 1;}
}
@media (max-width: 600px) {
    .theorie-standort-box {flex-direction: column;align-items: flex-start;padding: 20px 25px;gap: 15px;}
    .theorie-standort-box__blocks {width: 100%;grid-template-columns: 1fr;}
}

/* Theorietermine – Kursblock-Cards (Vorschlag 3) */
.theorie-kurs-section .wrp {display: block;}
.theorie-kurs-empty {font-size: 15px;color: var(--text-color);font-style: italic;}
.theorie-kurs-cards {display: grid;grid-template-columns: repeat(3, 1fr);gap: 25px;}
.theorie-kurs-card {background: var(--bg-white);border-radius: var(--border-radius);box-shadow: 0 3px 15px 0 rgba(0,0,0,0.08);overflow: hidden;display: flex;flex-direction: column;}
.theorie-kurs-card__header {background: #efefef;color: var(--text-dark);font-weight: 700;font-size: 16px;text-transform: uppercase;letter-spacing: 0.5px;padding: 14px 22px;line-height: 1.3;}
.theorie-kurs-card__body {padding: 20px 22px;display: flex;flex-direction: column;gap: 0;flex: 1;}
.theorie-kurs-card__termin {padding: 14px 0;border-bottom: 1px solid #f0f0f0;}
.theorie-kurs-card__termin:first-child {padding-top: 0;}
.theorie-kurs-card__termin:last-of-type {border-bottom: none;}
.theorie-kurs-card__datum {display: block;font-size: 17px;font-weight: 700;color: var(--text-dark);line-height: 1.3;margin-bottom: 5px;}
.theorie-kurs-card__meta {display: flex;flex-wrap: wrap;align-items: center;gap: 8px;}
.theorie-kurs-card__uhrzeit {font-size: 14px;color: var(--text-color);}
.theorie-kurs-card__lektionen {font-size: 14px;font-weight: 700;color: var(--text-dark);}
.theorie-kurs-card__action {margin-top: auto;padding-top: 18px;}
.theorie-kurs-card__action .btn {cursor: pointer;display: inline-block;background: var(--green-color);font-weight: 700;color: #fff;border-radius: 40px;border: 0;margin: 0;padding: 10px 24px;text-transform: uppercase;font-size: 14px;transition: var(--transition);}
.theorie-kurs-card__action .btn:hover {background: var(--primary-color);color: #fff;transition: var(--transition);}
.theorie-box__lektionen {font-size: 13px;color: var(--primary-color);font-weight: 600;}

@media (max-width: 900px) {
    .theorie-kurs-cards {grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 600px) {
    .theorie-kurs-cards {grid-template-columns: 1fr;gap: 18px;}
    .theorie-kurs-card__header {font-size: 15px;padding: 12px 18px;}
    .theorie-kurs-card__body {padding: 16px 18px;}
    .theorie-kurs-card__datum {font-size: 16px;}
}

/* Bewertungen / Testimonials Block */
.bewertungen__title {margin-bottom: 40px;}
.bewertungen__slider-wrap {position: relative;overflow: hidden;padding: 20px;margin: -20px;}
.bewertungen .splide {overflow: visible;}
.bewertungen .splide__arrow {display: none;}
.testimonial-card {background: var(--bg-white);border-radius: var(--border-radius);padding: 30px;box-sizing: border-box;box-shadow: 0px 3px 15px 0px rgba(0, 0, 0, 0.08);display: flex;flex-direction: column;justify-content: space-between;}
.testimonial-card__text {font-size: 20px;line-height: 28px;margin-bottom: 10px;}
.testimonial-card__person {font-weight: 300;font-size: 15px;font-style:italic;color: var(--text-dark);}

/* Slider Pagination (quadratische Dots) */
.slider-pagination {display: flex;justify-content: center;gap: 8px;margin-top: 25px;}
.slider-pagination__dot {width: 14px;height: 14px;border-radius: 2px;background: var(--border-gray);border: none;cursor: pointer;padding: 0;transition: var(--transition);}
.slider-pagination__dot.active {background: var(--primary-color);}
.slider-pagination__dot:hover {background: var(--secondary-color);transition: var(--transition);}

/* Image Block */
.image img {display: block;width: 100%;height: auto;}
.bildtrenner {width: 100%;aspect-ratio: 3/1;overflow: hidden;position: relative;}

@supports not (aspect-ratio: 3/1) {
    .bildtrenner {padding-top: 33.33%;}
}

.bildtrenner img {width: 100%;height: 100%;object-fit: cover;object-position: center;}
.bildtrenner .wrp {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);z-index: 2;}

/* ========================================
   GALLERY COMPONENT
   ======================================== */

/* Gemeinsame Overlay-Styles für Galerie und Video */
.gallery-overlay {width: 100%;position: absolute;height: 100%;top: 0;left: 0;right: 0;bottom: 0;background: var(--secondary-color);opacity: 0;transition: var(--transition);}
.gallery-overlay .icon-wrp {position: absolute;top: 50%;left: 50%;width: 45px;height: 45px;transform: translate(-50%, -50%);}
.gallery-overlay .icon-wrp svg {width: 100%;height: 100%;transform: scale(0);transition: var(--transition);}
.gallery-overlay .icon-wrp svg path {fill: var(--bg-white);}

/* Image Gallery */
.gallery .glightbox-gallery:not(.masonry) {display: grid;gap: 50px;margin-bottom: 0;}
.gallery .glightbox-gallery li {list-style-type: none;margin: 0 0 25px 0;border-radius: 5px;overflow: hidden;aspect-ratio: 1;}

@supports not (aspect-ratio: 1) {
    .gallery .glightbox-gallery li {padding-top: 100%;position: relative;}
    .gallery .glightbox-gallery li a {position: absolute;top: 0;left: 0;width: 100%;}
}

.gallery .glightbox-gallery:not(.masonry) li {margin: 0;}
.gallery .glightbox-gallery li a {position: relative;display: block;overflow: hidden;height: 100%;}
.gallery .glightbox-gallery li a .overlay {width: 100%;position: absolute;height: 100%;top: 0;left: 0;right: 0;bottom: 0;background: var(--secondary-color);opacity: 0;transition: var(--transition);}
.gallery .glightbox-gallery li a:hover .overlay {opacity: 0.6;transition: var(--transition);}
.gallery .glightbox-gallery li a .overlay .icon-wrp {position: absolute;top: 50%;left: 50%;width: 45px;height: 45px;transform: translate(-50%, -50%);}
.gallery .glightbox-gallery li a .overlay .icon-wrp svg {width: 100%;height: 100%;transform: scale(0);transition: var(--transition);}
.gallery .glightbox-gallery li a .overlay .icon-wrp svg path {fill: var(--bg-white);}
.gallery .glightbox-gallery li a:hover .overlay .icon-wrp svg {transform: scale(1);transition: var(--transition);}
.gallery .glightbox-gallery li img {width: 100%;height: 100%;object-fit: cover;}
.gallery .glightbox-gallery.masonry {gap: 25px;columns: 4;margin: 0 auto;}

/* Video Gallery */
.gallery .video-gallery-grid {display: grid;grid-column-gap: 50px;grid-row-gap: 50px;}
.gallery .video-gallery-grid .video-gallery-item {height: 220px;width: 100%;display: block;position: relative;overflow: hidden;}
.gallery .video-gallery-grid .video-gallery-item .overlay {width: 100%;position: absolute;height: 100%;top: 0;left: 0;right: 0;bottom: 0;background: var(--secondary-color);opacity: 0;transition: var(--transition);z-index: 4;}
.gallery .video-gallery-grid .video-gallery-item:hover .overlay {opacity: 0.6;transition: var(--transition);}
.gallery .video-gallery-grid .video-gallery-item .overlay .icon-wrp {position: absolute;top: 50%;left: 50%;width: 45px;height: 45px;transform: translate(-50%, -50%);}
.gallery .video-gallery-grid .video-gallery-item .overlay .icon-wrp svg {width: 100%;height: 100%;transform: scale(0);transition: var(--transition);}
.gallery .video-gallery-grid .video-gallery-item .overlay .icon-wrp svg path {fill: var(--bg-white);}
.gallery .video-gallery-grid .video-gallery-item:hover .overlay .icon-wrp svg {transform: scale(1);transition: var(--transition);}
.gallery .video-gallery-grid .video-gallery-item img {height: 100%;width: 100%;object-fit: cover;object-position: center;transform: scale(1.2);}

/* ========================================
   EMBED / VIDEO
   ======================================== */

.embed .respo-video {position: relative;height: 0;overflow: hidden; padding-bottom: 56.25%;}
.embed .respo-video iframe {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
.embed .respo-video ._brlbs-cb-youtube {margin-bottom: -56.25%;}

/* ========================================
   ACCORDION
   ======================================== */

.accordion .item-accordion {margin-bottom: 15px;background: var(--bg-white);border-radius: var(--border-radius);box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.08);overflow: hidden;}
.accordion .item-accordion-head {cursor: pointer;position: relative;padding: 20px 60px 20px 30px;font-size: 18px;font-weight: 700;color: var(--text-dark);}
.accordion .active .item-accordion-head {background: var(--primary-color);}
.accordion .item-accordion-btn {width: 30px;height: 30px;margin: 0;cursor: pointer;position: absolute;right: 20px;top: 50%;transform: translateY(-50%);}
.accordion .item-accordion-btn:before {content: '+';color: var(--text-dark);position: absolute;width: 30px;height: 30px;text-align: center;line-height: 26px;font-size: 28px;}
.accordion .item-accordion.hidden .item-accordion-btn:before {content: '+';line-height: 30px;}
.accordion .item-accordion.active .item-accordion-btn:before {content: '-';line-height: 26px;color:#fff;}
.accordion .item-accordion.hidden.active .item-accordion-btn:before {content: '-';line-height: 26px;}
.accordion .item-accordion.hidden .item-accordion-content {display: none;padding: 30px 25px;}
.accordion .item-accordion-content ul {list-style: none;margin: 0;}
.accordion .item-accordion-content ul li {margin: 0;padding: 4px 0 4px 20px;background: url(assets/list-check.svg) left 15px no-repeat;background-size: 11px;}
.accordion .item-accordion-content strong + ul,
.accordion .item-accordion-content strong + * ul {margin-top: 0;}
.accordion .item-accordion-content p:has(+ ul) {margin-bottom: 0;}

/* ========================================
   BLOG & SIDEBAR
   ======================================== */

main.withsidebar .content .blog-grid {display: grid;grid-template-columns: repeat(3, 1fr);grid-column-gap: 50px;grid-row-gap: 50px;}
main.withsidebar .content .blog-grid .post {width: 100%;}
main.withsidebar .content .blog-grid .post img {width: 100%;height: auto;object-fit: cover;}
article.singlepost .post-image img {width: 100%;height: auto;object-fit: cover;}

/* Sidebar */
main.withsidebar .sidebar {width: 100%;position: -webkit-sticky;position: sticky;top: 150px;background: var(--bg-light-gray);padding: 25px;box-sizing: border-box;}


.grey {background:#f2f2f2;margin-top: 150px;}
.grey .wrp {display:grid;grid-template-columns:25% auto 30%;gap:0;align-items: center;}
.grey .wrp .text {padding:40px 0}
.grey .wrp .sign span {max-width:285px;position:absolute;top:-40px}
.grey .wrp .number{justify-self: end;}
.grey .wrp .number a{display:inline-block;background: #fff;padding:10px 40px;box-sizing: border-box;color:var(--primary-color);border-radius:40px;font-size:30px;font-weight:700;transition: var(--transition);}
.grey .wrp .number a:hover{color:var(--secondary-color);transition: var(--transition);}

/* ========================================
   FOOTER
   ======================================== */

footer .wrp {display:grid;grid-template-columns: 1fr 1fr 1fr;gap:20px;margin-top:70px;}

footer .card__address {
    font-size: 20px;
    line-height: 28px;
    font-style: normal;
    font-weight: 600;
    margin-bottom: 15px;
    text-transform: none;
}
footer .wrp .box {
    background: var(--bg-white);
    border-radius: var(--border-radius);
    padding: 40px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    box-shadow: 0px 3px 15px 0px rgba(0, 0, 0, 0.08);
    font-size:20px;text-transform: uppercase
}
footer .wrp .box a {text-transform: none}
footer .wrp .box strong {font-size:24px;text-transform: uppercase}

.bottom .wrp {font-size:14px;display: flex;align-items: center;justify-content: space-between;flex-wrap: wrap;padding:15px 0}
.bottom .wrp a {font-size:14px;}
.bottom .wrp ul {margin:0;list-style-type: none}
.bottom .wrp ul li{margin:0 7px 0 0;display:inline-block;}

/* ========================================
   PROZESS / ABLAUF BLOCK
   ======================================== */

.prozess-steps {display: flex;align-items: flex-start;}
.prozess-step {flex: 1;display: flex;flex-direction: column;align-items: center;text-align: center;position: relative;padding: 0 20px;}

/* Verbindungslinie: von Mitte des Kreises zur Mitte des nächsten */
.prozess-step::after {content: '';position: absolute;top: 35px;left: 50%;width: 100%;height: 2px;background: var(--border-gray);z-index: 0;}
.prozess-step:last-child::after {display: none;}

.prozess-step__top {position: relative;z-index: 1;margin-bottom: 20px;}
.prozess-step__circle {width: 70px;height: 70px;border-radius: 50%;background: var(--secondary-color);color: #fff;display: flex;align-items: center;justify-content: center;font-size: 26px;font-weight: 700;box-shadow: 0 4px 15px rgba(228, 3, 46, 0.25);}
.prozess-step__titel {display: block;font-size: 17px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.04em;color: var(--text-dark);margin-bottom: 8px;}
.prozess-step__text {font-size: 15px;line-height: 22px;color: var(--text-color);margin: 0;}

/* Mobile: vertikal */
@media (max-width: 768px) {
    .prozess-steps {flex-direction: column;gap: 0;max-width: 520px;margin: 0 auto;}
    .prozess-step {flex-direction: row;text-align: left;align-items: flex-start;gap: 25px;padding: 0 0 35px;}
    .prozess-step::after {top: 35px;left: 35px;width: 2px;height: calc(100% - 35px);}
    .prozess-step:last-child {padding-bottom: 0;}
    .prozess-step__top {flex-shrink: 0;}
    .prozess-step__content {padding-top: 17px;}
}
@media (max-width: 500px) {
    .prozess-step {gap: 18px;padding-bottom: 28px;}
    .prozess-step__circle {width: 56px;height: 56px;font-size: 20px;}
    .prozess-step::after {top: 28px;left: 28px;}
    .prozess-step__content {padding-top: 12px;}
}

/* ========================================
   FLOATING KONTAKT-BUTTON
   ======================================== */

.floating-contact {position: fixed;bottom: 30px;right: 30px;z-index: 9000;display: flex;flex-direction: column;align-items: stretch;gap: 10px;width: 130px;}

.floating-contact__btn {display: flex;align-items: center;border-radius: 50px;box-shadow: 0 4px 15px rgba(0,0,0,0.2);text-decoration: none;font-weight: 700;color: #fff;overflow: hidden;transition: box-shadow 0.25s ease, transform 0.25s ease;}
.floating-contact__btn:hover {box-shadow: 0 6px 22px rgba(0,0,0,0.32);transform: translateX(-4px);color: #fff;}

.floating-contact__btn-label {white-space: nowrap;font-size: 14px;padding-left: 16px;flex: 1;color: #fff;}

.floating-contact__btn-icon {width: 52px;height: 52px;display: flex;align-items: center;justify-content: center;flex-shrink: 0;}
.floating-contact__btn-icon svg {width: 22px;height: 22px;fill: #fff;display: block;}

.floating-contact__btn--login {background: var(--green-color);}
.floating-contact__btn--login:hover {background: #93a455;}
.floating-contact__btn--whatsapp {background: #25D366;}
.floating-contact__btn--whatsapp:hover {background: #1da851;}
.floating-contact__btn--phone {background: var(--primary-color);}
.floating-contact__btn--phone:hover {background: var(--primary-color);}

@media (max-width: 500px) {
    .floating-contact {bottom: 20px;right: 20px;gap: 8px;width: 120px;}
    .floating-contact__btn-icon {width: 46px;height: 46px;}
    .floating-contact__btn-icon svg {width: 20px;height: 20px;}
}
@media (max-width: 430px) {
    .floating-contact {width: 100px;gap: 6px;}
    .floating-contact__btn-label {font-size: 11px;padding-left: 10px;}
    .floating-contact__btn-icon {width: 38px;height: 38px;}
    .floating-contact__btn-icon svg {width: 17px;height: 17px;}
}

/* ========================================
   404 ERROR PAGE
   ======================================== */

.error404 .stage {display: none;}
.pageerror {padding: 250px 0 100px 0;text-align: center;}

/* ========================================
   CUSTOM SLIDER
   ======================================== */

.splide {position: relative;overflow: hidden;width: 100%;margin: 0;}
.splide .splide__track {overflow: visible;width: 100%;}
.splide .splide__list, .splide .cards {display: flex;margin: 0;padding: 0;list-style: none;width: 100%;transition: transform 0.5s ease;}
.splide .splide__slide, .splide .cards > * {flex-shrink: 0;margin: 0;list-style: none;}
.splide__arrow {position: absolute;top: 50%;transform: translateY(-50%);width: 50px;height: 50px;border-radius: 50%;background: var(--primary-color);color: var(--bg-white);border: none;font-size: 24px;cursor: pointer;z-index: 5;transition: var(--transition);display: flex;align-items: center;justify-content: center;box-shadow: var(--box-shadow);font-weight: 300;}
.splide__arrow:hover {background: var(--secondary-color);transform: translateY(-50%) scale(1.1);transition: var(--transition);}
.splide__arrow--prev {left: -25px;}
.splide__arrow--next {right: -25px;}
.splide__arrow:disabled {opacity: 0.3;cursor: not-allowed;}
.splide .clone {opacity: 1;}

/* ========================================
   CUSTOM LIGHTBOX
   ======================================== */

.custom-lightbox {position: fixed;top: 0;left: 0;right: 0;bottom: 0;z-index: 999999;opacity: 0;visibility: hidden;transition: opacity 0.3s ease, visibility 0.3s ease;pointer-events: none;}
.custom-lightbox.active {opacity: 1;visibility: visible;pointer-events: auto;}
.lightbox-overlay {position: absolute;top: 0;left: 0;right: 0;bottom: 0;background: rgba(0, 0, 0, 0.95);backdrop-filter: blur(10px);z-index: 1;}
.lightbox-container {position: relative;width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;z-index: 2;}
.lightbox-close {position: fixed;top: 20px;right: 20px;width: 50px;height: 50px;border-radius: 50%;background: rgba(255, 255, 255, 0.2);color: var(--bg-white);border: 2px solid rgba(255, 255, 255, 0.5);font-size: 30px;cursor: pointer;z-index: 999999;transition: var(--transition);display: flex;align-items: center;justify-content: center;line-height: 1;font-weight: 300;}
.lightbox-close:hover {background: var(--primary-color);border-color: var(--primary-color);transform: rotate(90deg);transition: var(--transition);}
.lightbox-prev, .lightbox-next {position: fixed;top: 50%;transform: translateY(-50%);width: 60px;height: 60px;border-radius: 50%;background: rgba(255, 255, 255, 0.2);color: var(--bg-white);border: 2px solid rgba(255, 255, 255, 0.5);font-size: 28px;cursor: pointer;z-index: 999999;transition: var(--transition);display: flex;align-items: center;justify-content: center;font-weight: 300;}
.lightbox-prev:hover, .lightbox-next:hover {background: var(--primary-color);border-color: var(--primary-color);transform: translateY(-50%) scale(1.1);transition: var(--transition);}
.lightbox-prev {left: 20px;}
.lightbox-next {right: 20px;}
.lightbox-counter {position: fixed;top: 20px;left: 50%;transform: translateX(-50%);background: rgba(0, 0, 0, 0.8);color: var(--bg-white);padding: 10px 20px;border-radius: 20px;font-size: 16px;z-index: 999999;backdrop-filter: blur(5px);font-weight: 500;}
.lightbox-image-wrapper {position: relative;max-width: 90%;max-height: 90%;display: flex;align-items: center;justify-content: center;overflow: hidden;}
.lightbox-image {max-width: 100%;max-height: 90vh;object-fit: contain;transition: transform 0.3s ease;cursor: grab;}
.lightbox-image:active {cursor: grabbing;}
.lightbox-video-wrapper {position: relative;width: 90vw;max-width: 1280px;aspect-ratio: 16/9;}
.lightbox-video {position: absolute;top: 0;left: 0;width: 100%;height: 100%;border-radius: 8px;}
.lightbox-zoom-controls {position: fixed;bottom: 30px;left: 50%;transform: translateX(-50%);display: flex;gap: 10px;z-index: 999999;}
.lightbox-zoom-controls button {width: 45px;height: 45px;border-radius: 50%;background: rgba(255, 255, 255, 0.2);color: var(--bg-white);border: 2px solid rgba(255, 255, 255, 0.5);font-size: 20px;cursor: pointer;transition: var(--transition);display: flex;align-items: center;justify-content: center;font-weight: 300;}
.lightbox-zoom-controls button:hover {background: var(--primary-color);border-color: var(--primary-color);transform: scale(1.1);transition: var(--transition);}
.lightbox-thumbnails {position: fixed;bottom: 20px;left: 50%;transform: translateX(-50%);width: 90%;max-width: 900px;z-index: 999999;background: rgba(0, 0, 0, 0.8);padding: 15px;border-radius: 10px;backdrop-filter: blur(10px);}
.lightbox-thumbnails-wrapper {display: flex;gap: 10px;overflow-x: auto;overflow-y: hidden;scroll-behavior: smooth;padding: 5px 0;scrollbar-width: thin;scrollbar-color: rgba(255, 255, 255, 0.3) transparent;}
.lightbox-thumbnails-wrapper::-webkit-scrollbar {height: 6px;}
.lightbox-thumbnails-wrapper::-webkit-scrollbar-track {background: rgba(255, 255, 255, 0.1);border-radius: 3px;}
.lightbox-thumbnails-wrapper::-webkit-scrollbar-thumb {background: rgba(255, 255, 255, 0.3);border-radius: 3px;}
.lightbox-thumbnails-wrapper::-webkit-scrollbar-thumb:hover {background: rgba(255, 255, 255, 0.5);}
.lightbox-thumbnail {position: relative;flex-shrink: 0;width: 100px;height: 70px;border-radius: 6px;overflow: hidden;cursor: pointer;border: 3px solid transparent;transition: var(--transition);background: rgba(0, 0, 0, 0.5);}
.lightbox-thumbnail:hover {border-color: rgba(255, 255, 255, 0.5);transform: scale(1.05);transition: var(--transition);}
.lightbox-thumbnail.active {border-color: var(--primary-color);transform: scale(1.05);}
.lightbox-thumbnail img {width: 100%;height: 100%;object-fit: cover;}
.lightbox-thumbnail-video-icon {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 30px;height: 30px;background: rgba(0, 0, 0, 0.7);color: var(--bg-white);display: flex;align-items: center;justify-content: center;border-radius: 50%;font-size: 12px;pointer-events: none;}

/* ========================================
   MEDIA QUERIES - RESPONSIVE
   Breakpoints:
   ≤1024px  iPad Pro 12.9" portrait / Tablet Landscape
   ≤900px   Theoriezeiten wrap
   ≤820px   Unterlagen
   ≤768px   iPad portrait / Tablet
   ≤640px   Großes Phone Landscape
   ≤600px   Theoriezeiten 1-col
   ≤550px   Gallery
   ≤540px   Unterlagen 1-col
   ≤500px   Smartphone Portrait (Standard)
   ≤480px   Fahrlehrer 1-col
   ≤400px   iPhone SE / Kleine Smartphones
   ======================================== */

/* === TABLET LANDSCAPE / IPAD PRO (≤1024px) === */
@media (max-width: 1024px) {
    /* Sidebar */
    main.withsidebar .page-build {grid-template-columns: 100%;}
    main.withsidebar .page-build .sidebar {display: none;}

    /* Header: wrp padding schafft Platz für den Hamburger-Button */
    header .wrp {padding-right: 70px;box-sizing: border-box;}
    /* Logo-Spalte nimmt verfügbare Breite, keine Fixed-px mehr */
    header .header-grid {grid-template-columns: 1fr;max-width:350px;padding:10px 0;transition: var(--transition);}
    .scrolled header .header-grid {grid-template-columns: 1fr;max-width:250px;transition: var(--transition);}
    /* Logo-Bild auf max-Höhe begrenzen – verhindert übergroßen Header */
    header .header-grid .logo img {max-height: 65px;width: auto;max-width: 100%;}

    /* Footer – 2-spaltig */
    footer .wrp {grid-template-columns: 1fr 1fr;gap: 20px;}

    /* Grey – Abstand reduzieren */
    .grey {margin-top: 80px;}

    /* Fahrlehrer – 3-spaltig */
    .fahrlehrer-grid {grid-template-columns: repeat(3, 1fr);}

    /* Standorte – 2-spaltig */
    .standorte .wrp {grid-template-columns: repeat(2, 1fr);}

    /* Teasercards */
    .teasercards .cards.no-carousel {grid-template-columns: repeat(2, 1fr);}
    .teasercards .splide__arrow--prev {left: -15px;}
    .teasercards .splide__arrow--next {right: -15px;}

    /* Gallery */
    .gallery .glightbox-gallery {grid-template-columns: repeat(4, 1fr);}
    .gallery .video-gallery-grid {grid-template-columns: repeat(2, 1fr);}
    .gallery .filterrow {display: grid;grid-template-columns: 100%;gap: 25px;}
    .gallery .filterrow #filter {flex-wrap: wrap;}
}

/* === THEORIEZEITEN UMBRECHEN (≤900px) === */
@media (max-width: 900px) {
    .theorie-box {flex-wrap: wrap;padding: 25px 30px;gap: 20px;}
    .theorie-box__standort {flex: 0 0 100%;}
    .theorie-box__blocks {flex: 1;}
}

/* === UNTERLAGEN 2-SPALTIG (≤820px) === */
@media (max-width: 820px) {
    .unterlagen-grid {flex-wrap: wrap;}
    .unterlagen-card {flex: 1 1 calc(50% - 15px);}
}

/* === TABLET PORTRAIT / IPAD (≤768px) === */
@media (max-width: 768px) {
    /* Header Logo – kompakter auf Tablets */
    header .header-grid .logo img {max-height: 55px;}

    /* Stage Frontpage:
       Aspect-ratio entfernt → Bild hat natürliche Höhe, Boxen fließen darunter.
       Kleiner negativer Margin schafft visuelle Verbindung Bild ↔ Cards. */
    .stage.frontpage {aspect-ratio: unset;height: auto;}
    .stage.frontpage img,
    .stage.frontpage video.stagevideo {height: auto;min-height: 240px;object-fit: cover;object-position: center;}
    .stage.frontpage .wrp {margin-top: -40px;position: relative;}
    .stage.frontpage .wrp .boxen {grid-template-columns: 1fr;gap: 15px;}
    .stage.frontpage .wrp .boxen .headerbox {padding: 25px 25px;}

    /* Stage Subpage – etwas flacher als Desktop */
    .stage.subpage {aspect-ratio: 3/1;}

    /* Linie */
    .linie {padding: 40px 0;}

    /* Standorte → 1-spaltig */
    .standorte .wrp {grid-template-columns: 100%;}

    /* Infoboxen → 1-spaltig */
    .infoboxen-grid {grid-template-columns: 100%;}

    /* Text + Bild – gestapelt */
    .textbild {grid-template-columns: 100% !important;}
    .textbild .text {order: 1;padding: 30px max(5vw, 20px);}
    .textbild .bild {order: 2;}
    .textbild.ersttext .text {padding-right:inherit; padding: 30px max(5vw, 20px);}
    .textbild.erstbild .text {padding-left:inherit;padding: 30px max(5vw, 20px);}

    /* Grey Section – gestapelt, Sign-SVG ausgeblendet */
    .grey {margin-top: 50px;}
    .grey .wrp {grid-template-columns: 1fr;gap: 15px;padding: 25px 0;text-align: center;}
    .grey .wrp .sign{    max-width: 200px;
        text-align: center;
        margin: -80px auto 0 auto;}
    .grey .wrp .sign span {
        position: relative;
        top:inherit;
    }
    .grey .wrp .text {padding:20px 0;}
    .grey .wrp .number {justify-self: center;}
    .grey .wrp .number a {font-size: 26px;}

    /* Footer → 1-spaltig */
    footer .wrp {grid-template-columns: 1fr;gap: 15px;margin-top: 40px;}

    /* Blog Grid */
    main.withsidebar .content .blog-grid {grid-template-columns: repeat(2, 1fr);}

    /* Lightbox */
    .lightbox-close {width: 40px;height: 40px;font-size: 24px;top: 10px;right: 10px;}
    .lightbox-prev, .lightbox-next {width: 45px;height: 45px;font-size: 22px;}
    .lightbox-prev {left: 10px;}
    .lightbox-next {right: 10px;}
    .lightbox-counter {font-size: 12px;padding: 6px 12px;top: 10px;}
    .lightbox-zoom-controls {bottom: 20px;gap: 8px;}
    .lightbox-zoom-controls button {width: 38px;height: 38px;font-size: 18px;}
    .lightbox-image-wrapper {max-width: 95%;max-height: 85%;}
    .lightbox-video-wrapper {width: 95vw;}
}

/* === FAHRLEHRER 2-SPALTIG (≤768px) === */
@media (max-width: 768px) {
    .fahrlehrer-grid {grid-template-columns: repeat(2, 1fr);}
}

/* === STANDORTE 1-SPALTIG (≤640px) === */
@media (max-width: 640px) {
    .standorte .wrp,
    .standorte .wrp.cols-2,
    .standorte .wrp.cols-3 {grid-template-columns: 100%;}
    .standort-card {padding: 30px;}
    .grey .wrp .number {display:none;}
}

/* === THEORIEZEITEN 1-SPALTIG (≤600px) === */
@media (max-width: 600px) {
    .theorie-box {flex-direction: column;align-items: flex-start;padding: 20px 25px;gap: 15px;}
    .theorie-box__standort {flex: none;}
    .theorie-box__blocks {width: 100%;grid-template-columns: 1fr;}
    .theorie-box__action {align-self: flex-start;}
    .theorie-modal__box {padding: 35px 20px 30px;}
}

/* === GALLERY SCHMAL (≤550px) === */
@media (max-width: 550px) {
    .gallery .video-gallery-grid {grid-template-columns: 100%;}
    .gallery .glightbox-gallery {grid-template-columns: repeat(2, 1fr);}
}

/* === UNTERLAGEN 1-SPALTIG (≤540px) === */
@media (max-width: 540px) {
    .unterlagen-card {flex: 1 1 100%;}
}

/* === SMARTPHONE PORTRAIT (≤500px) === */
@media (max-width: 500px) {
    /* Margins */
    .mb {margin-bottom: 50px;}
    .mb50 {margin-bottom: 25px;}

    /* Header – Logo sehr kompakt */
    header .wrp {padding-right: 60px;}
    header .header-grid .logo img {max-height: 44px;}

    /* Stage Frontpage – Bild kürzer, Cards kleiner */
    .stage.frontpage img,
    .stage.frontpage video.stagevideo {min-height: 200px;}
    .stage.frontpage .wrp {margin-top: -25px;}
    .stage.frontpage .wrp .boxen .headerbox {padding: 20px;}
    .stage.frontpage .wrp .boxen .headerbox h3 {font-size: 16px;margin: 0 0 8px;}
    .stage.frontpage .wrp .boxen .headerbox h2 {font-size: 18px;}
    .stage.frontpage .wrp .boxen .headerbox ul {margin: 0 0 15px;}
    .stage.frontpage .wrp .boxen .headerbox ul li {font-size: 16px;}
    .stage.frontpage .wrp .boxen .headerbox a {font-size: 16px;}

    /* Stage Subpage */
    .stage.subpage {aspect-ratio: 16/6;}

    /* Typografie */
    h1 {font-size: 22px;line-height: 28px;}
    .text h2 {font-size: 22px;line-height: 28px;}
    .text h3 {font-size: 17px;line-height: 24px;margin: 0 0 25px;}

    /* Content Cards */
    .standort-card {padding: 25px;}
    .infobox-card {padding: 25px;background-size: 130px;}
    .testimonial-card {padding: 20px;}
    .testimonial-card__text {font-size: 17px;line-height: 26px;}

    /* Grey */
    .grey {margin-top: 105px;}
    .grey .wrp .number a {font-size: 20px;padding: 10px 22px;}

    /* Footer */
    footer .wrp .box {padding: 25px;}
    footer .wrp .box strong {font-size: 18px;}

    /* Bottom Bar – gestapelt */
    .bottom .wrp {flex-direction: column;align-items: center;gap: 8px;padding: 15px 0;}

    /* 404 */
    .pageerror {padding: 130px 0 70px;}

    /* Teasercards */
    .teasercards .splide__arrow--prev {left: 10px;}
    .teasercards .splide__arrow--next {right: 10px;}
    .teasercards .cards.no-carousel {grid-template-columns: 100%;}

    /* Splide Arrows allgemein */
    .splide__arrow--prev {left: 10px;}
    .splide__arrow--next {right: 10px;}
    .splide__arrow {width: 40px;height: 40px;font-size: 20px;}
}

/* === FAHRLEHRER 1-SPALTIG (≤480px) === */
@media (max-width: 500px) {
    header .header-grid {
        max-width: 250px;
    }
   .mainnav-toggle.off .btn-mainnav-toggle {width:45px;height:45px;transition: var(--transition);}
   .mainnav-toggle.off .btn-mainnav-toggle span:nth-child(1) {top: 13px;transition: var(--transition);}
   .mainnav-toggle.off .btn-mainnav-toggle span:nth-child(2) {top: 21px;transition: var(--transition);}
   .mainnav-toggle.off .btn-mainnav-toggle span:nth-child(3) {top: 29px;transition: var(--transition);}
}
@media (max-width: 480px) {
    .fahrlehrer-grid {grid-template-columns: 100%!IMPORTANT;}
    .fahrlehrer-card__bild {max-height: 350px;}
    .textbild-buttons .btn {border-radius: 30px;padding: 5px 20px;font-size: 16px;}
}

/* === KLEINE SMARTPHONES / IPHONE SE (≤400px) === */
@media (max-width: 400px) {
    header .header-grid .logo img {max-height: 38px;}
    .stage.frontpage img,
    .stage.frontpage video.stagevideo {min-height: 170px;}
    .stage.frontpage .wrp {margin-top: -15px;}
    .grey .wrp .number a {font-size: 17px;padding: 8px 18px;}
}