/* Persistent navigation and full-gallery enhancements. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255, 250, 252, .97);
  box-shadow: 0 8px 24px rgba(48, 43, 41, 0);
  transition: box-shadow .2s ease;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.site-header.is-scrolled { box-shadow: 0 8px 24px rgba(48, 43, 41, .12); }
.gallery-all-link { margin: 36px 0 0; text-align: center; }
.collection-viewer { max-width: 980px; margin: 0 auto; }
.collection-frame {
  background: #241f1e;
  display: grid;
  place-items: center;
  min-height: 320px;
  max-height: 68vh;
  overflow: hidden;
}
.collection-frame img { width: 100%; height: min(68vh, 720px); object-fit: contain; }
.collection-meta { display: flex; justify-content: space-between; gap: 24px; padding: 16px 0; color: var(--muted); font-size: 12px; }
.collection-meta span:first-child { color: var(--pink); font-weight: 700; white-space: nowrap; }
.collection-controls { display: flex; justify-content: center; gap: 14px; margin-top: 8px; }
.collection-controls button { background: var(--paper); border: 1px solid var(--line); padding: 12px 20px; cursor: pointer; color: var(--ink); }
.collection-controls button:hover { border-color: var(--pink); color: var(--pink); }
@media (max-width: 760px) {
  html { scroll-padding-top: 94px; }
  .site-header { padding: 14px 24px; }
  .site-header nav.is-open { max-height: calc(100dvh - 84px); overflow-y: auto; padding: 8px 0 14px; }
  .site-header nav a { min-height: 44px; display: flex; align-items: center; }
  .collection-frame { min-height: 220px; }
  .collection-frame img { height: min(58vh, 560px); }
  .collection-meta { display: block; }
  .collection-meta span { display: block; }
  .collection-meta span + span { margin-top: 7px; }
  .collection-controls button { flex: 1; padding: 12px 10px; }
}
