/* Zen Car Parts icon sizing fix
   Load this CSS last. It clamps all SVG icons so they cannot blow up the layout.
*/

/* Header icons */
.account-icon-img {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  object-fit: contain !important;
}

.cart-icon-img {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  object-fit: contain !important;
}

.icon-img-button {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Top trust strip icons */
.trust-strip > div {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.trust-icon-img {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  object-fit: contain !important;
  display: block !important;
}

.trust-text {
  display: block !important;
  line-height: 1.25 !important;
}

/* Three step icons */
.step-icon {
  width: 74px !important;
  height: 74px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.step-icon-img {
  width: 74px !important;
  height: 74px !important;
  min-width: 74px !important;
  max-width: 74px !important;
  object-fit: contain !important;
  display: block !important;
}

/* Category icons */
.category .icon {
  height: 82px !important;
  width: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 8px !important;
}

.category-photo {
  width: 120px !important;
  max-width: 120px !important;
  height: 82px !important;
  max-height: 82px !important;
  object-fit: contain !important;
  display: block !important;
}

/* Product card images */
.product .product-img {
  height: 105px !important;
  width: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.product-photo {
  width: 135px !important;
  max-width: 135px !important;
  height: 98px !important;
  max-height: 98px !important;
  object-fit: contain !important;
  display: block !important;
}

/* Cart drawer product thumbnails */
.cart-img {
  width: 62px !important;
  height: 62px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cart-img .product-photo {
  width: 50px !important;
  max-width: 50px !important;
  height: 50px !important;
  max-height: 50px !important;
  object-fit: contain !important;
}

/* Remove/delete icon */
.remove img {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  object-fit: contain !important;
}

/* Footer trust icons */
.footer-trust > div {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

.footer-icon-img {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  object-fit: contain !important;
  display: block !important;
}

.footer-trust-text {
  display: block !important;
  line-height: 1.25 !important;
}

/* Safety clamp: any SVG inside icon/image containers cannot exceed its parent */
.top-header img,
.trust-strip img,
.steps img,
.categories img,
.products img,
.cart-drawer img,
.footer-trust img {
  max-width: 100% !important;
}

/* Mobile tuning */
@media (max-width: 700px) {
  .trust-icon-img {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
  }

  .category-photo {
    width: 110px !important;
    max-width: 110px !important;
    height: 76px !important;
  }

  .product-photo {
    width: 125px !important;
    max-width: 125px !important;
    height: 92px !important;
  }
}
