/* ==========================================================================
   1. STRUKTUR & REIHENFOLGE IM FORMULAR
   ========================================================================= */
#form-login > .MuiGrid-container {
    display: flex !important;
    flex-direction: column !important;
}

/* Passkey-Button Container nach ganz oben */
#form-login > .MuiGrid-container > div:has(> #passkey-sign-in-button) {
    order: 1 !important;
    margin-top: 10px !important;
    margin-bottom: 5px !important;
}

/* Styling für den Passkey-Button */
#passkey-sign-in-button {
    background-color: #1e88e5 !important;
    color: #ffffff !important;
    font-weight: bold !important;
    padding: 14px !important;
    font-size: 16px !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15) !important;
}

/* ==========================================================================
   2. DESKTOP-VERHALTEN (Mit Maus)
   ========================================================================= */
@media (hover: hover) {
    #form-login > .MuiGrid-container > div:not(:has(> #passkey-sign-in-button)) {
        order: 3 !important;
        max-height: 0 !important;
        opacity: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        transition: max-height 0.4s ease-in-out, opacity 0.3s ease-in-out !important;
    }

    #form-login:hover > .MuiGrid-container > div:not(:has(> #passkey-sign-in-button)),
    #form-login:focus-within > .MuiGrid-container > div:not(:has(> #passkey-sign-in-button)) {
        max-height: 100px !important;
        opacity: 1 !important;
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    #form-login > .MuiGrid-container > div:has(> #passkey-sign-in-button)::after {
        content: "▼ Alternativ mit Passwort anmelden (Maus hierher bewegen)";
        display: block !important;
        text-align: center !important;
        font-size: 13px !important;
        color: #1e88e5 !important;
        margin-top: 15px !important;
    }
    
    #form-login:hover > .MuiGrid-container > div:has(> #passkey-sign-in-button)::after {
        display: none !important;
    }
}

/* ==========================================================================
   3. MOBILE-VERHALTEN (Für Handys & Touchscreens)
   ========================================================================= */
@media (hover: none) {
    /* Passwort-Elemente auf dem Handy standardmäßig komplett unsichtbar schalten */
    #form-login > .MuiGrid-container > div:not(:has(> #passkey-sign-in-button)) {
        order: 3 !important;
        display: none !important;
    }

    /* Den Button "Passwort zurücksetzen" zweckentfremden wir als mobilen Aufklapp-Button */
    #form-login > .MuiGrid-container > div:has(> #reset-password-button) {
        display: block !important;
        order: 2 !important; /* Direkt unter den Passkey-Button setzen */
        text-align: center !important;
        margin-top: 15px !important;
    }

    #reset-password-button {
        font-size: 14px !important;
        color: #1e88e5 !important;
        font-weight: bold !important;
        text-decoration: none !important;
    }
    
    /* Text des Links auf dem Handy überschreiben */
    #reset-password-button::before {
        content: "▼ Mit klassischen Benutzerdaten anmelden" !important;
    }

    /* JETZT NEU & ENTSCHEIDEND: Die Felder öffnen sich auf dem Handy NUR dann,
       wenn der Fokus gezielt im Bereich des Reset-Buttons oder danach liegt.
       Der Passkey-Button oben triggert das Aufklappen dadurch NICHT mehr! */
    #form-login > .MuiGrid-container:has(div:has(> #reset-password-button) *:focus) > div:not(:has(> #passkey-sign-in-button)),
    #form-login > .MuiGrid-container:has(input:focus) > div:not(:has(> #passkey-sign-in-button)) {
        display: block !important;
    }
    
    /* Versteckt den mobilen Umschalt-Text erst, wenn ein echtes Input-Feld aktiv ist */
    #form-login > .MuiGrid-container:has(input:focus) > div:has(> #reset-password-button) {
        display: none !important;
    }
}
