/* =====================================================
   Evo Image Hotspots – frontend styles
   Forked from Bricksable, extended by Protos Digital
   ===================================================== */

.brxe-evo-image-hotspots {
    position: relative;
}

.ba-image-hotspot-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.ba-image-hotspot-item {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    cursor: pointer;
    line-height: 1;
}

.ba-image-hotspot-icon-wrapper {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
}

.ba-image-hotspot-item-wrapper {
    position: relative;
    z-index: 1;
    line-height: 0;
}

.ba-image-hotspot-content-wrapper {
    display: none;
}

.ba-image-hotspot-img {
    display: block;
    width: 100%;
}

.ba-image-hotspot-icon-image {
    width: 30px;
}

/* ── Pulse animation ─────────────────────────────── */
.ba-image-hotspot-pulse::before {
    content: "";
    display: block;
    position: absolute;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 50px;
    pointer-events: none;
    -webkit-animation: 1.5s ease-in-out infinite ba-image-hotspot-pulse-grow;
    animation: 1.5s ease-in-out infinite ba-image-hotspot-pulse-grow;
    opacity: 0;
    background-color: #fff;
}

@-webkit-keyframes ba-image-hotspot-pulse-grow {
    0%   { -webkit-transform: scale(.1, .1); transform: scale(.1, .1); opacity: 0; }
    50%  { opacity: 1; }
    100% { -webkit-transform: scale(1.5, 1.5); transform: scale(1.5, 1.5); opacity: 0; }
}

@keyframes ba-image-hotspot-pulse-grow {
    0%   { -webkit-transform: scale(.1, .1); transform: scale(.1, .1); opacity: 0; }
    50%  { opacity: 1; }
    100% { -webkit-transform: scale(1.5, 1.5); transform: scale(1.5, 1.5); opacity: 0; }
}
