File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 88
99.nv-detail-hero-local-backdrop {
1010 position : absolute;
11- inset : 0 ;
11+ inset : -1 px ;
1212 z-index : 0 ;
13- width : 100% ;
14- height : 100% ;
13+ width : calc ( 100% + 2 px ) ;
14+ height : calc ( 100% + 2 px ) ;
1515 object-fit : cover;
1616 object-position : center 32% ;
1717 pointer-events : none;
1818 opacity : 0 ;
19- transform : scale (1.008 );
2019}
2120
22- .nv-detail-hero-local-backdrop .is-loaded {
23- opacity : 0.92 ;
24- transform : scale (1 );
25- animation : nv-detail-backdrop-fade 420ms ease both;
21+ .nv-detail-hero-local-backdrop .is-ready {
22+ opacity : 1 ;
2623}
2724
28- @keyframes nv-detail-backdrop-fade {
29- from { opacity : 0 ; transform : scale (1.012 ); }
30- to { opacity : 0.92 ; transform : scale (1 ); }
31- }
32-
33- /* The wrapper owns exactly one visible backdrop at a time. HeroSection keeps
34- its fallback artwork implementation for compatibility, but it is visually
35- suppressed whenever the carousel has an active single-frame candidate. */
25+ /* Keep HeroSection's fallback artwork visible until the carousel frame has
26+ actually decoded. This prevents the page canvas from flashing around the
27+ Hero edges during first paint or when a new frame is still loading. */
3628.nv-detail-hero-backdrop-shell .nv-detail-hero {
3729 border-bottom : 0 !important ;
3830}
9890 min-width : 44px ;
9991 }
10092}
101-
102- @media (prefers-reduced-motion : reduce) {
103- .nv-detail-hero-local-backdrop .is-loaded {
104- animation : none;
105- transform : none;
106- }
107- }
You can’t perform that action at this time.
0 commit comments