/* Site-wide scroll lazy-load helpers */
img.lazy-body-pending,
iframe.lazy-body-pending {
  background: rgba(255, 255, 255, 0.04);
  content-visibility: auto;
}

img.lazy-body-pending:not([src]),
img.lazy-body-pending[src^="data:image/gif"] {
  min-height: 1px;
  opacity: 0.35;
  transition: opacity 0.2s ease;
}

img.lazy-body-loaded {
  opacity: 1;
}

/* Off-screen body chunks: skip layout/paint until near viewport.
 * Do NOT apply content-visibility to individual casino game tiles —
 * it zeros layout for nested imgs and blocks IntersectionObserver. */
html.lazy-body-on .layout-content-holder-bc > .hm-row-bc,
html.lazy-body-on .layout-footer-holder-bc,
html.lazy-body-on .desktop-casino-slots-page > .hm-row-bc,
html.lazy-body-on .desktop-casino-slots-page > .casinoProviderContent,
html.lazy-body-on .home-vendor-carousel-row,
html.lazy-body-on .casino-slots-toolbar {
  content-visibility: auto;
  contain-intrinsic-size: 1px 120px;
}

html.lazy-body-on #casino_games_container .casinoGameItemContent,
html.lazy-body-on #casino_games_container .casinoGameItemImage,
html.lazy-body-on .casino-game-item-image-bc {
  content-visibility: visible !important;
  contain-intrinsic-size: auto !important;
}

html.lazy-body-on .layout-header-holder-bc,
html.lazy-body-on .layout-header-holder-bc * {
  content-visibility: visible;
  contain-intrinsic-size: auto;
}
