/* AlterForge — CSS page connexion. Charge après common.css. */

/* ============================================================
   LOGIN — page de connexion. Hero de présentation (gauche)
   + panneau de connexion (droite). Reconstruit sur tokens --af-*.
   ============================================================ */
.af-login-page { margin:0; min-height:100vh; background:var(--af-bg); font-family:var(--af-font-sans); color:var(--af-ink); display:flex; align-items:center; justify-content:center; padding:24px; }
.af-login { width:100%; max-width:940px; display:grid; grid-template-columns:1.05fr 0.95fr; background:var(--af-surface); border:1px solid var(--af-line); border-radius:var(--af-r-xl); box-shadow:var(--af-shadow-pop); overflow:hidden; }

/* Hero (gauche) */
.af-login__hero { background:var(--af-brand-soft); color:var(--af-brand-ink); padding:40px 36px; display:flex; flex-direction:column; gap:16px; }
.af-login__brand { display:inline-flex; align-items:center; gap:10px; color:var(--af-brand-ink); }
.af-login__mark { display:inline-flex; }
.af-login__word { font-size:20px; font-weight:600; }
.af-login__word b { font-weight:700; }
.af-login__eyebrow { margin:8px 0 0; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--af-ink-3); }
.af-login__title { margin:0; font-family:var(--af-font-serif); font-size:30px; line-height:1.15; font-weight:600; }
.af-login__intro { margin:0; color:var(--af-ink-2); font-size:14px; line-height:1.55; }
.af-login__features { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; }
.af-login__features span { font-size:12px; font-weight:500; padding:5px 11px; background:var(--af-surface); color:var(--af-ink-2); border:1px solid var(--af-line); border-radius:var(--af-r-pill); }

/* Panneau de connexion (droite) */
.af-login__panel { padding:36px 34px; display:flex; flex-direction:column; gap:18px; }
.af-login__lang { display:flex; justify-content:flex-end; gap:10px; font-size:13px; }
.af-login__lang-current { font-weight:600; color:var(--af-ink); }
.af-login__lang-link { color:var(--af-ink-3); text-decoration:none; }
.af-login__lang-link:hover { color:var(--af-action); text-decoration:underline; }
.af-login__panel-head { display:flex; flex-direction:column; gap:4px; }
.af-login__panel-kicker { margin:0; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--af-action); }
.af-login__panel-title { margin:0; font-family:var(--af-font-serif); font-size:24px; font-weight:600; }
.af-login__panel-sub { margin:0; color:var(--af-ink-2); font-size:14px; }
.af-login__alert { display:flex; align-items:flex-start; gap:10px; background:var(--af-danger-soft); color:var(--af-danger-ink); border:1px solid var(--af-danger); border-radius:var(--af-r-md); padding:10px 12px; font-size:14px; }
.af-login__alert span { font-weight:700; }
.af-login__alert p { margin:0; }
.af-login__form { display:flex; flex-direction:column; gap:14px; }
.af-login__input { width:100%; }
.af-login__submit { margin-top:4px; width:100%; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.af-login__note { margin:0; font-size:12px; color:var(--af-ink-3); }

/* Responsive : empilement */
@media (max-width:760px) {
  .af-login { grid-template-columns:1fr; max-width:460px; }
  .af-login__hero { padding:28px 26px; }
  .af-login__features { margin-top:8px; }
}
