/* ===========================================================================
 * King Liquid - pagine auth (login / registrazione): layout ristretto.
 * Portato dallo stile di dev svapodream (auth-side v4), palette King.
 * Stile campi/bottone del login allineato al form di registrazione
 * (register-wizard.css). NON tocca il tema hummingbird parent.
 * =========================================================================*/

/* ── Container stretto 720px (solo pagine auth) ──────────────────────────── */
.container.container--auth-narrow {
  max-width: 720px !important;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (max-width: 767.98px) {
  .container.container--auth-narrow {
    max-width: 100% !important;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* ── Wrapper card ────────────────────────────────────────────────────────── */
.auth-card-wrap { margin: 1.5rem 0 2.5rem; }

/* ── Registrazione dentro container stretto: la .reg riempie tutto ───────── */
.container--auth-narrow .reg { max-width: 100%; margin: 0; }
.container--auth-narrow .reg .reg-h1 {
  font-size: 1.55rem !important;
  line-height: 1.25 !important;
  margin: 0 0 .35rem !important;
}

/* ── Login: card analoga alla .reg ───────────────────────────────────────── */
.container--auth-narrow .login {
  background: #fff;
  border: 1px solid #e0dbd6;
  border-radius: 20px;
  box-shadow: 0 18px 50px rgba(10,18,34,.07);
  padding: 2.2rem 2rem 2rem;
}
.container--auth-narrow .login__title {
  font-size: 1.55rem;
  font-weight: 800;
  color: #1a1a2e;
  line-height: 1.25;
  letter-spacing: -.01em;
  margin: 0 0 1.4rem;
}
.container--auth-narrow .login__form-wrapper > :first-child { margin-top: 0; }

/* ── Campi login (allineati alla registrazione) ──────────────────────────── */
.container--auth-narrow .login .form-group { display: block; margin-bottom: .9rem; }
.container--auth-narrow .login .form-group > label,
.container--auth-narrow .login .form-control-label {
  display: block; width: auto; text-align: left; float: none; padding: 0 0 .35rem;
  font-weight: 700; font-size: .82rem; color: #3a3a44; letter-spacing: .01em;
}
.container--auth-narrow .login .form-control-label.required::after,
.container--auth-narrow .login label.required::after { content: " *"; color: #0e1c38; }
.container--auth-narrow .login .form-group > div,
.container--auth-narrow .login .form-group [class*="col-"] {
  width: 100%; max-width: 100%; flex: 0 0 100%; padding: 0;
}
.container--auth-narrow .login .form-control,
.container--auth-narrow .login input[type=text],
.container--auth-narrow .login input[type=email],
.container--auth-narrow .login input[type=password] {
  width: 100%; height: auto; padding: .6rem .8rem; font-size: 1rem;
  border: 1.5px solid #e0dbd6; border-radius: 11px; background: #fff; color: #1a1a2e;
  transition: border-color .15s, box-shadow .15s;
}
.container--auth-narrow .login .form-control:focus,
.container--auth-narrow .login input:focus {
  outline: 0; border-color: #0e1c38; box-shadow: 0 0 0 3px rgba(14,28,56,.16);
}
/* eventuale gruppo mostra/nascondi password */
.container--auth-narrow .login .input-group { display: flex; align-items: stretch; }

/* ── Footer: "Password dimenticata?" + submit ────────────────────────────── */
.container--auth-narrow .login .buttons-wrapper,
.container--auth-narrow .login .form-footer {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; margin-top: 1.35rem; flex-wrap: wrap;
}
.container--auth-narrow .login .btn-basic,
.container--auth-narrow .login a[href*="password"] {
  color: #666; font-weight: 600; font-size: .9rem; text-decoration: none;
  padding: 0; background: none; border: 0;
}
.container--auth-narrow .login .btn-basic:hover,
.container--auth-narrow .login a[href*="password"]:hover {
  color: #0e1c38; text-decoration: underline;
}
.container--auth-narrow .login #submit-login,
.container--auth-narrow .login .btn-primary {
  display: inline-flex; align-items: center; justify-content: center; border: 0;
  border-radius: 12px; font-weight: 800; font-size: 1rem; padding: .8rem 1.9rem; cursor: pointer;
  background: linear-gradient(135deg,#0e1c38,#1b3560); color: #fff;
  box-shadow: 0 10px 26px rgba(14,28,56,.28);
  transition: filter .15s, transform .15s;
}
.container--auth-narrow .login #submit-login:hover,
.container--auth-narrow .login .btn-primary:hover { filter: brightness(1.05); color: #fff; }
.container--auth-narrow .login #submit-login:active,
.container--auth-narrow .login .btn-primary:active { transform: translateY(1px); }

/* ── Prompt sotto form ("Non hai ancora un account? Crea un account") ─────── */
.auth-altprompt {
  margin: 1.2rem 0 0;
  font-size: .92rem;
  color: #666;
  text-align: center;
}
.auth-altprompt a { color: #0e1c38; font-weight: 700; text-decoration: none; }
.auth-altprompt a:hover { text-decoration: underline; }

/* ── Recupero password (password-email / password-new / password-infos) ───── */
.container--auth-narrow .login .form-label {
  display: block; padding: 0 0 .35rem; font-weight: 700; font-size: .82rem;
  color: #3a3a44; letter-spacing: .01em;
}
.container--auth-narrow .login .form-label.required::after { content: " *"; color: #0e1c38; }
.container--auth-narrow .login .send-renew-password-link {
  color: #666; font-size: .94rem; line-height: 1.55; margin: 0 0 1.2rem;
}
.container--auth-narrow .login .form-fields .mb-3 { margin-bottom: .9rem; }
/* input-group con toggle mostra/nascondi password */
.container--auth-narrow .login .input-group.password-field { display: flex; gap: .4rem; }
.container--auth-narrow .login .input-group.password-field .form-control { flex: 1 1 auto; }
.container--auth-narrow .login .input-group.password-field .btn {
  flex: 0 0 auto; width: auto; padding: .5rem .7rem; border-radius: 11px;
  background: #f5f2ef; color: #1a1a2e; box-shadow: none; font-weight: 600;
}
.container--auth-narrow .login .input-group.password-field .btn:hover { filter: none; background: #e0dbd6; }
.container--auth-narrow .login .input-group.password-field .btn .material-icons { font-size: 1.15rem; }
/* submit primario a piena larghezza sulle pagine password (esclusi i toggle nell'input-group) */
.container--auth-narrow .auth-pwd .buttons-wrapper { margin-top: 1.3rem; display: block; }
.container--auth-narrow .auth-pwd .buttons-wrapper > .btn-primary,
.container--auth-narrow .auth-pwd .form-fields > .btn-primary { width: 100%; }
.container--auth-narrow .auth-pwd .alert { border-radius: 12px; }

/* ── Mobile ──────────────────────────────────────────────────────────────── */
@media (max-width: 767.98px) {
  .container--auth-narrow .login { padding: 1.6rem 1.2rem; }
  .container--auth-narrow .login__title,
  .container--auth-narrow .reg .reg-h1 { font-size: 1.3rem !important; }
  .container--auth-narrow .login .buttons-wrapper { gap: .7rem; }
  .container--auth-narrow .login #submit-login,
  .container--auth-narrow .login .btn-primary { width: 100%; }
}
