/* ==========================================================================
   ZAVRYNE 16.20 — FIXED PRODUCT GRID + LOAD MORE
   No horizontal product carousels on home or product page recommendations.
   Desktop: 4 columns | Tablet: 3 | Mobile: 2
   ========================================================================== */

/* ---------- HOMEPAGE: fixed vertical product grids ---------- */
.home .zv88-products ul.products,
.home .zv88-new ul.products,
.home .zv-infinite-catalog ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  overflow:visible!important;
  padding:4px 0 18px!important;
  scroll-snap-type:none!important;
}

.home .zv88-products ul.products > li.product,
.home .zv88-new ul.products > li.product,
.home .zv-infinite-catalog ul.products > li.product{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
  margin:0!important;
  scroll-snap-align:none!important;
}

/* Hide only items intentionally paged by the load-more controller. */
.home li.product.zv1620-hidden{
  display:none!important;
}

/* Load-more control */
.zv1620-load-more-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:10px 0 4px;
}
.zv1620-load-more{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:230px;
  min-height:48px;
  padding:0 22px;
  border:1px solid #181512;
  border-radius:9px;
  background:#181512;
  color:#fff;
  font:750 12px/1.1 var(--sans,Arial,sans-serif);
  letter-spacing:.015em;
  cursor:pointer;
  transition:background .18s ease,transform .18s ease;
}
.zv1620-load-more:hover{
  background:#332c27;
  transform:translateY(-1px);
}
.zv1620-load-more[hidden],
.zv1620-load-more-wrap[hidden]{
  display:none!important;
}

/* ---------- PRODUCT PAGE: fixed recommendation grid ---------- */
.single-product .zv1512-related-shell{
  width:100%!important;
  overflow:visible!important;
}
.single-product .zavryne-catalog-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  overflow:visible!important;
  padding:2px 0 14px!important;
  scroll-snap-type:none!important;
}
.single-product .zavryne-catalog-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
  margin:0!important;
  scroll-snap-align:none!important;
}

/* Remove carousel arrows entirely. */
.single-product .zv1512-rail-nav,
.single-product .zv1512-related-prev,
.single-product .zv1512-related-next{
  display:none!important;
}

/* Cross-sell / "Noch ein Style" also fixed, no sideways swiping. */
.single-product .look-builder-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  overflow:visible!important;
  padding:2px 0 10px!important;
  scroll-snap-type:none!important;
}
.single-product .look-builder-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
  margin:0!important;
  scroll-snap-align:none!important;
}

/* Premium deep red badges only; buttons stay charcoal/black. */
.home .zv88-products .zv80-badges span,
.home .zv88-new .zv80-badges span,
.home .zv-infinite-catalog .zv80-badges span,
.single-product .zv1619-reco-badges b{
  background:#8f1f24!important;
  color:#fff!important;
}

/* Tablet */
@media(max-width:1100px){
  .home .zv88-products ul.products,
  .home .zv88-new ul.products,
  .home .zv-infinite-catalog ul.products,
  .single-product .zavryne-catalog-grid,
  .single-product .look-builder-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* Mobile */
@media(max-width:800px){
  .home .zv88-products ul.products,
  .home .zv88-new ul.products,
  .home .zv-infinite-catalog ul.products,
  .single-product .zavryne-catalog-grid,
  .single-product .look-builder-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    overflow:visible!important;
    padding:2px 0 14px!important;
  }

  .home .zv88-products ul.products > li.product,
  .home .zv88-new ul.products > li.product,
  .home .zv-infinite-catalog ul.products > li.product,
  .single-product .zavryne-catalog-card,
  .single-product .look-builder-card{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
  }

  /* Keep compact but readable two-column cards. */
  .home .zv88-products li.product .woocommerce-loop-product__title,
  .home .zv88-new li.product .woocommerce-loop-product__title,
  .home .zv-infinite-catalog li.product .woocommerce-loop-product__title{
    font-size:13px!important;
    line-height:1.35!important;
    padding:10px 10px 0!important;
    min-height:44px!important;
  }
  .home .zv88-products li.product .price,
  .home .zv88-new li.product .price,
  .home .zv-infinite-catalog li.product .price{
    padding:0 10px!important;
    font-size:14px!important;
  }
  .home .zv88-products li.product a.button,
  .home .zv88-new li.product a.button,
  .home .zv-infinite-catalog li.product a.button{
    width:calc(100% - 20px)!important;
    min-height:42px!important;
    margin:10px 10px 0!important;
    padding:0 8px!important;
    font-size:10px!important;
  }

  .single-product .zavryne-catalog-card__title{
    min-height:38px!important;
    margin:6px 10px 0!important;
    font-size:13px!important;
  }
  .single-product .zavryne-catalog-card .price{
    margin:6px 10px 0!important;
    font-size:15px!important;
  }
  .single-product .zv1619-reco-category,
  .single-product .zv1488-card-rating,
  .single-product .zv1512-card-stock{
    margin-left:10px!important;
    margin-right:10px!important;
  }
  .single-product .zavryne-catalog-card__cta{
    min-height:42px!important;
    margin:10px!important;
    font-size:10px!important;
  }
}

/* Very small screens still keep 2 columns, as requested. */
@media(max-width:390px){
  .home .zv88-products ul.products,
  .home .zv88-new ul.products,
  .home .zv-infinite-catalog ul.products,
  .single-product .zavryne-catalog-grid,
  .single-product .look-builder-grid{
    gap:9px!important;
  }
}
