/* ============================================
   AUTH PAGES — login, register, forgot
   ============================================ */

.nournikah-auth {
    min-height: calc(100vh - 64px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-xl) var(--space-md);
    background: linear-gradient(135deg, var(--color-primary-pale) 0%, #ffffff 70%);
}

.nournikah-auth__card {
    width: 100%;
    max-width: 460px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: var(--space-xl);
    box-shadow: var(--shadow-lg);
}

/* Logo */
.nournikah-auth__logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    margin-bottom: var(--space-xl);
}

.nournikah-auth__logo svg {
    box-shadow: 0 2px 8px rgba(10, 22, 40, 0.25);
}

.nournikah-auth__logo-text {
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--color-primary);
    letter-spacing: -0.02em;
}

/* Titre */
.nournikah-auth__title {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--color-text);
    margin-bottom: var(--space-xs);
}

.nournikah-auth__subtitle {
    font-size: 0.9rem;
    color: var(--color-text-muted);
    margin-bottom: var(--space-lg);
    font-style: italic;
}

/* Formulaire */
.nournikah-auth__form {
    margin-top: var(--space-lg);
}

/* Ligne remember + forgot */
.nournikah-auth__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space-lg);
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.nournikah-auth__forgot {
    font-size: 0.85rem;
    color: var(--color-primary);
    text-decoration: none;
}

.nournikah-auth__forgot:hover {
    text-decoration: underline;
}

/* Champ mot de passe avec bouton toggle */
.nournikah-input-password {
    position: relative;
}

.nournikah-input-password .nournikah-input {
    padding-right: 48px;
}

.nournikah-toggle-password {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text-muted);
    padding: 4px;
    display: flex;
    align-items: center;
    transition: color var(--transition);
}

.nournikah-toggle-password:hover {
    color: var(--color-primary);
}

/* Séparateur */
.nournikah-auth__divider {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    margin: var(--space-lg) 0;
    color: var(--color-text-light);
    font-size: 0.85rem;
}

.nournikah-auth__divider::before,
.nournikah-auth__divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--color-border);
}

/* Texte bas de carte */
.nournikah-auth__footer-text {
    text-align: center;
    margin-top: var(--space-lg);
    font-size: 0.875rem;
    color: var(--color-text-muted);
}

.nournikah-auth__footer-text a {
    color: var(--color-primary);
    font-weight: 600;
    text-decoration: none;
}

.nournikah-auth__footer-text a:hover {
    text-decoration: underline;
}

/* Grille pour inscription (2 colonnes sur grand écran) */
.nournikah-auth__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 var(--space-md);
}

/* Indicateur de force du mot de passe */
.nournikah-password-strength {
    height: 4px;
    border-radius: var(--radius-full);
    background: var(--color-border);
    margin-top: var(--space-xs);
    overflow: hidden;
}

.nournikah-password-strength__bar {
    height: 100%;
    border-radius: var(--radius-full);
    transition: width 0.3s, background-color 0.3s;
    width: 0%;
}

.nournikah-password-strength__bar--weak   { background: var(--color-error);   width: 33%; }
.nournikah-password-strength__bar--medium { background: var(--color-warning);  width: 66%; }
.nournikah-password-strength__bar--strong { background: var(--color-success);  width: 100%; }

.nournikah-password-strength__label {
    font-size: 0.75rem;
    color: var(--color-text-muted);
    margin-top: 4px;
}

/* Responsive */
@media (max-width: 520px) {
    .nournikah-auth__card {
        padding: var(--space-lg);
        border-radius: var(--radius-lg);
    }

    .nournikah-auth__grid {
        grid-template-columns: 1fr;
    }
}
