/* Theme override: Navy blue background, burnt orange accents, bold white text */
:root {
  --navy: #001F3F;
  --burnt-orange: #CC5500;
}

html,
body {
  background-color: var(--navy) !important;
  color: #FFFFFF !important;
}

body,
body p,
body span,
body li,
body td,
body th,
body label,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body a,
body strong,
body small,
body div {
  color: #FFFFFF !important;
  font-weight: 700 !important;
}

/* Keep page sections transparent so the navy background shows through */
.container,
.container-fluid,
.section,
main,
header,
footer,
.page-wrapper,
.content-wrapper {
  background-color: transparent !important;
}

/* Burnt orange accents */
.btn-primary,
.bg-primary,
.text-primary-bg {
  background-color: var(--burnt-orange) !important;
  border-color: var(--burnt-orange) !important;
  color: #FFFFFF !important;
}

.text-primary {
  color: var(--burnt-orange) !important;
}

/* Form fields stay readable */
input,
select,
textarea {
  color: #FFFFFF !important;
  font-weight: 700 !important;
}

input::placeholder,
textarea::placeholder {
  color: rgba(255, 255, 255, 0.7) !important;
}


/* Stable mobile authentication layout */
body.auth-page {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  display: block !important;
  margin: 0 !important;
  background: var(--navy) !important;
}
.auth-shell {
  width: min(100%, 430px);
  min-height: 100vh;
  margin: 0 auto;
  padding: 32px 20px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.auth-logo { margin: 0 0 22px !important; }
.auth-logo img { width: 190px !important; height: auto; max-height: 150px; object-fit: contain; }
.auth-title {
  margin: 0 0 24px !important;
  color: #FFFFFF !important;
  font-size: 28px !important;
  line-height: 1.2;
  font-family: Georgia, serif;
  font-weight: 700 !important;
}
.auth-page .signin-form { padding: 0 !important; }
.auth-page .search {
  display: flex !important;
  align-items: center;
  min-height: 58px;
  margin-top: 18px !important;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.55) !important;
  border-radius: 30px !important;
  background: rgba(255,255,255,.22) !important;
}
.auth-page .search.mt-5 { margin-top: 0 !important; }
.auth-page .search input {
  flex: 1;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 18px !important;
  font-size: 16px !important;
  line-height: 58px;
}
.auth-page .search img { flex: 0 0 58px; width: 58px !important; height: 58px; object-fit: contain; }
.auth-page input::placeholder { color: rgba(255,255,255,.88) !important; opacity: 1; }
.auth-page button[type="submit"] {
  margin-top: 28px !important;
  background: var(--burnt-orange) !important;
  color: #FFFFFF !important;
  min-height: 58px;
}
.auth-page a span span { color: var(--burnt-orange) !important; }
@media (max-height: 700px) {
  .auth-shell { justify-content: flex-start; padding-top: 18px; }
  .auth-logo img { width: 150px !important; max-height: 100px; }
  .auth-logo { margin-bottom: 12px !important; }
}
