.mip-wrap {
    position: relative;
    display: inline-block;
}

.mip-wrap img {
    display: block;
}

.mip-pin-overlay {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.2s ease-out;
    pointer-events: none;
}

/* Base button */
.mip-pin-button {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.03em;
    border-radius: 999px;
    text-decoration: none;
    color: #ffffff;
    background: #e60023;
    box-shadow: 0 4px 10px rgba(0,0,0,0.25);
    opacity: 0;
    transform-origin: center;
    transition: opacity 0.2s ease-out, transform 0.2s ease-out, background 0.15s ease-out;
    z-index: 5;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.mip-pin-button .mip-pin-label {
    white-space: nowrap;
}

/* Font Awesome icon inside button */
.mip-fa-icon {
    font-size: 16px;
    line-height: 1;
}

/* Hover behaviour */
.mip-wrap:hover .mip-pin-overlay,
.mip-wrap:hover .mip-pin-button {
    opacity: 1;
}

.mip-wrap:hover .mip-pin-button {
    transform: translate3d(0,0,0) scale(1.02);
}

.mip-wrap .mip-pin-button {
    transform: translate3d(0,0,0) scale(1);
}

/* Always-show mode */
.mip-wrap.mip-show-always .mip-pin-overlay,
.mip-wrap.mip-show-always .mip-pin-button {
    opacity: 1;
}

/* Background elements */
.mip-bg-target {
    position: relative;
    display: block;
}

/* Simple mobile tweak */
@media (hover: none) {
    .mip-wrap .mip-pin-overlay,
    .mip-wrap .mip-pin-button {
        opacity: 1;
    }
}
