.map-canvas svg{display:block;width:100%;height:auto;min-height:230px;overflow:visible}.municipality{fill:var(--province-color,#dce7d8);stroke:#fffefa;stroke-width:.75;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer;outline:none}.municipality.is-selected{fill:#719983}.province-outline{fill:none;stroke:#7f9984;stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.municipality-raised{fill:#327452;stroke:#f8f7ed;stroke-width:1.2;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none;transform-box:fill-box;transform-origin:center;transform:translateY(-6px) scale(1.07);filter:drop-shadow(0 7px 3px #193c375c)}.municipality:focus-visible{stroke:var(--navy);stroke-width:2}
.municipality-detail{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:0 22px 20px;padding:18px 20px;background:#f0f4ec;border-radius:12px;min-height:100px}.municipality-detail strong{display:block;font:400 25px/1.2 Georgia,serif;color:var(--ink)}.municipality-detail span{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:7px;max-width:470px}.municipality-detail a{display:inline-flex;align-items:center;gap:12px;min-height:46px;padding:10px 15px;border-radius:8px;color:#fff;background:var(--green);font-size:13px;font-weight:700;text-decoration:none}.municipality-detail a span{margin:0;color:inherit;font-size:18px}.municipality-detail a[hidden]{display:none}.municipality-detail a:hover{background:#1b5139}
@media(min-width:650px){.municipality-detail{margin:0 30px 24px}.map-canvas svg{min-height:0}}
@media(prefers-reduced-motion:no-preference){.municipality-raised{animation:municipality-rise .16s ease-out}@keyframes municipality-rise{from{transform:translateY(0) scale(1);filter:drop-shadow(0 0 0 transparent)}to{transform:translateY(-6px) scale(1.07);filter:drop-shadow(0 7px 3px #193c375c)}}}
@media(prefers-reduced-motion:reduce){.municipality-raised{transform:none}}

/* A compact, touch-friendly region finder. */
.map-controls{display:grid;grid-template-columns:1fr;gap:16px;padding:22px;max-width:none}
.map-controls[hidden]{display:none}
.map-field{min-width:0}.map-field label{display:block;margin:0 0 8px;color:#52646b;font-size:12px;font-weight:700;letter-spacing:.02em}
.field-shell{display:flex;align-items:center;min-height:54px;border:1px solid #dce5dc;border-radius:15px;background:#f5f8f3;box-shadow:0 2px 8px #142d3b08;transition:border-color .18s,box-shadow .18s,background .18s}
.field-shell:focus-within{border-color:#719b80;background:#fff;box-shadow:0 0 0 4px #719b8026}
.map-controls select,.map-controls input{width:100%;min-width:0;min-height:52px;margin:0;border:0;outline:0;background:transparent;color:var(--ink);font:500 16px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.map-controls select{appearance:none;padding:0 42px 0 16px;cursor:pointer}.map-controls select:focus-visible{outline:none}.select-shell{position:relative}.select-chevron{position:absolute;right:19px;width:9px;height:9px;border-right:1.8px solid #5a7466;border-bottom:1.8px solid #5a7466;transform:rotate(45deg) translateY(-3px);pointer-events:none}
.search-shell{gap:11px;padding-left:16px}.search-shell svg{width:20px;height:20px;flex:none;stroke:#658375;stroke-width:1.8;stroke-linecap:round}.map-controls input{padding:0 14px 0 0}.map-controls input::placeholder{color:#88978f}
.municipality-results{grid-column:1/-1;max-height:280px;overflow:auto;border:1px solid #e0e8de;border-radius:16px;background:#fff;box-shadow:0 12px 30px #173b2b12}.municipality-results[hidden]{display:none}.search-result{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border:0;border-bottom:1px solid #edf1eb;background:transparent;text-align:left;text-decoration:none;font:inherit;cursor:pointer}.search-result:last-child{border-bottom:0}.search-result:hover,.search-result:focus-visible{background:#f0f6ef}.search-result:focus-visible{outline:2px solid #719b80;outline-offset:-2px}.search-result strong,.search-result small{display:block}.search-result strong{color:var(--ink);font-size:15px}.search-result small{margin-top:3px;color:var(--muted);font-size:12px}.result-arrow{font-size:20px;color:var(--green)}.search-status{grid-column:1/-1;margin:-8px 2px 0;color:var(--muted);font-size:12px}.search-status:empty{display:none}
@media(min-width:650px){.map-controls{grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr);padding:24px 30px 0;max-width:760px}}
@media(prefers-reduced-motion:reduce){.field-shell{transition:none}}
