/*
 * ================================================================
 * PAGE DE CONNEXION
 * ================================================================
 */

.login-page {
    min-height: 100vh;

    margin: 0;

    display: flex;
    flex-direction: column;

    background: var(--color-background);
}


/*
 * ================================================================
 * CONTENEUR PRINCIPAL
 * ================================================================
 *
 * La zone centrale prend tout l'espace disponible.
 * Le footer reste ainsi naturellement en bas de l'écran.
 */

.login-container {
    flex: 1;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 40px 24px;

    box-sizing: border-box;
}


/*
 * ================================================================
 * CARTE DE CONNEXION
 * ================================================================
 */

.login-card {
    width: 100%;
    max-width: 420px;

    padding: 38px;

    box-sizing: border-box;

    background: var(--color-surface);

    border: 1px solid var(--color-border);
    border-radius: var(--radius-medium);

    box-shadow: var(--shadow-card);
}


/*
 * ================================================================
 * EN-TÊTE
 * ================================================================
 */

.login-header {
    margin-bottom: 28px;

    text-align: center;
}


/*
 * Logo DPS.
 *
 * Contrairement à l'ancien logo GS, aucune couleur de fond
 * ni bord arrondi n'est ajouté : l'image hexagonale constitue
 * elle-même le logo.
 */

.login-logo {
    display: block;

    width: 220px;
    height: 220px;

    margin: 0 auto 20px;

    object-fit: contain;
}


.login-header h1 {
    margin: 0 0 8px;

    font-size: 1.65rem;
}


.login-header p {
    margin: 0;

    color: var(--color-text-muted);

    font-size: 0.95rem;
}


/*
 * ================================================================
 * FORMULAIRE
 * ================================================================
 */

.login-form {
    display: flex;
    flex-direction: column;

    gap: 20px;
}


/*
 * Le bouton de connexion occupe toute la largeur.
 */

.login-form .button,
.login-submit {
    width: 100%;

    margin-top: 4px;
}


/*
 * ================================================================
 * FOOTER
 * ================================================================
 */

.login-footer {
    width: 100%;

    box-sizing: border-box;

    padding: 18px 24px;

    text-align: center;

    font-size: 0.78rem;

    color: var(--color-text-muted);

    background: #ffffff;

    border-top: 1px solid var(--color-border);
}


.login-footer strong {
    color: var(--color-text);

    font-weight: 600;
}


/*
 * ================================================================
 * MOBILE
 * ================================================================
 */

@media (max-width: 600px) {

    .login-container {
        padding: 24px 16px;
    }


    .login-card {
        padding: 28px 22px;

        box-shadow:
            0 8px 24px rgba(0, 0, 0, 0.08);
    }


    .login-logo {
        width: 170px;
        height: 170px;

        margin-bottom: 16px;
    }


    .login-header h1 {
        font-size: 1.45rem;
    }


    .login-footer {
        padding: 14px 16px;

        font-size: 0.70rem;
    }

}
