/* Image hotspots — i2t3 component styles
 * An image with numbered markers; each reveals a popup on hover/focus/click.
 * Marker colour from the theme; positioning via inline left/top percentages.
 */

.i2t3-hotspots {
    position: relative;
    display: inline-block;
    max-width: 100%;
}

.i2t3-hotspots__image {
    display: block;
    max-width: 100%;
    height: auto;
}

.i2t3-hotspots__point {
    position: absolute;
    transform: translate(-50%, -50%);
    border: 0;
    padding: 0;
    background: none;
    cursor: pointer;
    z-index: 1;
}
.i2t3-hotspots__point.is-open {
    z-index: 3;
}

.i2t3-hotspots__dot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--i2t3-primary, #0d6efd);
    color: #fff;
    font-weight: 700;
    font-size: .9rem;
    box-shadow: 0 0 0 4px rgba(13, 110, 253, .3);
    transition: transform .15s ease;
}
.i2t3-hotspots__point:hover .i2t3-hotspots__dot,
.i2t3-hotspots__point:focus .i2t3-hotspots__dot {
    transform: scale(1.12);
}

.i2t3-hotspots__popup {
    position: absolute;
    bottom: calc(100% + .6rem);
    left: 50%;
    transform: translateX(-50%);
    width: 220px;
    max-width: 60vw;
    padding: .75rem .9rem;
    background: #fff;
    color: #212529;
    border-radius: .5rem;
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .2);
    text-align: left;
    opacity: 0;
    visibility: hidden;
    transition: opacity .15s ease;
    pointer-events: none;
}
.i2t3-hotspots__point:hover .i2t3-hotspots__popup,
.i2t3-hotspots__point:focus-within .i2t3-hotspots__popup,
.i2t3-hotspots__point.is-open .i2t3-hotspots__popup {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.i2t3-hotspots__popup::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 7px solid transparent;
    border-top-color: #fff;
}

.i2t3-hotspots__title {
    display: block;
    margin-bottom: .2rem;
}
.i2t3-hotspots__text {
    display: block;
    font-size: .875rem;
    line-height: 1.4;
}
