/* Shared cover treatment on every case preview. Full originals in the fitted
   viewer remain unobstructed. No duplicated image, canvas or new render loop. */
.rentals-case .rental-image.zoom-button { position:relative;overflow:hidden;isolation:isolate;border:2px solid var(--yellow);padding:0; }
.rentals-case .rental-image.zoom-button::before,
.rentals-case .rental-image.zoom-button::after { content:"";position:absolute;pointer-events:none;z-index:2; }
.rentals-case .rental-image.zoom-button::before { inset:0;background-image:radial-gradient(circle,#e5cd7166 .65px,transparent .9px);background-size:4px 4px;opacity:.26; }
.rentals-case .rental-image.zoom-button::after { left:0;right:0;top:-2px;height:1px;background:var(--yellow);opacity:.32;box-shadow:0 -2px 8px #e5cd7126;animation:media-screen-sweep 9s linear infinite;animation-play-state:paused; }
.rentals-case .rental-image.zoom-button.screen-visible::after { animation-play-state:running; }
.rentals-case .rental-chapter:nth-child(2n) .rental-image.zoom-button::after { animation-delay:-3s; }
.rentals-case .rental-chapter:nth-child(3n) .rental-image.zoom-button::after { animation-delay:-6s; }
.rentals-case .rental-image.zoom-button.screen-pulse::before { animation:media-screen-pulse 200ms ease-out 1; }
/* Glass mirrors deliberately omit both overlays rather than duplicating work. */
.glass-fragments .rentals-case .rental-image.zoom-button::before,
.glass-fragments .rentals-case .rental-image.zoom-button::after { content:none;display:none;animation:none!important; }
@media(prefers-reduced-motion:reduce){
 .rentals-case .rental-image.zoom-button::after { display:none;animation:none; }
 .rentals-case .rental-image.zoom-button.screen-pulse::before { animation:none; }
}
