/* Original catalog-card proportions: compact rectangular galleries with clear spacing. */
#coleccion.intro:has(.collection-packaging:not(.support-logo)) {
  padding-top: clamp(8px, 1vw, 16px) !important;
  padding-bottom: clamp(8px, 1vw, 16px) !important;
}

/* Keep the three category banners within the compact height used by Home goods. */
@media (min-width: 761px) {
  #coleccion.intro:has(.collection-packaging:not(.support-logo)),
  #coleccion.support-intro {
    box-sizing: border-box !important;
    height: 144px !important;
    min-height: 0 !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    overflow: hidden !important;
  }

  #coleccion.intro:has(.collection-packaging:not(.support-logo)) .collection-packaging {
    width: clamp(175px, 13vw, 230px) !important;
    height: 104px !important;
  }

  #coleccion.support-intro .collection-intro:has(.support-logo) .collection-heading,
  #coleccion.support-intro .collection-intro:has(.support-logo) .collection-summary {
    min-height: 104px !important;
  }
}

.category .grid {
  column-gap: 72px !important;
  row-gap: 54px !important;
  align-items: stretch !important;
}

.category .grid > .product {
  overflow: hidden !important;
}

.category .grid > .product .carousel {
  height: 270px !important;
  min-height: 270px !important;
  flex: 0 0 270px !important;
  overflow: hidden !important;
}

.category .grid > .product .carousel .slide {
  object-fit: contain !important;
  object-position: center !important;
  padding: 8px !important;
  background: #f6f1eb !important;
}

.category .grid > .product .product-copy {
  padding: 18px !important;
}

@media (min-width: 761px) {
  .category[data-category] .grid > .product:not(:last-child)::after {
    right: -53px !important;
  }
}

@media (max-width: 760px) {
  #coleccion.intro:has(.collection-packaging:not(.support-logo)) { padding-top: 16px !important; padding-bottom: 16px !important; }
  .category .grid { gap: 24px !important; }
  .category .grid > .product .carousel { height: 300px !important; min-height: 300px !important; flex-basis: 300px !important; }
}
