/* ============================================================================
   auth.css — écrans d'authentification (login, mot de passe oublié, reset)
   ----------------------------------------------------------------------------
   Première tranche du redesign Kristina Gromova (maquette "Log in to your
   account", UI Design desktop, validée par Nino le 10.08.2026).
   Repose entièrement sur tokens.css ; les pages posent data-theme="dark" sur
   <html> car ces écrans sont sombres quel que soit le réglage utilisateur.
   Charge APRÈS style.css : les sélecteurs préfixés .login-page l'emportent.
   ============================================================================ */

.login-page {
    background: var(--color-bg-primary);
    font-family: var(--font-family-body);
}

/* L'image/vidéo de marque en fond est fortement assombrie pour laisser
   le formulaire dominer, comme sur la maquette */
.login-page #bg-overlay {
    background: rgba(10, 10, 10, 0.72) !important;
}

.login-page .login-container {
    width: 360px;
    max-width: calc(100vw - 2 * var(--spacing-3xl));
}

.login-page .logo img {
    max-width: 200px !important;
    margin-bottom: var(--spacing-2xl) !important;
}

.login-title {
    font-family: var(--font-family-display);
    font-weight: 400;
    font-size: var(--font-size-display-sm);
    line-height: var(--line-height-display-sm, 38px);
    color: var(--color-text-primary);
    letter-spacing: 0.02em;
    margin: 0 0 var(--spacing-4xl);
    text-transform: none;
}

/* ── Champs : souligné fin, texte à gauche ─────────────────────────────── */
.login-page .input-group {
    position: relative;
    margin-bottom: var(--spacing-2xl);
}

.login-page .input-group input {
    text-align: left;
    padding: var(--spacing-lg) 0;
    margin-bottom: 0;
    font-family: var(--font-family-body);
    font-size: var(--font-size-text-sm);
    color: var(--color-text-primary);
    border: none;
    border-bottom: 1px solid var(--color-border-primary);
    border-radius: 0;
    background: transparent;
}

.login-page .input-group input::placeholder {
    color: var(--color-text-placeholder);
}

.login-page .input-group input:focus {
    outline: none;
    border-bottom: 1px solid var(--color-border-brand);
}

/* Champ avec icône (œil du mot de passe) : réserve la place à droite */
.login-page .input-group input.has-trailing-icon {
    padding-right: var(--spacing-4xl);
}

.password-toggle {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: var(--spacing-xs);
    cursor: pointer;
    color: var(--color-fg-quaternary);
    display: flex;
    align-items: center;
}

.password-toggle:hover {
    color: var(--color-fg-secondary);
}

.password-toggle svg {
    width: 18px;
    height: 18px;
}

/* ── Case « Remember for 30 days » ─────────────────────────────────────── */
.remember-row {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    margin: 0 0 var(--spacing-3xl);
}

.remember-row input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin: 0;
    border: 1px solid var(--color-fg-quaternary);
    border-radius: var(--radius-xxs);
    background: transparent;
    cursor: pointer;
    display: grid;
    place-content: center;
}

.remember-row input[type="checkbox"]:checked {
    background: var(--color-bg-brand-solid);
    border-color: var(--color-bg-brand-solid);
}

.remember-row input[type="checkbox"]:checked::before {
    content: "";
    width: 9px;
    height: 5px;
    border-left: 2px solid var(--color-text-white);
    border-bottom: 2px solid var(--color-text-white);
    transform: rotate(-45deg) translate(1px, -1px);
}

.remember-row label {
    color: var(--color-text-primary);
    font-size: var(--font-size-text-sm);
    cursor: pointer;
    user-select: none;
}

/* ── Bouton principal : or plein, capitales espacées ───────────────────── */
.login-page .btn-login {
    background: var(--color-bg-brand-solid);
    color: var(--color-text-white);
    border: none;
    border-radius: var(--radius-xxs);
    padding: var(--spacing-lg) var(--spacing-2xl);
    margin-top: 0;
    font-family: var(--font-family-body);
    font-size: var(--font-size-text-sm);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: background 0.2s ease;
}

.login-page .btn-login:hover {
    background: var(--color-bg-brand-solid-hover);
    color: var(--color-text-white);
}

.login-page .btn-login:disabled {
    opacity: 0.55;
    cursor: default;
}

/* ── Lien secondaire « FORGOT PASSWORD » ───────────────────────────────── */
.auth-link {
    display: inline-block;
    margin-top: var(--spacing-3xl);
    color: var(--color-text-primary) !important;
    font-size: var(--font-size-text-xs) !important;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

.auth-link:hover {
    color: var(--color-text-brand-secondary-hover) !important;
}

/* Variante discrète (« Back to login » sur les pages secondaires) */
.auth-link--muted {
    color: var(--color-text-quaternary) !important;
    font-weight: 400;
    text-decoration: none !important;
}

.auth-link--muted:hover {
    color: var(--color-text-primary) !important;
}

/* ── Textes des pages mot de passe oublié / reset ──────────────────────── */
.auth-desc {
    color: var(--color-text-tertiary) !important;
    font-size: var(--font-size-text-sm) !important;
    line-height: var(--line-height-text-sm, 20px);
    text-align: left;
}

.login-page .error {
    color: var(--color-fg-error-primary);
    font-size: var(--font-size-text-sm);
}

.auth-msg-success {
    color: var(--color-text-brand-tertiary) !important;
    font-size: var(--font-size-text-sm) !important;
}

/* ── Sélecteur de langue en haut à droite, minimal comme la maquette ───── */
.login-page .nav-select {
    background: transparent;
    color: var(--color-text-primary);
    border: none;
    font-family: var(--font-family-body);
    font-size: var(--font-size-text-xs);
    letter-spacing: 0.08em;
    cursor: pointer;
}

.login-page .nav-select option {
    background: var(--color-bg-secondary);
    color: var(--color-text-primary);
}
