/* Global app overrides (static file, no Vite dev path injection) */
body {
  margin: 0;
}

#app {
  min-height: 100vh;
}

a {
  text-decoration: none;
}

/* Public layout: hero navbar white text (sticky-wrapper from style.css) */
.sticky-wrapper .site-navbar .site-menu > li > a {
  color: rgba(255, 255, 255, 0.8) !important;
}

.sticky-wrapper .site-navbar .site-menu > li > a:hover {
  color: #fff !important;
}

.site-logo a {
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}

.site-menu a {
  text-decoration: none;
}

/* Vue compiles away whitespace between inline-block nav items; original HTML has ~4px gaps */
.site-navbar .site-navigation .site-menu > li + li {
  margin-left: 4px;
}

/* CTA register/login buttons: same whitespace gap as original */
.cta-section .btn + .btn {
  margin-left: 4px;
}

/* Mobile offcanvas menu links */
.site-mobile-menu .site-nav-wrap a {
  color: #000;
  text-decoration: none;
}

.site-mobile-menu .site-nav-wrap .collapse {
  display: none;
}

.site-mobile-menu .site-nav-wrap .collapse.show {
  display: block;
}

/* Footer links: black like original (override global a { color: #777 }) */
.footer a,
.footer a.router-link-active,
.footer a.router-link-exact-active,
.footer .list-unstyled a {
  color: #000 !important;
}

.footer a:hover {
  color: #2d71a1 !important;
}

/* Sticky navbar: fixed at top when scrolled (backup for JS) */
.sticky-wrapper.is-sticky > .js-sticky-header,
.sticky-wrapper.is-sticky > .site-navbar {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1999;
}

/* Sticky navbar after scroll: dark text on white background */
.sticky-wrapper.is-sticky .site-navbar .site-menu > li > a {
  color: #000 !important;
}

.sticky-wrapper.is-sticky .site-navbar .site-menu > li > a:hover {
  color: #2d71a1 !important;
}

.sticky-wrapper.is-sticky .site-navbar .site-logo a {
  color: #000 !important;
}

.cookie-banner {
  width: 100%;
  background: #2d2d2d;
  position: fixed;
  z-index: 999;
  bottom: 0;
  overflow: hidden;
}

.cookie-banner-inner {
  color: #fff;
  text-align: center;
  margin: 20px 5%;
  width: 90%;
}

.cookie-banner .btn-outline-white {
  height: 40px;
  line-height: 7px;
}

/* Receive SMS */
.free-number-link {
  color: #fff;
  font-size: 14px;
}

/* Auth pages */
.auth-shell {
  min-height: 100vh;
  background-color: #f8f9fc;
}

.forget-password {
  float: right;
  cursor: pointer;
  margin-top: 8px;
}

.captcha-box {
  min-width: 100px;
  height: 38px;
  line-height: 38px;
  text-align: center;
  background: #e9ecef;
  border: 1px solid #ced4da;
  border-left: 0;
  color: #e74a3b;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 4px;
  cursor: pointer;
  user-select: none;
  font-family: monospace;
}

/* User center layout overrides */
.user-layout .vertical-menu .logo {
  color: inherit;
  text-decoration: none;
}

.user-layout .vertical-menu .logo span {
  color: inherit;
}

.user-layout #sidebar-menu a {
  text-decoration: none;
}

.user-layout .dropdown-item.router-link-active {
  background-color: #f8f9fa;
}
