.elementor-4769 .elementor-element.elementor-element-710088a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;--border-radius:40px 40px 40px 40px;}.elementor-4769 .elementor-element.elementor-element-710088a:not(.elementor-motion-effects-element-type-background), .elementor-4769 .elementor-element.elementor-element-710088a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-primary ) 0%, #225F68 100%);}.elementor-4769 .elementor-element.elementor-element-0ae424d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4769 .elementor-element.elementor-element-fc0f010{--display:flex;--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-4769 .elementor-element.elementor-element-98c4ff9{--display:flex;--justify-content:center;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-4769 .elementor-element.elementor-element-8fb6b57{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 16px) 0px;text-align:start;}.elementor-4769 .elementor-element.elementor-element-8fb6b57 .elementor-heading-title{color:var( --e-global-color-57f03cc );}.elementor-4769 .elementor-element.elementor-element-403c8ea{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 50px) 0px;text-align:start;font-size:18px;color:var( --e-global-color-7c5c66f );}.elementor-4769 .elementor-element.elementor-element-67d49a8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 50px) 0px;text-align:start;font-size:18px;color:var( --e-global-color-7c5c66f );}.elementor-4769 .elementor-element.elementor-element-3fc5907{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 50px) 0px;text-align:start;font-size:18px;color:var( --e-global-color-7c5c66f );}.elementor-4769 .elementor-element.elementor-element-6a2e374{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 50px) 0px;text-align:start;font-size:18px;color:var( --e-global-color-7c5c66f );}.elementor-4769 .elementor-element.elementor-element-f0e69c9 .elementor-button{background-color:var( --e-global-color-0ab510d );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-0ab510d );}.elementor-4769 .elementor-element.elementor-element-f0e69c9 .elementor-button:hover, .elementor-4769 .elementor-element.elementor-element-f0e69c9 .elementor-button:focus{background-color:var( --e-global-color-1d27e85 );border-color:var( --e-global-color-1d27e85 );}.elementor-4769 .elementor-element.elementor-element-f0e69c9{margin:40px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}@media(max-width:1024px){.elementor-4769 .elementor-element.elementor-element-8fb6b57 .elementor-heading-title{font-size:32px;}}@media(min-width:768px){.elementor-4769 .elementor-element.elementor-element-710088a{--content-width:1400px;}.elementor-4769 .elementor-element.elementor-element-fc0f010{--width:40%;}.elementor-4769 .elementor-element.elementor-element-98c4ff9{--width:60%;}}@media(max-width:767px){.elementor-4769 .elementor-element.elementor-element-fc0f010{--padding-top:60px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4769 .elementor-element.elementor-element-98c4ff9{--padding-top:0px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-4769 .elementor-element.elementor-element-8fb6b57 .elementor-heading-title{font-size:28px;}.elementor-4769 .elementor-element.elementor-element-403c8ea{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-size:16px;}.elementor-4769 .elementor-element.elementor-element-67d49a8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-size:16px;}.elementor-4769 .elementor-element.elementor-element-3fc5907{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-size:16px;}.elementor-4769 .elementor-element.elementor-element-6a2e374{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-size:16px;}.elementor-4769 .elementor-element.elementor-element-f0e69c9{padding:0px 20px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-adce26b *//* === Mapa === */
.mapa-peru-container {
    max-width: 600px;
    position: relative;
}
.mapa-peru {
    width: 100%;
    height: auto;
}
.elementor-4769 .elementor-element.elementor-element-adce26b .departamento-path {
    position: relative;
    fill: transparent;
    stroke: #CBCBCB;
    stroke-width: 1;
    cursor: pointer;
    transition: fill 0.3s;
}
.elementor-4769 .elementor-element.elementor-element-adce26b .departamento-path:hover {
    fill: rgba(255, 255, 255, 0.3);
}
.elementor-4769 .elementor-element.elementor-element-adce26b .departamento-path.active {
    fill: #FFFFFF;
    stroke: #FFFFFF;
}
.elementor-4769 .elementor-element.elementor-element-adce26b .departamento-path.disabled {
    stroke: #CBCBCB;
    z-index: 5;
}
.elementor-4769 .elementor-element.elementor-element-adce26b path.interactive {
    z-index: 10;
}

.elementor-4769 .elementor-element.elementor-element-adce26b .map-pin {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.elementor-4769 .elementor-element.elementor-element-adce26b .pin-text {
    background-color: var(--e-global-color-976d5b2);
    border-radius: 20px;
    color: white !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 3px 12px;
}

.elementor-4769 .elementor-element.elementor-element-adce26b .pin-img-container {
    position: relative;
}

.elementor-4769 .elementor-element.elementor-element-adce26b .pin-img-container:after {
    content: '';
    position: absolute;
    width: 40px;
    height: 40px;
    background: #126A4A;
    border-radius: 20px 20px 4px 20px;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    z-index: -1;
}

.elementor-4769 .elementor-element.elementor-element-adce26b .pin-img-container img {
    background: var(--e-global-color-secondary);
    width: 46px !important;
    height: 46px !important;
    border-radius: 50px;
    padding: 6px;
    z-index: 3;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.38);
}

/* === Puntos pulsantes === */
.pulse-point {
    position: absolute;
    width: 12px;
    height: 12px;
    background-color: white;
    border-radius: 50%;
    animation: pulse-animation 1.5s infinite ease-in-out;
    transform: translate(-50%, -50%); /* Centrar el punto */
    pointer-events: none; /* Para que no interfiera con los eventos */
}

/* Animación de pulso */
@keyframes pulse-animation {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
    50% {
        transform: translate(-50%, -50%) scale(1.5);
        opacity: 0.5;
    }
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0;
    }
}

/* Animación de caída del pin */
@keyframes fallIn {
    0% {
        transform: translate(-50%, -150%) scale(0.5); /* El pin comienza desde una posición más alta (cae) */
        opacity: 0; /* Inicia invisible */
    }
    60% {
        transform: translate(-50%, -110%) scale(1.1); /* Rebota ligeramente hacia abajo */
        opacity: 1; /* Aparece en pantalla */
    }
    80% {
        transform: translate(-50%, -80%) scale(0.95); /* Un pequeño rebote hacia arriba */
    }
    100% {
        transform: translate(-50%, -50%) scale(1); /* El pin se queda en su posición final */
    }
}

/* Animación de rebote infinito */
@keyframes bouncePin {
  0%, 20%, 50%, 80%, 100% {
    transform: translate(-50%, -50%);
  }
  40% {
    transform: translate(-50%, -30px); /* Más alto en el rebote */
  }
  60% {
    transform: translate(-50%, -15px); /* Rebote intermedio */
  }
}

/* Clase para la animación de caída del pin */
.map-pin.animate-fall {
    animation: 
      fallIn 0.6s ease-out forwards,
      bouncePin 2s ease-in-out 0.6s infinite;

}/* End custom CSS */