/* Compact desktop catalog: four products per row. */
@media(min-width:1100px){
  #products.container{width:min(1440px,calc(100% - 40px))}
  #products.section{padding-top:30px;padding-bottom:36px}
  #products .section-heading{min-height:0;margin-bottom:16px}
  #products .catalog-toolbar{margin-bottom:12px;padding:10px 0}
  #products .catalog-main{padding:12px;box-shadow:none}
  #products .category-pills{margin-bottom:14px;gap:6px}
  #products .category-pills button{padding:7px 12px;font-size:14px}
  #products .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  #products .product-card{min-width:0;border-radius:8px}
  #products .product-media{height:180px;aspect-ratio:auto;min-height:0}
  #products .product-image-button{padding:7px}
  #products .product-info{padding:10px;display:flex;flex-direction:column}
  #products .product-info>small{font-size:12px;line-height:1.4;margin-bottom:4px}
  #products .product-info h3{font-size:15px;line-height:1.45;font-weight:600;min-height:52px;height:52px;margin:0 0 5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  #products .stars{margin:3px 0;font-size:13px;min-height:16px;line-height:1.4}
  #products .stars .no-reviews{font-size:11px;letter-spacing:0}
  #products .price{min-height:30px;gap:4px;flex-wrap:wrap;align-items:baseline;margin:3px 0 0}
  #products .price b{font-size:16px;line-height:1.3}
  #products .price del{font-size:13px}
  #products .product-detail-button{margin-top:5px;padding:6px;font-size:11px;letter-spacing:0;min-height:28px}
  #products .product-purchase-actions{gap:4px;margin-top:5px}
  #products .product-purchase-actions button{padding:6px 3px;font-size:11px;min-height:32px;letter-spacing:0;box-shadow:none}
  #products .sale-badge{padding:5px 6px;font-size:13px;top:7px;left:7px}
  #products .heart-button{width:27px;height:27px;font-size:17px;top:7px;right:7px}
}
@media(min-width:721px) and (max-width:1099px){
  #products .catalog-main{padding:12px}
  #products .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  #products .product-media{height:145px;aspect-ratio:auto}
  #products .product-info{padding:10px}
  #products .product-info h3{font-size:15.5px;line-height:1.45;min-height:57px;height:57px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  #products .product-detail-button{margin-top:8px;padding:7px;font-size:11px;letter-spacing:0}
  #products .product-purchase-actions button{min-height:36px;padding:6px 3px;font-size:11px;letter-spacing:0}
}
/* Keep intrinsic image dimensions from expanding the compact image button. */
#products .product-media{position:relative;overflow:hidden}
#products .product-media .product-image-button{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;box-sizing:border-box}
#products .product-media .product-image-button img{display:block;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;aspect-ratio:auto;transform:none!important}
#products .product-media .sale-badge,#products .product-media .heart-button{z-index:2}
