/* Photos lightbox overlay */ .photos-lightbox { position: fixed; inset: 0; z-index: 10000; background: var(--color-lightbox-overlay); 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: var(--color-lightbox-btn-bg); color: var(--color-lightbox-btn-text); font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.15s; z-index: 10001; } .lightbox-nav:hover { background: var(--color-lightbox-btn-hover); } .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: var(--color-lightbox-btn-bg); color: var(--color-lightbox-btn-text); font-size: 18px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.15s; z-index: 10001; } .lightbox-close:hover { background: var(--color-lightbox-btn-hover); } /* Top info bar */ .lightbox-info { position: absolute; top: 0; left: 0; right: 0; padding: 16px 70px 16px 20px; background: var(--color-lightbox-gradient-top); color: var(--color-lightbox-btn-text); 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: var(--color-lightbox-text-muted); display: flex; gap: 12px; flex-wrap: wrap; } /* Bottom toolbar */ .lightbox-toolbar { position: absolute; bottom: 0; left: 0; right: 0; padding: 16px 20px; background: var(--color-lightbox-gradient-bottom); display: flex; align-items: center; justify-content: center; gap: 8px; z-index: 10001; } .lightbox-toolbar button { background: var(--color-lightbox-btn-bg); border: none; color: var(--color-lightbox-btn-text); 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: var(--color-lightbox-btn-hover); } .lightbox-toolbar button.active { color: var(--color-accent); } /* Counter */ .lightbox-counter { position: absolute; bottom: 16px; left: 20px; color: var(--color-lightbox-text-faint); 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; } }