/* The public Find a provider page (find-a-provider-page.js into find-a-provider.html), the B "Brand Bold" look.
   The hero, header, footer, cards (.bs-tool), fields (.bs-field) and buttons (.bs-btn, .bs-pill) are brand-site.css's;
   this file lays out the search, the map and the provider cards. Tokens only (tokens.css), both themes; every rule that
   sets a colour sets its background too (scripts/check-color-pairs.mjs). */
html[data-experience=brand] .fp-layout{position:relative;display:flex;flex-direction:column;gap:24px;max-width:1248px;margin:-72px auto 0;padding:0 24px 80px}
html[data-experience=brand] .fp-search-head,html[data-experience=brand] .fp-results-head{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
html[data-experience=brand] .bs-site .fp-search h2,html[data-experience=brand] .bs-site .fp-results h2{background:transparent;color:var(--b-ink);font:800 30px/36px var(--b-display);letter-spacing:-.02em}
html[data-experience=brand] .bs-site :is(.fp-search-head,.fp-results-head) p{max-width:72ch;background:transparent;color:var(--b-ink-2);font-size:17px;line-height:27px}
html[data-experience=brand] .fp-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
html[data-experience=brand] .fp-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:20px}
html[data-experience=brand] .bs-site .fp-clear{display:inline-flex;align-items:center;min-height:44px;background:transparent;color:var(--b-link);font-weight:700;text-underline-offset:3px}
html[data-experience=brand] .bs-site .fp-confirm{display:flex;align-items:flex-start;gap:12px;margin-top:24px;padding:16px 18px;border:1px solid var(--b-info-edge);border-radius:var(--b-r-card-sm);background:var(--b-info-bg);color:var(--b-info-ink);font-size:16px;line-height:25px}
html[data-experience=brand] .bs-site .fp-confirm strong{background:transparent;color:var(--b-info-ink)}
html[data-experience=brand] .fp-confirm .bs-i{flex:none;margin-top:2px}

/* The map: only verified pins, drawn by find-a-provider.js with Leaflet. */
html[data-experience=brand] .fp-map-wrap{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
html[data-experience=brand] .bs-site .fp-map{height:380px;border:1px solid var(--b-line);border-radius:var(--b-r-card-sm);background:var(--b-sunken);color:var(--b-ink);overflow:clip;z-index:0}
html[data-experience=brand] .bs-site .fp-map-note{background:transparent;color:var(--b-muted);font-size:14px;line-height:22px}
/* Leaflet's own controls and popups (leaflet.css paints them for a light page), in the page's palette in both themes. */
html[data-experience=brand] .bs-site .fp-map .leaflet-control-attribution{background:var(--b-surface);color:var(--b-ink-2)}
html[data-experience=brand] .bs-site .fp-map .leaflet-control-attribution a{background:transparent;color:var(--b-link)}
html[data-experience=brand] .bs-site .fp-map :is(.leaflet-popup-content-wrapper,.leaflet-popup-tip){background:var(--b-surface);color:var(--b-ink)}
html[data-experience=brand] .bs-site .fp-map .leaflet-bar a{border-color:var(--b-line);background:var(--b-surface);color:var(--b-ink)}
html[data-experience=brand] .bs-site .fp-map .leaflet-bar a:hover{background:var(--b-sunken);color:var(--b-ink)}

/* The provider cards. */
html[data-experience=brand] .fp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:0;padding:0;list-style:none}
html[data-experience=brand] .bs-site .fp-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:20px;border:1px solid var(--b-line);border-radius:var(--b-r-card-sm);background:var(--b-surface);color:var(--b-ink)}
html[data-experience=brand] .bs-site .fp-card.is-own{border:2px solid var(--b-good-edge);background:var(--b-good-bg);color:var(--b-ink)}
html[data-experience=brand] .fp-card-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
html[data-experience=brand] .bs-site .fp-kind{background:transparent;color:var(--b-ink-2);font-size:14px;font-weight:600;line-height:20px}
html[data-experience=brand] .bs-site .fp-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid var(--b-good-edge);border-radius:var(--b-r-pill);background:var(--b-surface);color:var(--b-good-ink);font-size:13px;font-weight:700;line-height:18px}
html[data-experience=brand] .bs-site .fp-card h3{overflow-wrap:anywhere;background:transparent;color:var(--b-ink);font:800 20px/26px var(--b-display);letter-spacing:-.01em}
html[data-experience=brand] .bs-site .fp-address{overflow-wrap:anywhere;background:transparent;color:var(--b-ink-2);font-size:15px;line-height:23px}
html[data-experience=brand] .bs-site :is(.fp-address.fp-muted,.fp-accepts.is-unknown,.fp-pin){background:transparent;color:var(--b-muted);font-size:14px;line-height:21px}
html[data-experience=brand] .bs-site .fp-accepts{background:transparent;color:var(--b-ink);font-size:15px;font-weight:600;line-height:23px}
html[data-experience=brand] .bs-site .fp-card.is-own :is(.fp-kind,.fp-address,.fp-pin){background:transparent;color:var(--b-ink-2)}
html[data-experience=brand] .fp-pin{display:flex;align-items:center;gap:6px}
html[data-experience=brand] .fp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px}
html[data-experience=brand] .bs-site :is(.fp-call,.fp-directions){display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--b-r-pill);font-size:15px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}
html[data-experience=brand] .bs-site .fp-call{border:1.5px solid var(--b-brand);background:var(--b-brand);color:var(--b-on-brand)}
html[data-experience=brand] .bs-site .fp-call:hover{border-color:var(--b-brand-hover);background:var(--b-brand-hover);color:var(--b-on-brand)}
html[data-experience=brand] .bs-site .fp-directions{border:1.5px solid var(--b-line-strong);background:var(--b-surface);color:var(--b-ink)}
html[data-experience=brand] .bs-site .fp-directions:hover{border-color:var(--b-brand);background:var(--b-surface);color:var(--b-brand)}
html[data-experience=brand] .bs-site .fp-empty{padding:24px;border-radius:var(--b-r-card-sm);background:var(--b-sunken);color:var(--b-ink-2);font-size:16px;line-height:25px}

