.location-picker.location-selector{padding:26px 0 24px;border:0;border-top:1px solid #e2e9f2;border-radius:0;background:none;box-shadow:none;margin-bottom:0}
.location-selector .location-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px}
.location-selector .selector-step{font-family:var(--font);font-size:10px;line-height:1.7;font-weight:650;letter-spacing:.13em;color:var(--blue);margin:0 0 8px}
.location-selector .location-heading h2{display:block;font-family:var(--font);font-size:23px;line-height:1.45;font-weight:650;letter-spacing:0;color:#203858;margin:0}
.location-selector .location-heading h2:before{display:none}
.location-selector .location-heading p:last-child{font:400 11px/1.9 var(--font);letter-spacing:0;color:#8a9ab0;margin:8px 0 0}
.location-selector .location-search{min-width:290px;max-width:350px;border:1px solid #dce5f1;border-radius:12px;background:#fff;padding:0 14px;box-shadow:0 2px 8px #18386203;margin-top:0}
.location-selector .location-search input{font-size:11px;padding:13px 0}
.location-selector .location-search>span{font-size:24px;color:#8a9eb9}
.map-explorer{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(255px,.9fr);gap:22px;align-items:stretch}
.benefits-map-panel{min-width:0;overflow:hidden;border:1px solid #dce7f3;border-radius:23px;background:#f0f7ff;box-shadow:0 7px 24px #1552b705}
.benefits-map-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:19px 22px 0;font:500 10px/1.6 var(--font);color:#8a9eb6}
.benefits-map-top>span:first-child{display:flex;align-items:center;gap:8px;color:#587494}
.benefits-map-top i{width:6px;height:6px;border-radius:50%;background:#ff8500;box-shadow:0 0 0 4px #ff850014}
.benefits-map-top>span:last-child{font-size:8px;letter-spacing:.13em}
.benefits-map-canvas{position:relative;width:100%;aspect-ratio:720/640;background:radial-gradient(circle at 48% 37%,#ffffffa6,transparent 64%)}
.benefits-map-basemap,.benefits-map-connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;user-select:none}
.benefits-map-connections{overflow:visible}
.benefits-map-connections path{fill:none;stroke:#a6bddb;stroke-width:1;opacity:.75;vector-effect:non-scaling-stroke}
.benefits-map-connections .map-dot-halo{fill:#ff850020}
.benefits-map-connections .map-dot-core{fill:#ff950b;stroke:#fff;stroke-width:1.6}
.benefits-map-connections .is-selected path{stroke:#1552b7;opacity:1}
.benefits-map-connections .is-selected .map-dot-halo{fill:#1552b724}
.benefits-map-connections .is-selected .map-dot-core{fill:#1552b7}
.location-selector .map-city-pin{position:absolute;left:var(--map-x);top:var(--map-y);z-index:1;transform:translate(-50%,-50%);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:84px;min-height:43px;padding:5px 6px;border:1px solid #d7e4f4d9;border-radius:8px;background:#ffffffed;box-shadow:0 3px 11px #1552b708;color:#315fa7;text-align:center;transition:background .18s,border-color .18s,box-shadow .18s}
.map-city-pin:after{content:'';position:absolute;inset:-5px;z-index:-1}
.location-selector .map-city-pin strong{font:650 12px/1.4 var(--font);white-space:nowrap}
.location-selector .map-city-pin>span{font:400 9px/1.6 var(--font);color:#8c9fb9;white-space:nowrap}
.location-selector .map-city-pin:hover{border-color:#9ab9e3;background:#fff;box-shadow:0 5px 14px #1552b714}
.location-selector .map-city-pin[aria-pressed=true]{color:#fff;background:var(--blue);border-color:var(--blue);box-shadow:0 4px 14px #1552b724;z-index:2}
.location-selector .map-city-pin[aria-pressed=true]>span{color:#e0ebff}
.location-selector button:focus-visible{outline:3px solid #ffc36e;outline-offset:3px}
.benefits-map-hint{display:flex;align-items:center;gap:6px;margin:0;padding:0 22px 17px;font:400 10px/1.8 var(--font);color:#758ca7}
.benefits-map-hint>span{font-size:15px;color:#ef9b34}
.benefits-map-hint small{margin-left:auto;font-size:8px;color:#95a8bd}
.location-selector .municipality-panel{min-width:0;display:flex;flex-direction:column;padding:26px 24px;margin:0;border:1px solid #e0e8f3;border-radius:23px;background:linear-gradient(155deg,#fff 30%,#f8fbff);box-shadow:0 5px 20px #1552b703}
.location-selector .municipality-step{font:650 9px/1.8 var(--font);color:#8eabc9;letter-spacing:.08em;margin:0 0 17px}
.location-selector .municipality-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}
.location-selector #municipality-title{font:650 23px/1.45 var(--font);color:#274c83;margin:0}
.location-selector #municipality-subtitle{display:block;font:400 10px/1.8 var(--font);color:#93a5bc;margin-top:5px}
.location-selector #reset-map-city{flex-shrink:0;align-self:flex-start;border:0;background:transparent;padding:5px 0;font:400 10px/1.6 var(--font);color:#7c98bd;white-space:nowrap}
.location-selector .municipality-choices{display:flex;flex-direction:column;gap:10px}
.location-selector .municipality-choices .locality-choice{min-width:0;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px;border:1px solid #dfe8f4;border-radius:11px;background:#fff;text-align:left;box-shadow:0 2px 7px #1552b703}
.location-selector .locality-choice>span:first-child{min-width:0}
.location-selector .locality-choice strong{display:block;font:600 12px/1.65 var(--font);color:#456a9e;overflow-wrap:anywhere}
.location-selector .locality-choice small{display:block;margin-top:3px;font:400 10px/1.6 var(--font);color:#91a4be}
.location-selector .locality-choice .locality-count{flex-shrink:0;display:flex;align-items:center;gap:7px;font:400 9px/1.8 var(--font);color:#a0b1c8}
.location-selector .locality-count b{font-size:13px;font-weight:400}
.location-selector .locality-choice:hover{border-color:#a6bfdf;background:#fafdff}
.location-selector .municipality-choices .locality-choice[aria-pressed=true]{border-color:var(--blue);background:var(--blue);box-shadow:0 3px 8px #1552b717}
.location-selector .locality-choice[aria-pressed=true] strong,.location-selector .locality-choice[aria-pressed=true] small,.location-selector .locality-choice[aria-pressed=true] .locality-count{color:#fff}
.location-selector .municipality-note{margin:19px 0 0;font:400 10px/1.9 var(--font);color:#9aabc0}
.municipality-empty{flex:1;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:15px 0 35px;color:#b6c8df}
.municipality-empty svg{width:60px;height:60px}
.municipality-empty p{font:500 13px/2 var(--font);color:#7b97ba;margin:15px 0 0}
.municipality-empty p span{font-size:11px;color:#a0b2c9}
.location-selector .city-selection-hint{font:400 10px/1.9 var(--font);color:#98a9c0;text-align:center;margin:17px 0 0}
.location-selector .location-matches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:340px;padding:2px;overflow:auto}
.location-selector .locality-match{display:flex;flex-direction:column;gap:4px;min-width:0;text-align:left;border:1px solid #dce5f1;border-radius:11px;background:#fff;padding:13px 17px}
.location-selector .locality-match strong{font:600 13px/1.7 var(--font);color:#3e5e8a;overflow-wrap:anywhere}
.location-selector .locality-match small{font:400 10px/1.8 var(--font);color:#8fa2bd}
.location-selector .locality-match:hover{border-color:#9db9df;background:#f7faff}
.location-selector .location-matches>p{grid-column:1/-1;font-size:12px;color:#8297b3}
@media(max-width:1050px){.map-explorer{gap:17px;grid-template-columns:minmax(0,1.65fr) minmax(240px,.9fr)}.location-selector .municipality-panel{padding:22px 17px}.location-selector .locality-choice .locality-count{font-size:8px;gap:4px}.location-selector .municipality-choices .locality-choice{padding:11px}.location-selector .map-city-pin{width:73px;min-height:38px;padding:4px}.location-selector .map-city-pin strong{font-size:10px}.location-selector .map-city-pin>span{font-size:8px}.benefits-map-top{padding:16px 17px 0}.benefits-map-hint{padding:0 17px 14px;font-size:9px}.benefits-map-hint small{font-size:7px}}
@media(max-width:760px){.location-selector .location-heading{display:block;margin-bottom:18px}.location-selector .location-search{min-width:0;max-width:none;width:100%;margin-top:15px}.location-selector .location-heading h2{font-size:22px}.location-selector .selector-step{font-size:9px}.map-explorer{grid-template-columns:minmax(0,1fr);gap:16px}.benefits-map-panel{width:100%;max-width:650px;margin:auto;border-radius:20px}.location-selector .municipality-panel{padding:22px;border-radius:19px}.location-selector .municipality-heading{margin-bottom:16px}.location-selector .municipality-step{margin-bottom:12px}.location-selector .municipality-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.location-selector .municipality-choices .locality-choice{display:flex;flex-direction:column;align-items:stretch;padding:13px;gap:8px}.location-selector .locality-count{justify-content:space-between}.location-selector .locality-choice strong{font-size:12px}.location-selector .locality-choice small{font-size:10px}.location-selector .locality-choice .locality-count{font-size:9px}.municipality-empty{min-height:105px;padding:5px 0 12px;flex-direction:row;gap:17px}.municipality-empty svg{width:45px;height:45px}.municipality-empty p{margin:0;text-align:left}.location-selector .municipality-note{margin-top:15px}.location-selector .location-matches{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.location-picker.location-selector{padding-top:22px;padding-bottom:22px}.location-selector .location-heading h2{font-size:21px}.location-selector .location-heading p:last-child{font-size:11px}.location-selector .location-search input{font-size:11px;padding-block:12px}.benefits-map-top{padding:16px 14px 0;font-size:9px}.benefits-map-top>span:last-child{font-size:6px;letter-spacing:.08em}.location-selector .map-city-pin{width:62px;min-height:35px;padding:3px 2px;border-radius:6px}.location-selector .map-city-pin strong{font-size:9px;line-height:1.5}.location-selector .map-city-pin>span{font-size:8px;line-height:1.5}.benefits-map-hint{padding:0 14px 13px;font-size:8px;gap:4px}.benefits-map-hint small{font-size:7px}.location-selector .municipality-panel{padding:20px 16px}.location-selector #municipality-title{font-size:22px}.location-selector .municipality-choices .locality-choice{padding:12px}.location-selector .city-selection-hint{font-size:9px}.location-selector .locality-match{padding:11px}.location-selector .locality-match strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.location-selector .map-city-pin{transition:none}}
