.gallery__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; }
@media (min-width: 700px)  { .gallery__grid { grid-template-columns: repeat(3, 1fr); gap: .9rem; } }
@media (min-width: 1000px) { .gallery__grid { grid-template-columns: repeat(4, 1fr); } }
.gallery__item { display: block; aspect-ratio: 3 / 4; overflow: hidden; border-radius: var(--radius-card, 10px); background: var(--color-surface); border: 1px solid var(--color-line); }
.gallery__item[hidden] { display: none; }
.gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.gallery__item:hover img { transform: scale(1.05); }
.gallery__item:focus-visible { outline: 3px solid var(--color-cream); outline-offset: 3px; }
.gallery__more { text-align: center; margin-top: 2rem; }
.gallery__more[hidden] { display: none; }

.lightbox { position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; background: rgba(3, 4, 9, .94); }
.lightbox.is-open { display: flex; }
.lightbox img { max-width: 94vw; max-height: 90vh; border-radius: 6px; }
.lightbox button { position: absolute; background: none; border: 0; color: #fff; font-size: 2.4rem; line-height: 1; cursor: pointer; padding: .75rem 1rem; }
.lightbox__close { top: .5rem; right: .5rem; }
.lightbox__prev { left: .25rem; top: 50%; transform: translateY(-50%); }
.lightbox__next { right: .25rem; top: 50%; transform: translateY(-50%); }
