/* Site-wide product stills: fill the rounded frame edge to edge.
   No inset padding, no contain bands, no leftover peeking shape.
   Consistent 1:1 frame, object-fit: cover. Space background reaches
   the card edge. Does not apply to shop collages, Winter moon peek,
   or the 3D hero. Cache-bust: ?v=20261113-cardsv3 */

/* Frames */
.card-media:not(.seasonal-render),
.catalog-card .card-media,
.catalog-card .card-media.tile-frame,
#capz .card-media,
#capz .card-media.tile-frame,
.tile-frame,
.shop-card-media:not(.seasonal-render),
.pdp-stage:not(.seasonal-render):not(.moon-space-stage),
.combo-intro,
.combo-shots,
.notify-still{
  padding:0;
  overflow:hidden;
}

.shop-grid[data-cols="4"] .shop-card-media:not(.seasonal-render){
  padding:0;
}

/* Images fill the frame */
.card-media:not(.seasonal-render) img,
.catalog-card .card-media img,
#capz .card-media img,
.tile-frame img,
.shop-card-media:not(.seasonal-render) > img,
.shop-card-media:not(.seasonal-render) > a:not(.shop-collage) img,
.pdp-stage:not(.seasonal-render):not(.moon-space-stage) img,
.combo-intro img,
.combo-shots img,
.notify-still img{
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:cover;
  object-position:center center;
  border-radius:0;
  padding:0;
  display:block;
  box-shadow:none;
  background:transparent;
  box-sizing:border-box;
}

/* Kill inset studio frames and leftover shapes */
.card-media:not(.seasonal-render)::before,
.card-media:not(.seasonal-render)::after,
.card-media.tile-frame:not(.seasonal-render)::after,
#capz .card-media.tile-frame::after,
.tile-frame::after,
.shop-card-media:not(.seasonal-render)::before,
.shop-card-media:not(.seasonal-render)::after,
.shop-grid[data-cols="4"] .shop-card-media:not(.seasonal-render)::after,
.pdp-stage:not(.seasonal-render):not(.moon-space-stage)::before,
.combo-shots::after{
  content:none;
  display:none;
}

/* Wrapping links shouldn't introduce a second aspect box */
.card-media:not(.seasonal-render) > a:not(.shop-collage),
.shop-card-media:not(.seasonal-render) > a:not(.shop-collage),
.tile-frame > a:not(.shop-collage){
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  padding:0;
}

/* Collages: leave the existing grid. Only drop the outer inset pad
   so the collage itself can meet the card edge. */
.shop-card-media:has(> a.shop-collage){
  padding:0;
}
.shop-card-media:has(> a.shop-collage)::after,
.shop-card-media:has(> a.shop-collage)::before{
  content:none;
  display:none;
}

/* Keep the Product-render badge on the filled image */
.card-media:not(.seasonal-render) .badge-render,
.shop-card-media:not(.seasonal-render) .badge-render,
.pdp-stage:not(.seasonal-render):not(.moon-space-stage) .badge-render,
.combo-intro .badge-render,
.tile-frame .badge-render{
  z-index:2;
}
