/* V45 — stable TV + Travel presentation.
   Natural image proportions, three editorial columns, and no scroll-triggered
   transforms. Removing the animated reveal prevents visible movement while
   lazy images decode or enter the viewport. */
html:has(body.tv-gallery),
html:has(body.travel-gallery) {
  scroll-behavior: auto;
}

body.tv-gallery .vertical-grid,
body.travel-gallery .vertical-grid {
  display: block !important;
  width: 100%;
  column-count: 3;
  column-gap: 8px;
  column-fill: balance;
}

body.tv-gallery .vertical-grid__item,
body.travel-gallery .vertical-grid__item {
  display: inline-block !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  vertical-align: top;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
}

body.tv-gallery .vertical-grid__photo,
body.travel-gallery .vertical-grid__photo {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
  will-change: auto !important;
}

/* Avoid the subtle hover scale that can make the column appear to jump. */
@media (hover:hover) and (pointer:fine) {
  body.tv-gallery .vertical-grid__item:hover .vertical-grid__photo,
  body.travel-gallery .vertical-grid__item:hover .vertical-grid__photo {
    transform: none !important;
  }
}

@media (max-width: 900px) {
  body.tv-gallery .vertical-grid,
  body.travel-gallery .vertical-grid {
    column-count: 2;
  }
}

@media (max-width: 600px) {
  body.tv-gallery .vertical-grid,
  body.travel-gallery .vertical-grid {
    column-count: 1;
    column-gap: 0;
  }
}
