.ih-wrapper{
    position: relative;
    display: inline-block;
}

.ih-point:hover{
    z-index:999;
}

/* HOTSPOT */
.ih-point{
    position:absolute;
    transform:translate(-50%,-50%);
}

/* DOT */
.ih-dot{
    border-radius:50%;
    cursor:pointer;
    transition: all 0.25s ease;
}

/* HOVER */
.ih-point:hover .ih-dot{
    transform:scale(1.2);
}

/* TOOLTIP */
.ih-tooltip{
    position:absolute;
    top:30px;
    left:50%;
    transform:translateX(-50%) translateY(10px);

    padding:12px;
    border-radius:8px;

    opacity:0;
    transition: all 0.25s ease;

    min-width:150px;
    z-index:100;

    pointer-events:none; /* 🔥 CLAVE */
}

.ih-tooltip{
    z-index:9999; /* 🔥 MUY alto */
}

.ih-dot:hover + .ih-tooltip{
    opacity:1;
    transform:translateX(-50%) translateY(0);
}

/* mostrar */
.ih-point:hover .ih-tooltip{
    opacity:1;
    transform:translateX(-50%) translateY(0);
}

/* flecha */
.ih-tooltip::after{
    content:"";
    position:absolute;
    top:-6px;
    left:50%;
    transform:translateX(-50%);
    
    border-width:6px;
    border-style:solid;
    border-color:transparent transparent #000 transparent;
}

/* MOBILE CLICK */
.ih-point.open .ih-tooltip{
    opacity:1;
    transform:translateX(-50%) translateY(0);
    pointer-events:auto;
}

.ih-dot{
    animation: pulse 2s infinite;
}

@keyframes pulse{
    0%{ box-shadow:0 0 0 0 rgba(255,0,0,0.6);}
    70%{ box-shadow:0 0 0 12px rgba(255,0,0,0);}
    100%{ box-shadow:0 0 0 0 rgba(255,0,0,0);}
}