/* EditorialProductGrid — full-height editorial image beside a 3x2 product grid. */

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-grid {
  width: 100%;
  background-color: var(--color-bg, #FAF8F5);
  padding: var(--space-md, 24px) clamp(16px, 3vw, 32px);
}

@media (min-width: 768px) {
  .cc_9mq44h5t_YSzVf7FiKX .editorial-product-grid {
    padding: var(--space-lg, 40px) clamp(24px, 3vw, 40px);
  }
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-grid__inner {
  display: grid;
  gap: var(--space-xs, 8px);
  width: 100%;
  /* Mobile: hero stacks above a 2-up product grid. */
  grid-template-columns: 1fr;
}

/* The hero fills its grid column edge-to-edge; on desktop it stretches to the
 * full height of the product grid beside it. */
.cc_9mq44h5t_YSzVf7FiKX .editorial-product-grid__hero {
  position: relative;
  display: block;
  overflow: hidden;
  background-color: var(--color-surface-alt, #F2EDE8);
  aspect-ratio: 3 / 4;
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-grid__hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 700ms ease;
}

.cc_9mq44h5t_YSzVf7FiKX a.editorial-product-grid__hero:hover .editorial-product-grid__hero-image, .cc_9mq44h5t_YSzVf7FiKX a.editorial-product-grid__hero:focus-visible .editorial-product-grid__hero-image {
  transform: scale(1.03);
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-grid__products {
  display: grid;
  gap: var(--space-xs, 8px);
  grid-template-columns: repeat(2, 1fr);
}

/* ─── Tablet (≥ 768px) ──────────────────────────────────────────
 * Hero still full width on top, products go 3-up to match the
 * desktop rhythm before the side-by-side split kicks in.
 */
@media (min-width: 768px) {
  .cc_9mq44h5t_YSzVf7FiKX .editorial-product-grid__products {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ─── Desktop (≥ 1024px) ────────────────────────────────────────
 * Side-by-side: editorial hero on the left, 3x2 product grid right.
 * `stretch` + absolute image lets the hero match the grid's height
 * exactly instead of imposing its own aspect ratio.
 */
@media (min-width: 1024px) {
  .cc_9mq44h5t_YSzVf7FiKX .editorial-product-grid__inner {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    align-items: stretch;
  }

  .cc_9mq44h5t_YSzVf7FiKX .editorial-product-grid__hero {
    aspect-ratio: auto;
    height: 100%;
  }

  .cc_9mq44h5t_YSzVf7FiKX .editorial-product-grid__hero-image {
    position: absolute;
    inset: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cc_9mq44h5t_YSzVf7FiKX .editorial-product-grid__hero-image {
    transition: none;
  }

  .cc_9mq44h5t_YSzVf7FiKX a.editorial-product-grid__hero:hover .editorial-product-grid__hero-image, .cc_9mq44h5t_YSzVf7FiKX a.editorial-product-grid__hero:focus-visible .editorial-product-grid__hero-image {
    transform: none;
  }
}

/* EditorialProductCard — product tile used inside the EditorialProductGrid section. */

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background-color: var(--color-surface-alt, #F2EDE8);
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card__image--empty {
  background-color: var(--color-surface-alt, #F2EDE8);
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card__image--primary {
  transition: opacity 400ms ease, transform 600ms ease;
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card__image--hover {
  opacity: 0;
  transition: opacity 400ms ease;
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card.has-hover-image:hover .editorial-product-card__image--primary, .cc_9mq44h5t_YSzVf7FiKX .editorial-product-card.has-hover-image:focus-visible .editorial-product-card__image--primary {
  opacity: 0;
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card.has-hover-image:hover .editorial-product-card__image--hover, .cc_9mq44h5t_YSzVf7FiKX .editorial-product-card.has-hover-image:focus-visible .editorial-product-card__image--hover {
  opacity: 1;
}

/* Cards without a second image still get a subtle zoom so hover feedback is consistent. */
.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card:not(.has-hover-image):hover .editorial-product-card__image--primary {
  transform: scale(1.03);
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card__badge {
  position: absolute;
  top: var(--space-xs, 8px);
  left: var(--space-xs, 8px);
  padding: 4px 8px;
  background-color: var(--color-text-primary, #1C1917);
  color: var(--color-surface, #FFFFFF);
  font-family: var(--font-label, sans-serif);
  font-size: var(--text-label, 12px);
  letter-spacing: 0.04em;
  line-height: 1;
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: var(--space-xs, 8px);
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card__category {
  font-family: var(--font-label, sans-serif);
  font-size: var(--text-label, 12px);
  color: var(--color-text-secondary, #6B6560);
  line-height: 1.4;
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card__name {
  font-family: var(--font-body, sans-serif);
  font-size: var(--text-small, 14px);
  font-weight: 700;
  color: var(--color-text-primary, #1C1917);
  line-height: 1.35;
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card__price-row {
  display: flex;
  align-items: baseline;
  gap: var(--space-xs, 8px);
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card__price {
  font-family: var(--font-body, sans-serif);
  font-size: var(--text-small, 14px);
  color: var(--color-text-primary, #1C1917);
  line-height: 1.4;
}

.cc_9mq44h5t_YSzVf7FiKX .editorial-product-card__price--original {
  font-family: var(--font-body, sans-serif);
  font-size: var(--text-label, 12px);
  color: var(--color-text-muted, #A89E97);
  text-decoration: line-through;
}

@media (prefers-reduced-motion: reduce) {
  .cc_9mq44h5t_YSzVf7FiKX .editorial-product-card__image--primary, .cc_9mq44h5t_YSzVf7FiKX .editorial-product-card__image--hover {
    transition: none;
  }

  .cc_9mq44h5t_YSzVf7FiKX .editorial-product-card:not(.has-hover-image):hover .editorial-product-card__image--primary {
    transform: none;
  }
}
