/* Photos lightbox overlay */ .photos-lightbox { position: fixed; inset: 0; z-index: 10000; background: rgba(0, 0, 0, 0.92); display: flex; flex-direction: column; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.2s ease; pointer-events: none; } .photos-lightbox.active { opacity: 1; pointer-events: auto; } /* Main content area */ .lightbox-content { position: relative; max-width: 90vw; max-height: 85vh; display: flex; align-items: center; justify-content: center; } .lightbox-content img, .lightbox-content video { max-width: 90vw; max-height: 85vh; object-fit: contain; border-radius: 4px; user-select: none; } /* Navigation arrows */ .lightbox-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; border: none; background: rgba(255, 255, 255, 0.12); color: #fff; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.15s; z-index: 10001; } .lightbox-nav:hover { background: rgba(255, 255, 255, 0.25); } .lightbox-prev { left: 20px; } .lightbox-next { right: 20px; } /* Close button */ .lightbox-close { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; border-radius: 50%; border: none; background: rgba(255, 255, 255, 0.12); color: #fff; font-size: 18px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.15s; z-index: 10001; } .lightbox-close:hover { background: rgba(255, 255, 255, 0.25); } /* Top info bar */ .lightbox-info { position: absolute; top: 0; left: 0; right: 0; padding: 16px 70px 16px 20px; background: linear-gradient(to bottom, rgba(0,0,0,0.6), transparent); color: #fff; z-index: 10001; } .lightbox-filename { font-size: 15px; font-weight: 600; margin-bottom: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .lightbox-meta { font-size: 12px; color: rgba(255, 255, 255, 0.7); display: flex; gap: 12px; flex-wrap: wrap; } /* Bottom toolbar */ .lightbox-toolbar { position: absolute; bottom: 0; left: 0; right: 0; padding: 16px 20px; background: linear-gradient(to top, rgba(0,0,0,0.6), transparent); display: flex; align-items: center; justify-content: center; gap: 8px; z-index: 10001; } .lightbox-toolbar button { background: rgba(255, 255, 255, 0.12); border: none; color: #fff; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 16px; transition: background 0.15s; } .lightbox-toolbar button:hover { background: rgba(255, 255, 255, 0.25); } .lightbox-toolbar button.active { color: #ff5e3a; } /* Counter */ .lightbox-counter { position: absolute; bottom: 16px; left: 20px; color: rgba(255, 255, 255, 0.5); font-size: 13px; z-index: 10001; } /* Responsive */ @media (max-width: 768px) { .lightbox-nav { width: 36px; height: 36px; font-size: 16px; } .lightbox-prev { left: 8px; } .lightbox-next { right: 8px; } .lightbox-content img, .lightbox-content video { max-width: 100vw; max-height: 80vh; } }