
/* GALERIA LIGHTBOX */
.project-gallery-trigger {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.project-gallery-trigger .project-cover { margin-bottom: 20px; }
.project-gallery-trigger:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.gallery-open { overflow: hidden; }
.gallery-lightbox[hidden] { display: none; }
.gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(0, 0, 0, .92);
}
.gallery-panel { position: relative;
    width: min(100%, 1100px);
    min-width: 0;
    text-align: center;
    color: var(--text); }
.gallery-panel h3 { margin: 0 40px 16px; font-size: clamp(1rem, 2vw, 1.4rem); }
.gallery-close, .gallery-prev, .gallery-next {
    border: 0;
    color: white;
    background: rgba(30, 32, 37, .85);
    cursor: pointer;
    border-radius: 5px;
    font-size: 2rem;
}
.gallery-close { position: absolute; right: 0; top: -8px; width: 40px; height: 40px; }
.gallery-view { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: 10px; }
.gallery-prev, .gallery-next { height: 60px; }
.gallery-image { display: block; width: 100%; height: auto; max-height: 75vh; object-fit: contain; margin: auto; }
.gallery-count { margin-top: 12px; color: var(--text-muted); }
@media (max-width: 600px) {
    .gallery-lightbox { padding: 8px; }
    .gallery-view { grid-template-columns: 30px minmax(0, 1fr) 30px; gap: 4px; }
    .gallery-prev, .gallery-next { font-size: 1.5rem; height: 48px; }
}
