/* 5.1: shared search state and focused responsive fixes; no site-wide theme reset. */
body>header .swb-nav-provider{display:inline-flex;align-items:center;min-height:44px;padding:9px 13px;border:1px solid #c9c29d;border-radius:10px;color:#252525;background:#fbf8ef;white-space:normal}
.swb-results-component{min-width:0;max-width:100%;scroll-margin-top:20px}
.swb-results-component .provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.swb-results-component .provider-card{min-width:0;max-width:100%;display:flex;flex-direction:column;overflow-wrap:anywhere}
.swb-results-component .directory-card-heading,.swb-results-component .directory-card-heading>div{min-width:0}
.swb-results-component .provider-card h3{font-size:21px;line-height:1.35}
.swb-results-component .directory-treatments,.swb-results-component .directory-quicklinks,.swb-results-component .directory-socials{display:flex;flex-wrap:wrap;gap:8px 12px}
.swb-results-component .swb-card-actions{margin-top:auto;flex-wrap:wrap}
.swb-result-summary{font-size:15px;line-height:1.6;color:#252525;margin:18px 0;min-height:24px}
.swb-search-validation,.swb-filter-failure{padding:14px 16px;border-left:3px solid #85794f;border-radius:6px;background:#fbf8ef;color:#252525;line-height:1.6}
.swb-results-component [hidden],[data-home-nearby][hidden],[data-home-location-remove][hidden],.menu-toggle[hidden]{display:none!important}
.swb-results-component[aria-busy=true] [data-swb-result-grid]{opacity:.72}
.swb-live-search .swb-search-secondary{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}
.swb-live-search input,.swb-live-search select,.swb-live-search button{box-sizing:border-box;max-width:100%;min-width:0;font-size:16px;min-height:48px}
.swb-live-search input[type=checkbox]{width:20px;min-width:20px;min-height:20px;height:20px}
.swb-search-actions a{min-height:44px;display:inline-flex;align-items:center}
.swb-results-component :is(a,button,input,select,summary):focus-visible{outline:3px solid #246359;outline-offset:3px}
#home-location-status:empty{display:none}
#home-location-status{font-size:14px;line-height:1.6;margin:12px 0}
@media(max-width:1100px){.swb-results-component .provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.swb-search-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.swb-live-search .swb-search-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){body>header .swb-nav-provider{display:flex}body>header .site-nav{flex-basis:100%}}
@media(max-width:699px){.swb-results-component .provider-grid,.swb-search-primary,.regional-results .swb-search-primary,.swb-live-search .swb-search-secondary{grid-template-columns:minmax(0,1fr)}.swb-live-search{padding:16px}.swb-results-component .provider-card{padding:18px 16px}.swb-results-component .provider-card h3{font-size:20px}.swb-card-actions{gap:8px}.swb-result-summary{font-size:14px}}
@media(prefers-reduced-motion:reduce){.swb-results-component *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Resolve older !important design rules without breaking the no-JavaScript navigation. */
@media(max-width:980px){
 html[data-swb-design] body>header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 20px}
 html[data-swb-design] body>header .brand{flex:0 1 auto;max-width:calc(100% - 96px);margin:0}
 html[data-swb-design] body>header.menu-ready .menu-toggle:not([hidden]){display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-width:78px;min-height:48px;padding:10px 12px;position:static}
 html[data-swb-design] body>header.menu-ready .site-nav{display:none!important}
 html[data-swb-design] body>header.menu-ready .site-nav.is-open{display:flex!important}
 html[data-swb-design] body>header .site-nav{flex:1 1 100%;flex-direction:column;align-items:stretch;gap:4px;margin:8px 0 0;padding:8px 0 0;border-top:1px solid #ddd9ce}
 html[data-swb-design] body>header .site-nav a{display:flex;justify-content:flex-start;font-size:15px;min-height:48px;padding:10px 12px;width:100%;box-sizing:border-box}
 html[data-swb-design] body>header .site-nav a.swb-nav-provider{border:1px solid #c9c29d;border-radius:10px;background:#fbf8ef}
}
@media(max-width:699px){html[data-swb-design] .page-head+.section.directory{padding-top:24px;margin-top:0}html[data-swb-design] .page-head:has(+.section.directory){padding-bottom:12px}}

/* Keep useful content in view; page-specific rhythm instead of another global theme override. */
html[data-swb-design] .page-head:has(+.section.directory){padding-bottom:24px}
html[data-swb-design] .page-head+.section.directory{padding-top:24px}
@media(max-width:699px){
 html[data-swb-design] main.swb-money-page{padding-left:20px;padding-right:20px;box-sizing:border-box;max-width:100%}
 html[data-swb-design] .page-head:has(+.section.directory){padding-bottom:12px}
}

/* 5.2.1 IP hint controls: no reserved empty status height, no hidden-button conflicts. */
.swb-ip-controls{display:flex;flex-wrap:wrap;gap:.45rem .85rem;align-items:center;font-size:.9rem;margin:.6rem 0}
.swb-ip-controls p{flex-basis:100%;margin:.25rem 0;overflow-wrap:anywhere}
.swb-ip-controls p:empty{display:none}.swb-ip-controls [hidden]{display:none!important}
.swb-ip-controls button{font:inherit;cursor:pointer;min-height:44px}
