/* Ekichurch — module login. CSS scopé au module (§1 : un fichier par module, pas de bundler). */
/* Toutes les règles sont préfixées .eki-login__ : aucun module ne peut repeindre un autre. */

.eki-login {
    margin: 0;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f6f7f9;
    font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
    color: #1f2430;
}

.eki-login__carte {
    width: min(24rem, calc(100vw - 2rem));
    padding: 2rem;
    background: #fff;
    border-radius: .75rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 8px 24px rgba(0, 0, 0, .06);
}

.eki-login__titre {
    margin: 0 0 1.5rem;
    font-size: 1.25rem;
    text-align: center;
    color: var(--eki-primaire, #2f6f4e);
}

.eki-login__form { display: flex; flex-direction: column; gap: .35rem; }

.eki-login__label { font-size: .8125rem; color: #5b6270; margin-top: .75rem; }

.eki-login__champ {
    padding: .625rem .75rem;
    border: 1px solid #d6dae1;
    border-radius: .375rem;
    font: inherit;
}

.eki-login__champ:focus {
    outline: 2px solid var(--eki-primaire, #2f6f4e);
    outline-offset: 1px;
    border-color: transparent;
}

.eki-login__bouton {
    margin-top: 1.25rem;
    padding: .6875rem 1rem;
    border: 0;
    border-radius: .375rem;
    background: var(--eki-primaire, #2f6f4e);
    color: #fff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.eki-login__bouton:hover { filter: brightness(1.08); }

.eki-login__erreur {
    margin: 1rem 0 0;
    padding: .625rem .75rem;
    border-radius: .375rem;
    background: #fdeaea;
    color: #8f2222;
    font-size: .875rem;
}

/* ─── Entrer sans mot de passe utilisable : activation, oubli ───────────────
   Mêmes règles visuelles que la connexion : ces écrans appartiennent au même
   chemin critique et ne chargent, eux non plus, aucune bibliothèque. */

.eki-login__message {
    margin: 1rem 0 0;
    padding: .625rem .75rem;
    border-radius: .375rem;
    background: #eaf4ee;
    color: #1f5236;
    font-size: .875rem;
}

.eki-login__aide {
    margin: 0 0 .75rem;
    color: #5a6470;
    font-size: .8125rem;
    line-height: 1.45;
}

.eki-login__lien {
    display: inline-block;
    margin-top: 1rem;
    color: var(--eki-primaire, #2f6f4e);
    font-size: .875rem;
}

/* Le lien reste visible au clavier : c'est souvent le seul chemin de secours
   d'une personne qui ne peut plus entrer. */
.eki-login__lien:focus-visible {
    outline: 2px solid var(--eki-primaire, #2f6f4e);
    outline-offset: 2px;
}

/* ─── Marque : le logo de l'organisation, servi ──────────────────────────── */

/* ⚠️ La carte est blanche : le logo déposé doit l'être pour ce fond. C'est le déploiement qui
   choisit la déclinaison (outils/marque.ps1 en produit deux), pas cette feuille. */
.eki-login__titre--logo {
    /* ⚠️ La marge du titre textuel est conservée : sans ça, poser un logo décalerait tout le
       formulaire vers le haut, et les quatre écrans ne s'aligneraient plus entre eux. */
    display: flex;
    justify-content: center;
}

/* ⚠️ Une HAUTEUR bornée et une largeur libre : c'est la hauteur qui décide de la place prise.
   Borner la largeur ferait varier la hauteur d'un logo à l'autre — un logo large tiendrait sur
   deux centimètres, un logo haut sur dix, et la carte changerait de taille selon l'église. */
.eki-login__logo {
    max-height: 6.5rem;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}
