html, body { min-height: 100%; }
body {
  background-position: center !important;
  background-size: cover !important;
  background-attachment: fixed !important;
}
body:before {
  content: "";
  position: fixed;
  inset: 0;
  background: linear-gradient(115deg, rgba(10,18,33,.86), rgba(17,35,63,.62));
  pointer-events: none;
}
.ftco-section { position: relative; min-height: 100vh; display: flex; align-items: center; padding: 36px 0; }
.login-wrap {
  padding: 30px !important;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 16px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 24px 70px rgba(0,0,0,.25);
}
.login-wrap h3 { color: #172033; font-weight: 700; letter-spacing: -.2px; }
.login-wrap h3:before { content: "BND Unlimited"; display: block; margin-bottom: 7px; color: #1769e0; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.login-wrap .form-control { height: 48px !important; border: 1px solid #d9e0e9 !important; border-radius: 9px !important; background: #fff !important; color: #172033 !important; box-shadow: none !important; }
.login-wrap .form-control:focus { border-color: #7cabee !important; box-shadow: 0 0 0 3px rgba(23,105,224,.10) !important; }
.login-wrap .btn-primary { border-color: #1769e0 !important; background: #1769e0 !important; font-weight: 700; }
.login-wrap .btn-primary:hover { background: #0e58c5 !important; }
.login-wrap .field-icon { color: #667085; }
@media (max-width: 575px) { .login-wrap { margin: 0 14px; padding: 24px 20px !important; } }


/* BND UI 2026.4 - shared day/night preference on login */
.bnd-login-theme-toggle {
  position: fixed;
  z-index: 20;
  top: 18px;
  right: 18px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.30);
  border-radius: 11px;
  background: rgba(255,255,255,.92);
  color: #243047;
  box-shadow: 0 8px 24px rgba(0,0,0,.16);
  font-weight: 700;
  cursor: pointer;
}
.bnd-login-theme-toggle .fa { color: #1769e0; }
html.bnd-theme-dark body:before { background: linear-gradient(115deg, rgba(2,7,15,.94), rgba(8,17,31,.86)); }
html.bnd-theme-dark .login-wrap {
  border-color: rgba(255,255,255,.08);
  background: rgba(18,25,35,.97);
  box-shadow: 0 26px 80px rgba(0,0,0,.45);
}
html.bnd-theme-dark .login-wrap h3 { color: #edf2f7; }
html.bnd-theme-dark .login-wrap h3:before { color: #62b2df; }
html.bnd-theme-dark .login-wrap .form-control {
  border-color: #344254 !important;
  background: #111821 !important;
  color: #edf2f7 !important;
}
html.bnd-theme-dark .login-wrap .form-control::placeholder { color: #8290a3 !important; }
html.bnd-theme-dark .login-wrap .form-control:focus {
  border-color: #62b2df !important;
  box-shadow: 0 0 0 3px rgba(98,178,223,.14) !important;
}
html.bnd-theme-dark .login-wrap .field-icon { color: #aab6c5; }
html.bnd-theme-dark .bnd-login-theme-toggle {
  border-color: rgba(255,255,255,.10);
  background: rgba(18,25,35,.94);
  color: #e4eaf1;
}
html.bnd-theme-dark .bnd-login-theme-toggle .fa { color: #f5b84b; }
@media (max-width: 575px) {
  .bnd-login-theme-toggle { top: 10px; right: 10px; }
  .bnd-login-theme-text { display: none; }
}

/* BND UI 2026.5 - login contrast hardening (light + dark) */
.login-wrap { position: relative; }

/* The legacy login stylesheet forces white placeholders with !important.
   Override every engine explicitly in light mode. */
html:not(.bnd-theme-dark) .login-wrap .form-control::-webkit-input-placeholder { color: #667085 !important; opacity: 1 !important; }
html:not(.bnd-theme-dark) .login-wrap .form-control::-moz-placeholder { color: #667085 !important; opacity: 1 !important; }
html:not(.bnd-theme-dark) .login-wrap .form-control:-ms-input-placeholder { color: #667085 !important; opacity: 1 !important; }
html:not(.bnd-theme-dark) .login-wrap .form-control::-ms-input-placeholder { color: #667085 !important; opacity: 1 !important; }
html:not(.bnd-theme-dark) .login-wrap .form-control::placeholder { color: #667085 !important; opacity: 1 !important; }

/* The submit button also carries .form-control, so force proper contrast. */
.login-wrap .btn.btn-primary,
.login-wrap .form-control.btn.btn-primary,
.login-wrap button.btn-primary {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Theme control is deliberately visible inside the login card. */
.bnd-login-theme-row {
  display: flex;
  justify-content: flex-end;
  margin: -10px -10px 12px 0;
}
.bnd-login-theme-row .bnd-login-theme-toggle {
  position: static;
  top: auto;
  right: auto;
  min-height: 34px;
  padding: 6px 10px;
  border-color: #d9e0e9;
  background: #f7f9fc;
  color: #344054;
  box-shadow: none;
  font-size: 12px;
}
html.bnd-theme-dark .bnd-login-theme-row .bnd-login-theme-toggle {
  border-color: #344254;
  background: #111821;
  color: #e4eaf1;
}
@media (max-width: 575px) {
  .bnd-login-theme-row { margin: -6px -4px 10px 0; }
  .bnd-login-theme-row .bnd-login-theme-text { display: inline; }
}


/* BND UI 2026.6 - current theme indicator */
.bnd-login-theme-row .bnd-login-theme-toggle {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}
.bnd-login-theme-current { font-weight: 800; }
html.bnd-theme-dark .bnd-login-theme-current { color: #ffffff; }

/* BND UI 2026.7 - selector Dia/Noche solo con icono */
.bnd-login-theme-row .bnd-login-theme-toggle {
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  padding: 0;
  justify-content: center;
  border-radius: 10px;
}
.bnd-login-theme-row .bnd-login-theme-toggle .fa {
  margin: 0;
  font-size: 17px;
}
.bnd-login-theme-row .bnd-login-theme-text { display: none !important; }
