/* Traders Page Fix - Mobile Navigation und 100vh Layout */

/* Basis Setup für Traders Seite - beide mögliche Klassen */
html,
body {
    height: 100%;
    margin: 0;
    padding: 0;
}

body.page-template-page-haendlersuche,
body.page-template-page-haendlersuche2025 {
    height: 100vh;
    margin: 0;
    padding: 0;
    overflow: hidden; /* KEIN Scroll auf der Hauptseite */
    display: flex;
    flex-direction: column;
    position: relative;
}

/* Header - normale Position, nimmt nur benötigte Höhe */
body.page-template-page-haendlersuche .stage_header,
body.page-template-page-haendlersuche2025 .stage_header {
    position: relative !important;
    flex: 0 0 auto; /* Nimmt nur benötigte Höhe */
    z-index: 1000;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-height: 80px; /* Minimum Höhe für Header */
}

/* Main Navigation standardmäßig verstecken auf Mobile */
body.page-template-page-haendlersuche .stage_header .main_nav_container,
body.page-template-page-haendlersuche2025 .stage_header .main_nav_container {
    display: none;
}
#map {
    height: 100%;
    width: 100%;
}
body .mapwrp {
    line-height: normal;
    height: 100%;
}
section.sozail_container {
    width: auto;
    display: flex;
    flex-direction: row-reverse;
}
/* Main Navigation zeigen auf Desktop (ab 900px) */
@media (min-width: 900px) {
    body.page-template-page-haendlersuche .stage_header .main_nav_container,
    body.page-template-page-haendlersuche2025 .stage_header .main_nav_container {
        display: block;
        width: 77%;
        float: right;
        clear: both;
    }
    main#main-content {
        height: calc(100% - 100px);
        padding-top: 148px;
    }

}
@media (max-width: 900px) {
	main#main-content {
        height: calc(100% - 0px);
        padding-top: 60px;
    }
	.search-container {
		top: 20px;
	}
}
/* Hamburger Menu nur auf Mobile zeigen */
body.page-template-page-haendlersuche .stage_header .hamburger,
body.page-template-page-haendlersuche2025 .stage_header .hamburger {
    display: block;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1001;
}

@media (min-width: 900px) {
    body.page-template-page-haendlersuche .stage_header .hamburger,
    body.page-template-page-haendlersuche2025 .stage_header .hamburger {
        display: none;
    }
}

/* Main Content nimmt REST des verfügbaren Platzes (100vh - header - footer) */
body.page-template-page-haendlersuche .main-content,
body.page-template-page-haendlersuche2025 .main-content {
    flex: 1 1 auto; /* Nimmt verfügbaren Platz zwischen Header und Footer */
    overflow: hidden;
    min-height: 0; /* Wichtig für Firefox */
    display: flex;
    flex-direction: column;
    position: relative !important;
    top: auto !important;
    height: auto !important;
}

/* Map Wrapper füllt den main-content */
body.page-template-page-haendlersuche .mapwrp,
body.page-template-page-haendlersuche2025 .mapwrp {
    flex: 1 1 auto;
    position: relative;
    overflow: hidden;
    min-height: 0;
    height: 100%;
    display: flex;
}

/* Sidebar */
body.page-template-page-haendlersuche #sidebar,
body.page-template-page-haendlersuche2025 #sidebar {
    width: 400px;
    height: 100%;
    background: white;
    z-index: 10;
    position: relative;
    display: flex;
    flex-direction: column;
    transition: margin-left 0.3s ease;
}

/* Sidebar collapsed state */
body.page-template-page-haendlersuche #sidebar.collapsed,
body.page-template-page-haendlersuche2025 #sidebar.collapsed {
    margin-left: -360px;
}

/* Dealer List scrollbar */
body.page-template-page-haendlersuche #dealerList,
body.page-template-page-haendlersuche2025 #dealerList {
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
}

/* Google Map volle Höhe */
body.page-template-page-haendlersuche #map,
body.page-template-page-haendlersuche2025 #map {
    flex: 1 1 auto;
    height: 100% !important;
    width: 100%;
}

/* Footer - WENN vorhanden, nimmt nur benötigte Höhe */
body.page-template-page-haendlersuche .stage_footer,
body.page-template-page-haendlersuche2025 .stage_footer {
    position: relative !important;
    flex: 0 0 auto; /* Nimmt nur benötigte Höhe */
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: 10;
    /* Footer kann auch display:none sein, dann nimmt main-content 100% */
}

/* Mobile spezifische Anpassungen */
@media (max-width: 768px) {
    /* Sidebar auf Mobile */
    body.page-template-page-haendlersuche #sidebar,
    body.page-template-page-haendlersuche2025 #sidebar {
        position: absolute;
        width: 90%;
        max-width: 350px;
        height: 100%;
        left: 0;
        top: 0;
        z-index: 20;
        background: white;
        box-shadow: 2px 0 5px rgba(0,0,0,0.1);
    }
    
    /* Sidebar collapsed auf Mobile */
    body.page-template-page-haendlersuche #sidebar.collapsed,
    body.page-template-page-haendlersuche2025 #sidebar.collapsed {
        margin-left: -100%;
    }
    
    /* Map volle Breite auf Mobile */
    body.page-template-page-haendlersuche #map,
    body.page-template-page-haendlersuche2025 #map {
        width: 100%;
    }
    
    /* Mobile Navigation Overlay */
    body.page-template-page-haendlersuche.nav-open .main_nav_container,
    body.page-template-page-haendlersuche2025.nav-open .main_nav_container {
        display: block !important;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: white;
        z-index: 9999;
        overflow-y: auto;
        padding-top: 60px;
    }
    
    /* Close Button für Mobile Nav */
    body.page-template-page-haendlersuche.nav-open .hide_nav_button,
    body.page-template-page-haendlersuche2025.nav-open .hide_nav_button {
        position: fixed;
        top: 10px;
        right: 10px;
        z-index: 10000;
        display: block !important;
    }
}

