/* ========= Auth Modern (Power Pages) ========= */

/* Cargar Montserrat desde <head> del layout (recomendado). */

/* Fondo */
body.pp-auth { background:#f6f7fb; }

/* (Opcional) Ocultar tabs de cuenta */
body.pp-auth .nav.nav-tabs.nav-account { display:none; }

/* Centrado general de filas en páginas auth */
.page-content #mainContent .row,
#mainContent .row,
#content-container .row {
  justify-content: center !important;
}

/* Caso Register post-invitación: viene dentro de .col-lg-6 (mitad izquierda) */
#Register .row > .col-lg-6 {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  display: flex !important;
  justify-content: center !important;
}

/* Card */
.portal-form,
.portal-form *{
  font-family: 'Montserrat', sans-serif !important;
}

.portal-form{
  max-width: 720px;
  margin: 40px auto;
  padding: 34px 34px 26px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  box-shadow: 0 18px 50px rgba(15,23,42,.10);
}

/* Headings */
.portal-form .login-heading-section,
.portal-form .forgot-password-heading{
  margin: 0 0 18px 0;
  font-weight: 800;
  letter-spacing: -.02em;
  color:#072A39;
}

.portal-form .login-heading-section{ font-size: 56px; }
.portal-form .forgot-password-heading{ font-size: 48px; }

/* Stacked layout para cualquier col-md-X */
.portal-form .row.mb-3{
  --bs-gutter-x: 0;
  margin-bottom: 18px !important;
}

.portal-form .row.mb-3 > [class*="col-md-"],
.portal-form .row.mb-3 > [class*="offset-md-"]{
  width:100% !important;
  max-width:100% !important;
  flex:0 0 100% !important;
  margin-left:0 !important;
}

/* Labels */
.portal-form label.col-form-label{
  display:block;
  width:100%;
  text-align:left;
  margin-bottom: 10px;
  padding-top: 0;
  font-weight: 600;
  color:#072A39;
}

/* Inputs */
.portal-form input.form-control{
  height: 56px;
  border-radius: 14px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  box-shadow:none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.portal-form input.form-control:focus{
  border-color:#072A39;
  box-shadow: 0 0 0 4px rgba(7, 42, 57, 0.15);
}

/* Texto ayuda */
.portal-form .form-text{
  margin-top: 10px;
  color: rgba(7, 42, 57, 0.70);
  font-size: 14px;
}

/* Checkbox */
.portal-form .checkbox label{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:500;
  color:#072A39;
}

.portal-form .checkbox input[type="checkbox"]{
  width:18px;
  height:18px;
}

/* Botón primary (aplica a <button> y <input type="submit">) */
.portal-form .btn.btn-primary,
.portal-form input.btn.btn-primary{
  width:100%;
  height: 64px;
  border-radius: 16px;
  border:0;
  background:#072A39;
  font-weight: 700;
  font-size: 18px;
}

.portal-form .btn.btn-primary:hover,
.portal-form input.btn.btn-primary:hover{
  background:#0a3b50;
}

/* Validation */
.validation-summary-valid{ display:none; }

.alert-danger{
  border-radius: 14px;
  border: 1px solid rgba(239,68,68,.25);
  background: rgba(239,68,68,.06);
  color:#991b1b;
}

/* Header password: label + forgot */
.pp-pass-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  width:100%;
  margin-bottom:10px;
}

.pp-forgot{
  font-size:14px;
  font-weight:600;
  color:#072A39;
  text-decoration:none;
  white-space:nowrap;
}
.pp-forgot:hover{ text-decoration:underline; }

/* Ocultar forgot original tipo botón */
a.btn.btn-default[href*="/Account/Login/ForgotPassword"]{
  display:none !important;
}

/* ===== Extra: ForgotPassword success + ResetPassword ===== */

/* Contenedor de estas pantallas (no traen .portal-form) */
form[action*="/Account/Login/ResetPassword"] > div,
.page-content #mainContent > div:has(.forgot-password-heading, .alert.alert-info) {
  max-width: 720px;
  margin: 40px auto;
  padding: 34px 34px 26px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  box-shadow: 0 18px 50px rgba(15,23,42,.10);
}

/* Tipografía */
form[action*="/Account/Login/ResetPassword"] > div,
.page-content #mainContent > div:has(.forgot-password-heading, .alert.alert-info),
form[action*="/Account/Login/ResetPassword"] > div * ,
.page-content #mainContent > div:has(.forgot-password-heading, .alert.alert-info) * {
  font-family: 'Montserrat', sans-serif !important;
}

/* Heading “¿Ha olvidado la contraseña?” (success page) */
.forgot-password-heading{
  margin: 0 0 18px 0;
  font-weight: 800;
  letter-spacing: -.02em;
  color:#072A39;
  font-size: 48px;
}

/* ResetPassword: fieldset/legend como título grande */
form[action*="/Account/Login/ResetPassword"] fieldset{
  border: 0;
  margin: 0;
  padding: 0;
}

form[action*="/Account/Login/ResetPassword"] legend{
  margin: 0 0 18px 0;
  font-weight: 800;
  letter-spacing: -.02em;
  color:#072A39;
  font-size: 48px;
}

/* Stacked layout también acá */
form[action*="/Account/Login/ResetPassword"] .row.mb-3{
  --bs-gutter-x: 0;
  margin-bottom: 18px !important;
}

form[action*="/Account/Login/ResetPassword"] .row.mb-3 > [class*="col-md-"],
form[action*="/Account/Login/ResetPassword"] .row.mb-3 > [class*="offset-md-"]{
  width:100% !important;
  max-width:100% !important;
  flex:0 0 100% !important;
  margin-left:0 !important;
}

/* Labels */
form[action*="/Account/Login/ResetPassword"] label.col-form-label{
  display:block;
  width:100%;
  text-align:left;
  margin-bottom: 10px;
  padding-top: 0;
  font-weight: 600;
  color:#072A39;
}

/* Inputs */
form[action*="/Account/Login/ResetPassword"] input.form-control{
  height: 56px;
  border-radius: 14px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  box-shadow:none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

form[action*="/Account/Login/ResetPassword"] input.form-control:focus{
  border-color:#072A39;
  box-shadow: 0 0 0 4px rgba(7, 42, 57, 0.15);
}

/* Botón */
#submit-reset-password.btn.btn-primary{
  width:100%;
  height: 64px;
  border-radius: 16px;
  border:0;
  background:#072A39;
  font-weight: 700;
  font-size: 18px;
}
#submit-reset-password.btn.btn-primary:hover{
  background:#0a3b50;
}

/* Alert “consulte su correo…” más moderno */
.alert.alert-info{
  border-radius: 14px;
  border: 1px solid rgba(7, 42, 57, 0.18);
  background: rgba(7, 42, 57, 0.06);
  color:#072A39;
}
