/* Händlersuche 100vh Layout - Ohne scrollable_content */

/* Reset und Basis-Setup */
body.page-template-page-haendlersuche {
    height: 100vh;
    margin: 0;
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Header ist nicht fixed, nimmt seine normale Höhe */
body.page-template-page-haendlersuche .stage_header {
    position: relative;
    flex: 0 0 auto;
    z-index: 1000;
    min-height: 100px; /* Minimum Höhe für Header */
}

/* Main Content nimmt verfügbaren Platz */
body.page-template-page-haendlersuche .main-content {
    flex: 1 1 auto;
    overflow: hidden;
    min-height: 0;
    display: flex;
    flex-direction: column;
    position: relative;
}

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

/* Footer am unteren Rand */
body.page-template-page-haendlersuche .stage_footer {
    flex: 0 0 auto;
}

/* Sidebar Höhe anpassen */
body.page-template-page-haendlersuche #sidebar {
    height: 100%;
    max-height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
    z-index: 10;
}

/* Händlerliste scrollbar */
body.page-template-page-haendlersuche #dealerList {
    max-height: calc(100% - 250px);
    overflow-y: auto;
}

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

body.page-template-page-haendlersuche .gm-style {
    height: 100% !important;
}

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

/* Verstecke scrollable_content falls noch vorhanden */
body.page-template-page-haendlersuche .scrollable_content {
    display: contents;
}

/* Überschreibe jegliche fixed Position vom Header */
body.page-template-page-haendlersuche .stage_header {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
}

/* Mobile Anpassungen */
@media (max-width: 768px) {
    /* Header kann auf Mobile anders hoch sein */
    body.page-template-page-haendlersuche .stage_header {
        flex: 0 0 auto;
    }
    
    /* Sidebar anpassen für Mobile */
    body.page-template-page-haendlersuche #sidebar {
        max-height: 40vh;
    }
}

/* Verhindere Overflow von allen Elementen */
body.page-template-page-haendlersuche * {
    max-width: 100%;
}

/* No-IE Support Box */
body.page-template-page-haendlersuche .no-ie8-support {
    position: absolute;
    z-index: 9999;
}