/* ============================================================================
   ANX AUTH — theme de marca para las páginas del basic_wrapper
   (login, register, lost/reset-password, resend/sent-activation, maintenance,
   unsubscribe). Se carga desde basic_wrapper.php (body.anx-auth) y reviste su
   estructura EXISTENTE (logo + .card.rounded-2x > .card-body.p-5 > formularios
   Altum) en oscuro y con marca, coherente con la home. Todo scopeado bajo
   body.anx-auth para no afectar a nada más.
   ============================================================================ */

body.anx-auth {
  --anx-panel: #131416;
  --anx-card: #303042;
  --anx-blue: #1256d3;
  --anx-white: #f7f7f2;
  --anx-green: #1ce683;
  --anx-muted: #d9d9d9;
  --anx-field: #26263a;
  --anx-field-border: rgba(255, 255, 255, .14);
  --anx-auth-font: "Post Grotesk", "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;

  background: var(--anx-panel) !important;
  color: var(--anx-white);
  font-family: var(--anx-auth-font);
  min-height: 100vh;
}

/* Logo (bloque .mb-5 text-center sobre la tarjeta) */
body.anx-auth main { padding-top: 8px; }
body.anx-auth a.text-dark { color: var(--anx-white) !important; }
body.anx-auth .navbar-logo { max-height: 40px; width: auto; }

/* Tarjeta */
body.anx-auth .card {
  background: var(--anx-card);
  border: 0;
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
}
body.anx-auth .card-body { color: var(--anx-white); }

/* Título del formulario (h1.h5) */
body.anx-auth .card-body h1 {
  color: var(--anx-white);
  font-size: 22px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 22px;
}

/* Campos */
body.anx-auth .form-group { margin-bottom: 16px; }
body.anx-auth label,
body.anx-auth .card-body label { color: var(--anx-muted); font-size: 13px; font-weight: 400; margin-bottom: 7px; }
body.anx-auth .form-control {
  background: var(--anx-field);
  border: 1px solid var(--anx-field-border);
  border-radius: 12px;
  padding: 12px 14px;
  height: auto;
  color: var(--anx-white);
  font-size: 15px;
}
body.anx-auth .form-control::placeholder { color: rgba(255, 255, 255, .35); }
body.anx-auth .form-control:focus {
  background: var(--anx-field);
  color: var(--anx-white);
  border-color: var(--anx-blue);
  box-shadow: 0 0 0 3px rgba(18, 86, 211, .25);
}
body.anx-auth .form-control.is-invalid { border-color: #ff4d6d; }

/* Checkbox (recuérdame / acepto términos / newsletter) */
body.anx-auth .custom-control-label,
body.anx-auth .custom-control-label small,
body.anx-auth .text-muted { color: var(--anx-muted) !important; }
body.anx-auth .custom-control-input:checked ~ .custom-control-label::before {
  background: var(--anx-blue);
  border-color: var(--anx-blue);
}

/* Botón principal (pill azul) */
body.anx-auth .btn-primary {
  background: var(--anx-blue);
  border: 0;
  border-radius: 100px;
  padding: 13px;
  font-weight: 500;
  font-size: 15px;
  color: #fff;
  transition: filter .15s ease;
}
body.anx-auth .btn-primary:hover { filter: brightness(1.08); background: var(--anx-blue); color: #fff; }
body.anx-auth .btn-primary:disabled { opacity: .5; }

/* Separador social */
body.anx-auth hr,
body.anx-auth .border-gray-100 { border-color: rgba(255, 255, 255, .12) !important; }

/* Botones sociales */
body.anx-auth .btn-light {
  background: transparent;
  border: 1px solid var(--anx-field-border);
  border-radius: 100px;
  color: var(--anx-white);
  padding: 11px;
  font-weight: 500;
  font-size: 14px;
}
body.anx-auth .btn-light:hover { background: rgba(255, 255, 255, .06); color: var(--anx-white); }
body.anx-auth .btn-light img { width: 18px; height: 18px; }

/* Enlaces */
body.anx-auth .card-body a { color: var(--anx-muted); }
body.anx-auth .card-body a:hover { color: var(--anx-white); }
body.anx-auth .card-body a.btn-primary,
body.anx-auth .card-body a.btn-primary:hover { color: #fff; }
body.anx-auth .font-weight-bold { color: var(--anx-white); }

/* Alerts sobre fondo oscuro */
body.anx-auth .alert { border: 0; border-radius: 12px; }
body.anx-auth .alert-success { background: rgba(28, 230, 131, .12); color: var(--anx-green); }
body.anx-auth .alert-danger { background: rgba(255, 77, 109, .12); color: #ff8098; }
body.anx-auth .alert-info { background: rgba(18, 86, 211, .14); color: #7ea6ff; }
body.anx-auth .invalid-feedback { color: #ff8098; }

@media (max-width: 480px) {
  body.anx-auth .card-body { padding: 1.75rem 1.5rem !important; }
}
