/* Víctor SEO WEB Widgets · mapa.css · generado por fuente/elementor/css_build.py a partir de fuente/assets. No editar a mano. */
.vsw .coverage-grid{display:grid; grid-template-columns:1fr; gap:36px;}
@media (min-width:960px){
  .vsw .coverage-grid{grid-template-columns:1.05fr 1fr; align-items:center;}
}
.vsw .coverage-map-wrap{position:relative; border-radius:20px; overflow:hidden; border:1px solid var(--vsw-border); height:380px; background:#e5e5e5;}
@media (min-width:640px){
  .vsw .coverage-map-wrap{height:440px;}
}
.vsw .coverage-map{width:100%; height:100%;}
.vsw .map-badge{position:absolute; top:16px; left:16px; z-index:1000; background:#0d1420; border:1px solid var(--vsw-border); border-radius:12px; padding:10px 16px; display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--vsw-ink); box-shadow:0 8px 20px rgba(0,0,0,.35);}
.vsw .map-badge svg{width:15px; height:15px; stroke:var(--vsw-accent); flex-shrink:0;}
.vsw .coverage-content .cases-title{margin-bottom:20px;}
.vsw .coverage-content > p{font-size:16.5px; line-height:1.7; color:var(--vsw-ink-soft); margin-bottom:28px;}
.vsw .proyectos-label{font-size:12px; text-transform:uppercase; letter-spacing:.07em; color:var(--vsw-ink-soft); margin-bottom:14px;}
.vsw .country-pills{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.vsw .country-pill{display:flex; align-items:center; gap:9px; background:color-mix(in srgb, var(--vsw-ink) 3%, transparent); border:1px solid var(--vsw-border); border-radius:12px; padding:14px 16px; font-size:14.5px; font-weight:600; color:var(--vsw-ink);}
.vsw .country-pill svg{width:16px; height:16px; stroke:var(--vsw-accent); flex-shrink:0;}
.vsw .mc-marker-wrapper{display:flex; flex-direction:column; align-items:center;}
.vsw .mc-marker-pin{width:28px; height:28px;
    background:linear-gradient(135deg,var(--vsw-accent-2),var(--vsw-accent));
    border-radius:50% 50% 50% 0;
    transform:rotate(-45deg);
    box-shadow:0 3px 14px color-mix(in srgb, var(--vsw-accent) 55%, transparent);
    position:relative;
    animation:vsw-pinFloat 2.6s ease-in-out infinite;}
.vsw .mc-marker-pin::after{content:""; width:10px; height:10px; background:#fff; border-radius:50%;
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) rotate(45deg);}
.vsw .mc-marker-shadow{width:13px; height:5px; background:rgba(0,0,0,.4); border-radius:50%;
    margin-top:2px; filter:blur(2px);
    animation:vsw-pulseShadow 2.6s ease-in-out infinite;}
@keyframes vsw-pinFloat{0%,100%{transform:rotate(-45deg) translateY(0);}
    50%{transform:rotate(-45deg) translateY(-6px);}}
@keyframes vsw-pulseShadow{0%,100%{transform:scale(1); opacity:.35;}
    50%{transform:scale(.6); opacity:.15;}}
@media (prefers-reduced-motion: reduce){
  .vsw .mc-marker-pin, .vsw .mc-marker-shadow{animation:none;}
}
.vsw .leaflet-popup-content-wrapper{background:var(--vsw-panel) !important; border:1px solid color-mix(in srgb, var(--vsw-ink) 12%, transparent) !important; border-radius:10px !important; box-shadow:0 12px 30px rgba(0,0,0,.45) !important;}
.vsw .leaflet-popup-tip{background:var(--vsw-panel) !important;}
.vsw .leaflet-popup-content{margin:8px 12px !important; color:#fff !important; font-family:var(--vsw-font) !important; font-size:13px !important; font-weight:600 !important;}
.vsw .leaflet-popup-close-button{display:none !important;}
.vsw .leaflet-control-zoom a{background:var(--vsw-panel) !important; color:#fff !important; border-color:color-mix(in srgb, var(--vsw-ink) 15%, transparent) !important;}
.vsw .leaflet-control-zoom a:hover{background:#232f45 !important;}
/* Fondo del mapa: mar del color del mapa claro original; los países los pinta mapa.js (Natural Earth). */
.vsw .coverage-map.leaflet-container{background:#d4dadc; font-family:var(--vsw-font);}
/* Crédito de Natural Earth: visible, discreto y con los colores del diseño. */
.vsw .leaflet-control-attribution{display:block; background:color-mix(in srgb, var(--vsw-bg) 82%, transparent); color:var(--vsw-ink-soft); font:11px/1.4 var(--vsw-font); padding:2px 8px; border-top-left-radius:8px;}
.vsw .leaflet-control-attribution a{color:var(--vsw-ink); text-decoration:underline; text-decoration-color:var(--vsw-accent);}
.vsw .leaflet-tooltip{background:var(--vsw-panel); color:var(--vsw-ink); border:1px solid var(--vsw-border); border-radius:8px; font:600 13px/1.3 var(--vsw-font); box-shadow:0 12px 30px rgba(0,0,0,.45);}
.vsw .leaflet-tooltip-top::before{border-top-color:var(--vsw-panel);}
