/* gallery-page.css — Gallery page only */

body[data-page="gallery"] .gallery-item img {
  object-position: center 42%;
}

body[data-page="gallery"] .gallery-controls {
  margin: clamp(18px, 3vw, 28px) auto clamp(12px, 2vw, 18px);
}

body[data-page="gallery"] .gallery-controls .filter-bar {
  margin-bottom: 10px;
}

body[data-page="gallery"] .gallery-controls .gallery-filter-status {
  margin: 0;
}

/* Keep photo context visible on non-hover devices and keyboard navigation */
body[data-page="gallery"] .gallery-item-overlay {
  background: linear-gradient(
    to top,
    rgba(28, 25, 22, 0.5) 0%,
    rgba(28, 25, 22, 0.14) 52%,
    rgba(28, 25, 22, 0.02) 100%
  );
  align-items: flex-start;
  justify-content: flex-end;
  gap: 4px;
  padding: 14px;
}

body[data-page="gallery"] .gallery-item-label,
body[data-page="gallery"] .gallery-item-cat {
  opacity: 1;
  transform: none;
}

body[data-page="gallery"] .gallery-item:hover .gallery-item-overlay,
body[data-page="gallery"] .gallery-item:focus-visible .gallery-item-overlay,
body[data-page="gallery"] .gallery-item:focus-within .gallery-item-overlay {
  background: linear-gradient(
    to top,
    rgba(28, 25, 22, 0.66) 0%,
    rgba(28, 25, 22, 0.26) 56%,
    rgba(28, 25, 22, 0.08) 100%
  );
}

body[data-page="gallery"] .gallery-cta-band {
  background:
    linear-gradient(
      to bottom,
      transparent 0%,
      transparent 40%,
      rgba(28, 25, 22, 0.88) 65%,
      rgba(28, 25, 22, 0.95) 100%
    ),
    url("/images/bridalparty.webp") center / cover no-repeat;
  min-height: 64vh;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  position: relative;
  overflow: hidden;
}
