[hidden] { display: none !important; }
.search-conflict-notice { margin: 20px 0; padding: 12px 18px; border: 2px solid #e7bc69; border-radius: 10px; background: #211d14; }
.search-login-return { max-width: 920px; margin: 24px auto; padding: 18px 24px; color: #edf5ff; background: #061521; border: 1px solid #24506b; border-radius: 14px; }
.search-login-return a { color: #8edcff; }
.home-search { max-width: 920px; margin: auto; padding: 48px 24px; min-height: 80vh; }
.home-search h1 { font-size: clamp(28px,5vw,48px); font-weight: 300; }
.home-search nav { display: flex; flex-wrap: wrap; gap: 24px; margin: 24px 0; }
.home-search nav a[aria-current="page"] { color: #b5efff; text-underline-offset: 5px; }
.home-search .search-categories { gap: 8px; margin: 18px 0 12px; border-bottom: 1px solid #24506b; }
.home-search .search-categories button { background: transparent; border: 0; border-bottom: 2px solid transparent; border-radius: 0; cursor: pointer; }
.home-search .search-categories button[aria-pressed="true"] { color: #8edcff; border-bottom-color: currentColor; }
.home-search a { color: #8edcff; text-decoration: underline; overflow-wrap: anywhere; }
.home-search form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
.home-search label:first-child { grid-column: 1/-1; }
.home-search input,.home-search select,.home-search button { min-width: 0; padding: 12px; color: #edf5ff; background: #092237; border: 1px solid #3881a4; border-radius: 10px; font: inherit; }
.home-search input:focus-visible,.home-search select:focus-visible,.home-search summary:focus-visible,.home-search button:focus-visible,.home-search nav a:focus-visible { outline: 3px solid #6ddcff; outline-offset: 3px; }
.home-search details > button { padding: 12px 18px; color: #edf5ff; background: #092237; border: 1px solid #3881a4; border-radius: 10px; font: inherit; cursor: pointer; }
.home-search details > button:disabled { opacity: .6; cursor: wait; }
.home-search details > button:focus-visible { outline: 3px solid #6ddcff; outline-offset: 3px; }
.home-search details { margin: 16px 0; padding: 18px; border: 1px solid #24506b; border-radius: 14px; background: #061521; }
.home-search summary { cursor: pointer; line-height: 1.6; overflow-wrap: anywhere; }
.home-search article { border-top: 1px solid #24506b; padding: 16px 0; }
.home-search p,.home-search small { color: #bad0e0; line-height: 1.6; overflow-wrap: anywhere; }
.home-search .search-city {
  margin: 24px 0 20px;
  padding: clamp(20px, 4vw, 40px);
  border: 1px solid #d5dee7;
  border-radius: 16px;
  background: #f7fafc;
  color: #173042;
}
.search-city h2 { margin: 0; font-size: clamp(32px, 7vw, 64px); font-weight: 350; line-height: 1.05; }
.home-search .search-city p { margin: 12px 0 0; color: #40576b; }
.home-search .search-city-categories { position: relative; flex-wrap: nowrap; gap: 12px; margin: 20px 0 0; padding: 4px; overflow-x: auto; border-bottom: 1px solid #c5d7e3; }
.home-search .search-city-categories:empty { display: none; }
.home-search .search-city-categories button {
  flex: 0 0 auto;
  max-width: min(260px, 75vw);
  padding: 8px 10px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #173042;
  cursor: pointer;
  text-align: left;
}
.home-search .search-city-categories button[aria-pressed="true"] { border-bottom-color: #00748a; color: #00586a; font-weight: 600; }
.home-search .search-city-categories button:focus-visible { outline-color: #185a7d; }
.home-search.has-search-city details { border-color: #d5dee7; background: #f7fafc; color: #173042; }
.home-search.has-search-city details a { color: #145574; }
.home-search.has-search-city details p,.home-search.has-search-city details small { color: #40576b; }
.home-search.has-search-city article { border-color: #d5dee7; }
.home-search .search-family a,.home-search.has-search-family details a { color: #145574; }
.home-search .search-family-form { display: flex; flex-wrap: wrap; align-items: end; margin-top: 16px; }
.home-search .search-family-form label { display: grid; gap: 6px; min-width: 0; }
.home-search .search-family-form input { width: 100%; max-width: 220px; background: #fff; color: #173042; }
.home-search .search-family-form #search-family-state { width: 84px; }
.home-search .search-family-form button { cursor: pointer; }
.home-search.has-search-family details { border-color: #d5dee7; background: #f7fafc; color: #173042; }
.home-search.has-search-family details p { color: #40576b; }
.home-search.has-search-family article { border-color: #d5dee7; }
@media(max-width:480px) { .home-search { padding: 24px 16px; } .home-search form { grid-template-columns: minmax(0,1fr); } .home-search details { padding: 12px; } }

/* Keep Search controls named without adding visible header copy. */
.search-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

/* The hosted city component supplies its own layout and return control. */
.home-search.has-rockford-profile { max-width: none; padding: 0; }
.home-search.has-rockford-profile > form { display: none; }
