/* FindHealthClinics identity. Shared directory behavior lives in directory-shared.css. */
body.site-findhealthclinics,
body.health-directory-account-header {
  --health-navy: #123047;
  --health-accent: #08756f;
  --health-accent-dark: #065a56;
  --health-ink: #263e4d;
  --health-muted: #607582;
  --health-border: #d7e2e7;
  --health-surface: #f5f8fa;
  --directory-marker-background: var(--health-accent);
  --directory-action-color: var(--health-accent);
  --dashboard-accent: var(--health-accent);
  --dashboard-accent-deep: var(--health-accent-dark);
  --bhc-green: var(--health-accent);
  --bhc-green-dark: var(--health-accent-dark);
  --cr-green: var(--health-accent);
  --cr-green-dark: var(--health-accent-dark);
  --la-accent: var(--health-accent-dark);
  --la-accent-bright: var(--health-accent);
  --la-accent-soft: var(--health-surface);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  color: var(--health-ink);
  background: var(--health-surface);
  font-size: 16px;
  line-height: 1.65;
}
.site-findhealthclinics :is(h1,h2,h3,h4,h5,h6) { font-family: inherit; letter-spacing: -.02em; }
:is(.site-findhealthclinics,.health-directory-account-header) :focus-visible { outline: 3px solid #08756f !important; outline-offset: 4px; }
.site-findhealthclinics a { color: var(--health-accent); text-underline-offset: .2em; }
.site-findhealthclinics .g-pt-85 > section .g-color-primary { color: #fff !important; }
.site-findhealthclinics #js-header .hamburger-inner::before,
.site-findhealthclinics #js-header .hamburger-inner::after,
.health-directory-account-header #js-header .hamburger-inner::before,
.health-directory-account-header #js-header .hamburger-inner::after { background-color: var(--health-navy) !important; }
.site-findhealthclinics .directory-category-group a { color: var(--health-ink); font-size: 14px; }
.site-findhealthclinics .directory-category-group summary { color: var(--health-navy); }
.site-findhealthclinics .directory-category-group { border-bottom: 1px solid var(--health-border); }
.site-findhealthclinics .feature-purchase { background: var(--health-surface) !important; padding: 110px 0 48px !important; text-shadow: none !important; }
.site-findhealthclinics .feature-purchase__panel { opacity: 1 !important; }
.site-findhealthclinics .feature-purchase__panel { overflow-wrap: anywhere; }
.site-findhealthclinics .feature-purchase__panel .btn { white-space: normal; max-width: 100%; }
.site-findhealthclinics .feature-purchase__panel :is(h1,h2,h3,h4) { font-weight: 650 !important; }
.site-findhealthclinics .feature-purchase__panel { background: #fff !important; border: 1px solid var(--health-border); border-radius: 12px !important; padding: 28px !important; margin: 0; }
.site-findhealthclinics .feature-purchase__panel > .col-lg-1 { display: none; }
.site-findhealthclinics .feature-purchase__panel > .col-lg-8 { flex: 0 0 100%; max-width: 100%; }
.site-findhealthclinics .feature-purchase__panel :is(h1,h2,h3,h4) { color: var(--health-navy) !important; text-transform: none !important; line-height: 1.3 !important; }
.site-findhealthclinics .feature-purchase__panel :is(p,li,.g-color-white-opacity-0_8,.g-color-white-opacity-0_9) { color: var(--health-ink) !important; text-shadow: none !important; }
.site-findhealthclinics .feature-single-location-options { background: var(--health-surface) !important; border: 1px solid var(--health-border); }
.site-findhealthclinics .feature-purchase__panel .g-color-red { color: var(--health-ink) !important; }
.site-findhealthclinics .feature-purchase__panel :is(.wrap,.wrap2) { border: 1px solid var(--health-border); border-radius: 10px; }
.site-findhealthclinics .admin-entry-hero,
.health-directory-account-header .account-login-hero { background: var(--health-navy) !important; border-radius: 12px; box-shadow: none; }
.site-findhealthclinics .admin-entry-hero::after,
.health-directory-account-header .account-login-hero::after { background: none !important; }
.site-findhealthclinics .admin-entry-points i,
.health-directory-account-header .account-login-points i { color: #fff !important; background: #ffffff18 !important; }
.site-findhealthclinics .admin-entry-cta,
.health-directory-account-header #firebaseui-auth-container .firebaseui-idp-button { background: var(--health-accent) !important; color: #fff !important; box-shadow: none !important; }
.health-directory-account-header .dashboard-shell { --dashboard-accent: var(--health-accent); --dashboard-accent-deep: var(--health-accent-dark); }
.health-directory-account-header :is(.fl-btn-primary,.account-featured-map__purchase,.admin-studio-stage__preview-badge) { color: #fff !important; background: var(--health-accent) !important; }
.health-directory-account-header .account-login-card,
.site-findhealthclinics .admin-entry-card { border: 1px solid var(--health-border); border-radius: 12px; box-shadow: none; }
:is(.site-findhealthclinics,.health-directory-account-header) #js-header .u-header__section {
  background: #fff !important; border-bottom: 1px solid var(--health-border); box-shadow: 0 2px 8px #1230470a;
}
:is(.site-findhealthclinics,.health-directory-account-header) #js-header .navbar-brand img { width: 272px; height: auto; max-width: 100%; }
:is(.site-findhealthclinics,.health-directory-account-header) #js-header .nav-link { color: var(--health-navy) !important; font-weight: 650; font-size: 13px; }
:is(.site-findhealthclinics,.health-directory-account-header) #js-header .nav-link:hover { color: var(--health-accent) !important; }
:is(.site-findhealthclinics,.health-directory-account-header) #js-header :is(.hamburger-inner,.hamburger-inner::before,.hamburger-inner::after) { background: var(--health-navy) !important; }
.site-findhealthclinics :is(.g-bg-primary,.g-bg-primary--hover:hover,.g-bg-primary-dark-v1,.g-bg-primary-dark-v2,.g-bg-primary-dark-v3) { background-color: var(--health-accent) !important; }
.site-findhealthclinics a.btn.u-btn-darkgray,
.site-findhealthclinics a.btn.u-btn-darkgray:hover,
.site-findhealthclinics a.btn.u-btn-darkgray:focus { color: #fff !important; }
.site-findhealthclinics :is(.g-color-primary,.g-color-primary--hover:hover) { color: var(--health-accent) !important; }
.site-findhealthclinics :is(.g-brd-primary,.g-brd-primary--focus:focus) { border-color: var(--health-accent) !important; }
:is(.site-findhealthclinics,.health-directory-account-header) :is(.u-btn-primary,.btn-primary,.u-btn-teal) {
  color: #fff !important; background: var(--health-accent) !important; border-color: var(--health-accent) !important;
  border-radius: 10px; font-weight: 650; transition: background-color 160ms ease, box-shadow 160ms ease;
}
:is(.site-findhealthclinics,.health-directory-account-header) :is(.u-btn-primary,.btn-primary,.u-btn-teal):hover { background: var(--health-accent-dark) !important; border-color: var(--health-accent-dark) !important; }
.site-findhealthclinics .g-pt-85 > section { padding: 54px 0 !important; }
.site-findhealthclinics .g-bg-black-opacity-0_5--after::after { background: rgba(18,48,71,.7) !important; }
.site-findhealthclinics .g-pt-85 h1 { font-size: clamp(28px,3.2vw,44px) !important; font-weight: 650 !important; text-transform: none !important; line-height: 1.2; max-width: 850px; }
.site-findhealthclinics .directory-hero-search { max-width: 900px; }
.site-findhealthclinics .form-control { background: #fff; color: var(--health-ink); border: 1px solid #98adb8; border-radius: 10px; min-height: 48px; font: inherit; }
.site-findhealthclinics .form-control::placeholder { color: var(--health-muted); opacity: 1; }
.site-findhealthclinics .form-control:focus { border-color: var(--health-accent); box-shadow: 0 0 0 3px #08756f20; }
.site-findhealthclinics .directory-hero-search .form-control { min-height: 56px; }
.site-findhealthclinics .lead { color: var(--health-ink); font-size: 17px; line-height: 1.7; }
.site-findhealthclinics :is(.directory-results article,article.u-shadow-v19) {
  border: 1px solid var(--health-border); border-radius: 12px !important; box-shadow: none !important; padding: 20px !important;
}
.site-findhealthclinics .directory-results article { height: 100%; }
.site-findhealthclinics article :is(h3,h3 a) { color: var(--health-navy) !important; font-size: 16px !important; text-transform: none !important; line-height: 1.4; }
.site-findhealthclinics article h4 { color: var(--health-muted); font-size: 13px !important; text-transform: none !important; line-height: 1.5; margin-bottom: 0 !important; }
.site-findhealthclinics article .g-rounded-50x { border-radius: 10px !important; object-fit: contain; max-width: 100%; height: auto; }
.site-findhealthclinics article.u-shadow-v19.g-bg-primary { background: #e8f3f1 !important; border: 1px solid #80aaa5 !important; border-left: 4px solid var(--health-accent) !important; }
.site-findhealthclinics article.u-shadow-v19.g-bg-primary .directory-sponsored-label { display: inline-block; padding: 3px 9px; margin-bottom: 10px; border: 1px solid #80aaa5; border-radius: 4px; background: #fff; }
.site-findhealthclinics article.u-shadow-v19 h4 { color: var(--health-ink) !important; }
.site-findhealthclinics .directory-sponsored-label { color: var(--health-ink) !important; font-size: 12px; font-weight: 600; letter-spacing: .03em; }
.site-findhealthclinics .directory-secondary-list a { color: var(--health-ink); }
.site-findhealthclinics .directory-secondary-list a:hover { color: var(--health-accent); text-decoration: underline; }
.site-findhealthclinics :is(.directory-list-toggle,.directory-results-toggle) { color: var(--health-accent); border-color: var(--health-border); border-radius: 10px; font-weight: 650; }
.site-findhealthclinics :is(.mapbox,.mapbox_mob,#map) { border-radius: 12px; }
:is(.site-findhealthclinics,.health-directory-account-header) :is(.directory-notice,.directory-provenance) { border-top: 1px solid var(--health-border); background: #fff; color: var(--health-ink); padding: 22px 0; font-size: 14px; }
:is(.site-findhealthclinics,.health-directory-account-header) .directory-notice p { margin: 0; max-width: 85ch; }
:is(.site-findhealthclinics,.health-directory-account-header) .directory-provenance p { max-width: 85ch; }
:is(.site-findhealthclinics,.health-directory-account-header) footer { background: var(--health-navy) !important; color: #d7e2e7 !important; }
:is(.site-findhealthclinics,.health-directory-account-header) footer :is(a,.g-color-white-opacity-0_6) { color: #d7e2e7 !important; }
:is(.site-findhealthclinics,.health-directory-account-header) footer a:hover { color: #fff !important; text-decoration: underline; }
.site-findhealthclinics :is(.u-btn-outline-primary,.u-pagination-v1-4--active) { color: var(--health-accent); border-color: var(--health-accent); }
.site-findhealthclinics :is(.u-btn-outline-primary:hover,.u-pagination-v1-4--active) { background: var(--health-accent); color: #fff; }
.site-findhealthclinics li.g-bg-primary.g-brd-gray-light-v4 { color: var(--health-ink) !important; background: #edf3f5 !important; }
.site-findhealthclinics li.g-bg-primary a { color: var(--health-navy) !important; }
.site-findhealthclinics :is(.g-bg-primary.g-color-black,.g-bg-primary.g-color-black:hover) { color: #fff !important; }
.site-findhealthclinics :is(.page-country_single,.page-country_index) .btn { text-transform: none; }
.site-findhealthclinics article.u-shadow-v19.g-bg-primary.directory-promotion {
  background: var(--health-navy) !important;
  border: 1px solid var(--health-navy) !important;
  padding: 16px !important;
  align-items: flex-start !important;
}
.site-findhealthclinics .directory-promotion-image { display: none; }
.site-findhealthclinics article.directory-promotion header h3 {
  color: #fff !important;
  font-size: 15px !important;
  line-height: 1.4;
  margin-bottom: 12px;
}
.site-findhealthclinics .directory-promotion .directory-promotion-link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  max-width: 100%;
  padding: 8px 12px;
  border-radius: 8px;
  background: #fff;
  color: var(--health-navy) !important;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
  text-decoration: none;
  transition: background-color 160ms ease;
}
.site-findhealthclinics .directory-promotion .directory-promotion-link:hover { background: #e8f3f1; }
.site-findhealthclinics .directory-promotion .directory-promotion-link:focus-visible { outline-color: #fff !important; }
/* Keep navigation and location context compact enough to reach the listings. */
.site-findhealthclinics:is(.page-index,.page-town,.page-genre,.page-item) .g-pt-85 > section { padding: 32px 0 !important; }
.site-findhealthclinics:is(.page-index,.page-town,.page-genre) #map { height: 280px !important; }
.site-findhealthclinics:is(.page-index,.page-town,.page-genre) .lead { margin-bottom: 10px; font-size: 16px; line-height: 1.5; }
.site-findhealthclinics.page-item :is(.u-divider__icon,.u-heading-v1-4,.u-heading-v1__title) { background-color: var(--health-surface) !important; }
.site-findhealthclinics .autocomplete .autocomplete-items { color: var(--health-ink); text-shadow: none; }
.site-findhealthclinics .autocomplete .autocomplete-items > div { color: var(--health-ink); background: #fff; }
.site-findhealthclinics .autocomplete .autocomplete-items > div:hover { background: #e8f3f1; }
.site-findhealthclinics .autocomplete .autocomplete-items > .autocomplete-active { background: var(--health-accent) !important; color: #fff !important; }
.site-findhealthclinics #map { isolation: isolate; }
.site-findhealthclinics .directory-provider-intro { min-height: 88px; }
.site-findhealthclinics .directory-provider-intro img { width: 88px !important; height: 88px; object-fit: cover; }
.site-findhealthclinics.page-item .u-divider.g-my-30 { margin-top: 12px !important; margin-bottom: 18px !important; }
.site-findhealthclinics .directory-policy-intro { padding-top: 120px !important; padding-bottom: 32px !important; }
.site-findhealthclinics .directory-policy-intro .col-lg-6 { flex: 0 0 100%; max-width: 76ch; }
.site-findhealthclinics .directory-policy-intro h1 { color: var(--health-navy) !important; font-size: clamp(28px,3vw,38px) !important; line-height: 1.2 !important; }
.site-findhealthclinics .directory-policy-intro .g-bg-black { background: var(--health-accent) !important; }
.site-findhealthclinics .directory-policy-sections { background: var(--health-surface) !important; }
.site-findhealthclinics .directory-policy-sections > .container { padding-top: 0 !important; padding-bottom: 40px !important; }
.site-findhealthclinics .directory-policy-sections #stickyblock-start li { background: transparent !important; padding: 0 !important; }
.site-findhealthclinics .directory-policy-link { color: var(--health-navy) !important; padding: 12px 14px !important; font-size: 14px !important; text-transform: none !important; border-bottom: 1px solid var(--health-border); }
.site-findhealthclinics .directory-policy-link:hover { color: #fff !important; }
.site-findhealthclinics .directory-policy-content > [id] { padding: 24px !important; margin-bottom: 24px !important; box-shadow: none !important; border: 1px solid var(--health-border); }
.site-findhealthclinics .directory-policy-content :is(h2,h3) { color: var(--health-navy) !important; }
@media (max-width: 575px) {
  :is(.site-findhealthclinics,.health-directory-account-header) #js-header .navbar-brand img { width: 225px; }
  .site-findhealthclinics .g-pt-85 > section { padding: 32px 0 !important; }
  .site-findhealthclinics .directory-hero-search .autocomplete + .autocomplete { margin-top: 12px; }
  .site-findhealthclinics article .g-max-width-100 { max-width: 64px !important; margin-right: 14px !important; }
  .site-findhealthclinics:is(.page-index,.page-town,.page-genre,.page-item) .g-pt-85 > section { padding: 22px 0 !important; }
  .site-findhealthclinics:is(.page-index,.page-town,.page-genre) #map { height: 200px !important; }
  .site-findhealthclinics .directory-policy-intro { padding-top: 104px !important; padding-bottom: 24px !important; }
  .site-findhealthclinics .directory-policy-content > [id] { padding: 18px !important; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.site-findhealthclinics,.health-directory-account-header) *,
  :is(.site-findhealthclinics,.health-directory-account-header) *::before,
  :is(.site-findhealthclinics,.health-directory-account-header) *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
