body.sbh-subpage nav { background: rgba(255,255,255,.98) !important; box-shadow: 0 4px 20px rgba(0,0,0,.08); }
body.sbh-subpage nav a, body.sbh-subpage nav button { color: #1f2937 !important; }
body.sbh-subpage #root > div > section:not([hidden]) { padding-top: 8rem; min-height: 55vh; }
body.sbh-home { overflow: hidden; }
body.sbh-home #root > div { height: 100dvh; overflow: hidden; }
body.sbh-home #home { height: 100dvh; min-height: 100dvh; overflow: hidden; align-items: flex-start; }

/* Keep the locked homepage hero clear of the fixed navigation. */
body.sbh-home #home > .relative.max-w-7xl {
  padding-top: 8.5rem !important;
  padding-bottom: 1.5rem !important;
}

/* Make the full navigation area visibly interactive on the non-scrolling home page. */
body.sbh-home nav {
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid rgba(13,47,139,.12);
  box-shadow: 0 8px 28px rgba(0,0,0,.14);
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.sbh-home nav .hidden.lg\:flex.items-center.gap-8 > a,
body.sbh-home nav button {
  color: #1f2937 !important;
}
body.sbh-home nav a[href^="tel:"] {
  color: #1f2937 !important;
  border-color: #1f2937 !important;
}
body.sbh-home nav a.rounded-full:not([href^="tel:"]) {
  color: #fff !important;
}
body.sbh-home nav a:not([href^="tel:"]) {
  padding-top: .65rem;
  padding-bottom: .65rem;
  border-radius: .65rem;
}
body.sbh-home nav a:not([href^="tel:"]):hover,
body.sbh-home nav a[aria-current="page"] {
  background: rgba(255,255,255,.12);
}

/* The homepage cannot scroll, so remove the old scroll invitation. */
body.sbh-home #home > .animate-bounce { display: none !important; }

/* Replace low-contrast gray statistic cards with brand-blue cards. */
body.sbh-home #home .hidden.lg\:flex > .glass {
  background: rgba(13,47,139,.92) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.24);
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  animation: none !important;
  transform: none !important;
}
body.sbh-home #home .backdrop-blur-md,
body.sbh-home #home .glass {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.sbh-home #home .animate-pulse,
body.sbh-home #home .animate-float,
body.sbh-home #home .animate-float-delay,
body.sbh-home #home .animate-float-delay-2 {
  animation: none !important;
}
body.sbh-home #home .hidden.lg\:flex > .glass > div:first-child {
  background: rgba(139,196,0,.24) !important;
}
body.sbh-home #home .hidden.lg\:flex > .glass div {
  color: #fff !important;
}
/* Keep the longer updated stat-card wording within the existing card size. */
body.sbh-home #home .hidden.lg\:flex > .glass:nth-child(2) > div:last-child > div:first-child {
  font-size: 1.05rem !important;
  line-height: 1.2 !important;
  max-width: 9.5rem;
}
body.sbh-home #home .hidden.lg\:flex > .glass:nth-child(3) > div:last-child > div:first-child {
  font-size: 1.25rem !important;
  line-height: 1.2 !important;
}
/* Match the homepage trust badges to the brand-blue statistic cards. */
body.sbh-home #home .flex.flex-wrap.gap-3 > .glass {
  background: rgba(13,47,139,.92) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
  color: #fff !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.sbh-page-link { display:inline-flex; margin-top:2rem; padding:.9rem 1.5rem; border-radius:999px; background:#8BC400; color:#fff; font:600 14px Poppins,sans-serif; }
