/* --- 1. BURGER BUTTON --- */
.fmm-burger-btn {
    position: fixed;
    z-index: 2147483647 !important; 
    background: var(--fmm-burger-bg, #333); 
    border: none;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    transition: all 0.4s ease;
}

.fmm-burger-btn span {
    display: block; width: 30px; height: 3px;
    background: var(--fmm-burger-icon, #fff); 
    transition: all 0.4s ease;
    border-radius: 3px;
}

.fmm-btn-custom-img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    transition: all 0.4s ease;
}

.fmm-burger-btn.is-active {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none;
    transform: scale(0.8);
}

/* --- 2. MENÜ OVERLAY & BASIS --- */
.fmm-overlay {
    position: fixed;
    background: var(--fmm-bg-color, #1a1a1a);
    z-index: 2147483647 !important; 
    transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.5s ease, visibility 0.5s;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    pointer-events: none; 
    visibility: hidden;
    opacity: 0;
}
.fmm-overlay.is-active {
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
}

.fmm-close-btn {
    position: absolute; top: 20px; right: 30px;
    font-size: 40px; color: var(--fmm-text-color);
    background: none; border: none; cursor: pointer;
    z-index: 2147483647 !important; 
    padding: 0; line-height: 1;
    transition: transform 0.3s;
    display: flex; align-items: center; justify-content: center;
}
.fmm-close-btn:hover { color: var(--fmm-hover-color); transform: scale(1.1); }

/* --- 3. ANIMATIONS-RICHTUNGEN --- */
.fmm-slide-left { top: 0; left: 0; width: 320px; height: 100vh; max-width: 100%; transform: translateX(-100%); opacity: 1; }
.fmm-slide-left.is-active { transform: translateX(0); }
.fmm-slide-right { top: 0; right: 0; left: auto; width: 320px; height: 100vh; max-width: 100%; transform: translateX(100%); opacity: 1; }
.fmm-slide-right.is-active { transform: translateX(0); }
.fmm-slide-top { top: 0; left: 0; width: 100vw; height: auto; padding-bottom: 50px; transform: translateY(-100%); opacity: 1; }
.fmm-slide-top.is-active { transform: translateY(0); }
.fmm-slide-bottom { bottom: 0; top: auto; left: 0; width: 100vw; height: auto; padding-top: 50px; transform: translateY(100%); opacity: 1; }
.fmm-slide-bottom.is-active { transform: translateY(0); }
.fmm-fullscreen { top: 0; left: 0; width: 100vw; height: 100vh; justify-content: center; align-items: center; }
.fmm-zoom { top: 0; left: 0; width: 100vw; height: 100vh; transform: scale(0.8); }
.fmm-zoom.is-active { transform: scale(1); }
.fmm-flip { top: 0; left: 0; width: 100vw; height: 100vh; transform: perspective(1000px) rotateX(-90deg); transform-origin: top center; }
.fmm-flip.is-active { transform: perspective(1000px) rotateX(0deg); }
.fmm-door { top: 0; left: 0; width: 100vw; height: 100vh; transform: perspective(1000px) rotateY(-90deg); transform-origin: left center; }
.fmm-door.is-active { transform: perspective(1000px) rotateY(0deg); }


/* --- 4. LOGO & SOCIAL ICONS --- */
.fmm-logo { margin-bottom: 40px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,0.1); }
.fmm-logo img { max-width: 180px; height: auto; display: inline-block; }

.fmm-social-icons {
    display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 40px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,0.1); width: 100%;
}
.fmm-social-icons a { display: inline-block; width: 28px; height: 28px; transition: transform 0.3s ease; }
.fmm-social-icons svg { width: 100%; height: 100%; fill: var(--fmm-social-color); transition: fill 0.3s ease; }
.fmm-social-icons a:hover svg { fill: var(--fmm-social-hover); }
.fmm-custom-social-icon { width: 100%; height: 100%; object-fit: contain; transition: opacity 0.3s ease; }
.fmm-social-icons a:hover .fmm-custom-social-icon { opacity: 0.7; }
.fmm-social-icons a:hover { transform: translateY(-5px); }

/* --- 5. MENÜ STYLING & ZENTRIERUNG --- */
.fmm-menu-inner { 
    margin: auto 0; padding: 80px 40px 40px; width: 100%; box-sizing: border-box; 
    display: flex; flex-direction: column; align-items: var(--fmm-flex-align); 
}
.fmm-nav-list { list-style: none; padding: 0; margin: 0; width: 100%; display: flex; flex-direction: column; align-items: var(--fmm-flex-align); }
.fmm-nav-list > li { margin-bottom: 10px; opacity: 0; width: 100%; text-align: var(--fmm-text-align); }

@keyframes fmmFadeInUp {
    0% { opacity: 0; transform: translateY(30px); }
    100% { opacity: 1; transform: translateY(0); }
}

.fmm-nav-list a {
    font-family: var(--fmm-font-family); 
    font-size: var(--fmm-font-size); /* Standard-Schriftgröße (Handy) */
    color: var(--fmm-text-color); 
    text-decoration: none; font-weight: bold; transition: color 0.2s; display: flex; 
    justify-content: var(--fmm-flex-align); text-align: var(--fmm-text-align); gap: 10px; line-height: var(--fmm-line-height); 
}
.fmm-nav-list a:hover { color: var(--fmm-hover-color); }
.fmm-nav-list a:active { color: var(--fmm-active-color); transform: scale(0.98); }

.fmm-nav-list .sub-menu { display: none; list-style: none; padding-left: var(--fmm-submenu-pad); margin-top: 5px; text-align: var(--fmm-text-align); }
.fmm-nav-list .sub-menu a { font-size: calc(var(--fmm-font-size) * 0.75); font-weight: normal; opacity: 0.8; }
.fmm-nav-list .sub-menu li { margin-bottom: 5px; opacity: 1; }

/* NEU: Größere Schrift auf dem Desktop-PC! */
@media (min-width: 992px) {
    .fmm-nav-list a {
        font-size: var(--fmm-font-size-pc);
    }
    .fmm-nav-list .sub-menu a {
        font-size: calc(var(--fmm-font-size-pc) * 0.75);
    }
}

/* --- 6. BACKDROP --- */
.fmm-backdrop {
    position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
    background: rgba(0,0,0,0.6); z-index: 2147483646 !important; 
    opacity: 0; visibility: hidden; transition: all 0.5s ease;
}
.fmm-backdrop.is-active { opacity: 1; visibility: visible; }