/* ========================================
   Modern Lightbox
   ======================================== */
.lightbox-overlay { 
    position: fixed; 
    inset: 0; 
    background: rgba(0, 0, 0, 0.95); 
    z-index: 10000; 
    display: none !important; 
    align-items: center; 
    justify-content: center; 
    backdrop-filter: blur(10px); 
}

.lightbox-overlay.show { 
    display: flex !important; 
    animation: fadeIn 0.3s; 
}

.lightbox-content { 
    position: relative; 
    max-width: 90vw; 
    max-height: 90vh; 
}

.lightbox-img { 
    max-width: 100%; 
    max-height: 90vh; 
    object-fit: contain; 
    border-radius: 4px; 
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.5); 
}

.lightbox-close { 
    position: absolute; 
    top: -50px; 
    right: 0; 
    color: #fff; 
    font-size: 30px; 
    cursor: pointer; 
    opacity: 0.7; 
    transition: 0.2s; 
}

.lightbox-close:hover { 
    opacity: 1; 
    transform: scale(1.1); 
}

.lightbox-nav { 
    position: absolute; 
    top: 50%; 
    width: 50px; 
    height: 50px; 
    background: rgba(255, 255, 255, 0.1); 
    border-radius: 50%; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    color: #fff; 
    cursor: pointer; 
    transition: 0.2s; 
}

.lightbox-nav:hover { 
    background: rgba(255, 255, 255, 0.2); 
}

.lightbox-prev { left: -70px; }
.lightbox-next { right: -70px; }

@media (max-width: 768px) {
    .lightbox-nav { 
        width: 40px; 
        height: 40px; 
        top: auto; 
        bottom: -60px; 
    }
    .lightbox-prev { left: calc(50% - 60px); }
    .lightbox-next { right: calc(50% - 60px); }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}