/* Full approved square artwork: preserve product proportions and dimension arrows. */
.price-media.product-visual{
  aspect-ratio:1;
  display:flex;
  flex-direction:column;
  background:#dfdfdf;
}
.price-media.product-visual>img{
  position:static;
  inset:auto;
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1;
  max-width:100%;
  max-height:none;
  padding:0;
  object-fit:contain;
  object-position:center;
  transform:none;
  flex:none;
}
/* Labels overlay the approved artwork, preserving the compact square media. */
.product-highlights{
  position:absolute;
  inset:0 0 auto;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  min-height:0;
  padding:14px 14px 0;
}
.price-media.product-visual .product-highlights>.reference-badge{
  position:static;
  width:max-content;
  max-width:40%;
  flex:0 0 auto;
  text-align:left;
}
.price-media.product-visual .product-highlights>.badge-stack{
  position:static;
  min-width:0;
  max-width:62%;
  margin-left:auto;
  flex:0 1 auto;
}
.price-media.product-visual .product-highlights>.bestseller-badge+.badge-stack{
  max-width:calc(100% - 104px);
}
.price-media.product-visual .badge-stack strong,
.price-media.product-visual .badge-stack .badge-subline{
  white-space:normal;
  overflow-wrap:normal;
}
@container product-image (max-width:300px){
  .product-highlights{min-height:0;padding:12px 12px 0;gap:8px}
  .price-media.product-visual .product-highlights>.bestseller-badge+.badge-stack{max-width:calc(100% - 96px)}
}

/* Scale labels by the image/card width, including narrow desktop columns. */
.price-media.product-visual .product-highlights>.badge-stack{
  max-width:min(54%,184px,calc(50cqi - 24px));
  background:rgba(18,18,18,.86);
  padding:6px 10px;
  border-radius:10px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 2px 8px rgba(0,0,0,.12);
}
.price-media.product-visual .product-highlights>.bestseller-badge+.badge-stack{
  max-width:min(54%,calc(100% - 104px),184px,calc(50cqi - 24px));
}
.price-media.product-visual .badge-stack>.reference-badge{
  padding:0;
}
.price-media.product-visual .badge-stack>.reference-badge+.reference-badge{
  margin-top:5px;
  padding-top:5px;
}
.price-media.product-visual .badge-stack .badge-label{
  font-size:clamp(10px,2.6cqi,11px);
  line-height:1.2;
}
.price-media.product-visual .badge-stack>.reference-badge>strong,
.price-media.product-visual .badge-stack>.reference-badge>.badge-subline{
  color:#f2f2f2;
  font-size:clamp(12px,3cqi,13px);
  font-weight:400;
  line-height:1.22;
  margin-top:2px;
}
.price-media.product-visual .badge-stack>.reference-badge>strong:first-child{
  margin-top:0;
}
/* The slender balcony door benefits from a narrower information panel. */
.price-card:nth-child(3) .price-media.product-visual .product-highlights>.badge-stack{
  max-width:min(clamp(128px,40cqi,172px),calc(50cqi - 24px));
}
@container product-image (min-width:480px){
  .price-media.product-visual .product-highlights>.badge-stack{padding:7px 11px}
}

/* Preserve breathing room and keep an upper dimension arrow clear of the labels. */
.price-media.product-visual{--product-shift:7.0931%;--product-presentation-scale:.98}
.price-media.product-visual>img{
  transform:translateY(var(--product-shift)) scale(var(--product-presentation-scale));
  transform-origin:50% 50%;
}
.price-card:nth-child(3) .price-media.product-visual{--product-shift:3%;--product-presentation-scale:1}
.price-card:nth-child(4) .price-media.product-visual{--product-shift:6.6%;--product-presentation-scale:1.04}
.price-card:nth-child(5) .price-media.product-visual{--product-shift:4.5%;--product-presentation-scale:1.04}
/* A narrow desktop column needs the same protection as a narrow phone card. */
@container product-image (min-width:331px){
  .price-card:nth-child(-n+2) .price-media.product-visual>img{--product-presentation-scale:1;--product-shift:6.3603%}
  .price-card:nth-child(4) .price-media.product-visual>img{--product-presentation-scale:1.06;--product-shift:5.9%}
}
@container product-image (min-width:360px){
  .price-card:nth-child(-n+2) .price-media.product-visual>img{--product-presentation-scale:1.02;--product-shift:5.6275%}
}
@container product-image (min-width:400px){
  .price-card:nth-child(-n+2) .price-media.product-visual>img{--product-presentation-scale:1.04;--product-shift:4.8947%}
  .price-card:nth-child(4) .price-media.product-visual>img{--product-presentation-scale:1.09;--product-shift:4.85%}
}
@container product-image (min-width:480px){
  .price-card:nth-child(-n+2) .price-media.product-visual>img{--product-presentation-scale:1.06;--product-shift:4.1619%}
  .price-card:nth-child(4) .price-media.product-visual>img{--product-presentation-scale:1.11;--product-shift:4.15%}
}
@container product-image (min-width:600px){
  .price-card:nth-child(-n+2) .price-media.product-visual>img{--product-presentation-scale:1.08;--product-shift:3.4291%}
  .price-card:nth-child(4) .price-media.product-visual>img{--product-presentation-scale:1.14;--product-shift:3.1%}
}

@container product-image (max-width:330px){
  .price-media.product-visual .product-highlights>.badge-stack{padding:5px 9px}
  .price-media.product-visual .badge-stack>.reference-badge+.reference-badge{margin-top:4px;padding-top:4px}
}

/* Vector inclusion markers have the same appearance on every operating system. */
.price-media.product-visual .badge-stack>.reference-badge>.badge-included{
  display:flex;
  align-items:flex-start;
  gap:.4em;
  text-align:left;
}
.price-media.product-visual .included-check{
  display:block;
  width:.9em;
  height:.9em;
  flex:0 0 .9em;
  margin-top:.14em;
}

/* Let the narrow two-line threshold label size itself to its rendered lines. */
.price-media.product-visual .badge-stack .threshold-copy{
  display:block;font:inherit;line-height:inherit;letter-spacing:inherit;
  text-transform:none;color:inherit;white-space:normal;
}
.threshold-break{display:none}
@container product-image (max-width:387px){
  .threshold-break{display:initial}
}
