/* PARUS photo gallery — load after css/style.css */
.photo-gallery { background: var(--color-white); }
.gallery-heading { display: grid; gap: 20px; align-items: end; }
.gallery-lead { max-width: 410px; margin: 0; color: var(--color-navy-mid); font-size: 1.02rem; }
.gallery-filters { display: flex; flex-wrap: wrap; gap: 9px; margin: 34px 0 24px; }
.gallery-filter {
  border: 1px solid rgba(13, 59, 84, .2); border-radius: 999px; padding: 9px 16px;
  background: transparent; color: var(--color-navy-mid); font: 700 .8rem/1 var(--font-body);
  letter-spacing: .04em; cursor: pointer; transition: .2s ease;
}
.gallery-filter:hover, .gallery-filter:focus-visible { border-color: var(--color-blue-accent); color: var(--color-blue-accent); outline: none; }
.gallery-filter.is-active { background: var(--color-navy-deep); border-color: var(--color-navy-deep); color: var(--color-white); }
.gallery-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
.gallery-card { position: relative; overflow: hidden; min-height: 250px; border: 0; border-radius: var(--radius-md); padding: 0; color: var(--color-white); background: var(--color-navy-deep); cursor: zoom-in; text-align: left; }
.gallery-card__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s var(--transition-base); }
.gallery-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 37%, rgba(7, 27, 46, .85) 100%); }
.gallery-card__content { position: relative; z-index: 1; display: flex; min-height: 250px; flex-direction: column; justify-content: end; padding: 22px; }
.gallery-card__category { margin: 0 0 7px; color: var(--color-gold); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.gallery-card__title { margin: 0; color: var(--color-white); font-size: clamp(1.35rem, 2.4vw, 1.7rem); }
.gallery-card:hover .gallery-card__image, .gallery-card:focus-visible .gallery-card__image { transform: scale(1.06); }
.gallery-card:focus-visible { outline: 3px solid var(--color-gold); outline-offset: 3px; }
.gallery-status { margin: 24px 0 0; color: var(--color-navy-mid); }
.gallery-status.is-error { color: #a42727; }
.gallery-lightbox[hidden] { display: none; }
.gallery-lightbox { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 20px; }
.gallery-lightbox__backdrop { position: absolute; inset: 0; border: 0; background: rgba(7, 27, 46, .92); cursor: default; }
.gallery-lightbox__dialog { position: relative; z-index: 1; width: min(100%, 1080px); max-height: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; }
.gallery-lightbox__figure { max-height: calc(100vh - 40px); margin: 0; overflow: auto; border-radius: var(--radius-md); background: var(--color-navy-deep); }
.gallery-lightbox__figure img { display: block; width: 100%; max-height: min(68vh, 700px); object-fit: contain; background: #06111d; }
.gallery-lightbox figcaption { padding: 18px 22px 22px; color: var(--color-text-muted); }
.gallery-lightbox figcaption h3 { margin: 0 0 6px; color: var(--color-white); font-size: 1.6rem; }
.gallery-lightbox figcaption p { margin: 0; }
.gallery-lightbox__category { margin-bottom: 7px !important; color: var(--color-gold) !important; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.gallery-lightbox__close, .gallery-lightbox__arrow { border: 0; color: var(--color-white); background: rgba(255,255,255,.12); cursor: pointer; transition: background .2s ease; }
.gallery-lightbox__close:hover, .gallery-lightbox__close:focus-visible, .gallery-lightbox__arrow:hover, .gallery-lightbox__arrow:focus-visible { background: var(--color-blue-accent); outline: 2px solid var(--color-gold); }
.gallery-lightbox__close { position: absolute; top: 10px; right: 10px; z-index: 2; width: 42px; height: 42px; border-radius: 50%; font-size: 2rem; line-height: 1; }
.gallery-lightbox__arrow { width: 40px; height: 48px; margin: 8px; border-radius: 8px; font-size: 1.5rem; }
body.gallery-is-open { overflow: hidden; }
@media (min-width: 640px) { .gallery-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .gallery-heading { grid-template-columns: 1fr auto; } .gallery-grid { grid-template-columns: repeat(3, 1fr); } .gallery-card:nth-child(5n + 1) { grid-column: span 2; } .gallery-card:nth-child(5n + 1), .gallery-card:nth-child(5n + 1) .gallery-card__content { min-height: 340px; } }
@media (max-width: 639px) { .gallery-lightbox { padding: 10px; } .gallery-lightbox__arrow { position: absolute; z-index: 2; bottom: 12px; } .gallery-lightbox__arrow--prev { left: 10px; } .gallery-lightbox__arrow--next { right: 10px; } }
