/* Global typography and minor polish */
body { font-family: 'Segoe UI', system-ui, -apple-system, Roboto, Arial, sans-serif; }

/* Focus and validation */
:focus-visible { outline: 2px solid #0d6efd; outline-offset: 2px; }
.form-label .required-marker { color: #dc3545; margin-left: 2px; }

/* Error summary region */
.alert-summary { position: sticky; top: .75rem; z-index: 1030; }

/* Utility */
.visually-hidden-important {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}

/* Keep navbar above hero/overlays */
.navbar.sticky-top { z-index: 1055; } /* higher than 1020 default */

/* Prevent any accidental fade/transform on navbar items */
.navbar, .navbar *[data-aos] {
  opacity: 1 !important;
  transform: none !important;
}

/* Ensure nav link/button colors remain visible on dark navbar */
.navbar .navbar-brand,
.navbar .nav-link { color: #fff !important; }
.navbar .nav-link:hover,
.navbar .nav-link:focus { color: #f8f9fa !important; }

.navbar .btn-outline-light {
  color: #fff !important;
  border-color: #fff !important;
}
.navbar .btn-outline-light:hover {
  background-color: rgba(255,255,255,.15) !important;
  color: #fff !important;
}

/* Auth screens */
.auth-wrap { min-height: 85vh; }
.auth-card { max-width: 520px; }

/* Keep alerts tidy inside cards */
.card .alert { margin-bottom: 0.75rem; }