.prosupply-map-page{background:#f4f7f9;color:#111}.map-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:12px 20px}.map-page-heading h1{font-size:clamp(28px,3.2vw,39px);line-height:1.15;margin:8px 0 12px;color:#1d3248}.map-page-heading p{font-size:14px;color:#111;margin:0}.map-page-heading .eyebrow{font-size:10px;margin-top:2px}.map-page-heading>.button{font-size:12px;min-height:44px;flex:none}
.map-search-section{padding-bottom:17px;scroll-margin-top:110px}.map-filters{border:1px solid #c0d2df;border-radius:12px;background:white;padding:17px}.map-search-line{display:flex;align-items:end;gap:13px}.map-search-line>label{flex:1;min-width:0;font-size:13px;font-weight:700;color:#111}.map-search-line input{display:block;box-sizing:border-box;width:100%;margin-top:7px;font:inherit;font-size:16px;font-weight:400;min-height:46px;padding:10px 13px;border:1px solid #9fb7c9;border-radius:7px;background:#fff;color:#111}.map-search-line .button{min-height:46px;font-size:14px}.map-advanced{border-top:1px solid #d1dce4;margin-top:13px}.map-advanced>summary{cursor:pointer;min-height:40px;align-content:center;font-size:13px;font-weight:650;color:#1d3248;line-height:1.6}.map-advanced>summary>span{font-size:11px;font-weight:400;margin-left:8px;color:#111}.map-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:12px 0}.map-filter-grid label{font-size:12px;color:#111;min-width:0;line-height:1.5}.map-filter-grid select{display:block;margin-top:6px;width:100%;min-height:44px;border:1px solid #9fb7c9;border-radius:7px;padding:9px;font-size:14px;background:white;color:#111}.map-filter-help{font-size:12px;line-height:1.6;color:#111;margin:8px 0 13px}.map-filter-bottom{display:flex;justify-content:space-between;gap:14px;align-items:center}.map-include{display:flex;align-items:center;gap:9px;font-size:12px;color:#111;line-height:1.6;min-height:36px}.map-include input{width:18px;height:18px;accent-color:#24536e;flex:none}.map-filter-bottom>a{display:flex;align-items:center;min-height:40px;font-size:12px;color:#244e68}.map-status-line{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:14px}.map-status-line p{margin:0;font-size:13px;font-weight:650;color:#1d3248}.map-missing-link{font:inherit;font-size:12px;min-height:40px;background:white;border:1px solid #bfceda;border-radius:7px;padding:8px 12px;color:#244e68;cursor:pointer}.map-area-status{font-size:12px;line-height:1.6;color:#111;background:#edf3f6;padding:12px;border:1px solid #c2d3df;border-radius:8px}.map-area-status button{font:inherit;min-height:36px;border:0;color:#244e68;background:transparent;text-decoration:underline;cursor:pointer}.map-mobile-views{display:none}
.supplier-map-layout{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(0,1.45fr);gap:22px;align-items:start}.map-results{min-width:0}.map-and-tour{min-width:0}.map-stage{position:sticky;top:100px;border:1px solid #afc7d6;border-radius:13px;overflow:hidden;background:#e6edf1;min-width:0;isolation:isolate}#supplier-map{height:min(66vh,620px);min-height:420px;width:100%;z-index:0;font-family:inherit}.map-placeholder{padding:24px;color:#111;font-size:14px;line-height:1.7}.map-stage-actions{position:absolute;left:56px;right:12px;top:12px;z-index:500;display:flex;gap:8px;justify-content:center;pointer-events:none}.map-stage-actions button{pointer-events:auto;border:1px solid #7896aa;border-radius:7px;background:white;color:#1d3248;font:inherit;font-size:12px;font-weight:700;min-height:42px;padding:9px 13px;box-shadow:0 3px 12px #18374c26;cursor:pointer}.map-position-note{font-size:12px;color:#111;line-height:1.7;margin:10px 0 18px}.map-tile-message{font-size:13px;line-height:1.6;padding:13px;background:#fff2e8;border:1px solid #d9bba7;border-radius:8px;color:#111}
.map-result{background:white;border:1px solid #c4d4df;border-radius:11px;padding:18px;margin:0 0 13px;min-width:0}.map-result.is-selected{border-color:#a64b27;box-shadow:inset 0 0 0 1px #a64b27}.map-result h2,.map-result h3{font-size:20px;line-height:1.35;margin:5px 0 11px;color:#1d3248;overflow-wrap:anywhere}.map-result h2 a,.map-result h3 a{color:#1d3248;text-decoration:none}.map-result-role{font-size:11px;color:#111;line-height:1.5;margin:0}.map-offer-label{font-size:11px;margin:10px 0 6px;color:#111;font-weight:650}.map-product-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0;list-style:none}.map-product-tags li{font-size:12px;background:#edf3f6;border-radius:5px;padding:5px 8px;color:#111;line-height:1.5}.map-result-activity,.map-result-address{font-size:12px;line-height:1.65;color:#111;margin:8px 0 12px;overflow-wrap:anywhere}.map-result-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.map-result-actions .button{font-size:12px;min-height:44px;padding:10px 12px;border-radius:7px;line-height:1.4;white-space:normal;text-align:center;justify-content:center}.map-profile-link{font-size:12px;min-height:40px;display:inline-flex;align-items:center;color:#244e68}.map-unlocated-label{font-size:11px;color:#111;min-height:36px;display:flex;align-items:center}.map-point-source{border-top:1px solid #cbd8e1;margin-top:13px;padding-top:7px;color:#111;font-size:11px;line-height:1.65}.map-point-source summary{min-height:36px;align-content:center;cursor:pointer;font-weight:650}.map-point-source p{font-size:11px;line-height:1.65;margin:8px 0}.map-more{width:100%;min-height:46px}.map-empty{padding:20px;background:white;border:1px solid #c2d4e0;border-radius:10px;font-size:14px;line-height:1.7;color:#111}.map-selected>.map-result{border-color:#a64b27}.map-method{padding-block:24px 35px}.map-method>details{border:1px solid #c2d4df;background:white;border-radius:10px;padding:16px 20px}.map-method summary{min-height:40px;align-content:center;cursor:pointer;font-size:14px;font-weight:650;color:#1d3248}.map-method p{font-size:13px;line-height:1.75;color:#111}
.supplier-map-pin{background:#234c68;border:2px solid white;border-radius:50% 50% 50% 6px;box-shadow:0 2px 6px #17364b60;display:grid;place-content:center;color:white;font-size:27px}.supplier-map-pin.is-selected{background:#a64b27;outline:3px solid #f0c8b6}.supplier-map-cluster{border-radius:50%;background:#234c68;color:white;display:flex;align-items:center;justify-content:center;border:4px solid #d9e7ef;font-size:14px;font-weight:750;box-shadow:0 2px 6px #17364b40}.leaflet-container{color:#111;background:#e4edf0}.leaflet-container a{color:#24536e}.leaflet-control-zoom a{width:42px!important;height:42px!important;line-height:42px!important;color:#1d3248!important}.leaflet-container .leaflet-control-attribution{font-size:10px;line-height:1.6;padding:4px 7px;background:#fffffff2;color:#111}.leaflet-control-attribution a{color:#174360}.leaflet-popup-content{margin:13px 15px;max-width:calc(100vw - 80px)}.map-popup-card{padding:0;border:0;margin:0;box-shadow:none;font-family:inherit}.map-popup-card h3{font-size:18px}.map-popup-card .map-product-tags li{font-size:11px}.map-popup-card .map-result-actions{gap:7px}.map-popup-card .map-result-actions .button{font-size:11px;padding:9px;min-height:42px}.leaflet-container a.leaflet-popup-close-button{width:32px;height:32px;font-size:22px;line-height:32px;color:#1d3248}.leaflet-marker-icon:focus-visible{outline:3px solid #a64b27;outline-offset:4px}
.map-tour{border:1px solid #bcd0de;border-radius:12px;background:white;padding:20px;margin-top:18px;scroll-margin-top:110px}.map-tour-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.map-tour-heading .eyebrow{font-size:9px;margin:0 0 7px;color:#111}.map-tour-heading h2{font-size:23px;margin:0;color:#1d3248}.map-tour-heading>span{display:grid;place-content:center;width:35px;height:35px;background:#edf3f6;border-radius:50%;font-size:15px;color:#1d3248}.map-tour>p{font-size:12px;color:#111;line-height:1.7;margin:13px 0}.map-tour ol{padding-left:22px;font-size:13px;color:#1d3248;margin:13px 0}.map-tour li{padding:10px 0;border-bottom:1px solid #d0dce5}.map-tour li>a{font-size:13px;color:#1d3248;font-weight:650;line-height:1.6}.map-tour-row-actions{display:flex;gap:7px;margin-top:8px}.map-tour-row-actions button{min-width:38px;min-height:38px;font:inherit;font-size:12px;border:1px solid #c0d2df;background:#f5f8fa;border-radius:6px;color:#1d3248;cursor:pointer;padding:7px 10px}.map-tour-row-actions button:disabled{opacity:.4;cursor:default}.map-tour>.button{min-height:46px;font-size:13px;white-space:normal;text-align:center;justify-content:center;width:100%;box-sizing:border-box}.map-tour-feedback{font-weight:650}.map-filter-help{margin-bottom:10px}.prosupply-map-page [hidden]{display:none!important}.prosupply-map-page :is(button,input,select,a,summary):focus-visible{outline:3px solid #397ba7;outline-offset:3px}.prosupply-map-page.has-selection{padding-bottom:150px}
@media(max-width:1000px){.map-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-map-layout{grid-template-columns:minmax(270px,1fr) minmax(0,1.2fr);gap:16px}.map-result{padding:15px}.map-page-heading{align-items:start}.map-page-heading>.button{font-size:11px}.map-stage-actions{left:52px;gap:6px}.map-stage-actions button{font-size:11px;padding:8px}}
@media(max-width:780px){.map-page-heading{display:block;padding-top:6px}.map-page-heading>.button{margin-top:12px;min-height:40px}.map-page-heading h1{font-size:29px;margin:7px 0 10px}.map-page-heading p{font-size:13px}.map-filters{padding:14px}.map-search-line{gap:9px}.map-search-line>label{font-size:12px}.map-search-line input{font-size:16px;padding:9px;min-height:46px}.map-search-line>.button{font-size:12px;padding:11px 13px;min-height:46px}.map-advanced>summary{font-size:12px;min-height:44px}.map-advanced>summary>span{display:none}.map-filter-grid{gap:10px}.map-filter-grid select{font-size:14px;min-height:44px}.map-filter-bottom{align-items:start;gap:8px}.map-include{font-size:11px}.map-filter-bottom>a{font-size:11px;min-height:40px}.map-status-line{display:block;padding-top:12px}.map-status-line p{font-size:12px;line-height:1.6}.map-missing-link{font-size:11px;margin-top:8px;min-height:38px}.map-mobile-views{display:flex;gap:7px;margin-top:12px}.map-mobile-views button{flex:1;min-height:44px;border:1px solid #b5cbd9;background:white;border-radius:7px;color:#1d3248;font:inherit;font-size:12px;font-weight:650;padding:8px}.map-mobile-views button[aria-pressed=true]{background:#234c68;border-color:#234c68;color:white}.map-mobile-views span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#eaf1f5;color:#1d3248;margin-left:4px}.supplier-map-layout{display:block}.map-stage{position:relative;top:0;border-radius:10px}#supplier-map{height:390px;min-height:320px}.map-position-note{font-size:11px}.map-result h2{font-size:20px}.map-result-actions .button{font-size:12px}.map-tour{padding:18px}.map-method{padding-top:18px}.map-method>details{padding:14px}.map-method summary{font-size:13px}.map-stage-actions{left:57px;right:8px;top:10px}.map-stage-actions button{font-size:10px;min-height:42px}.supplier-map-layout[data-view=map]>.map-results,.supplier-map-layout[data-view=tour]>.map-results{display:none}.supplier-map-layout[data-view=list]>.map-and-tour{display:none}.supplier-map-layout[data-view=tour] .map-stage,.supplier-map-layout[data-view=tour] .map-position-note,.supplier-map-layout[data-view=tour] .map-selected,.supplier-map-layout[data-view=tour] .map-tile-message{display:none}.supplier-map-layout[data-view=tour] .map-tour{margin-top:0}.map-popup-card .map-result-actions .button{min-height:44px}.map-popup-card .map-product-tags{gap:4px}.map-popup-card .map-product-tags li{padding:4px 6px}.leaflet-control-attribution{max-width:100%;box-sizing:border-box}}
@media(max-width:360px){.map-filter-grid{grid-template-columns:1fr}.map-search-line{display:block}.map-search-line>.button{width:100%;margin-top:9px}.map-page-heading h1{font-size:27px}.map-mobile-views{gap:5px}.map-mobile-views button{font-size:11px;padding:7px}.map-tour>.button{font-size:12px}#supplier-map{height:365px}.leaflet-popup-content{max-width:225px!important;margin:12px}.map-popup-card .map-result-actions .button{width:100%}}
/* Keep map controls outside the tiles and retain a compact, scrollable desktop list. */
.prosupply-map-page .breadcrumb{padding-block:14px;margin-block:0}.map-page-heading{padding-block:6px 15px}.map-page-heading h1{font-size:32px;margin:6px 0 8px}.map-filters{padding:13px 16px}.map-advanced{margin-top:9px}.map-search-section{padding-bottom:13px}.map-status-line{padding-top:9px}.map-stage-actions{position:static;min-height:48px;padding:7px 10px;background:#f7fafb;border-top:1px solid #c3d2dc;box-sizing:border-box;justify-content:flex-end}.map-stage-actions button{box-shadow:none;min-height:40px}.map-quick-popup h3{font-size:17px;line-height:1.4;margin:9px 20px 8px 0;color:#1d3248}.map-quick-popup h3 a{color:inherit;text-decoration:none}.map-quick-popup>p{font-size:12px;line-height:1.6;margin:8px 0 12px;color:#111}.map-quick-popup .map-result-actions{gap:7px}.leaflet-container a.leaflet-popup-close-button{width:40px;height:40px;line-height:40px}.map-tour-row-actions button{min-height:44px;min-width:44px}
@media(min-width:781px){.map-results{max-height:calc(min(66vh,620px) + 62px);overflow:auto;overscroll-behavior:contain;padding-right:7px;scrollbar-gutter:stable}}
@media(max-width:780px){.map-page-heading h1{font-size:28px}.map-page-heading>.button{margin-top:9px;min-height:36px}.map-filters{padding:12px}.map-page-heading{padding-bottom:12px}.map-stage-actions{padding:6px 8px;min-height:48px}.map-stage-actions button{min-height:40px;font-size:11px}.map-results{overflow:visible;max-height:none;padding-right:0}.map-quick-popup .map-result-actions .button{min-height:44px}.map-quick-popup .map-profile-link{min-height:44px}}
.map-stage{scroll-margin-top:90px}.directory-map-link{margin:0 0 12px}.directory-map-link .button{min-height:44px;font-size:12px}
/* Mobile views stay reachable after scrolling through results. */
.prosupply-map-page #selection-bar{display:none!important}
@media(max-width:780px){.prosupply-map-page{padding-bottom:88px}.map-mobile-views{position:fixed;left:0;right:0;bottom:0;z-index:1100;display:flex;gap:8px;margin:0;padding:9px 16px calc(9px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #b5cbd9;box-shadow:0 -4px 16px #17364b12}.map-mobile-views button{min-height:46px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.map-mobile-views span{margin-left:0;flex:none}#supplier-map{height:min(390px,calc(100svh - 230px));min-height:240px}.map-position-note{padding-bottom:5px}}
.map-stage-actions{flex-wrap:wrap}.map-stage-actions .leaflet-control-zoom{display:flex;float:none;margin:0 auto 0 0;border:1px solid #7896aa;box-shadow:none;flex:none;border-radius:7px;overflow:hidden}.map-stage-actions .leaflet-control-zoom a{display:block;border-bottom:0!important;background:#fff}.map-stage-actions .leaflet-control-zoom a+a{border-left:1px solid #b7cbd8}.map-stage-actions .leaflet-control-zoom a:first-child{border-radius:0}.map-stage-actions .leaflet-control-zoom a:last-child{border-radius:0}.map-stage-actions .leaflet-control-zoom .leaflet-disabled{background:#edf3f6;color:#546d7d!important}
@media(max-width:780px){.prosupply-map-page .map-stage{scroll-margin-top:0}.map-stage-actions{gap:6px}.map-stage-actions .leaflet-control-zoom a{width:42px!important;height:42px!important;line-height:42px!important}}
.map-quick-popup h3{overflow-wrap:anywhere}
/* Visible category and profession filters: narrow the list and the pins together. */
.map-primary-filters{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.map-primary-filters label{font-size:13px;font-weight:700;color:#111;min-width:0}.map-primary-filters select{display:block;width:100%;max-width:100%;margin-top:6px;min-height:46px;border:1px solid #93adbf;border-radius:7px;background:#fff;color:#111;padding:10px 30px 10px 10px;font:inherit;font-size:14px;font-weight:400;text-overflow:ellipsis}.map-category-shortcuts{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.map-category-shortcuts>a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:6px 11px;box-sizing:border-box;border:1px solid #b6cbd8;border-radius:8px;color:#183b53;background:#f7fafb;text-decoration:none;font-size:12px;line-height:1.4}.map-category-shortcuts>a>span+span{background:#e2edf3;color:#183b53;padding:2px 6px;border-radius:5px;font-size:11px;font-weight:700}.map-category-shortcuts>a[aria-current=true]{background:#1d465e;border-color:#1d465e;color:#fff}.map-category-shortcuts>a[aria-current=true]>span+span{background:#fff;color:#1d465e}.map-category-shortcuts>a.is-empty:not([aria-current=true]){border-style:dashed}.map-advanced .map-filter-grid{grid-template-columns:1fr 1fr}.map-filters .map-advanced{margin-top:10px}.map-filters .map-filter-help{color:#111}.map-category-shortcuts>a:hover{border-color:#a64b27}
@media(max-width:600px){.map-primary-filters{gap:9px;margin-top:12px}.map-primary-filters label{font-size:11px;line-height:1.5}.map-primary-filters select{font-size:13px;padding-left:7px;padding-right:24px}.map-category-shortcuts{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 2px 7px;margin-inline:-2px}.map-category-shortcuts>a{flex:none;min-height:44px;padding:8px 10px}.map-primary-filters select:focus{font-size:16px}.map-filters .map-advanced>summary{font-size:12px}.map-filters .map-filter-bottom{gap:8px}.map-filters .map-filter-bottom>a{font-size:11px}.map-filters .map-include{font-size:11px}}

.map-primary-filters{align-items:end}@media(max-width:780px){.map-page-heading{position:relative;padding-top:8px}.map-page-heading .eyebrow{padding-right:110px;line-height:1.6}.map-page-heading>.button{position:absolute;top:0;right:0;font-size:11px;min-height:36px;margin:0;padding:7px 9px}.map-page-heading h1{font-size:26px;margin-top:12px}.map-page-heading p:not(.eyebrow){font-size:12px;line-height:1.6}}
@media(max-width:780px){.prosupply-map-page .map-stage,[data-map-results],.map-tour{scroll-margin-top:84px}}
.map-popup-identity{display:flex;align-items:center;gap:10px;padding-right:18px}.map-popup-identity img{width:56px;height:42px;object-fit:contain;flex:none;background:#fff;border-radius:6px}.map-popup-identity h3{margin:4px 0 9px}.map-popup-offer-label{display:block;font-size:10px;font-weight:750;color:#253b4b;margin-top:6px}.map-quick-popup .map-popup-offer{font-size:13px;line-height:1.5;color:#111;margin:3px 0 12px;overflow-wrap:anywhere}
.map-popup-identity img.logo-on-dark{background:#20374c;padding:4px;box-sizing:border-box}
