/*! Vaporex Design · vx-zones */

.vx-zones.zones{padding:var(--vx-sp) 0 0}
.vx-zones .zones__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.vx-zones .zones__search{margin-top:0 !important}
.vx-zones .zones__panel p{color:var(--vx-muted);max-width:46ch;font-size:var(--vx-fz)}
.vx-zones .zones__search{display:flex;align-items:center;gap:12px;border:1.5px solid var(--vx-line);border-radius:999px;padding:6px 18px;margin:28px 0 18px;transition:border-color .25s,box-shadow .25s;background:#fff}
.vx-zones .zones__search:focus-within{border-color:var(--vx-blue);box-shadow:0 0 0 4px var(--vx-sky-10)}
.vx-zones .zones__search svg{width:20px;height:20px;fill:none;stroke:var(--vx-muted);stroke-width:2;stroke-linecap:round;flex:none}
.vx-zones .zones__search input{border:0;outline:0;background:none;flex:1;padding:10px 0;font-size:16px;min-width:0}
.vx-zones .zones__search input::-webkit-search-cancel-button{-webkit-appearance:none}
.vx-zones .zones__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.vx-zones .zones__result{min-height:0;margin-bottom:12px;font-size:var(--vx-fz)}
.vx-zones .zones__result .ok{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-radius:12px;background:var(--vx-mist);border:1px solid var(--vx-line-blue)}
.vx-zones .zones__result .ok b{display:block;color:var(--vx-blue);font-weight:600}
.vx-zones .zones__result .ok a{color:var(--vx-blue);text-decoration:underline}
.vx-zones .zones__result .ok .dot{width:10px;height:10px;border-radius:50%;background:var(--vx-green);flex:none;margin-top:7px;box-shadow:0 0 0 4px rgba(97,206,112,.25)}
.vx-zones .zones__result .no{padding:16px 18px;border-radius:12px;border:1px dashed var(--vx-line);color:var(--vx-muted)}
.vx-zones .zones__result .no a{color:var(--vx-blue);font-weight:600}
.vx-zones .zones__list{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:15px;max-height:132px;overflow:auto;padding-right:6px}
.vx-zones .zones__list li{color:var(--vx-muted);cursor:pointer;padding:2px 0;border-bottom:1px solid transparent;transition:color .2s}
.vx-zones .zones__list li:hover{color:var(--vx-blue)}
.vx-zones .zones__list li.hl{color:var(--vx-blue);font-weight:600}
.vx-zones .zones__list li.pg::after{content:"·";color:var(--vx-sky);margin-left:4px}
.vx-zones .zones__note{font-size:var(--vx-fz);color:var(--vx-muted);margin:18px 0 0}
.vx-zones .zones__cta{margin-top:22px}
.vx-zones .zones__map{position:relative;border-radius:var(--vx-r-img);overflow:hidden;background:var(--vx-mist)}
.vx-zones .zones__map svg{display:block;width:100%;height:auto}
.vx-zones .zones__panel{display:grid;align-content:start;justify-items:start}
.vx-zones .zones__panel .zones__search,.vx-zones .zones__panel .zones__chips,.vx-zones .zones__panel .zones__result,.vx-zones .zones__panel .zones__list,.vx-zones .zones__panel p{width:100%}
.vx-zones .mp-sea{fill:#dcedf6}
.vx-zones .mp-land{fill:#f6fafc}
.vx-zones .mp-grid{stroke:rgba(0,82,163,.10);stroke-width:1}
.vx-zones .mp-coast{fill:none;stroke:rgba(0,82,163,.35);stroke-width:1.2}
.vx-zones .mp-ring{fill:rgba(110,193,228,.10);stroke:rgba(0,82,163,.28);stroke-width:1;stroke-dasharray:3 5}
.vx-zones .mp-ring2{fill:none;stroke:rgba(0,82,163,.18);stroke-width:1;stroke-dasharray:3 5}
.vx-zones .mp-dot{fill:var(--vx-blue);transition:r .3s var(--vx-ease),opacity .3s,fill .3s}
.vx-zones .mp-dot.dim{opacity:.18}
.vx-zones .mp-dot.hl{fill:var(--vx-green);r:7}
.vx-zones .mp-lbl{font-family:var(--vx-f-body);font-size:11.5px;fill:var(--vx-ink);transition:opacity .3s;pointer-events:none}
.vx-zones .mp-lbl.dim{opacity:.25}
.vx-zones .mp-lbl.minor{opacity:0}
.vx-zones .mp-pin:hover .mp-lbl.minor,.vx-zones .mp-lbl.minor.show{opacity:1}
.vx-zones .mp-lbl.minor.dim{opacity:0}
.vx-zones .mp-lbl.hl{font-weight:600;fill:var(--vx-blue)}
.vx-zones .mp-city{font-family:var(--vx-f-display);font-size:16px;font-weight:600;fill:var(--vx-blue)}
.vx-zones .mp-legend{font-family:var(--vx-f-body);font-size:11px;fill:var(--vx-muted)}
.vx-zones .mp-pin{cursor:pointer}
@media (max-width:1100px){
  .vx-zones .zones__grid{grid-template-columns:minmax(0,1fr)}
  .vx-zones .zones__map{max-width:760px}
}
@media (max-width:560px){
  .vx-zones .zones__list{max-height:110px}
}


/* ---- ajustes para WordPress/Elementor ---- */
.vx-zones .zones__search input{box-shadow:none;border-radius:0;width:auto;transition:none}
.vx-zones .zones__list li[hidden]{display:none}
