.mg-protected-media {
    position: relative;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
}

.mg-protected-media *,
.mg-reveal-stage,
.mg-reveal-stage * {
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    user-select: none !important;
}

.mg-protected-media img {
    pointer-events: none;
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
}

.mg-reveal-stage img {
    -webkit-user-drag: none !important;
    user-drag: none;
}

.mg-image-protection-layer {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: block;
    background: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
}

.mg-lightbox figure .mg-image-protection-layer {
    bottom: 42px;
}

.mg-reveal-stage {
    position: relative;
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    border-radius: 14px;
    background: #241e29;
    line-height: 0;
    cursor: crosshair;
    touch-action: none;
    -webkit-touch-callout: none;
}

.mg-reveal-stage .mg-reveal-blurred {
    display: block;
    max-width: 100%;
    max-height: 78vh;
    object-fit: contain;
    filter: blur(34px) saturate(.48) brightness(.56);
    transform: scale(1.10);
    pointer-events: none;
}

.mg-reveal-lens {
    --mg-lens-size: clamp(175px, 23vw, 250px);
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 5;
    width: var(--mg-lens-size);
    height: var(--mg-lens-size);
    border: 4px solid rgba(255, 255, 255, .96);
    border-radius: 50%;
    background-repeat: no-repeat;
    box-shadow: 0 10px 35px rgba(0, 0, 0, .48), inset 0 0 0 2px rgba(82, 54, 116, .58);
    transform: translate(-50%, -50%) scale(.82);
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    transition: opacity .16s ease, transform .16s ease;
}

.mg-reveal-stage.is-revealing .mg-reveal-lens {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.mg-reveal-instruction {
    position: absolute;
    left: 50%;
    bottom: 16px;
    z-index: 6;
    transform: translateX(-50%);
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(25, 18, 29, .78);
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: center;
    font: 700 12px/1.2 sans-serif;
    line-height: 1.2;
    white-space: nowrap;
    pointer-events: none;
}

.mg-reveal-instruction small {
    font-size: 10px;
    font-weight: 500;
    opacity: .82;
}

@media (max-width: 600px) {
    .mg-reveal-lens { --mg-lens-size: 170px; }
    .mg-reveal-stage .mg-reveal-blurred { max-height: 72vh; }
    .mg-reveal-instruction { bottom: 12px; font-size: 11px; }
}

.mg-photo-card .mg-favorite {
    z-index: 6;
}