/* Pages, the members' call to action and the source line. */
html[data-experience=brand] .fp-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 20px;margin-top:24px}
html[data-experience=brand] .bs-site .fp-pager span{background:transparent;color:var(--b-ink-2);font-weight:600}
html[data-experience=brand] .bs-site .fp-pager a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1.5px solid var(--b-line-strong);border-radius:var(--b-r-pill);background:var(--b-surface);color:var(--b-ink);font-weight:700;text-decoration:none}
html[data-experience=brand] .bs-site .fp-pager a:hover{border-color:var(--b-brand);background:var(--b-surface);color:var(--b-brand)}
html[data-experience=brand] .bs-site .fp-cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 32px;padding:32px 40px;border-radius:var(--b-r-card);background:var(--b-navy);color:var(--b-on-navy)}
html[data-experience=brand][data-theme=dark] .bs-site .fp-cta{box-shadow:inset 0 0 0 1px var(--b-line)}
html[data-experience=brand] .bs-site .fp-cta p{max-width:56ch;background:transparent;color:var(--b-on-navy-2);font-size:18px;line-height:28px}
html[data-experience=brand] .bs-site .fp-cta strong{background:transparent;color:var(--b-on-navy)}
html[data-experience=brand] .bs-site .fp-cta :focus-visible{outline-color:var(--b-lime)}
html[data-experience=brand] .fp-cta-actions{display:flex;flex-wrap:wrap;gap:12px}
html[data-experience=brand] .bs-site .fp-source{background:transparent;color:var(--b-muted);font-size:14px;line-height:22px}
html[data-experience=brand][data-theme=dark] .bs-site :is(.fp-search,.fp-results){border-color:var(--b-line)}

@media (max-width:900px){
 html[data-experience=brand] .fp-fields{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
 html[data-experience=brand] .fp-layout{margin-top:-80px;padding:0 8px 56px;gap:16px}
 html[data-experience=brand] .bs-site :is(.fp-search,.fp-results){padding:28px 16px}
 html[data-experience=brand] .bs-site .fp-search h2,html[data-experience=brand] .bs-site .fp-results h2{font-size:24px;line-height:30px}
 html[data-experience=brand] .fp-form .bs-btn{width:100%}
 html[data-experience=brand] .bs-site .fp-map{height:300px}
 html[data-experience=brand] .bs-site .fp-map .leaflet-bar a{width:44px;height:44px;line-height:44px}
 html[data-experience=brand] .fp-list{grid-template-columns:minmax(0,1fr)}
 html[data-experience=brand] .bs-site .fp-cta{padding:24px 20px}
 html[data-experience=brand] .fp-cta-actions{width:100%;flex-direction:column}
 html[data-experience=brand] .fp-cta-actions :is(.bs-btn,.bs-pill){width:100%;justify-content:center;white-space:normal;text-align:center}
}
@media print{
 html[data-experience] .fp-form,html[data-experience] .fp-map-wrap,html[data-experience] .fp-cta,html[data-experience] .fp-pager{display:none}
}
