/* Formulaire de connexion commun (includes/login-ui.php) : mêmes champs, même
   œil sur le mot de passe et mêmes liens dans tous les espaces. Les couleurs
   suivent celles de la page (variables du thème, avec des valeurs de repli). */

.login-unified {
  display: grid;
  gap: 16px;
  width: 100%;
  max-width: 420px;
  margin-inline: auto;
  text-align: left;
}

.login-unified-form {
  display: grid;
  gap: 14px;
  margin: 0;
}

.login-unified .login-field {
  display: grid;
  gap: 6px;
  font-family: var(--font-body, var(--font-ui, inherit));
  font-size: .84rem;
  font-weight: 600;
  color: var(--muted, var(--ink-soft, inherit));
}

.login-unified .login-field input {
  display: block;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: 44px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--line, #d5dcd7);
  border-radius: var(--radius, 8px);
  background: var(--panel, var(--surface, var(--bg, #fff)));
  color: var(--ink, inherit);
  font: inherit;
  font-size: 1rem;
  font-weight: 400;
}

.login-unified .login-field input[readonly] {
  opacity: .8;
}

.login-unified .login-field input:focus-visible {
  outline: 2px solid var(--accent, #1f5a86);
  outline-offset: 1px;
  border-color: var(--accent, #1f5a86);
}

.login-unified .login-check {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: .88rem;
  font-weight: 400;
  color: var(--ink, inherit);
  line-height: 1.4;
}

.login-unified .login-check input {
  width: 20px;
  height: 20px;
  flex: none;
  margin: 1px 0 0;
  accent-color: var(--accent, #1f5a86);
}

.login-unified .login-submit {
  width: 100%;
  justify-content: center;
  min-height: 44px;
}

.login-unified .login-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin: 2px 0 0;
  font-size: .9rem;
  font-weight: 400;
}

.login-unified .login-links a {
  display: inline-block;
  padding: 4px 0;
  color: var(--accent, inherit);
  font-weight: 600;
  text-decoration: none;
}

.login-unified .login-links a:hover,
.login-unified .login-links a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.login-unified .login-note {
  margin: 0;
  color: var(--muted, var(--ink-soft, inherit));
  font-size: .82rem;
  font-weight: 400;
  line-height: 1.45;
}

.login-unified .login-sep {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--muted, var(--ink-soft, #888));
  font-size: .78rem;
  font-weight: 400;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.login-unified .login-sep::before,
.login-unified .login-sep::after {
  content: "";
  flex: 1;
  border-top: 1px solid var(--line, #d9d3c7);
}

/* Une carte de connexion centre le bloc commun, quel que soit son conteneur. */
.login-card .login-unified,
.login-box .login-unified,
.st-login .login-unified,
.cpt-card .login-unified {
  max-width: none;
}

/* Sur les pages « carte » du portail et de la galerie, le bouton garde la
   pleine largeur et la taille de la charte. */
.login-body .login-unified .login-submit {
  padding: 11px 14px;
  font-size: .95rem;
}
