/* AVP v5.74 — five-column catalogue, single fitting position, clear minimum order.
   Only the main product catalogue is affected; related product grids are unchanged. */
body.app-shell.page-products #productsGrid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(12px, 1.05vw, 20px) !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  justify-items: stretch !important;
  margin-inline: 0 !important;
}
body.app-shell.page-products #productsGrid > .catalogue-card-v11 {
  min-width: 0 !important;
  max-width: none !important;
  width: 100% !important;
  justify-self: stretch !important;
  border-radius: 16px !important;
}
body.app-shell.page-products #productsGrid .catalogue-photo-v11 {
  position: relative !important;
  height: clamp(200px, 15vw, 252px) !important;
  min-height: clamp(200px, 15vw, 252px) !important;
  padding: 16px !important;
}
/* Position is now visible even before the shopper reads the product title. */
body.app-shell.page-products #productsGrid .catalogue-side-photo-v573 {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
  padding: 8px 12px !important;
  border: 1px solid #b6d7c4 !important;
  border-left: 5px solid #12643e !important;
  border-radius: 9px !important;
  background: rgba(246, 253, 249, .97) !important;
  box-shadow: 0 3px 12px rgba(7, 61, 38, .15) !important;
  color: #12482e !important;
  line-height: 1.05 !important;
  text-align: left !important;
  pointer-events: none !important;
}
body.app-shell.page-products #productsGrid .catalogue-side-photo-v573 small {
  color: #32674f !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  letter-spacing: .085em !important;
  line-height: 1.2 !important;
}
body.app-shell.page-products #productsGrid .catalogue-side-photo-v573 strong {
  color: #10442b !important;
  font-size: clamp(17px, 1.28vw, 22px) !important;
  font-weight: 900 !important;
  letter-spacing: .025em !important;
  line-height: 1.14 !important;
  text-transform: uppercase !important;
}
body.app-shell.page-products #productsGrid .availability-chip {
  top: 12px !important;
  right: 12px !important;
  font-size: 10px !important;
  padding: 5px 8px !important;
}
body.app-shell.page-products #productsGrid .catalogue-body-v11 {
  min-width: 0 !important;
  padding: 16px 15px 18px !important;
}
body.app-shell.page-products #productsGrid .catalogue-part-number > strong {
  font-size: 19px !important;
  overflow-wrap: anywhere !important;
}
body.app-shell.page-products #productsGrid .catalogue-title-v11 {
  font-size: 15px !important;
  line-height: 1.42 !important;
  min-height: 44px !important;
}
/* Fitting position appears only once: the prominent badge on the image.
   The former duplicated position panel becomes one readable MOQ panel. */
body.app-shell.page-products #productsGrid .catalogue-minimum-order-v574 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin: 12px 0 5px !important;
  padding: 10px 12px !important;
  border: 1px solid #cfe3d6 !important;
  border-radius: 10px !important;
  background: #f1f8f3 !important;
  color: #134a31 !important;
}
body.app-shell.page-products #productsGrid .catalogue-minimum-order-v574 span {
  color: #3c6d52 !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: .02em !important;
  line-height: 1.3 !important;
}
body.app-shell.page-products #productsGrid .catalogue-minimum-order-v574 strong {
  flex-shrink: 0 !important;
  color: #0b5736 !important;
  font-size: 17px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}
body.app-shell.page-products #productsGrid .catalogue-fit-v11 {
  font-size: 12px !important;
  line-height: 1.4 !important;
}
body.app-shell.page-products #productsGrid .catalogue-price-row strong {
  font-size: 25px !important;
}
body.app-shell.page-products #productsGrid .catalogue-price-row small,
body.app-shell.page-products #productsGrid .catalogue-price-row .catalogue-view-link {
  font-size: 12px !important;
}
body.app-shell.page-products #productsGrid .catalogue-add-v11 {
  min-width: 0 !important;
}
body.app-shell.page-products #productsGrid .catalogue-add-v11 label {
  min-width: 62px !important;
}
body.app-shell.page-products #productsGrid .catalogue-add-v11 input,
body.app-shell.page-products #productsGrid .catalogue-add-v11 button {
  min-height: 44px !important;
  height: 44px !important;
  font-size: 14px !important;
}
body.app-shell.page-products #productsGrid .catalogue-add-v11 button {
  min-width: 0 !important;
  white-space: normal !important;
}
/* Five cards at full desktop width, then step down before card controls get cramped. */
@media (max-width: 1449px) {
  body.app-shell.page-products #productsGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 1199px) {
  body.app-shell.page-products #productsGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 899px) {
  body.app-shell.page-products #productsGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.app-shell.page-products #productsGrid .catalogue-photo-v11 {
    height: 235px !important;
    min-height: 235px !important;
  }
}
@media (max-width: 599px) {
  body.app-shell.page-products #productsGrid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.app-shell.page-products #productsGrid .catalogue-photo-v11 {
    height: 250px !important;
    min-height: 250px !important;
  }
  body.app-shell.page-products #productsGrid .catalogue-body-v11 {
    padding: 17px 18px 19px !important;
  }
}
