/**
 * Lumina Photography — Lightbox & Modal CSS
 * Supplementary styles for the lightbox and video modal.
 *
 * @package LuminaPhotography
 */

/* Already defined in main.css — this file adds transition polish */

/* ── Glassmorphism overlay: dim + blur the page behind the modal ── */
.lightbox,
.video-modal {
    background: rgba(10, 10, 14, 0.55);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
    backdrop-filter: blur(14px) saturate(120%);
}

/* ── Glassmorphism container around the image/video ── */
.lightbox-content,
.video-modal-content {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--glass-border, rgba(255,255,255,0.08));
    border-radius: var(--radius-lg, 16px);
    padding: 1rem;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    box-shadow: 0 20px 60px rgba(0,0,0,0.45);
}

.lightbox-img {
    border-radius: var(--radius-md, 8px);
}

.video-modal iframe,
.video-modal video {
    border-radius: var(--radius-md, 8px);
}

.lightbox {
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.lightbox-img {
    animation: lightbox-img-in 0.3s cubic-bezier(0.4,0,0.2,1) forwards;
}

@keyframes lightbox-img-in {
    from { opacity: 0; transform: scale(0.94); }
    to   { opacity: 1; transform: scale(1); }
}

/* Swipe hint on mobile */
@media (max-width: 768px) {
    .lightbox-nav { display: none; }
    .lightbox-content::after {
        content: '← Swipe →';
        display: block;
        text-align: center;
        font-size: 0.65rem;
        letter-spacing: 0.2em;
        color: rgba(255,255,255,0.3);
        text-transform: uppercase;
        margin-top: 0.75rem;
    }
}

/* Video modal entrance */
.video-modal-content {
    animation: modal-in 0.35s cubic-bezier(0.4,0,0.2,1) forwards;
}

.video-modal.active .video-modal-content {
    animation: modal-in 0.35s cubic-bezier(0.4,0,0.2,1) forwards;
}

@keyframes modal-in {
    from { opacity: 0; transform: scale(0.92) translateY(20px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}
