.home-promotions { isolation: isolate; container-type: inline-size; }
.home-promotion, .home-promotion__photo { position: absolute; inset: 0; }
.home-promotion__photo { overflow: hidden; }
.home-promotion__photo img { width: 100%; height: 100%; object-fit: cover; }
.home-promotion__photo[class*="home-promotion__photo--"] img { position: absolute; width: 200%; height: 200%; max-width: none; object-fit: fill; }
.home-promotion__photo--top-left img { top: 0; left: 0; }
.home-promotion__photo--top-right img { top: 0; left: -100%; }
.home-promotion__photo--bottom-left img { top: -100%; left: 0; }
.home-promotion__photo--bottom-right img { top: -100%; left: -100%; }
.home-promotion--original::after { content: ""; position: absolute; inset: auto 0 0; height: 160px; pointer-events: none; background: linear-gradient(transparent, rgba(251,250,245,.94) 60%); }
.home-promotion:not(.home-promotion--original) {
  background: #dfe8d2;
}
.home-promotion:not(.home-promotion--original) .home-promotion__photo { left: 46%; }
.home-promotion__caption { position: absolute; z-index: 1; inset: 0 auto 0 28px; width: 32%; container-type: inline-size; color: var(--green); text-decoration: none; }
/* Give the name the available space before the photo; keep the price column fixed. */
.home-promotion__caption strong { position: absolute; top: 43%; left: 0; width: calc(137.5% - 28px); height: 3.45em; font-size: clamp(1rem, 13cqi, 2rem); line-height: 1.15; overflow-wrap: normal; text-wrap: balance; }
.home-promotion__caption .highlight-price { position: absolute; top: calc(100% - 89px); left: 0; font-size: min(3.8rem, 38cqi); }
.home-promotion__caption .highlight-price--long { font-size: min(3rem, 24cqi); }
.home-promotion__original-caption { position: absolute; z-index: 1; inset: auto 24px 24px; display: grid; grid-template-columns: 2rem minmax(0, 1fr) 2rem; align-items: center; gap: 18px; margin: 0; color: var(--green); font-size: clamp(1.2rem, 2vw, 1.65rem); font-weight: 700; line-height: 1.15; }
.home-promotion__original-caption span:first-child { grid-column: 2; text-align: center; }
.home-promotion__original-caption span:last-child { grid-column: 3; justify-self: end; }
.home-promotion__caption:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
@media (max-width: 760px) {
  .home-promotion__caption { left: 18px; }
  .home-promotion__caption strong { top: 45%; width: calc(137.5% - 18px); height: min(3.45em, calc(55% - 54px)); font-size: min(1.1rem, 14cqi); }
  .home-promotion__caption .highlight-price { top: calc(100% - 46px); }
  .home-promotion__caption .highlight-price--long { font-size: min(2rem, 24cqi); }
  .home-promotion__original-caption { inset: auto 18px 20px; grid-template-columns: 1.5rem minmax(0, 1fr) 1.5rem; gap: 12px; font-size: 1.05rem; }
}
