/* Mobile Schools list layout (≤767px). Active only while body.fd-ms-list is set
   by schools-mobile.js; "View Full Map" removes the class and restores the
   existing full-screen interactive map. Desktop is untouched. */

/* Mobile-only elements stay out of the desktop UI. */
.fd-ms-map-logo,
.fd-ms-card-meta,
.fd-ms-full-map,
.fd-ms-back-list,
.fd-ms-clear,
.fd-ms-upgrade,
.fd-ms-message-fab { display: none !important; }
@media (min-width: 768px) {
  .pp-support-card { display: none !important; }
}

@media (max-width: 767px) {
  /* Keep the phone map on the lightweight vector paint path. */
  body[data-app-page="LeadFinder"] #pageLeadFinder :is(.us-map,.state-layer,.state-region,.map-extrusion,.conference-cluster){filter:none!important}
  body[data-app-page="LeadFinder"] #pageLeadFinder .signal-layer{display:none!important}
  body[data-app-page="LeadFinder"] #pageLeadFinder .fd-map-result-card{content-visibility:auto;contain-intrinsic-size:auto 116px}
  body[data-app-page="LeadFinder"] #pageLeadFinder { position: relative; }
  body[data-app-page="LeadFinder"] #pageLeadFinder .fd-ms-map-logo {
    display: block !important;
    position: absolute;
    top: 2px;
    left: 2px;
    z-index: 3;
    width: 108px;
    height: auto;
    object-fit: contain;
    pointer-events: none;
  }
  /* Sport is selected globally from Progress or Profile on mobile. */
  body[data-app-page="LeadFinder"] #pageLeadFinder#pageLeadFinder .fd-schools-header.fd-schools-header,
  body[data-app-page="LeadFinder"] #pageLeadFinder#pageLeadFinder .fd1-sport-switcher.fd1-sport-switcher,
  body #pageOutreach#pageOutreach .fd1-sport-switcher {
    display: none !important;
  }
  /* ── Page scroll container ───────────────────────────────────────────── */
  body.fd-ms-list[data-app-page="LeadFinder"] .main-content { padding: 0 !important; }
  body.fd-ms-list[data-app-page="LeadFinder"] #pageLeadFinder#pageLeadFinder {
    --ms-gutter: 16px;
    /* Let the country span the screen, with a separate slot for View Full Map.
       Short screens still cap the preview above the remaining controls. */
    --ms-map-height: min(calc(60.603vw + 54px), max(0px, calc(100svh - var(--fd-mobile-bottom-space) - 120px - env(safe-area-inset-top, 0px))));
    /* The shared scroll shell carries the continuous mobile backdrop. */
    background: transparent !important;
    display: block !important;
    height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 0 calc(var(--fd-mobile-bottom-space) + 12px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
  }

  /* ── Header: title + sport switch ────────────────────────────────────── */
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-schools-header {
    position: relative !important;
    z-index: 4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px;
    min-height: 0 !important;
    margin: 0 !important;
    padding: calc(env(safe-area-inset-top, 0px) + 14px) var(--ms-gutter) 0 !important;
    pointer-events: none;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-schools-header > * { pointer-events: auto; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-schools-header h1 {
    margin: 0 !important;
    font-size: clamp(30px, 9vw, 36px) !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
    color: #fff;
    text-shadow: 0 2px 14px #000c;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-schools-header p,
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-schools-header .fd-schools-plan,
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-schools-header .fd-preferences-action { display: none !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-schools-header .fd1-sport-switcher {
    position: static !important;
    zoom: .5;
    margin: 0 !important;
    flex: 0 0 auto;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-schools-header .fd1-sport-switcher > span { display: none !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-schools-header .fd1-sport-switcher [role="group"] {
    display: flex;
    gap: 2px;
    padding: 4px;
    border: 1px solid #ffffff1f;
    border-radius: 999px;
    background: #12141bcc;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-schools-header .fd1-sport-switcher button {
    min-height: 36px;
    padding: 0 clamp(12px, 4vw, 18px);
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #d8d9e0;
    font-size: 13px;
    font-weight: 700;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-schools-header .fd1-sport-switcher button[aria-pressed="true"] {
    color: #fff;
    background: linear-gradient(180deg, #ff3b55, #d4142f);
    box-shadow: 0 0 18px #ff1f4466, inset 0 1px #ffffff40;
  }

  /* ── Flow: map → sticky search/filters → list → upgrade ──────────────── */
  body.fd-ms-list #pageLeadFinder#pageLeadFinder [data-schools-mode-panel="programs"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder [data-program-panel="map"].lead-finder-grid { display: contents !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .network-stage { order: 1 !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-program-discovery-toolbar { order: 2 !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-schools-utilities { order: 3 !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-results-panel { order: 4 !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-ms-upgrade { order: 6 !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder #schoolsRecruitingAccess,
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .school-map-instruction,
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-legacy-school-search,
  body.fd-ms-list #pageLeadFinder#pageLeadFinder [data-program-panel="list"] { display: none !important; }

  /* ── Compact map preview ─────────────────────────────────────────────── */
  body.fd-ms-list #pageLeadFinder#pageLeadFinder [data-program-panel="map"] .network-stage {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    height: var(--ms-map-height) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer;
    /* Scroll-linked upward exit. Keep opacity constant so it disappears above
       the viewport instead of fading in place. */
    transform: translate3d(0, calc(var(--ms-collapse, 0) * var(--ms-map-height) * -.55), 0);
    opacity: 1;
    clip-path: none;
    -webkit-mask-image: none;
    mask-image: none;
    will-change: transform;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder [data-program-panel="map"] .network-stage::before {
    display: none !important;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder [data-program-panel="map"] .us-map {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: auto !important;
    touch-action: none !important;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .network-stage .activity-rail,
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .network-stage .network-readout,
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .network-stage .network-stats,
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .network-stage .map-caption,
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .network-stage .map-atmosphere { display: none !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .network-stage .fd-map-loading { font-size: 12px; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-ms-full-map {
    position: absolute;
    right: var(--ms-gutter);
    bottom: 18px;
    z-index: 3;
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    min-height: 36px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    color: #f2f2f5;
    font-size: 12px;
    font-weight: 600;
    box-shadow: none;
    cursor: pointer;
  }
  .fd-ms-full-map svg,
  .fd-ms-back-list svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

  /* ── Sticky search + division/conference filters ─────────────────────── */
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-program-discovery-toolbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 5 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: auto !important;
    margin: 0 !important;
    padding: calc(env(safe-area-inset-top, 0px) * var(--ms-collapse, 0) + 10px) var(--ms-gutter) 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    -webkit-backdrop-filter: blur(calc(var(--ms-collapse, 0) * 18px));
    backdrop-filter: blur(calc(var(--ms-collapse, 0) * 18px));
    box-shadow: none !important;
  }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-program-search {
    flex: none !important;
    align-self: stretch !important;
    height: 52px !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 1px solid #ffffff26 !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #ffffff10, #ffffff05), #15171ecc !important;
    box-shadow: inset 0 1px #ffffff1f, 0 8px 22px #0007 !important;
  }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-program-search:focus-within {
    border-color: #ff304b !important;
    box-shadow: inset 0 1px #ffffff1f, 0 0 14px #ff304b45, 0 8px 22px #0007 !important;
  }
  /* The surrounding search pill provides the visible focus indicator. */
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder #programSearchV2:focus {
    outline: none !important;
  }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-program-search svg { position: static !important; flex: 0 0 auto; width: 18px !important; height: 18px !important; color: #d0d1d8; transform: none !important; }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder #programSearchV2 {
    height: 50px !important;
    min-height: 50px !important;
    width: 100%;
    min-width: 0;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff;
    font-size: 16px !important; /* ≥16px prevents iOS zoom on focus */
  }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder #programSearchV2::-webkit-search-cancel-button { -webkit-appearance:none; appearance:none; }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-program-search-clear {
    display:none;
    flex:0 0 34px;
    place-items:center;
    width:34px;
    height:34px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#ffffff14;
    color:#c9cbd3;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-program-search-clear.is-visible,
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-program-search:has(#programSearchV2:not(:placeholder-shown)) .fd-program-search-clear { display:grid; }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-program-search-clear svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-program-search-clear:active { background:#ffffff28; color:#fff; }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder #programSearchV2::placeholder { color: #a2a3ad; }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-division-native {
    display: flex !important;
    flex: 0 0 auto;
    align-items: center;
    max-width: 42%;
    border-left: 1px solid #ffffff26;
    padding-left: 8px;
  }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-division-native label { display: none; }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder #programDivisionV2 {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    max-width: 128px;
    padding: 0 4px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #fff;
    font-size: 16px;
    box-shadow: none;
    color-scheme: dark;
  }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-division-dock {
    display: block !important;
    margin: 0 calc(var(--ms-gutter) * -1) !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-division-buttons-host {
    display: none !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 2px var(--ms-gutter) 4px !important;
    scrollbar-width: none;
    scroll-padding-inline: var(--ms-gutter);
  }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-division-buttons-host::-webkit-scrollbar { display: none; }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-division-dock .division-tab {
    flex: 0 0 auto !important;
    min-width: 50px !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 14px !important;
    border: 1px solid #ffffff1a !important;
    border-radius: 10px !important;
    background: #1a1c23d9 !important;
    color: #e3e4ea !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-shadow: inset 0 1px #ffffff10 !important;
  }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-division-dock .division-tab.active {
    border-color: #ff4d64 !important;
    background: linear-gradient(180deg, #e52440, #a50f25) !important;
    color: #fff !important;
    box-shadow: 0 0 16px #ff1f4466, inset 0 1px #ffffff3d !important;
  }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-division-dock .division-tab::after,
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder .fd-division-dock .division-tab svg { display: none !important; }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder #programConferenceSlotV2 {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
  }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder #programConferenceSlotV2 label,
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder #programResultCountV2 { display: none !important; }
  body:is(.fd-ms-list, .fd-ms-fullmap) #pageLeadFinder#pageLeadFinder #programConferenceV2 {
    height: 40px !important;
    min-height: 40px !important;
    max-width: 180px;
    padding: 0 30px 0 12px !important;
    border: 1px solid #ffffff1a !important;
    border-radius: 10px !important;
    background-color: #1a1c23d9 !important;
    color: #e3e4ea !important;
    font-size: 13px !important;
    font-weight: 600;
  }

  /* Mobile results do not show the Clear filters utility row. */
  body.fd-ms-list[data-app-page="LeadFinder"] #pageLeadFinder#pageLeadFinder .fd-schools-utilities,
  body.fd-ms-fullmap[data-app-page="LeadFinder"] #pageLeadFinder#pageLeadFinder .fd-schools-utilities {
    display: none !important;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-schools-utilities {
    position: relative !important;
    display: flex !important;
    justify-content: flex-start !important;
    gap: 8px;
    margin: 0 !important;
    padding: 0 var(--ms-gutter) 8px !important;
    background: transparent !important;
  }

  /* ── School list ─────────────────────────────────────────────────────── */
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-results-panel,
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-program-discovery-toolbar {
    touch-action: pan-y;
  }

  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-results-panel {
    /* Short search results must not shrink the page enough to reveal the map. */
    min-height: calc(100dvh - 72px);
    position: relative !important;
    inset: auto !important;
    z-index: 2 !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 10px var(--ms-gutter) 8px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    transform: none !important;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-results-head {
    display: flex !important;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-results-head > div,
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-results-head:has([data-ms-clear][hidden]) {
    display: none !important;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-list-action,
  body.fd-ms-list #pageLeadFinder#pageLeadFinder #schoolsPanelToggle { display: none !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-ms-clear:not([hidden]) {
    display: inline-flex !important;
    align-items: center;
    min-height: 28px;
    padding: 0 2px;
    border: 0;
    background: transparent;
    color: #ff6b80;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-card {
    position: relative;
    flex: none !important;
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) auto 34px !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    gap: 12px !important;
    width: auto !important;
    min-height: 82px !important;
    margin: 0 !important;
    padding: 10px 14px 10px 12px !important;
    border: 1px solid #ffffff17 !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #ffffff0b, #ffffff04), #121419cc !important;
    box-shadow: inset 0 1px #ffffff0d !important;
    transition: border-color .18s, box-shadow .18s, background .18s;
    -webkit-tap-highlight-color: transparent;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-card::before,
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-card::after { display: none !important; content: none !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-card.is-outreach-selected {
    border-color: #ff3f59 !important;
    background: linear-gradient(180deg, #ff26450f, #ff264504), #1a1015d9 !important;
    box-shadow: 0 0 0 1px #ff3f5966, 0 0 22px #ff1f4459, inset 0 1px #ff8c9a26 !important;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-logo {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: grid !important;
    place-items: center;
    width: 64px !important;
    height: 56px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-logo > * { width: 52px !important; height: 52px !important; max-width: none !important; max-height: none !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-logo img { width: 52px !important; height: 52px !important; object-fit: contain; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .has-sent-outreach .fd-map-result-logo { border: 1px solid #4ade80 !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-copy {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-copy strong {
    overflow: hidden;
    color: #fff;
    font-size: 15px !important;
    font-weight: 700;
    line-height: 1.25;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-copy > span,
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-copy .fd-ms-card-meta {
    display: block !important;
    overflow: hidden;
    color: #a9aab3 !important;
    font-size: 12.5px !important;
    line-height: 1.3;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-copy > small:not(.fd-ms-card-meta):not(.fd-recommendation-unmapped) { display: none !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-copy .fd-ms-card-meta:empty { display: none !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-my-map-action {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    border-color: transparent !important;
    background: transparent !important;
    color: #8d8e98 !important;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-my-map-action.is-saved { color: #f1f1f4 !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-school-row-selection {
    position: static !important;
    grid-column: 4 !important;
    grid-row: 1 !important;
    display: grid !important;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 2px solid #ffffff4d;
    border-radius: 50%;
    color: transparent !important;
    font-size: 15px !important;
    font-weight: 800;
    opacity: 1 !important;
    transition: background .18s, border-color .18s;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .is-outreach-selected .fd-school-row-selection {
    border-color: #ff3f59;
    background: linear-gradient(180deg, #ff4560, #dd1733);
    color: #fff !important;
    box-shadow: 0 0 14px #ff1f4480;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-card .fd-map-result-fit { display: none !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-empty-state { min-width: 0 !important; }

  /* The viewport-level gold panel is styled by mobile-upgrade.css. Keep
     Message, return navigation, and the final list row clear of its real size. */
  html:not(.fd-keyboard-open) body:is(.fd-ms-list, .fd-ms-fullmap):has(> .fd-ms-upgrade:not([hidden])) {
    --ms-upgrade-space: calc(var(--ms-upgrade-height, 64px) + 10px);
  }

  /* ── Full interactive map: return control ────────────────────────────── */
  body.fd-ms-fullmap[data-app-page="LeadFinder"] .fd-ms-back-list {
    position: fixed;
    left: 14px;
    bottom: calc(var(--fd-mobile-nav-height) + 14px + env(safe-area-inset-bottom, 0px));
    z-index: 12;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    padding: 0 16px 0 12px;
    border: 1px solid #ffffff2b;
    border-radius: 999px;
    background: #14161de6;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 8px 22px #000a;
  }

  /* The nav Message button replaces the floating selection toolbar on Schools. */
  body[data-app-page="LeadFinder"] #outreachSchoolsActions { display: none !important; }
  body[data-app-page="LeadFinder"] .main-content { padding-bottom: var(--fd-mobile-bottom-space) !important; }

  /* ── Liquid Glass bottom navigation: 4 tabs ──────────────────────────── */
  body .mobile-bottom-nav { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  body .mobile-bottom-nav .mobile-nav-item { position: relative; }
  body .mobile-bottom-nav .mobile-nav-item.active::after { display: none !important; }

  /* ── Floating Message button (Schools, ≥1 selected school) ───────────── */
  body[data-app-page="LeadFinder"] { --ms-fab-space: 0px; --ms-upgrade-space: 0px; }
  body.fd-ms-has-message[data-app-page="LeadFinder"] { --ms-fab-space: 66px; }
  body.fd-ms-has-message[data-app-page="LeadFinder"] .fd-ms-message-fab:not([hidden]) {
    position: fixed;
    left: 50%;
    bottom: calc(var(--fd-mobile-nav-height) + 14px + env(safe-area-inset-bottom, 0px) + var(--ms-upgrade-space, 0px));
    z-index: 30;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 148px;
    height: 52px;
    padding: 0 22px;
    border: 1px solid #ff8a9a80;
    border-radius: 999px;
    background: radial-gradient(ellipse at 50% 0, #ff6b7f, transparent 70%), linear-gradient(180deg, #f2263f, #b80f27);
    color: #fff;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    box-shadow: 0 0 26px #ff1f44a6, 0 10px 24px #000b, inset 0 1px #ffffff5c;
    transform: translateX(-50%);
    -webkit-tap-highlight-color: transparent;
    animation: fd-ms-fab-in .2s ease-out;
  }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-ms-message-row:not([hidden]) {
    display: flex;
    justify-content: center;
    padding: 8px 0 6px;
  }
  body.fd-ms-list.fd-ms-has-message[data-app-page="LeadFinder"] .fd-ms-message-row .fd-ms-message-fab:not([hidden]) {
    position: relative;
    left: auto;
    bottom: auto;
    height: 44px;
    transform: none;
    animation: none;
  }
  body .fd-ms-message-row .fd-ms-message-fab:active { transform: scale(.97) !important; }
  .fd-ms-message-fab svg { width: 20px; height: 20px; flex: 0 0 auto; }
  body .fd-ms-message-fab:active { transform: translateX(-50%) scale(.97) !important; }
  body .fd-ms-message-fab:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
  .fd-ms-message-count {
    position: absolute;
    top: -8px;
    right: -4px;
    display: grid;
    place-items: center;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    border: 2px solid #10131b;
    border-radius: 999px;
    background: #ff2240;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    font-style: normal;
    box-shadow: 0 0 10px #ff2240aa;
  }
  @keyframes fd-ms-fab-in { from { opacity: 0; translate: 0 10px; } to { opacity: 1; translate: 0 0; } }
  /* Keep the banner, last card and full-map return control clear of the button. */
  body.fd-ms-list[data-app-page="LeadFinder"] #pageLeadFinder#pageLeadFinder { padding-bottom: calc(var(--fd-mobile-bottom-space) + 12px + var(--ms-fab-space, 0px) + var(--ms-upgrade-space, 0px)) !important; }
  body.fd-ms-fullmap.fd-ms-has-message[data-app-page="LeadFinder"] .fd-ms-back-list { bottom: calc(var(--fd-mobile-nav-height) + 80px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 359px) {
  body.fd-ms-list #pageLeadFinder#pageLeadFinder { --ms-gutter: 12px; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-card { grid-template-columns: 52px minmax(0, 1fr) auto 30px !important; gap: 9px !important; padding: 9px 10px !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-logo { width: 52px !important; height: 48px !important; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-ms-upgrade-crown { display: none; }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  body.fd-ms-list #pageLeadFinder#pageLeadFinder [data-program-panel="map"] .network-stage { transform: none; clip-path: none; }
  body.fd-ms-list #pageLeadFinder#pageLeadFinder .fd-map-result-card,
  body .fd-ms-message-fab { animation: none !important; }
}

/* Full-map mobile controls stay within the visible screen. */
@media (max-width:767px) {
  /* The fixed toolbar and map must not be clipped to the shell's padded
     content box. Carry the same backdrop all the way behind the bottom nav. */
  body.fd-ms-fullmap[data-app-page="LeadFinder"] .main-content { padding:0 !important; }
  body.fd-ms-fullmap[data-app-page="LeadFinder"] #pageLeadFinder#pageLeadFinder {
    width:100% !important;
    height:100dvh !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
  }
  body.fd-ms-fullmap #pageLeadFinder { --ms-gutter:16px; }
  body.fd-ms-fullmap #pageLeadFinder#pageLeadFinder .fd-program-discovery-toolbar {
    position:fixed; top:calc(env(safe-area-inset-top, 0px) + 32px); left:var(--ms-gutter); right:var(--ms-gutter);
    z-index:20; display:flex; flex-direction:column; gap:0;
    width:auto; min-width:0; margin:0; padding:0; border:0; background:transparent; box-shadow:none;
  }
  body.fd-ms-fullmap #pageLeadFinder#pageLeadFinder .fd-map-results-head,
  body.fd-ms-fullmap:not(.fd-ms-map-search) #pageLeadFinder#pageLeadFinder .fd-map-results-panel { display:none !important; }
  body.fd-ms-fullmap.fd-ms-map-search #pageLeadFinder#pageLeadFinder .fd-map-results-panel {
    position:relative !important; inset:auto !important; display:block !important;
    width:100%; height:auto; min-height:0; max-height:none; margin:0; padding:8px 0 0;
    border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none;
  }
  body.fd-ms-fullmap #pageLeadFinder#pageLeadFinder .fd-map-result-list {
    display:flex !important; flex-direction:column; gap:6px; max-height:min(130px, 24svh);
    height:auto; padding:0; overflow-y:auto; overscroll-behavior:contain; touch-action:pan-y;
  }
  body.fd-ms-fullmap #pageLeadFinder#pageLeadFinder .fd-map-result-card {
    display:grid !important; grid-template-columns:32px minmax(0,1fr) 24px;
    align-items:center; gap:8px; flex:none; min-height:52px; height:auto;
    margin:0; padding:7px 10px; border:1px solid #ffffff26; border-radius:12px; background:#15171ef2;
  }
  body.fd-ms-fullmap #pageLeadFinder#pageLeadFinder .fd-map-result-logo { grid-column:1; grid-row:1; width:32px; height:32px; }
  body.fd-ms-fullmap #pageLeadFinder#pageLeadFinder .fd-map-result-copy { grid-column:2; grid-row:1; min-width:0; }
  body.fd-ms-fullmap #pageLeadFinder#pageLeadFinder .fd-map-result-copy strong { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  body.fd-ms-fullmap #pageLeadFinder#pageLeadFinder .fd-map-result-copy > span { display:block; font-size:10px; }
  body.fd-ms-fullmap #pageLeadFinder#pageLeadFinder .fd-map-result-copy > small,
  body.fd-ms-fullmap #pageLeadFinder#pageLeadFinder .fd-map-result-card .fd-my-map-action,
  body.fd-ms-fullmap #pageLeadFinder#pageLeadFinder .fd-map-result-fit { display:none !important; }
  body.fd-ms-fullmap #pageLeadFinder#pageLeadFinder .fd-school-row-selection { position:static; grid-column:3; grid-row:1; }
  body.fd-ms-fullmap[data-app-page="LeadFinder"] .fd-ms-back-list {
    z-index:140; max-width:calc(100vw - 28px);
    bottom:max(calc(var(--fd-mobile-nav-height) + 18px + env(safe-area-inset-bottom, 0px)), calc(var(--fd-keyboard-inset, 0px) + 12px));
  }
  body.fd-ms-fullmap.fd-ms-has-message[data-app-page="LeadFinder"] .fd-ms-back-list {
    bottom:max(calc(var(--fd-mobile-nav-height) + 82px + env(safe-area-inset-bottom, 0px)), calc(var(--fd-keyboard-inset, 0px) + 76px));
  }
  body.fd-ms-fullmap.fd-ms-has-message .fd-ms-message-fab:not([hidden]) {
    z-index:140;
    bottom:max(calc(var(--fd-mobile-nav-height) + 14px + env(safe-area-inset-bottom, 0px) + var(--ms-upgrade-space, 0px)), calc(var(--fd-keyboard-inset, 0px) + 12px), var(--ms-message-bottom, 0px));
    transition:bottom .2s ease-out;
  }
  body.fd-ms-fullmap:has(#mapSchoolTooltip[data-kind="school"]:not(.hidden)) .fd-ms-back-list {
    bottom:max(calc(var(--fd-mobile-nav-height) + 18px + env(safe-area-inset-bottom, 0px)), calc(var(--fd-keyboard-inset, 0px) + 12px));
  }
  body.fd-ms-fullmap > #mapSchoolTooltip[data-kind="school"] {
    bottom:max(calc(var(--fd-mobile-nav-height) + 76px + env(safe-area-inset-bottom, 0px) + var(--ms-upgrade-space, 0px)), calc(var(--fd-keyboard-inset, 0px) + 64px)) !important;
    max-height:min(160px, 25svh);
  }
  body.fd-ms-fullmap[data-app-page="LeadFinder"] .fd-ms-back-list,
  body.fd-ms-fullmap.fd-ms-has-message[data-app-page="LeadFinder"] .fd-ms-back-list {
    bottom:max(calc(var(--fd-mobile-nav-height) + 18px + env(safe-area-inset-bottom, 0px) + var(--ms-upgrade-space, 0px) + var(--ms-fab-space, 0px)), calc(var(--fd-keyboard-inset, 0px) + 12px + var(--ms-fab-space, 0px)));
  }
  body.fd-ms-fullmap:has(#mapSchoolTooltip[data-kind="school"]:not(.hidden)) .fd-ms-back-list {
    bottom:max(calc(var(--fd-mobile-nav-height) + 18px + env(safe-area-inset-bottom, 0px) + var(--ms-upgrade-space, 0px)), calc(var(--fd-keyboard-inset, 0px) + 12px));
  }
}
@media (max-width:767px) and (prefers-reduced-motion:reduce) {
  body.fd-ms-fullmap .fd-ms-message-fab { transition:none !important; }
}

@media (max-width:359px) {
  body.fd-ms-fullmap #pageLeadFinder { --ms-gutter:12px; }
}

@media (max-width: 767px) {
  body.fd-ms-list #mapSchoolTooltip { display: none !important; }
}