/* Verhindere dass der Footer das JavaScript stört */
body.page-template-page-haendlersuche .stage_footer,
body.page-template-page-haendlersuche2025 .stage_footer {
    position: relative !important;
}

/* Korrigiere die JavaScript-gesteuerten Styles */
body.page-template-page-haendlersuche .main-content[style],
body.page-template-page-haendlersuche2025 .main-content[style] {
    position: relative !important;
    top: auto !important;
    height: auto !important;
}

/* Stelle sicher dass keine scrollable_content Wrapper interferieren */
body.page-template-page-haendlersuche .scrollable_content,
body.page-template-page-haendlersuche2025 .scrollable_content {
    display: contents;
}

/* Fix für die manually_minimized Klasse */
body.page-template-page-haendlersuche .stage_header.manually_minimized,
body.page-template-page-haendlersuche2025 .stage_header.manually_minimized {
    top: 0 !important;
    position: relative !important;
}

/* Wichtig: Überschreibe alle inline-styles vom JavaScript im Footer */
body.page-template-page-haendlersuche[style],
body.page-template-page-haendlersuche2025[style] {
    height: 100vh !important;
    overflow: hidden !important;
}

/* Zusätzliche Fixes für Edge-Cases */
body.page-template-page-haendlersuche,
body.page-template-page-haendlersuche2025 {
    min-height: 100vh;
    max-height: 100vh;
}

/* Stelle sicher dass die Navigation auf Mobile wirklich versteckt ist */
@media (max-width: 899px) {
    body.page-template-page-haendlersuche .main_nav_container:not(.active),
    body.page-template-page-haendlersuche2025 .main_nav_container:not(.active) {
        display: none !important;
    }
    
    body.page-template-page-haendlersuche .menu-hauptnavigation-container,
    body.page-template-page-haendlersuche2025 .menu-hauptnavigation-container {
        display: none;
    }
    
    body.page-template-page-haendlersuche.nav-open .menu-hauptnavigation-container,
    body.page-template-page-haendlersuche2025.nav-open .menu-hauptnavigation-container {
        display: block;
    }
}

/* Gmaps Erlaubnis Box zentriert */
body.page-template-page-haendlersuche .gmapfalse,
body.page-template-page-haendlersuche2025 .gmapfalse {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    flex: 1 1 auto;
}

/* Stelle sicher dass alle Container die richtige Höhe haben */
body.page-template-page-haendlersuche .mapwrp > *,
body.page-template-page-haendlersuche2025 .mapwrp > * {
    max-height: 100%;
}

/* Fix für iOS Safari */
@supports (-webkit-touch-callout: none) {
    body.page-template-page-haendlersuche,
body.page-template-page-haendlersuche2025 {
        height: -webkit-fill-available;
        min-height: -webkit-fill-available;
    }
}

/* Verhindere ungewolltes Scrollen */
body.page-template-page-haendlersuche,
body.page-template-page-haendlersuche2025,
body.page-template-page-haendlersuche,
body.page-template-page-haendlersuche2025 .main-content,
body.page-template-page-haendlersuche,
body.page-template-page-haendlersuche2025 .mapwrp {
    -webkit-overflow-scrolling: touch;
    overflow: hidden;
}

/* Nur die Dealer-Liste und Mobile Nav sollen scrollbar sein */
body.page-template-page-haendlersuche #dealerList,
body.page-template-page-haendlersuche2025 #dealerList,
body.page-template-page-haendlersuche.nav-open .main_nav_container,
body.page-template-page-haendlersuche2025.nav-open .main_nav_container {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
}

/* ========================================
   WICHTIGE LAYOUT FIXES
   ======================================== */

/* Stelle sicher dass der body NIEMALS scrollt */
body.page-template-page-haendlersuche,
body.page-template-page-haendlersuche2025 {
    position: fixed !important;
    width: 100% !important;
    height: 100vh !important;
    top: 0 !important;
    left: 0 !important;
    overflow: hidden !important;
}

/* Alternative Methode mit calc() für main-content Höhe */
@supports (height: calc(100vh - 100px)) {
    body.page-template-page-haendlersuche .main-content,
    body.page-template-page-haendlersuche2025 .main-content {
        /* Fallback für wenn Header-Höhe bekannt ist */
        max-height: calc(100vh - 80px); /* 80px geschätzte Header-Höhe */
    }
    
    /* Mit Footer */
    body.page-template-page-haendlersuche:has(.stage_footer:not([style*="display: none"])) .main-content,
    body.page-template-page-haendlersuche2025:has(.stage_footer:not([style*="display: none"])) .main-content {
        max-height: calc(100vh - 80px - 50px); /* Header + Footer Höhe */
    }
}

/* Verstecke jeglichen vertikalen Scrollbar am body */
body.page-template-page-haendlersuche::-webkit-scrollbar,
body.page-template-page-haendlersuche2025::-webkit-scrollbar {
    display: none;
}

body.page-template-page-haendlersuche,
body.page-template-page-haendlersuche2025 {
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}