.sbh-submit-page { padding: 9rem 1.5rem 6rem; min-height: 75vh; background:#f8f9fa; }
.sbh-submit-wrap { max-width:780px; margin:auto; }
.sbh-submit-card { background:#fff; border:1px solid #eef0f2; border-radius:1.5rem; padding:clamp(1.5rem,5vw,3rem); box-shadow:0 20px 55px rgba(13,47,139,.08); }
.sbh-submit-card h1 { font:700 clamp(2rem,5vw,3.25rem) Poppins,sans-serif; color:#111827; margin:0 0 .75rem; }
.sbh-submit-card .lead { color:#4b5563; margin:0 0 2rem; line-height:1.7; }
.sbh-field { display:block; margin:0 0 1.25rem; font:600 14px Inter,sans-serif; color:#374151; }
.sbh-field input,.sbh-field textarea { display:block; box-sizing:border-box; width:100%; margin-top:.5rem; padding:.9rem 1rem; border:1px solid #dfe3e8; border-radius:.8rem; font:400 15px Inter,sans-serif; }
.sbh-field input:focus,.sbh-field textarea:focus { outline:none; border-color:#8BC400; box-shadow:0 0 0 3px rgba(139,196,0,.16); }
.sbh-file-note { display:block; margin-top:.45rem; color:#6b7280; font-weight:400; }
.sbh-submit-button { width:100%; border:0; border-radius:.8rem; padding:1rem; background:#8BC400; color:#fff; font:700 16px Poppins,sans-serif; cursor:pointer; }
.sbh-submit-button:disabled { opacity:.6; cursor:not-allowed; }
.sbh-form-message { display:none; margin-bottom:1.25rem; padding:1rem; border-radius:.8rem; line-height:1.5; }
.sbh-form-message.success { display:block; background:#ecfdf3; color:#166534; }
.sbh-form-message.error { display:block; background:#fef2f2; color:#b91c1c; }
.sbh-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.sbh-admin-panel { max-width:80rem; margin:0 auto; padding:0 1.25rem 2rem; font-family:Inter,sans-serif; }
.sbh-admin-panel h2 { font:700 1.5rem Poppins,sans-serif; margin:0 0 1.25rem; }
.sbh-admin-list { display:grid; gap:1rem; }
.sbh-admin-item { background:#fff; border:1px solid #e5e7eb; border-radius:1rem; padding:1.25rem; }
.sbh-admin-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; color:#6b7280; font-size:.85rem; }
.sbh-admin-name { color:#0D2F8B; font-weight:700; }
.sbh-admin-text { margin:1rem 0; white-space:pre-wrap; color:#374151; }
.sbh-admin-images { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:.75rem; }
.sbh-admin-image { position:relative; }
.sbh-admin-image img { width:100%; height:95px; object-fit:cover; border-radius:.65rem; }
.sbh-admin-image button { position:absolute; top:.25rem; right:.25rem; width:1.75rem; height:1.75rem; border:0; border-radius:50%; color:#fff; background:#dc2626; cursor:pointer; }
.sbh-delete-submission { margin-top:1rem; padding:.55rem .85rem; border:1px solid #fecaca; border-radius:.55rem; color:#dc2626; background:#fff; cursor:pointer; }

/* Page transitions keep the current page visible beneath a compact branded loader. */
.sbh-page-loader {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(4, 18, 50, .28);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .16s ease, visibility 0s linear .16s;
}
.sbh-page-loader.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}
.sbh-page-loader__panel {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  min-height: 3.25rem;
  padding: .75rem 1.15rem;
  border: 1px solid rgba(13, 47, 139, .14);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(4, 18, 50, .24);
  color: #0D2F8B;
  font: 700 .92rem Poppins, Inter, sans-serif;
}
.sbh-page-loader__spinner {
  width: 1.25rem;
  height: 1.25rem;
  box-sizing: border-box;
  border: 3px solid rgba(13, 47, 139, .18);
  border-top-color: #8BC400;
  border-radius: 50%;
  animation: sbh-page-loader-spin .7s linear infinite;
}
@keyframes sbh-page-loader-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .sbh-page-loader { transition: none; }
  .sbh-page-loader__spinner { animation: none; border-color: #8BC400; }
}
@media (max-width:640px) { .sbh-submit-page { padding:7rem 1rem 4rem; } .sbh-submit-card { border-radius:1.1rem; } }
