.map-filters,.contractor-page{display:flex;flex-direction:column;gap:1rem}.map-filters{gap:.4rem;padding:0;border:0;background:transparent}.map-filters fieldset{min-width:0;border:0;padding:0;display:flex;flex-direction:column;gap:.25rem;margin:0}.map-filters legend{font-size:13px;line-height:1.3;font-weight:600;padding:0;display:flex;align-items:center;gap:0.5rem}.map-filters fieldset>.btn{align-self:flex-start}.map-icon-group{display:flex;flex-wrap:wrap;gap:8px;min-width:0;justify-content:space-around}.map-filters .map-filter-icon{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;padding:0;border:0;border-radius:0;background:transparent;color:#69736f;font:inherit;font-size:12px;line-height:1.2;cursor:pointer;max-width:100%;width:60px;text-align:center}.map-filters .map-filter-icon[aria-pressed=true]{color:#07843e}.map-filters .map-filter-icon[aria-pressed=false]{color:#69736f;font-weight:400}.map-filters .map-filter-icon:hover{color:#075d2c}.map-filters .map-filter-icon[aria-pressed=false] i{opacity:.6}.map-filter-icon i{font-size:20px;width:20px;height:20px;flex:none;text-align:center}.map-filter-icon:focus-visible,.map-filters button:focus-visible{outline:3px solid #216bb0;outline-offset:2px}.map-search-line{display:flex;gap:.5rem;flex-wrap:wrap}.map-search-line input{flex:1;min-width:0}.map-filters input{width:100%;box-sizing:border-box;padding:.75rem;border:1px solid var(--line);border-radius:10px;font:inherit}.map-filters [hidden]{display:none!important}#map-filter-status:empty{display:none}.map-filter-icon span{width:100%;hyphens:auto;overflow-wrap:break-word}.fa-trash-can{-webkit-mask-image:url(../img/map-icons/trash-can.svg);mask-image:url(../img/map-icons/trash-can.svg)}.fa-shirt{-webkit-mask-image:url(../img/map-icons/shirt.svg);mask-image:url(../img/map-icons/shirt.svg)}.fa-map-zones{-webkit-mask-image:url(../img/map-icons/zones-map.png);mask-image:url(../img/map-icons/zones-map.png)}.fa-skull-crossbones{-webkit-mask-image:url(../img/map-icons/skull-crossbones.svg);mask-image:url(../img/map-icons/skull-crossbones.svg)}.fa-toothbrush{-webkit-mask-image:url(../img/map-icons/toothbrush.svg);mask-image:url(../img/map-icons/toothbrush.svg)}.fa-vending-machine{-webkit-mask-image:url(../img/map-icons/vending-machine.svg);mask-image:url(../img/map-icons/vending-machine.svg)}.fa-pen{-webkit-mask-image:url(../img/map-icons/pen.svg);mask-image:url(../img/map-icons/pen.svg)}.fa-credit-card{-webkit-mask-image:url(../img/map-icons/credit-card.svg);mask-image:url(../img/map-icons/credit-card.svg)}.fa-mercury{-webkit-mask-image:url(../img/map-icons/mercury.svg);mask-image:url(../img/map-icons/mercury.svg)}.fa-cfl{-webkit-mask-image:url(../img/map-icons/cfl.svg);mask-image:url(../img/map-icons/cfl.svg)}.fa-filter{-webkit-mask-image:url(../img/map-icons/filter.svg);mask-image:url(../img/map-icons/filter.svg)}.fa-pump{-webkit-mask-image:url(../img/map-icons/pump.svg);mask-image:url(../img/map-icons/pump.svg)}.fa-tube{-webkit-mask-image:url(../img/map-icons/tube.svg);mask-image:url(../img/map-icons/tube.svg)}.fa-cork{-webkit-mask-image:url(../img/map-icons/cork.svg);mask-image:url(../img/map-icons/cork.svg)}.fa-record{-webkit-mask-image:url(../img/map-icons/record.svg);mask-image:url(../img/map-icons/record.svg)}.fa-puzzle-piece{-webkit-mask-image:url(../img/map-icons/puzzle-piece.svg);mask-image:url(../img/map-icons/puzzle-piece.svg)}.fa-ring{-webkit-mask-image:url(../img/map-icons/ring.svg);mask-image:url(../img/map-icons/ring.svg)}.fa-utensils{-webkit-mask-image:url(../img/map-icons/utensils.svg);mask-image:url(../img/map-icons/utensils.svg)}.fa-brush{-webkit-mask-image:url(../img/map-icons/brush.svg);mask-image:url(../img/map-icons/brush.svg)}.fa-blister{-webkit-mask-image:url(../img/map-icons/blister.svg);mask-image:url(../img/map-icons/blister.svg)}.fa-pills{-webkit-mask-image:url(../img/map-icons/pills.svg);mask-image:url(../img/map-icons/pills.svg)}.fa-medical{-webkit-mask-image:url(../img/map-icons/medical.svg);mask-image:url(../img/map-icons/medical.svg)}.fa-xray{-webkit-mask-image:url(../img/map-icons/xray.svg);mask-image:url(../img/map-icons/xray.svg)}.fa-thermometer{-webkit-mask-image:url(../img/map-icons/thermometer.svg);mask-image:url(../img/map-icons/thermometer.svg)}.fa-paint{-webkit-mask-image:url(../img/map-icons/paint.svg);mask-image:url(../img/map-icons/paint.svg)}/* Scoped overlays remain in normal stacking, above later fieldsets and map. */
.map-filters .map-search-toggle{display:flex;align-items:center;justify-content:center;flex:none;width:24px;min-height:44px;margin:0;padding:0;border:0;background:transparent;color:#397553;cursor:pointer;font:inherit}.map-search-toggle svg{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.map-search-row{display:flex;flex-direction:column;gap:8px;min-width:0}.map-search-row label{font-size:12px}.map-filters .map-search-line{flex-wrap:nowrap;gap:4px}.map-autocomplete{position:relative;flex:1;min-width:0}.map-autocomplete:focus-within{z-index:20}.map-filters input{padding:10px 12px;min-height:44px;font-size:14px;line-height:1.4;border:1px solid #d8e0dc;border-radius:8px}.map-filters .map-search-clear{margin:0;padding:4px;min-width:40px;width:40px;min-height:40px}.map-filters .map-options{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:30;display:flex;flex-direction:column;gap:0;max-height:min(280px,40vh);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 18px #0003}.map-filters .map-options:empty{display:none}.map-filters .map-options button{display:block;margin:0;width:100%;padding:8px 10px;min-height:44px;text-align:left;background:white;border:0;border-radius:0;font:inherit;font-size:13px;white-space:normal;overflow-wrap:anywhere;color:var(--dark);cursor:pointer}.map-filters .map-options button:hover,.map-filters .map-options button[aria-selected=true]{background:#e7f5e9;color:#14532d}.map-filters p,.map-search-row [role=status]{margin:0;font-size:12px}.map-search-row [role=status]:empty{display:none}
.contractor-rows,.contractor-rows>li{display:flex;flex-direction:column;gap:.75rem}.contractor-rows{padding-left:1rem}.contractor-page p{margin:0}.contractor-page details{padding:.75rem;border:1px solid var(--line);border-radius:10px}.contractor-page summary{cursor:pointer;font-weight:600}@media(max-width:480px){.map-filters .map-filter-icon{font-size:11px}.map-icon-group{gap:.4rem}.map-filters{gap:.4rem}}
.map-type-columns{display:flex;align-items:flex-start;gap:8px;min-width:0}.map-type-col{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.25rem}.map-zone-icon{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:max-content;text-align:center;text-decoration:none;color:#397553;font:inherit;font-size:12px;line-height:1.2;font-weight:600;cursor:pointer;max-width:100%}.map-zone-icon i{font-size:20px;width:20px;height:20px;flex:none;text-align:center}.map-zone-icon span{width:100%;hyphens:auto;overflow-wrap:break-word}.map-zone-icon:hover{color:#075d2c}.map-zone-icon:focus-visible{outline:3px solid #216bb0;outline-offset:2px}
.map-legend{display:flex;align-items:center;gap:8px;margin:0 0 12px}.map-legend-item{display:inline-flex;align-items:center;justify-content:center;width:40px;height:30px;border-radius:8px}.map-legend-item.is-active{background:#e7f5e9;border:1px solid #07843e}.map-credit{display:block;margin:0 0 12px;font-size:10px;line-height:1.4;color:var(--muted)}.map-credit a{color:inherit}
.fa-plus{-webkit-mask-image:url(../img/map-icons/plus.svg);mask-image:url(../img/map-icons/plus.svg)}
.fa-minus{-webkit-mask-image:url(../img/map-icons/minus.svg);mask-image:url(../img/map-icons/minus.svg)}
.fa-truck{-webkit-mask-image:url(../img/map-icons/truck.svg);mask-image:url(../img/map-icons/truck.svg)}
.map-marker.is-type{width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid #07843e;color:#07843e;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer}
.map-marker.is-type i{width:15px;height:15px;background:currentColor;flex:none}
.map-marker.is-cluster{width:36px;height:36px;border-radius:50%;background:#fff;border:2px solid #07843e;color:#07843e;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer}
.map-marker.is-type.is-selected{border-width:3px;box-shadow:0 0 0 4px rgba(7,132,62,.25),0 1px 4px rgba(0,0,0,.35)}
.point-card{position:relative}
.fav-heart{position:absolute;top:10px;right:10px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--green,#2f9e44);cursor:pointer}
.fav-heart svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.fav-heart.is-on svg{fill:currentColor}
.fav-heart:focus-visible{outline:3px solid #216bb0;outline-offset:2px}
.card-filter-icons{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.card-filter-icon{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#397553}
.card-filter-icon i{width:18px;height:18px;background:currentColor;flex:none}
.map-filters .map-filter-more{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;margin:0;padding:0;min-width:60px;min-height:44px;flex:0 0 auto;border:0;background:transparent;color:#397553;font:inherit;font-size:12px;line-height:1.2;cursor:pointer}.map-filters .map-more-sign{font-size:20px;font-weight:700;line-height:20px}
.map-filters .map-group-disclosure{display:inline-flex;align-items:center;justify-content:center;flex:none;width:max-content;min-height:44px;margin:0;padding:0;border:0;background:transparent;color:#397553;font:inherit;font-weight:700;font-size:16px;line-height:1;cursor:pointer}
.map-marker.is-type.is-search-hit{box-shadow:0 0 0 4px rgba(25,134,88,.3),0 1px 4px rgba(0,0,0,.35)}
.point-type-sub{font-size:12px;color:var(--muted);margin:2px 0 0}
.map-title-row{display:flex;align-items:center;gap:12px}
.map-title-row h1{flex-grow:1;margin:0 0 12px;color:#198658}
@media(max-width:480px){.map-type-columns{gap:4px}.map-zone-icon{font-size:11px}.map-legend{margin-bottom:8px}}

/* Exactly one functional reset, inside each search input; no native duplicate. */
.map-filters .map-search-line{display:block}
.map-filters .map-autocomplete input[type="search"]{padding-right:44px;appearance:none;-webkit-appearance:none}
.map-filters input[type="search"]::-webkit-search-cancel-button,.map-filters input[type="search"]::-webkit-search-decoration{display:none;-webkit-appearance:none}
.map-filters .map-autocomplete>.map-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;height:32px;min-height:32px;margin:0;padding:0;border:0;border-radius:6px;background:transparent;box-shadow:none;color:var(--muted);font:inherit;font-size:20px;line-height:1;cursor:pointer}
