/* ===== ALLGEMEINE STYLING-ANPASSUNGEN (Desktop + Mobile) ===== */

/* Horizontales Scrollen verhindern - ÜBERALL */
html {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

/* Mobile Menu Plugin - Breite begrenzen */
.mm-wrapper,
.mm-menu,
.mm-page,
#mm-blocker {
    max-width: 100vw !important;
    overflow-x: hidden !important;
}

/* ===== DESKTOP: STICKY NAVIGATION (nur ab 994px) ===== */
@media (min-width: 994px) {
    /* Navigation klebt am oberen Bildschirmrand beim Scrollen */
    .main-navigation,
    nav.main-navigation {
        position: sticky !important;
        top: 0 !important;
        z-index: 999 !important;
        background-color: #fefdfa !important;
    }
    
    .navigation-top,
    nav.navigation-top {
        position: sticky !important;
        top: 0 !important;
        z-index: 1000 !important;
        background-color: #fefdfa !important;
    }
}

/* Links */
.entry-content a {
    text-decoration: underline;
}

.main-navigation a,
.main-navigation a:hover,
.main-navigation a:focus {
    text-decoration: none;
}

/* Header Hintergrund */
.header-bg {
    background-color: #fefdfa !important;
}

/* Mobile ausblenden */
.hide-mobile {
    display: none;
}

/* Google Maps iframes */
iframe[src*="google.com/maps"] {
    width: 80% !important;
    height: 450px !important;
    display: block !important;
    margin: 0 auto !important;
}

iframe.karte[src*="google.com/maps"] {
    width: 100% !important;
    height: 450px !important;
    display: block !important;
    margin: 0 auto !important;
    border: 0px solid red !important;
}

@media (max-width: 768px) {
    iframe[src*="google.com/maps"] {
        width: 100% !important;
        height: 350px !important;
    }
}

/* Spalten-Styles */
.meine-spalte {
    border: 1px solid #4C3C0D;
    padding: 20px;
    margin: 5px;
}

.meine-spalte-abstand {
    border: 0px solid #4C3C0D;
    padding: 0px;
    margin: 0px;
}


/* Nur ab 994px (Desktop) - damit Mobile Menu unberührt bleibt */
@media (min-width: 994px) {
    /* Erste Ebene Untermenü: 14px */
    html body .main-navigation ul.sub-menu > li > a,
    html body .site-header .main-navigation ul.sub-menu > li > a,
    html body nav.main-navigation ul.sub-menu > li > a {
        font-size: 14.5px !important;
        text-transform: none !important;
        padding-top: 0px !important;
        padding-bottom: 2px !important;
    }

    /* Zweite Ebene und tiefer: 10px */
    html body .main-navigation ul.sub-menu ul li a,
    html body .site-header .main-navigation ul.sub-menu ul li a,
    html body nav.main-navigation ul.sub-menu ul li a {
        font-size: 13px !important;
        text-transform: none !important;
        padding-top: 0px !important;
        padding-bottom: 1px !important;
    }
}



html body .main-navigation ul.sub-menu li,
html body .main-navigation ul ul li,
html body .main-navigation ul ul ul li,
html body .main-navigation ul ul ul ul li {
    margin-bottom: 5px !important;
}


/* Untermenü-Hintergrund */
.main-navigation ul.sub-menu,
.main-navigation ul ul {
    background-color: #FFFDF9
			!important;
}

/* Hauptnavigation - Schriftgröße */
.main-navigation ul li a {
    font-size: 15px !important;
}

/* Header-Bild Höhe */
.header-bg,
.custom-header-media,
.site-header .custom-header {
    height: 260px !important;
    min-height: 260px !important;
    max-height: 260px !important;
    overflow: hidden !important;
}

.header-bg img,
.custom-header-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* ===== MOBILE-SPEZIFISCHE ANPASSUNGEN (unter 993px) ===== */

@media (max-width: 993px) {
    /* Horizontalen Scrollbalken verhindern - VERSTÄRKT */
    html {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100vw !important;
    }

    body {
        overflow-x: hidden !important;
        max-width: 100vw !important;
        width: 100% !important;
        touch-action: pan-y !important;
        overscroll-behavior-x: none !important;
        -webkit-overflow-scrolling: touch !important;
    }
    
    /* Mobile: Bilder auf Startseite quadratisch wie auf Desktop */
    .home .post-thumbnail img,
    .home .wp-post-image,
    .home article img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        object-fit: cover !important;
    }
    
    /* Mobile Menu Plugin - Verhindere Transform/Translate die zum Verschieben führen */
    .mm-wrapper,
    .mm-wrapper__blocker,
    .mm-menu,
    .mm-page,
    .mm-slideout,
    #mm-blocker,
    .mobile-menu-wrapper {
        max-width: 100vw !important;
        width: 100% !important;
        overflow-x: hidden !important;
        transform: none !important;
        left: 0 !important;
        right: auto !important;
    }
    
    /* Spezifisch für mm-page wenn Menu offen ist */
    .mm-wrapper--opened .mm-page {
        transform: translate3d(0, 0, 0) !important;
    }

    /* Container auf Mobile begrenzen */
    .site,
    .wrapper,
    #page,
    main,
    article,
    section {
        max-width: 100vw !important;
        overflow-x: hidden !important;
        width: 100% !important;
    }

    /* Mobile Menu Container */
    .mm-page,
    #mm-blocker {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }

    /* Alle Elemente begrenzen */
    * {
        max-width: 100%;
        box-sizing: border-box;
    }

    /* Bilder und Medien */
    img, video, iframe, embed, object {
        max-width: 100% !important;
        height: auto !important;
    }

    /* Content Padding für Mobile */
    #content.site-content,
    .site-content,
    #primary,
    .home #content.site-content,
    .home .site-content,
    .home #primary,
    .single #content.site-content,
    .single .site-content,
    .single #primary,
    .page #content.site-content,
    .page .site-content,
    .page #primary,
    .archive #content.site-content,
    .archive .site-content,
    .archive #primary,
    .category #content.site-content,
    .category .site-content,
    .category #primary {
        margin-top: 0 !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* Mobile - Header und Navigation nicht fixieren */
    .header-bg,
    .site-header,
    .main-navigation,
    .navigation-top {
        position: relative !important;
        top: auto !important;
    }
}


/*keine Sidebar bei der Mobilen Ansicht */
@media only screen and (max-width: 1200px) {
    #sidebar, .sidebar, .widget-area {
        display: none !important;
    }
}

