/* All rules are scoped: existing photo crops and comparison layouts stay intact. */
.rd-photo-trigger { cursor: zoom-in; -webkit-tap-highlight-color: transparent; pointer-events: auto !important; }
.rdv5-hero .rd-photo-launcher { position: absolute; z-index: 4; top: 90px; right: 16px; min-height: 44px; padding: 8px 12px; border: 1px solid #ffffff80; border-radius: 6px; color: #fff; background: #171219bb; font: 500 13px/1.3 system-ui, sans-serif; cursor: zoom-in; }
.rd-photo-launcher:focus-visible { outline: 3px solid #d9a9ef; outline-offset: 3px; }
.rd-photo-trigger:focus-visible { outline: 3px solid #c193d5; outline-offset: 4px; }
.rd-photo-trigger[aria-busy="true"] { cursor: progress; }
.rd-project-pair .rd-photo-trigger:focus-visible { outline-offset: -5px; }
.rd-lightbox.pswp { z-index: 2147483000; --pswp-bg: #171219; --pswp-icon-color: #fff; --pswp-icon-color-secondary: #171219; --pswp-icon-stroke-color: #171219; }
.rd-lightbox .pswp__top-bar { padding-top: env(safe-area-inset-top, 0px); padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px); box-sizing: border-box; }
.rd-lightbox .pswp__button { min-width: 48px; min-height: 48px; margin: 0; border-radius: 0; box-shadow: none; }
/* Keep the close control visible on touch screens, including single photos. */
.rd-lightbox .pswp__button--close { width: 48px; height: 48px; margin: 8px; box-sizing: border-box; border: 1px solid #ffffff80; border-radius: 50%; background: #171219; opacity: 1; visibility: visible; pointer-events: auto; }
.rd-lightbox .pswp__button--close .pswp__icn { width: 30px; height: 30px; top: 8px; left: 8px; }
.rd-lightbox .pswp__button:focus-visible { outline: 3px solid #d9a9ef; outline-offset: -5px; }
.rd-lightbox .pswp__counter { color: #fff; text-shadow: 0 1px 4px #000; }
.rd-lightbox .pswp__img { max-width: none; max-height: none; border-radius: 0; object-fit: contain; }
.rd-lightbox .rd-photo-caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 12px max(20px, env(safe-area-inset-right, 0px)) max(14px, env(safe-area-inset-bottom, 0px)); box-sizing: border-box; color: #fff; text-align: center; font: 500 14px/1.45 system-ui, sans-serif; background: linear-gradient(transparent, #171219dd); pointer-events: none; }
.rd-lightbox .rd-photo-caption:empty { display: none; }
.rd-lightbox .pswp__button--arrow { width: 48px; background: #17121966; border-radius: 6px; }
.rd-lightbox .pswp__button--arrow .pswp__icn { width: 32px; height: 32px; left: 8px; right: auto; top: 50%; margin-top: -16px; }
@media (max-width: 600px) {
    .rd-lightbox .pswp__button--arrow { top: auto; bottom: max(62px, env(safe-area-inset-bottom, 0px)); margin-top: 0; height: 48px; }
    .rd-lightbox .pswp__button--arrow--prev { left: 8px; }
    .rd-lightbox .pswp__button--arrow--next { right: 8px; }
}
@media (prefers-reduced-motion: reduce) {
    .rd-lightbox, .rd-lightbox * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
