/* Shared navigation, footer and form helpers (added for Netlify build) */
header { z-index: 100; padding: 0.6rem 0; }
header .container { max-width: 1100px; }
header nav { position: relative; gap: 1rem; min-height: 72px; }
header nav .logo { color: var(--white); white-space: nowrap; }
header nav ul.nav-links { display: flex; list-style: none; gap: 1.5rem; align-items: center; margin: 0; padding: 0; }
header nav ul.nav-links > li { position: relative; }
header nav ul.nav-links a, header nav .submenu-toggle { color: var(--white); font-weight: 500; font-size: 0.95rem; }
header nav ul.nav-links a:hover, header nav .submenu-toggle:hover { color: var(--gold); }
header nav .has-sub { display: flex; align-items: center; gap: 0.2rem; }
header nav .submenu-toggle { background: none; border: none; cursor: pointer; font-family: inherit; padding: 0 0.15rem; line-height: 1; }
header nav ul.submenu {
  display: none; position: absolute; top: 100%; left: -1rem; min-width: 210px;
  background: var(--navy-dark); list-style: none; padding: 0.6rem 0; margin: 0;
  border-radius: 0 0 6px 6px; box-shadow: 0 6px 16px rgba(0,0,0,0.25); flex-direction: column; gap: 0;
}
header nav ul.submenu li a { display: block; padding: 0.5rem 1rem; white-space: nowrap; }
header nav li.has-sub:hover > ul.submenu,
header nav li.has-sub:focus-within > ul.submenu,
header nav li.has-sub.open > ul.submenu { display: flex; }
header nav li.has-sub::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 0.6rem; }
header nav .site-logo { height: 150px; width: auto; display: block; flex-shrink: 0; }
header nav a:has(> .site-logo) { flex-shrink: 0; line-height: 0; }
header nav .menu-toggle { display: none; background: none; border: none; color: white; font-size: 1.8rem; cursor: pointer; }
@media (max-width: 960px) {
  header nav .menu-toggle { display: block; margin-left: auto; }
  header nav ul.nav-links {
    display: none; position: absolute; top: calc(100% + 0.6rem); left: -1.5rem; right: -1.5rem;
    background: var(--navy-dark); flex-direction: column; align-items: stretch;
    padding: 1rem 1.5rem; gap: 0; text-align: left; max-height: calc(100vh - 92px); overflow-y: auto;
  }
  header nav ul.nav-links.active { display: flex; }
  header nav ul.nav-links > li { border-bottom: 1px solid rgba(255,255,255,0.08); }
  header nav ul.nav-links > li > a { display: block; padding: 0.7rem 0; }
  header nav .has-sub { display: block; }
  header nav .submenu-toggle { display: none; }
  header nav li.has-sub::after { display: none; }
  header nav ul.submenu { display: flex; position: static; text-align: left; box-shadow: none; padding: 0 0 0.6rem 1rem; min-width: 0; background: transparent; }
  header nav ul.submenu li a { padding: 0.4rem 0; font-size: 0.9rem; opacity: 0.9; }
}
@media (max-width: 600px) {
  header { padding: 0.5rem 0; }
  header nav { min-height: 56px; }
  header nav .site-logo { height: 96px; }
  header nav ul.nav-links { top: calc(100% + 0.5rem); max-height: calc(100vh - 72px); }
}
@media (max-width: 420px) { header nav .logo { font-size: 1.15rem; } }
/* Courthouse photo beside page intro (family law pages) */
.intro-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); gap: 2.5rem; align-items: start; margin-bottom: 2rem; }
.intro-photo { margin: 0; }
.intro-photo img { display: block; width: 100%; height: auto; border-radius: 12px; box-shadow: 0 6px 20px rgba(15,35,64,0.18); }
@media (max-width: 768px) {
  .intro-split { grid-template-columns: 1fr; gap: 1.5rem; }
  .intro-photo { max-width: 460px; margin: 0 auto; }
}
/* Footer */
footer .footer-links { margin-top: 1rem; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4rem 1.2rem; }
footer a { color: var(--gold-light, #e8d48b); }
footer a:hover { text-decoration: underline; }
footer .disclaimer { max-width: 800px; margin: 1.5rem auto 0; line-height: 1.5; }
footer .disclaimer + .disclaimer { margin-top: 0.8rem; }
/* Forms */
.hidden-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-note { font-size: 0.9rem; background: #fff8e1; border-left: 4px solid var(--gold); padding: 0.7rem 1rem; margin-bottom: 1.2rem; border-radius: 4px; }
.form-group.checkbox label { display: flex; gap: 0.6rem; align-items: flex-start; font-weight: 500; }
.form-group.checkbox input { width: auto; margin-top: 0.3rem; }
button.btn { font-family: inherit; font-size: 1rem; border: none; cursor: pointer; }

/* Lighter blue theme (Oct 25, 2026): dark navy hid the logo */
header { background: #3f74ad !important; }
.hero, .page-hero { background: linear-gradient(135deg, #3f74ad 0%, #6a9bd0 100%) !important; }
.contact { background: #3f74ad !important; }
.highlight { background: #3f74ad !important; }
footer { background: #2f5f94 !important; color: #e6eef7 !important; }
footer a { color: #ffe08a !important; }
header nav ul.submenu, header nav ul.nav-links ul { background: #35679f !important; }
@media (max-width: 960px) { header nav ul.nav-links, header nav ul { background: #35679f !important; } }
