/* Styles spécifiques à la page de connexion */
/* Ajustement du main-container pour la page de login */
.main-container {
    max-width: 400px !important; /* Réduit la largeur du conteneur principal */
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.login-column {
    width: 360px !important; /* Réduit la largeur de la colonne */
    display: flex;
    justify-content: center;
}

.player-container.login-form {
    width: 360px !important; /* Remplace la largeur par défaut de 830px */
    height: auto;
    padding: 30px;
    text-align: center;
}

.login-header {
    margin-bottom: 25px;
    text-align: center; /* Assure que le header est centré */
}

.login-header img {
    max-width: 120px;
    margin-bottom: 15px;
    display: inline-block; /* Assure que l'image est traitée comme un bloc inline */
}

.login-header h2 {
    font-size: 1.8rem;
    margin: 0;
    font-weight: 300;
    color: var(--text-color-light);
    text-align: center; /* Assure que le titre est centré */
}

/* IMPORTANT: Réinitialisation complète des styles du formulaire */
form#loginForm {
    display: block !important; /* Remplace tout display flex ou autre */
    width: 100% !important;
    text-align: center !important; /* Centre tout le contenu du formulaire */
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* IMPORTANT: Réinitialisation des styles des groupes d'input */
form#loginForm .input-group {
    display: inline-block !important; /* Affiche comme bloc inline */
    width: 80% !important; /* Largeur relative */
    max-width: 280px !important; /* Largeur maximale */
    margin: 0 auto 20px auto !important; /* Marges automatiques horizontales */
    text-align: left !important; /* Aligne le texte à gauche à l'intérieur */
    position: relative !important;
    float: none !important; /* Annule tout flottement */
    left: auto !important; /* Annule tout positionnement absolu */
    right: auto !important;
    transform: none !important; /* Annule toute transformation */
}

.input-group input {
    width: 100% !important;
    padding: 15px 15px 15px 45px !important;
    border: none !important;
    border-radius: 8px !important;
    background-color: #f5f5f5 !important;
    font-size: 16px !important;
    transition: all 0.3s ease !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.input-group i {
    position: absolute !important;
    left: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #777 !important;
    font-size: 18px !important;
}

/* Style des contrôles de login */
.login-controls {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin: 10px auto 0 auto !important;
}

/* Solution pour afficher correctement le texte du bouton */
.login-controls .button-container {
    display: inline-block !important;
    width: 250px !important; /* Largeur augmentée */
    margin: 0 auto !important;
    position: relative !important;
}

.login-controls .button-shadow {
    position: absolute !important;
    width: 100% !important;
    height: 45px !important;
    background-color: var(--btn-shadow-light) !important;
    border-radius: 10px !important;
    top: 6px !important;
    left: 6px !important;
    z-index: 1 !important;
}

.login-controls .control-btn {
    position: relative !important;
    width: 100% !important;
    height: 45px !important;
    padding: 0 !important; /* Réinitialise le padding */
    font-size: 18px !important;
    font-weight: 600 !important;
    text-align: center !important;
    z-index: 2 !important;
    border-radius: 10px !important;
    background-color: var(--btn-backround-light) !important;
    color: var(--btn-text-light) !important;
}

.error {
    background-color: #ffebee !important;
    color: #d32f2f !important;
    padding: 12px !important;
    border-radius: 8px !important;
    margin: 20px auto 0 auto !important;
    font-size: 14px !important;
    text-align: center !important;
    border-left: 4px solid #d32f2f !important;
    max-width: 280px !important;
    width: 80% !important;
    display: block !important;
}

/* Animation de chargement */
.loading {
    display: none !important;
    text-align: center !important;
    margin: 30px auto 0 auto !important;
    width: 100% !important;
}

.loading span {
    display: inline-block !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background-color: var(--primary-color-light) !important;
    margin: 0 3px !important;
    animation: loading 1.4s infinite ease-in-out both !important;
}

.loading span:nth-child(1) { animation-delay: 0s !important; }
.loading span:nth-child(2) { animation-delay: 0.2s !important; }
.loading span:nth-child(3) { animation-delay: 0.4s !important; }

@keyframes loading {
    0%, 80%, 100% { transform: scale(0) !important; }
    40% { transform: scale(1) !important; }
}

/* Styles pour mobile */
@media (max-width: 480px) {
    .main-container {
        max-width: 85% !important;
    }
    
    .login-column {
        width: 85% !important;
    }
    
    .player-container.login-form {
        width: 85% !important;
        padding: 40px !important;
    }
    
    .login-header h2 {
        font-size: 1.3rem !important;
    }
    
    .input-group {
        width: 80% !important;
    }
}
