/* Townhub directory layout, layered over the existing map behaviour styles. */
:root{--mb-font:Roboto,sans-serif;--mb-font-display:Raleway,sans-serif;--mb-ink:var(--mb-brand-ink);--mb-night:#333333;--mb-paper:#fff;--mb-paper-alt:var(--mb-brand-section);--mb-page:var(--mb-brand-section);--mb-muted:var(--mb-brand-muted);--mb-line:var(--mb-brand-border);--mb-line-strong:#cccccc;--mb-orange:#cc0000;--mb-accent:#b30000;--mb-blue:#b30000;--mb-green:#218778;--mb-on-dark:#fff;--mb-on-orange:#fff;--mb-white:#fff;--mb-amber:#d99b31;--mb-orange-tint:#fff1f1;--mb-primary-border:var(--mb-brand-border);--mb-search-band-bg:#fff;--mb-button-orange:#cc0000;--mb-button-orange-hover:#a30000;--mb-radius-sm:4px;--mb-radius-md:5px;--mb-radius-lg:6px;--mb-radius-pill:4px;--mb-fs-caption:11px;--mb-fs-small:12px;--mb-fs-body:13px;--mb-fs-h4:17px;--mb-fs-display:26px;--mb-space-7:35px;--mb-shadow-float:0 4px 16px #00000010;--mb-map-land:#f7f8fa;--mb-map-label:#39465b;--mb-map-road:#fff;--mb-map-arterial:#e1e6ed;--mb-map-highway:#bdc9d8;--mb-map-boundary:#d3dbe5;--mb-map-water:#d8eefa;background:var(--mb-brand-section)}
.townhub-search *{box-sizing:border-box}.townhub-search .content{background:var(--mb-brand-section)}.townhub-search .mb-in{width:100%;max-width:none;margin:0 auto;padding-left:30px;padding-right:30px}.townhub-search .visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.th-search-breadcrumb{display:flex;gap:12px;align-items:center;text-align:left;padding:0 30px 20px;color:var(--mb-brand-muted);font-size:14px}.th-search-breadcrumb a{color:#b30000}.townhub-search .mb-sband{padding:24px 0 22px;background:#fff;border-bottom:1px solid var(--mb-brand-border)}.townhub-search .mb-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.6fr) 140px;gap:0;padding:0;background:#fff;border:1px solid var(--mb-brand-border);border-radius:5px;align-items:stretch;max-width:1050px}.townhub-search .mb-search__field{padding:13px 20px!important;display:block;border-right:1px solid var(--mb-brand-border)!important}.townhub-search .mb-search__field label{display:block;position:static;color:var(--mb-brand-muted);font-size:14px;font-weight:600;margin-bottom:6px;text-align:left}.townhub-search .mb-search__control{display:flex;gap:10px;align-items:center}.townhub-search .mb-search__control svg{width:20px;height:20px;color:#cc0000;flex-shrink:0}.townhub-search .mb-search input,.townhub-search .mb-search select{width:100%;min-width:0;border:0;color:var(--mb-brand-ink);font-size:16px;background:#fff;font-family:inherit;height:28px;padding:0}.townhub-search .btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;padding:12px 20px;cursor:pointer;line-height:1.5;font-family:inherit;min-height:42px;border-radius:4px;background:#cc0000;color:#fff;font-weight:600}.townhub-search .btn:hover{background:#a30000;color:#fff}.townhub-search .btn:disabled{opacity:.5;cursor:wait}.townhub-search .mb-search__submit{margin:10px;min-width:0}.townhub-search .mb-search__submit svg{height:18px;width:18px}.townhub-search .mb-shead{padding:30px 0 25px;text-align:left;align-items:center}.townhub-search .mb-shead h1{font-family:Raleway,sans-serif;font-size:25px;font-weight:800;line-height:1.4;color:var(--mb-brand-ink)}.townhub-search .mb-shead__sub{font-size:14px;line-height:1.7;margin-top:8px}.townhub-search .mb-sort{display:flex;align-items:center;gap:12px;flex-shrink:0}.townhub-search .mb-sort label{font-size:14px;color:var(--mb-brand-muted)}.townhub-search .mb-sort select{padding:11px 32px 11px 12px;border:1px solid var(--mb-brand-border);border-radius:4px;background:#fff;color:var(--mb-brand-ink);font-size:14px;font-family:inherit;height:42px}.townhub-search .th-kicker{margin-bottom:10px;font-size:12px;color:var(--mb-brand-primary)}.townhub-search .mb-sgrid{display:grid;grid-template-columns:minmax(320px,2fr) minmax(0,3fr);gap:20px 28px;align-items:start;padding-bottom:35px}.townhub-search .mb-filters{grid-column:1;grid-row:1;min-width:0;background:#fff;border:1px solid var(--mb-brand-border);border-radius:5px;text-align:left;position:static;padding:0}.townhub-search .mb-results{grid-column:1;grid-row:2;min-width:0;padding:0;background:transparent;overflow:visible;container-type:normal}.townhub-search .mb-filters__box{padding:0}.townhub-search .mb-filters__toggle{list-style:none;display:flex;align-items:center;gap:10px;padding:18px 20px;cursor:pointer;font-size:14px;font-weight:600;color:var(--mb-brand-ink)}.townhub-search .mb-filters__toggle::-webkit-details-marker{display:none}.townhub-search .mb-filters__toggle::after{content:'+';margin-left:auto;font-size:20px;color:#b30000}.townhub-search details[open] .mb-filters__toggle::after{content:'−'}.townhub-search .mb-filters__toggle>i{color:#cc0000}.townhub-search .mb-filters__n{background:#fff1f1;color:#b30000;padding:3px 7px;border-radius:3px}.townhub-search #mb-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:20px;border-top:1px solid var(--mb-brand-border)}.townhub-search .mb-fgroup{padding:0;border:0;margin:0;min-width:0}.townhub-search .mb-fgroup legend{font-size:14px;font-weight:700;color:var(--mb-brand-ink);margin-bottom:15px}.townhub-search .mb-check{display:flex;gap:8px;align-items:start;font-size:14px;color:var(--mb-brand-muted);margin:0 0 12px;cursor:pointer;line-height:1.6}.townhub-search .mb-check input{margin-top:3px;flex-shrink:0;accent-color:#cc0000;width:15px;height:15px}.townhub-search .mb-check__n{margin-left:auto;font-size:12px;color:var(--mb-brand-muted);background:var(--mb-brand-section);padding:1px 6px;border-radius:3px}.townhub-search .mb-rpills{display:flex;gap:8px;flex-wrap:wrap}.townhub-search .mb-rpill{position:relative;cursor:pointer}.townhub-search .mb-rpill input{position:absolute;opacity:0;width:1px;height:1px}.townhub-search .mb-rpill span{display:block;font-size:14px;color:var(--mb-brand-muted);padding:9px 10px;background:var(--mb-brand-section);border:1px solid var(--mb-brand-border);border-radius:3px}.townhub-search .mb-rpill input:checked+span{background:#fff1f1;border-color:#cc0000;color:#b30000}.townhub-search .mb-rpill input:focus-visible+span{outline:3px solid #cc0000;outline-offset:3px}.townhub-search .mb-switch{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px;color:var(--mb-brand-muted);font-size:14px;cursor:pointer}.townhub-search .mb-switch input{accent-color:#cc0000;width:17px;height:17px}.townhub-search .mb-filters__foot{grid-column:1/-1;display:flex;gap:20px;align-items:center;border-top:1px solid var(--mb-brand-border);padding-top:18px}.townhub-search .mb-more{color:#b30000;font-size:14px}.townhub-search .mb-achips{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 18px;list-style:none}.townhub-search .mb-achip{display:flex;gap:12px;background:#fff;color:#b30000;padding:9px 12px;border:1px solid #f0cccc;border-radius:4px;font-size:14px}.townhub-search .mb-achip:hover{border-color:#cc0000}.townhub-search #sidebar-list{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.townhub-search .mb-rcard.th-result-card{float:none;width:100%;display:flex;flex-direction:column;gap:0;padding:0;background:#fff;border:1px solid var(--mb-brand-border);border-radius:6px;overflow:hidden;text-align:left;min-width:0;container-type:normal}.townhub-search .mb-rcard.th-result-card.is-featured{border-color:#e7aaaa}.townhub-search .mb-rcard.th-result-card.is-hovered,.townhub-search .mb-rcard.th-result-card:focus-within{border-color:#cc0000;box-shadow:none}.townhub-search .mb-rcard.th-result-card .mb-rcard__media{width:100%;height:185px;display:block;position:relative;margin:0;padding:0;pointer-events:auto}.townhub-search .mb-rcard.th-result-card .geodir-category-img-wrap{display:block;height:100%;width:100%}.townhub-search .mb-rcard.th-result-card .mb-rcard__media img{width:100%;height:100%;object-fit:cover;border-radius:0;display:block}.townhub-search .mb-rcard.th-result-card .mb-rcard__media .mb-tile{display:flex;align-items:center;justify-content:center;background:var(--mb-brand-section);color:#a34b4b;width:100%;height:100%;font-size:48px;border-radius:0}.townhub-search .th-result-card .mb-pin{position:absolute;left:14px;bottom:14px;z-index:2;background:var(--mb-brand-ink);border:2px solid #fff;width:30px;height:30px;font-size:14px;pointer-events:none}.townhub-search .th-result-card .th-featured{left:14px;top:14px;z-index:2;color:#b30000;font-size:12px}.townhub-search .mb-rcard.th-result-card .mb-save{position:absolute;right:12px;top:12px;z-index:3;margin:0}.townhub-search .mb-rcard.th-result-card .mb-save__icon{width:34px;height:34px;background:#fff;color:var(--mb-brand-muted);border:1px solid #fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.townhub-search .mb-save__icon[aria-pressed=true]{color:#b30000!important;background:#fff1f1!important}.townhub-search .mb-save__icon:hover{color:#b30000!important}.townhub-search .mb-save__icon:disabled{opacity:.5;cursor:wait}.townhub-search .th-result-card .mb-rcard__body{width:100%;display:block;padding:20px 18px 15px;pointer-events:auto;flex:1}.townhub-search .th-result-card .mb-rcard__name{margin:0 0 8px;font-size:18px;font-weight:700;line-height:1.5;display:block;float:none;overflow-wrap:anywhere}.townhub-search .th-result-card .mb-verified{margin-left:5px;font-size:14px}.townhub-search .th-result-card .mb-rcard__cat{display:block;margin:0 0 10px;font-size:14px}.townhub-search .th-result-card .mb-rcard__category{padding:0;background:none;color:#b30000;font-size:14px;font-weight:400;display:inline}.townhub-search .th-result-card .mb-rcard__addr{font-size:14px;line-height:1.7;color:var(--mb-brand-muted);margin:0 0 13px!important;min-height:36px}.townhub-search .th-result-card .mb-rcard__addr i{color:#cc0000;margin-right:5px}.townhub-search .th-result-card .mb-rcard__meta{margin:0!important;gap:10px;display:flex;align-items:center;flex-wrap:wrap;line-height:1.6;font-size:14px}.townhub-search .mb-rating{display:inline-flex;gap:5px;align-items:center;font-size:14px;color:var(--mb-brand-ink)}.townhub-search .mb-rating__stars{color:#d99b31}.townhub-search .mb-rating__count,.townhub-search .mb-rating--none{color:var(--mb-brand-muted)}.townhub-search .th-result-card .mb-rcard__actions{display:flex;gap:10px;margin:0;padding:15px 18px;border-top:1px solid var(--mb-brand-border);grid-column:auto;pointer-events:auto}.townhub-search .th-result-card .mb-rcard__actions .btn{padding:9px 12px;font-size:14px;min-height:36px;flex:1;min-width:0}.townhub-search .th-result-card .mb-btn-line{background:#fff8f8;color:#b30000;border:1px solid #f0dada}.townhub-search .th-result-card .mb-btn-line:hover{background:#fff1f1;border-color:#cc0000}.townhub-search .mb-mapcol{grid-column:2;grid-row:1/span 2;display:block;position:sticky;top:100px;min-width:0}.townhub-search .mb-mapbox{border:1px solid var(--mb-brand-border);border-radius:6px;background:#fff;overflow:hidden}.th-map-heading{display:flex;align-items:center;gap:8px;color:var(--mb-brand-ink);background:#fff;font-size:14px;font-weight:600;padding:18px;text-align:left}.th-map-heading>i{color:#cc0000}.th-map-heading>span{margin-left:auto;color:var(--mb-brand-muted);font-size:12px;font-weight:400}.townhub-search #map-container{width:100%;height:calc(100vh - 215px);min-height:420px;max-height:800px;background:var(--mb-brand-section);display:block;border:0}.townhub-search .mb-mapfoot{padding:12px 15px;color:var(--mb-brand-muted);font-size:14px;text-align:left;background:#fff}.townhub-search .mb-mapfoot:empty{display:none}.townhub-search #map-container.map-search-page-fallback{display:flex;align-items:center;justify-content:center;color:var(--mb-brand-muted)}.townhub-search #map-container.map-search-page-fallback>div{display:flex;flex-direction:column;gap:12px;align-items:center;padding:30px;text-align:center;font-size:14px;line-height:1.7}.townhub-search #map-container.map-search-page-fallback .small{font-size:14px}.townhub-search .mb-resfoot{padding:20px 0;gap:18px;font-size:14px;flex-direction:column;align-items:start}.townhub-search .mb-pager__btn{border-radius:4px;width:36px;min-width:36px;height:36px;font-size:14px}.townhub-search .mb-pager__btn.is-current{background:#cc0000;border-color:#cc0000;color:#fff}.townhub-search .mb-empty,.townhub-search #sidebar-list>.d-flex,.townhub-search #sidebar-list>.m-4{grid-column:1/-1;text-align:center;padding:50px 25px;background:#fff;border:1px solid var(--mb-brand-border);border-radius:6px;width:100%}.townhub-search .mb-empty h2{font-size:20px;line-height:1.5;margin-bottom:12px;color:var(--mb-brand-ink)}.townhub-search .mb-empty p{font-size:14px;color:var(--mb-brand-muted);line-height:1.8}.townhub-search .mb-empty a{color:#b30000}.townhub-search .spinner-border{width:28px;height:28px;border:3px solid var(--mb-brand-border);border-top-color:#cc0000;border-radius:50%;animation:th-search-spin .8s linear infinite;margin:0 auto}.townhub-search .htmx-request .mb-filters__apply{opacity:.5}.townhub-search .text-danger{color:#a73232;margin-bottom:16px}.townhub-search #map-search-area-btn{font-family:inherit}.townhub-search .mb-results{border:0}.townhub-search .mb-filters__apply{width:auto}.townhub-search .main-footer{margin-top:0}.townhub-search .th-footer-grid,.townhub-search .th-footer-bottom{max-width:1200px}
@keyframes th-search-spin{to{transform:rotate(360deg)}}
@media(min-width:1700px){.townhub-search .mb-sgrid{grid-template-columns:minmax(320px,2fr) minmax(0,3fr)}.townhub-search #sidebar-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1100px){.townhub-search .mb-sgrid{grid-template-columns:minmax(320px,2fr) minmax(0,3fr);gap:18px}.townhub-search #sidebar-list{grid-template-columns:1fr}.townhub-search .mb-in{padding-left:20px;padding-right:20px}.townhub-search .th-search-breadcrumb{padding-left:20px}.townhub-search .mb-mapcol{top:100px}}

@media(max-width:820px){.townhub-search .mb-sgrid{grid-template-columns:1fr}.townhub-search .mb-mapcol{display:none}.townhub-search #sidebar-list{grid-template-columns:minmax(0,1fr)}.townhub-search .mb-shead{padding:25px 0}.townhub-search .mb-shead h1{font-size:23px}.townhub-search .mb-search{grid-template-columns:minmax(0,1fr) minmax(180px,.6fr) 110px}}
@media(max-width:580px){.townhub-search .mb-in{padding-left:15px;padding-right:15px}.townhub-search .th-search-breadcrumb{padding:0 15px 18px}.townhub-search .mb-sband{padding-top:20px}.townhub-search .mb-search{grid-template-columns:1fr}.townhub-search .mb-search__field{border-right:0!important;border-bottom:1px solid var(--mb-brand-border)!important;padding:12px 16px!important}.townhub-search .mb-search__submit{height:44px;margin:10px}.townhub-search .mb-shead{align-items:start;gap:20px;flex-direction:column}.townhub-search .mb-sort{width:100%;justify-content:space-between}.townhub-search .mb-sort select{flex:1;max-width:220px}.townhub-search #sidebar-list{grid-template-columns:1fr}.townhub-search #mb-filters{grid-template-columns:1fr;gap:25px}.townhub-search .mb-filters__foot{flex-wrap:wrap}.townhub-search .mb-rcard.th-result-card .mb-rcard__media{height:200px}.townhub-search .th-result-card .mb-rcard__name{font-size:18px}.townhub-search .mb-shead h1{font-size:24px}.townhub-search .mb-shead__sub{font-size:14px}.townhub-search .mb-pager{gap:5px}.townhub-search .mb-pager__btn{min-width:32px;width:32px;height:36px}.townhub-search .mb-resfoot{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){.townhub-search .spinner-border{animation:none}}
.townhub-search .mb-save__icon i.fa-solid{font-family:'Font Awesome 5 Pro';font-weight:900}.townhub-search .mb-save__icon i.fa-regular{font-family:'Font Awesome 5 Pro';font-weight:400}.townhub-search .th-result-card .btn i{position:static;width:auto;height:auto;margin:0;border-radius:0;line-height:1;box-shadow:none}.townhub-search .th-result-card .mb-rcard__media .geodir-category-img-wrap::before,.townhub-search .th-result-card .geodir-category-content::before{display:none}
.townhub-search .th-result-card .mb-rcard__actions{width:100%;flex-shrink:0}.townhub-search .th-result-card .mb-rcard__actions .btn{white-space:nowrap}.townhub-search .th-result-card .mb-rcard__actions .btn i{font-size:14px}.townhub-search .th-result-card .mb-rcard__actions .btn:hover i{box-shadow:none}
.townhub-search .d-none{display:none!important}.townhub-search i.fa-solid{font-family:'Font Awesome 5 Pro';font-weight:900}.townhub-search i.fa-regular{font-family:'Font Awesome 5 Pro';font-weight:400}
body.townhub-search{background:var(--mb-brand-section)}.townhub-search .mb-filters__toggle::before{display:none}.townhub-search .mb-switch input{width:38px;height:22px;border-radius:12px}.townhub-search .mb-switch input::after{width:16px;height:16px;top:3px;left:3px}.townhub-search .mb-switch input:checked::after{transform:translateX(16px)}.townhub-search .mb-switch input:focus-visible{outline:3px solid #cc0000;outline-offset:3px}.townhub-search .th-result-card .mb-rcard__cat{min-height:16px}
/* Compatibility with icons emitted by the existing map popup renderer. */
.townhub-search .fa-xmark::before{content:'\f00d'}.townhub-search .fa-circle-check::before{content:'\f058'}.townhub-search .fa-location-dot::before{content:'\f3c5'}.townhub-search .fa-diamond-turn-right::before{content:'\f5eb'}

/* Readable search controls and supporting text across desktop and mobile. */
.townhub-search .mb-search__submit{font-size:14px}.townhub-search .mb-shead__sub,.townhub-search .mb-rcard__meta .mb-muted{color:var(--mb-brand-muted)}.townhub-search .th-result-card .mb-rcard__actions .btn{min-height:44px}

/* Keep discovery, sorting and filters together in the left sidebar. */
.townhub-search .th-search-sidebar{min-width:0}
.townhub-search .th-search-sidebar .mb-shead{display:flex;flex-direction:column;align-items:stretch;gap:18px}
.townhub-search .th-search-sidebar .mb-sort{flex-wrap:wrap}
.townhub-search .th-search-sidebar .mb-sort select{flex:1;min-width:0}
.townhub-search .th-search-sidebar #mb-filters{grid-template-columns:minmax(0,1fr)}
.townhub-search .mb-sgrid .mb-results{grid-row:1}
.townhub-search .mb-sgrid .mb-mapcol{grid-row:1}
@media(max-width:767px){.townhub-search .th-search-sidebar .mb-shead{padding-bottom:20px}.townhub-search .th-search-sidebar{margin-bottom:0}}
/* Compact search rows; business imagery stays in the map popup. */
.townhub-search .mb-rcard.th-result-card{padding:16px;gap:10px}
.townhub-search .th-result-card .mb-rcard__toolbar{display:flex;align-items:center;gap:10px;min-height:34px}
.townhub-search .th-result-card .mb-pin{position:static;margin:0;flex-shrink:0}
.townhub-search .th-result-card .th-featured{position:static;margin:0;font-size:12px}
.townhub-search .th-result-card .mb-rcard__toolbar .mb-save{position:static;margin:0 0 0 auto}
.townhub-search .th-result-card .mb-rcard__body{padding:0}
.townhub-search .th-result-card .mb-rcard__name{margin-bottom:6px}
.townhub-search .th-result-card .mb-rcard__cat{margin-bottom:6px}
.townhub-search .th-result-card .mb-rcard__addr{min-height:0;margin-bottom:8px!important}
.townhub-search .th-result-card .mb-rcard__actions{margin:0;padding:10px 0 0}
.townhub-search .th-result-card .mb-rcard__toolbar{width:100%}.townhub-search .th-result-card .mb-rcard__toolbar .mb-save{width:auto;float:none;flex-shrink:0}

/* Emphasize the business name within each compact result. */
.townhub-search .th-result-card .mb-rcard__name{font-size:22px;font-weight:800;line-height:1.35}
.townhub-search .th-result-card .mb-rcard__name a{color:var(--mb-brand-ink)}
.townhub-search .th-result-card .mb-rcard__name a:hover{color:var(--mb-brand-ink)}
.townhub-search .th-result-card .mb-owned{margin:0 0 8px;font-size:14px;font-weight:700;color:#17614b}
/* XL: compact results leave more room to explore business locations. */
@media (min-width: 1200px) {
    .townhub-search .mb-sgrid { grid-template-columns: minmax(300px, 360px) minmax(0, 1fr); gap: 24px; }
    .townhub-search #sidebar-list { gap: 12px; }
    .townhub-search .mb-rcard.th-result-card { padding: 14px; gap: 8px; }
    .townhub-search .th-result-card .mb-rcard__name { font-size: 19px; }
    .townhub-search .th-result-card .mb-rcard__addr { font-size: 13px; line-height: 1.5; }
    .townhub-search .th-result-card .mb-rcard__actions { padding-top: 8px; }
}
.townhub-search { --mb-map-land: #f2f4f0; --mb-map-label: #43536a; --mb-map-arterial: #ffffff; --mb-map-highway: #f4d49b; --mb-map-water: #b8ddef; }
.townhub-search .mb-mapbox { border-color: var(--mb-brand-border); border-radius: 8px; }
.townhub-search .th-map-heading { border-bottom: 1px solid var(--mb-brand-border); }
.townhub-search .mb-mapfoot { background: var(--mb-brand-section); }
/* Match the Call icon to its button label in every interaction state. */
.townhub-search .th-result-card .mb-rcard__actions .btn i { color: inherit; }
/* A compact, consistently aligned search toolbar. */
.townhub-search .mb-sband .mb-search { align-items: center; }
.townhub-search .mb-sband .mb-search__field { padding: 12px 20px !important; }
.townhub-search .mb-sband .mb-search__field label { margin-bottom: 4px; }
.townhub-search .mb-sband .mb-search__control { height: 36px; padding: 0; border: 0; background: transparent; }
.townhub-search .mb-sband .mb-search__control svg { color: #b30000; }
.townhub-search .mb-sband .mb-search__submit.btn { align-self: center; height: 48px; min-height: 48px; margin: 12px 10px; border-radius: 4px !important; }
.townhub-search .mb-sband .mb-search__submit.btn svg { color: inherit; }
.townhub-search .mb-sband .mb-search__submit:focus-visible { outline: 3px solid #b30000; outline-offset: 3px; }
/* Search-page introduction and toolbar share one compact, full-width header. */
.townhub-search .mb-sband { padding: 16px 0; background: var(--mb-brand-section); }
.townhub-search .mb-sband .th-search-breadcrumb { padding: 0; margin: 0 0 10px; gap: 10px; font-size: 12px; line-height: 16px; }
.townhub-search .th-search-intro { text-align: left; margin-bottom: 12px; }
.townhub-search .th-search-intro h1 { margin: 0 0 2px; color: var(--mb-brand-ink); font-family: var(--mb-font-display); font-size: 30px; font-weight: 800; line-height: 1.2; letter-spacing: -.03em; }
.townhub-search .th-search-intro p { margin: 0; color: var(--mb-brand-muted); font-size: 15px; line-height: 1.4; }
.townhub-search .mb-sband .mb-search { width: 100%; max-width: none; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 190px; }
.townhub-search .mb-sband .mb-search__field { padding: 6px 20px !important; }
.townhub-search .mb-sband .mb-search__field label { margin: 0 0 2px; font-size: 12px; line-height: 16px; color: var(--mb-brand-ink); }
.townhub-search .mb-sband .mb-search__control { gap: 10px; height: 28px; }
.townhub-search .mb-sband .ww-field input { flex: 1; width: 0 !important; height: 28px !important; padding: 0 !important; font-size: 14px !important; line-height: 28px !important; }
.townhub-search .mb-sband .mb-search__control > svg { color: var(--mb-brand-ink); width: 18px; height: 18px; }
.townhub-search .mb-sband .mb-search__submit.btn { width: auto; margin: 6px 10px; min-height: 44px; height: 44px; }
.townhub-search .ww-clear-location { display: none; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; border: 0; padding: 0; border-radius: 4px; background: transparent; color: var(--mb-brand-muted); cursor: pointer; }
.townhub-search [data-ww-ready="true"] .ww-clear-location { display: inline-flex; }
.townhub-search .mb-sband .mb-search__control .ww-clear-location svg { width: 16px; height: 16px; color: inherit; }
.townhub-search .ww-clear-location:hover { background: var(--mb-brand-section); color: var(--mb-brand-ink); }
.townhub-search .th-search-sidebar .mb-shead { padding: 16px 0; gap: 12px; }
.townhub-search .mb-shead h2 { margin: 0; font-family: var(--mb-font-display); color: var(--mb-brand-ink); font-size: 22px; font-weight: 800; line-height: 1.35; }
.townhub-search .mb-shead__sub { margin-top: 6px; }
@media (max-width: 820px) {
    .townhub-search .mb-sband .mb-search { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 130px; }
}
@media (max-width: 580px) {
    .townhub-search .mb-sband { padding: 16px 0; }
    .townhub-search .mb-sband .mb-search { grid-template-columns: minmax(0, 1fr); }
    .townhub-search .th-search-intro h1 { font-size: 26px; }
    .townhub-search .mb-sband .ww-field input { font-size: 16px !important; }
    .townhub-search .ww-clear-location { flex-basis: 44px; width: 44px; height: 44px; }
    .townhub-search .mb-sband .mb-search__field { padding: 10px 16px !important; }
    .townhub-search .mb-sband .mb-search__submit.btn { margin: 10px; }
}
.townhub-search #search-status{max-width:1500px;margin:auto;padding:8px 15px;font-size:14px;overflow-wrap:anywhere}
.townhub-search #search-status:empty{display:none}
.townhub-search .mb-mobile-map-toggle{display:none}
.townhub-search :where(a,button,input,select,summary):focus-visible{outline:3px solid var(--mb-focus-color,#b91c1c);outline-offset:3px}
@media(max-width:820px){.townhub-search .mb-mobile-map-toggle{display:inline-flex;margin:10px 15px;min-height:44px}.townhub-search .mb-mapcol.is-mobile-open{display:block;position:static;grid-column:1;grid-row:1}.townhub-search .mb-sgrid.has-mobile-map .mb-results{grid-row:2}.townhub-search .mb-mapcol.is-mobile-open .mb-mapbox{height:auto;min-height:0;max-height:none}.townhub-search .mb-mapcol.is-mobile-open #map-container{height:320px;min-height:320px;max-height:320px;flex:none}.townhub-search .mb-mapcol.is-mobile-open{grid-row:1}}
@media(max-width:580px){.townhub-search .mb-pager{flex-wrap:wrap}.townhub-search .mb-pager__btn{min-width:44px;width:44px;min-height:44px}.townhub-search .mb-check,.townhub-search .mb-switch{min-height:44px}.townhub-search .mb-rcard__name{overflow-wrap:anywhere}}

/* Fit the map and its toolbar to the visible screen; the canvas takes all remaining space. */
.townhub-search .content { overflow: visible; }
.townhub-search .mb-mapbox {
    height: var(--mb-map-available-height, calc(100vh - 116px));
    height: var(--mb-map-available-height, calc(100dvh - 116px));
    min-height: 240px;
    max-height: none;
}
.townhub-search #map-container {
    flex: 1 1 0;
    height: auto;
    min-height: 0;
    max-height: none;
}
.townhub-search .th-map-heading {
    flex: 0 0 auto;
    min-height: 60px;
    padding: 8px 15px;
    flex-wrap: wrap;
}
.townhub-search .th-map-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
    min-height: 44px;
}
.townhub-search .th-map-actions > span {
    color: var(--mb-brand-muted);
    font-size: 12px;
    font-weight: 400;
}
.townhub-search .th-map-actions:has(#search-this-area-btn:not(.d-none)) > span { display: none; }
.townhub-search .th-map-actions .mb-linkbtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 14px;
    background: var(--mb-brand-red, #cc0000);
    color: #fff;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}
.townhub-search .th-map-actions .mb-linkbtn:hover { background: #a80000; }
.townhub-search .th-map-actions .mb-linkbtn:disabled { opacity: .6; cursor: progress; }
.townhub-search .th-map-actions .spinner-border { width: 16px; height: 16px; border-color: #ffffff70; border-top-color: #fff; }
.townhub-search .mb-mapfoot { flex: 0 0 auto; }
@media (max-width: 820px) {
    .townhub-search .mb-mapcol.is-mobile-open .mb-mapbox {
        height: var(--mb-map-available-height, calc(100dvh - 116px));
        min-height: 240px;
    }
    .townhub-search .mb-mapcol.is-mobile-open #map-container {
        flex: 1 1 0;
        height: auto;
        min-height: 0;
        max-height: none;
    }
}
