/* sb-home-a — concept A "search first": compact hero backed by the real directory numbers, provenance on every
   row, site banner moved under the header, rail order/labels. Loads after split.css / split-v2.css. */
:root{--sb3-src:#3E4C62;--sb3-src-bg:#F1F4F9;--sb3-stat-bg:#FFFFFF;--sb3-line:#E3E9F2}
:root[data-theme="dark"]{--sb3-src:#A9BDDA;--sb3-src-bg:#152238;--sb3-stat-bg:#0F1A2C;--sb3-line:#1F2E47}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--sb3-src:#A9BDDA;--sb3-src-bg:#152238;--sb3-stat-bg:#0F1A2C;--sb3-line:#1F2E47}}

/* 1. site banner: a slim strip inside the content column, never a band above the header */
html body.sb-split #siteBanner22{position:relative!important;top:auto!important;left:auto!important;right:auto!important;width:auto!important;margin:8px 0 0!important;padding:7px 12px!important;border-radius:10px!important;font-size:13px!important;line-height:1.35;display:flex;align-items:center;gap:10px;background:var(--sb-rail-bg)!important;color:#fff!important}
html body.sb-split #siteBanner22 span{flex:1}
html body.sb-split #siteBanner22 button{position:static!important;flex:none;width:26px!important;height:26px!important;margin:0!important;border:0;border-radius:8px;background:rgba(255,255,255,.12)!important;color:#fff!important;font-size:16px;line-height:1;cursor:pointer}
html body.sb-split.sb-results #siteBanner22:not(.warn){display:none!important}

/* 2. hero: our own heading + trust strip; the app's hero title/lede step aside */
html body.sb-split #view-find .hero #heroTitle,html body.sb-split #view-find .hero #heroLede{display:none!important}
.sb3-hero{margin:14px 0 4px}
.sb3-hero h1{font-size:clamp(24px,2.1vw,32px);line-height:1.12;letter-spacing:-.02em;margin:0 0 6px;max-width:30ch}
.sb3-hero p{font-size:15px;color:var(--muted);margin:0 0 12px;max-width:68ch;line-height:1.45}
.sb3-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(220px,1.6fr);gap:10px;margin:12px 0 4px}
.sb3-stat{background:var(--sb3-stat-bg);border:1px solid var(--sb3-line);border-radius:14px;padding:12px 14px;min-width:0}
.sb3-stat b{display:block;font-size:22px;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sb3-stat span{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
.sb3-how{background:var(--sb3-stat-bg);border:1px solid var(--sb3-line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0}
.sb3-how span{font-size:13px;line-height:1.4}
.sb3-how a{font-size:13px;font-weight:700;color:var(--sb-acc);text-decoration:none}
.sb3-how a:hover{text-decoration:underline}
html body.sb-split .stats,html body.sb-split #stats{display:none!important}
html body.sb-split.sb-results .sb3-hero{display:none!important}
@media (max-width:1100px){.sb3-trust{grid-template-columns:repeat(2,minmax(0,1fr))}.sb3-how{grid-column:1/-1}}
@media (max-width:760px){.sb3-hero{margin-top:10px}.sb3-hero h1{font-size:22px}.sb3-hero p{font-size:14px}.sb3-stat b{font-size:19px}}

/* 3. provenance on every row */
.sb3-src{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--sb3-src-bg);color:var(--sb3-src);line-height:1.2;margin:4px 0 2px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.sb3-src i{font-style:normal;font-weight:500;opacity:.85}
.open-directory-card .sb3-src{display:inline-flex;margin:0 0 6px}
.directory-table td.dt-checked .sb3-src{display:block;margin:0 0 4px;white-space:normal}
html body.sb-split .open-directory-card .individual-gp-notice{display:none!important}

/* 4. rail: a "More" menu for the rarely-used links; Admin lives there too */
.sb-rail .sb3-more{position:relative;width:100%}
.sb-rail .sb3-more>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;min-height:58px;padding:8px 4px;border:0;border-radius:14px;background:transparent;color:var(--sb-rail-fg);font:inherit;font-size:11px;font-weight:600;cursor:pointer}
.sb-rail .sb3-more>button:hover,.sb-rail .sb3-more>button[aria-expanded="true"]{background:var(--sb-rail-hi);color:var(--sb-rail-on)}
.sb-rail .sb3-more>button svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round}
.sb3-menu{position:absolute;left:calc(100% + 8px);bottom:0;min-width:200px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:6px;z-index:60;display:flex;flex-direction:column}
.sb3-menu[hidden]{display:none}
.sb3-menu a,.sb3-menu button{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;width:100%;min-height:0!important;padding:9px 10px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:var(--ink)!important;font:inherit;font-size:13.5px!important;font-weight:600!important;text-align:left;text-decoration:none;cursor:pointer}
.sb3-menu a:hover,.sb3-menu button:hover{background:var(--wattle-bg,rgba(29,78,216,.08))!important;color:var(--sb-acc)!important}
.sb3-menu svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;flex:none}
.sb3-menu .sb-rail-label{font-size:inherit!important;white-space:nowrap}
.sb3-menu .badge{margin-left:auto}
@media (max-width:760px){.sb3-menu{display:none!important}}

/* 5. footer: same closing line everywhere */
.sb3-foot{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font-size:12.5px;color:var(--muted);padding:10px 0 0;margin-top:8px;border-top:1px solid var(--line)}
.sb3-foot a,.sb3-foot button{background:none;border:0;padding:0;font:inherit;color:var(--muted);text-decoration:none;cursor:pointer}
.sb3-foot a:hover,.sb3-foot button:hover{color:var(--sb-acc);text-decoration:underline}
.sb3-foot .sb3-copy{margin-right:auto}

/* 6. quieter notes inside cards */
html body.sb-split .open-directory-card .directory-access-note{font-size:13px!important;color:var(--muted)!important;line-height:1.4!important;margin:4px 0!important}

/* 7. phones: nothing may widen the layout viewport (it shifted every fixed panel — filters drawer, symptom sheet —
   off to the right), and no ancestor may trap a fixed panel (contain:layout on #openDirectory did) */
@media (max-width:760px){
  html{overflow-x:hidden!important}
  html body.sb-split #openDirectory{contain:none!important}
  html body.sb-split .sb-fdrawer{left:0!important;right:0!important;width:auto!important;max-width:100vw}
  html body.sb-split .modal{left:0!important;right:0!important;width:auto!important;max-width:none!important;transform:translate(0,16px)!important}
  html body.sb-split .directory-table-scroll{overflow-x:auto;max-width:100%}
  html body.sb-split .sb-frow{min-width:0}
  html body.sb-split .sb-frow .sb-fsearch{flex:1 1 auto;width:auto}
  html body.sb-split section#view-find>.wrap{overflow-x:clip}
}

/* 8. sb3-landing: concept A headline + trust strip on top of find-a's landing tiles (its own heading, blurb and trust line step aside) */
html body.sb-split.sb-landing #view-find .sb-land .sb3-hero{display:block!important;width:100%;margin:0;text-align:left}
html body.sb-split.sb-landing .sb-land{align-items:stretch;text-align:left;padding-top:28px}
html body.sb-split.sb-landing .sb-land>h1,html body.sb-split.sb-landing .sb-land>.sb-land-sub,html body.sb-split.sb-landing .sb-land>.sb-land-trust{display:none!important}
html body.sb-split.sb-landing .sb-land .sb3-hero h1{max-width:none}
@media (max-width:760px){html body.sb-split.sb-landing .sb-land{padding:14px 14px 24px;gap:12px}html body.sb-split.sb-landing .sb-land .sb3-hero h1{font-size:23px}html body.sb-split.sb-landing .sb-land .sb3-trust{grid-template-columns:1fr 1fr;gap:8px}html body.sb-split.sb-landing .sb-land .sb3-how{grid-column:1/-1}html body.sb-split.sb-landing .sb-tiles{gap:8px}html body.sb-split.sb-landing .sb-tile{padding:12px;min-height:0}}

/* 9. sb3-landing-results: concept A keeps the results and the map under the landing (find-a hid them), and the stray
   phone-only "List" button never renders on desktop */
.sb-maplist{display:none}
html body.sb-split.sb-landing section#view-find{grid-template-columns:minmax(440px,min(46%,760px)) minmax(0,1fr)}
@media (min-width:761px){html body.sb-split.sb-landing section#view-find>.sb-map{display:block!important}}
html body.sb-split.sb-landing #view-find .results{display:block!important}
html body.sb-split.sb-landing section#view-find>.wrap{padding:4px 22px 48px 24px!important}
html body.sb-split.sb-landing .sb-land{max-width:none;padding:20px 0 6px;gap:14px}
html body.sb-split.sb-landing .sb-land .sb-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
html body.sb-split.sb-landing #view-find .results{margin-top:18px}
@media (max-width:1100px){html body.sb-split.sb-landing .sb-land .sb-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){html body.sb-split.sb-landing section#view-find{display:block}html body.sb-split.sb-landing .sb-mapfab{display:inline-flex!important}html body.sb-split.sb-landing.sb-mapopen .sb-mapfab{display:none!important}html body.sb-split.sb-landing section#view-find>.wrap{padding:4px 14px 90px!important}html body.sb-split.sb-landing .sb-land{padding:14px 0 6px}}
/* sb3-trust-narrow: beside the map the column is ~700px, so the strip is 3 numbers + the note on its own line */
@media (min-width:761px) and (max-width:1600px){html body.sb-split.sb-landing .sb3-trust{grid-template-columns:repeat(3,minmax(0,1fr))}html body.sb-split.sb-landing .sb3-how{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:14px}}
