/* Separate homepage settings from catalogue/product loops.
   The parent archive supplies these same variables locally on its main element. */
#page.az-site :is(.az-shop-grid, .az-product-grid, ul.products) {
  grid-template-columns: repeat(var(--az-shop-columns-desktop, 4), minmax(0, 1fr));
}
/* Product suggestions are standalone sections, without the archive's sidebar track. */
#page.az-site .az-product-related > .az-shop-grid {
  display: grid;
  grid-column: auto;
  min-width: 0;
  align-items: stretch;
}
#page.az-site .az-child-invitation__grid { grid-template-columns: repeat(var(--az-child-home-columns-desktop, var(--az-shop-columns-desktop, 4)), minmax(0, 1fr)); }
@media (max-width: 960px) {
  #page.az-site :is(.az-shop-grid, .az-product-grid, ul.products) {
    grid-template-columns: repeat(var(--az-shop-columns-tablet, 3), minmax(0, 1fr));
  }
  #page.az-site .az-child-invitation__grid { grid-template-columns: repeat(var(--az-child-home-columns-tablet, var(--az-shop-columns-tablet, 3)), minmax(0, 1fr)); }
}
@media (max-width: 782px) {
  #page.az-site :is(.az-shop-grid, .az-product-grid, ul.products) {
    grid-template-columns: repeat(var(--az-shop-columns-mobile, 2), minmax(0, 1fr));
  }
  #page.az-site .az-child-invitation__grid { grid-template-columns: repeat(var(--az-child-home-columns-mobile, var(--az-shop-columns-mobile, 2)), minmax(0, 1fr)); }
}
