/* Image Copy Protection */

.image-protected {
    position: relative;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    border: none;
}

/* Disable iOS/Safari long-press callout on protected media and links */
.image-protected,
.image-protected *,
.ad-detail-gallery a,
.ad-detail-gallery img,
.fancybox__container,
.fancybox__container * {
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    user-select: none !important;
}

.image-protected img {
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
    pointer-events: auto;
}

/* Transparent overlay to prevent right-click on image */
.image-protected::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: transparent;
    z-index: 10;
    pointer-events: none;
}

/* Watermark overlay (optional, can be toggled) */
.watermark-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-30deg);
    opacity: 0.08;
    pointer-events: none;
    z-index: 5;
    font-size: 1.5rem;
    color: white;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
    white-space: nowrap;
    letter-spacing: 3px;
    font-weight: 700;
}

/* Disable text selection on gallery */
.ad-detail-gallery,
.fancybox__container {
    user-select: none;
    -webkit-user-select: none;
}

/* Fancybox overrides for protection */
.fancybox__container img {
    -webkit-user-drag: none;
    pointer-events: none;
}

/* Make Fancybox background more transparent */
.fancybox__container {
    --fancybox-bg: rgba(0, 0, 0, 0.45);
    --ll-fancybox-radius: 20px;
}

.fancybox__backdrop {
    background: rgba(0, 0, 0, 0.45) !important;
}

/* Round corners on Fancybox lightbox images (clip-path only, no sizing changes) */
.fancybox__container .fancybox__image,
.fancybox__container .fancybox__slide img {
    clip-path: inset(0 round 15px) !important;
}

/* Make Fancybox images use more of the viewport */
.fancybox__container .fancybox__slide {
    padding: 0.5vh 0.5vw !important;
}

.fancybox__container .fancybox__image,
.fancybox__container .fancybox__content img {
    max-width: 98vw !important;
    max-height: 98vh !important;
}

/* Override Fancybox inline width/height on image content blocks */
.fancybox__container .has-image .fancybox__content {
    width: 98vw !important;
    height: 98vh !important;
    max-width: 98vw !important;
    max-height: 98vh !important;
}

.fancybox__container .fancybox__slide.has-image .fancybox__content,
.fancybox__container .fancybox__slide.is-image .fancybox__content {
    width: 98vw !important;
    height: 98vh !important;
    border-radius: var(--ll-fancybox-radius) !important;
    overflow: hidden !important;
    clip-path: inset(0 round var(--ll-fancybox-radius)) !important;
}

/* When image protection is enabled, Fancybox can render a protected wrapper layer. */
.fancybox__container .fancybox-protected {
    border-radius: var(--ll-fancybox-radius) !important;
    overflow: hidden !important;
    clip-path: inset(0 round var(--ll-fancybox-radius)) !important;
    background-clip: padding-box !important;
}

.fancybox__container .fancybox__slide.has-image .fancybox__image,
.fancybox__container .fancybox__slide.is-image .fancybox__image,
.fancybox__container .fancybox__content img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    border-radius: var(--ll-fancybox-radius) !important;
    clip-path: inset(0 round var(--ll-fancybox-radius)) !important;
    overflow: hidden !important;
    display: block !important;
}

/* Fancybox v5 can wrap image content in panzoom layers; round those too. */
.fancybox__container .fancybox__slide.has-image .f-panzoom,
.fancybox__container .fancybox__slide.is-image .f-panzoom,
.fancybox__container .fancybox__slide.has-image .f-panzoom__viewport,
.fancybox__container .fancybox__slide.is-image .f-panzoom__viewport,
.fancybox__container .fancybox__slide.has-image .f-panzoom__content,
.fancybox__container .fancybox__slide.is-image .f-panzoom__content {
    border-radius: var(--ll-fancybox-radius) !important;
    overflow: hidden !important;
    clip-path: inset(0 round var(--ll-fancybox-radius)) !important;
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Last-resort clipping on any direct media inside image slides */
.fancybox__container .fancybox__slide.has-image img,
.fancybox__container .fancybox__slide.is-image img,
.fancybox__container .fancybox__slide.has-image picture,
.fancybox__container .fancybox__slide.is-image picture {
    border-radius: var(--ll-fancybox-radius) !important;
    overflow: hidden !important;
    clip-path: inset(0 round var(--ll-fancybox-radius)) !important;
}

/* Hide Fancybox top controls (close + toolbar nav) */
.fancybox__container .f-button.is-close-btn,
.fancybox__toolbar .f-button.is-prev,
.fancybox__toolbar .f-button.is-next {
    display: none !important;
}

/* Hide Fancybox thumbnails strip */
.fancybox__thumbs,
.f-thumbs {
    display: none !important;
}

/* Prevent page layout shift when Fancybox opens/closes by disabling scrollbar compensation. */
html.with-fancybox {
    --fancybox-scrollbar-compensate: 0px !important;
    margin-right: 0 !important;
}

html.with-fancybox body {
    margin-right: 0 !important;
}
