/* bh2026-login.css — login y alta en UNA pantalla (Claudia, 19-oct-2026, encargo G). Solo page_name authentication.
   Variables de bh2026.css. Texto blanco solo sobre --bh-g-ink (#4a842c, AA). */
.bh20-auth { max-width: 1120px; margin: 0 auto; padding: 0 0 40px; color: var(--bh-text); }
.bh20-auth .bh20-h1.page-heading { font-size: 40px; line-height: 1.1; font-weight: 700; color: #12301a; text-transform: none; letter-spacing: 0; background: none; border: 0; padding: 0; margin: 6px 0 22px; text-align: left; }
.bh20-cols { display: grid; grid-template-columns: 1fr 1.25fr; gap: 24px; align-items: stretch; }
.bh20-card { background: #fff; border: 1px solid #e3ebdc; border-radius: 16px; box-shadow: 0 2px 10px rgba(31, 90, 46, .07); padding: 28px 30px 30px; display: flex; flex-direction: column; min-width: 0; scroll-margin-top: 90px; }
.bh20-card-t { font-size: 26px; line-height: 1.2; font-weight: 700; color: var(--bh-g-d); text-transform: none; letter-spacing: 0; background: none; border: 0; padding: 0; margin: 0 0 18px; }
.bh20-form { display: flex; flex-direction: column; flex: 1 1 auto; margin: 0; }
.bh20-field { margin: 0 0 16px; }
.bh20-field label { display: block; margin: 0 0 6px; font-size: 15px; font-weight: 600; color: var(--bh-text); }
.bh20-input { display: block; width: 100%; height: 52px; padding: 0 16px; box-sizing: border-box; border: 1px solid #cdd6c4; border-radius: 10px; background: #fff; color: var(--bh-text); font-size: 17px; box-shadow: none; }
.bh20-input:focus { border-color: var(--bh-g-ink); box-shadow: 0 0 0 3px rgba(106, 163, 67, .25); outline: 0; }
.bh20-pw { position: relative; }
.bh20-pw .bh20-input { padding-right: 54px; }
.bh20-eye { position: absolute; right: 4px; top: 4px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: #5f6b59; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.bh20-eye:hover { color: var(--bh-g-d); }
.bh20-eye:focus-visible, .bh20-btn:focus-visible, .bh20-auth a:focus-visible { outline: 3px solid var(--bh-g-d); outline-offset: 2px; }
.bh20-eye .bh20-eye-off { display: none; }
.bh20-eye[aria-pressed="true"] .bh20-eye-on { display: none; }
.bh20-eye[aria-pressed="true"] .bh20-eye-off { display: block; }
.bh20-hint { display: block; margin: 6px 0 0; font-size: 13.5px; color: var(--bh-muted); }
.bh20-forgot { margin: -4px 0 20px; font-size: 15.5px; }
.bh20-forgot a, .bh20-check a { color: var(--bh-g-hov); text-decoration: underline; }
.bh20-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 54px; margin-top: 8px; /* 19-oct: pegado a los campos (con auto dejaba un hueco grande en «Ya soy cliente») */ padding: 0 22px; border: 0; border-radius: 10px; background: var(--bh-g-ink); color: #fff; font-size: 17px; font-weight: 700; text-transform: none; letter-spacing: .2px; cursor: pointer; }
.bh20-btn:hover, .bh20-btn:focus-visible { background: var(--bh-g-hov); color: #fff; }
.bh20-btn span { color: inherit; }
.bh20-card-login .bh20-forgot { margin-bottom: 26px; }
.bh20-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.bh20-adv { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: -6px 0 18px; padding: 12px 16px; list-style: none; background: var(--bh-bg); border-radius: 10px; font-size: 15px; color: var(--bh-g-d); font-weight: 600; }
.bh20-adv li { display: inline-flex; align-items: center; gap: 7px; margin: 0; padding: 0; }
.bh20-adv svg { color: var(--bh-g-ink); flex: 0 0 auto; }
.bh20-check { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 10px; margin: 2px 0 14px; }
.bh20-check input[type="checkbox"] { flex: 0 0 auto; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--bh-g-ink); opacity: 1; position: static; }
.bh20-check label { flex: 1 1 0; min-width: 0; margin: 0; font-size: 15.5px; font-weight: 400; line-height: 1.4; cursor: pointer; }
.bh20-req { color: #c8102e; }
.bh20-priv-err { flex: 1 0 100%; margin-left: 32px; font-size: 14px; color: #a3141b; }
.bh20-priv-err[hidden] { display: none; }
.bh20-new-spacer { flex: 1 1 auto; }
.bh20-card-new .bh20-btn { margin-top: 10px; }
.bh20-err { margin: 0 0 16px; padding: 12px 14px; border: 1px solid #e8b4b4; border-left: 4px solid #c8102e; border-radius: 8px; background: #fdf1f1; color: #7a1a1a; font-size: 15px; line-height: 1.4; }
.bh20-err p, .bh20-err ul { margin: 0; padding: 0; list-style: none; }
.bh20-err li + li { margin-top: 4px; }
.bh20-auth .alert-danger { max-width: 1120px; margin: 0 auto 18px; }
.bh20-auth .bh20-field label { font-size: 15.5px !important; font-weight: 600 !important; }
.bh20-auth .bh20-check label { font-size: 15.5px !important; font-weight: 400 !important; }
/* el tema envuelve los checkbox con «uniform» (div.checker > span): se anula su dibujo y se usa el checkbox nativo */
.bh20-check .checker, .bh20-check .checker span { display: inline-block; float: none; position: static; width: auto; height: auto; margin: 0; padding: 0; border: 0; background: none !important; }
.bh20-check input[type="checkbox"] { -webkit-appearance: checkbox !important; appearance: auto !important; opacity: 1 !important; position: static !important; width: 22px !important; height: 22px !important; margin: 1px 0 0 !important; }
@media (max-width: 991px) {
  .bh20-cols { grid-template-columns: 1fr; gap: 20px; }
  .bh20-auth .bh20-h1.page-heading { font-size: 30px; margin-bottom: 16px; }
  .bh20-card { padding: 22px 18px 24px; border-radius: 14px; }
  .bh20-card-t { font-size: 23px; }
}
@media (max-width: 479px) {
  .bh20-row2 { grid-template-columns: 1fr; }
  .bh20-adv { flex-direction: column; gap: 6px; }
  .bh20-input { font-size: 16px; } /* 16 px: iOS no hace zoom al enfocar */
}
