/* ==========================================================================
   ZAVRYNE 16.19 — PREMIUM CONVERSION MERCHANDISING
   Goal: premium brand perception + deeper product discovery.
   No media files, dimensions, compression, product data or checkout logic changed.
   ========================================================================== */

:root{
  --zv1619-ink:#181512;
  --zv1619-muted:#746a62;
  --zv1619-line:#e9e1da;
  --zv1619-paper:#fff;
  --zv1619-soft:#faf7f4;
  --zv1619-accent:#8e705c;
  --zv1619-shadow:0 14px 38px rgba(40,30,23,.075);
}

/* ---------- HOME: product sections feel like a premium collection ---------- */
.home .zv88-products,
.home .zv88-new{
  position:relative;
  overflow:hidden;
}
.home .zv88-products{
  padding:70px 0 62px!important;
  background:#fff!important;
}
.home .zv88-new{
  padding:62px 0 70px!important;
  background:var(--zv1619-soft)!important;
  border-top:1px solid var(--zv1619-line)!important;
}
.home .zv88-section-heading{
  align-items:flex-end!important;
  margin-bottom:28px!important;
}
.home .zv88-section-heading h2{
  max-width:760px;
  font-size:clamp(38px,4.2vw,58px)!important;
  letter-spacing:-.025em!important;
}
.home .zv88-section-heading p{
  display:block!important;
  max-width:650px!important;
  margin-top:11px!important;
  color:var(--zv1619-muted)!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.home .zv88-all-link{
  min-height:42px;
  padding:0 15px!important;
  border:1px solid #cfc4bb;
  border-radius:999px;
  background:#fff;
  font-size:10px!important;
  letter-spacing:.07em;
  transition:.2s ease;
}
.home .zv88-all-link:hover{
  border-color:var(--zv1619-ink);
  background:var(--zv1619-ink);
  color:#fff;
}

/* Home merchandising card */
.home .zv88-products ul.products,
.home .zv88-new ul.products{
  gap:18px!important;
  padding:4px 3px 22px!important;
}
.home .zv88-products ul.products > li.product,
.home .zv88-new ul.products > li.product{
  flex:0 0 calc((100% - 54px)/4)!important;
  width:auto!important;
  border:1px solid var(--zv1619-line)!important;
  border-radius:15px!important;
  overflow:hidden!important;
  background:var(--zv1619-paper)!important;
  padding-bottom:15px!important;
  box-shadow:0 2px 5px rgba(36,27,21,.025)!important;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease!important;
}
@media(hover:hover){
  .home .zv88-products ul.products > li.product:hover,
  .home .zv88-new ul.products > li.product:hover{
    transform:translateY(-4px)!important;
    border-color:#d4c8bf!important;
    box-shadow:var(--zv1619-shadow)!important;
  }
}

/* Use the full square product artwork already supplied by the catalogue. */
.home .zv88-products li.product .zavryne-loop-media,
.home .zv88-new li.product .zavryne-loop-media{
  aspect-ratio:1/1!important;
  background:#f7f4f1!important;
}
.home .zv88-products li.product .zavryne-loop-media img,
.home .zv88-new li.product .zavryne-loop-media img{
  object-fit:contain!important;
  object-position:center center!important;
  background:#f7f4f1!important;
}

/* Product information has a strong, clean shopping hierarchy. */
.home .zv88-products li.product .woocommerce-loop-product__title,
.home .zv88-new li.product .woocommerce-loop-product__title{
  padding:13px 15px 0!important;
  margin:0!important;
  min-height:48px!important;
  color:var(--zv1619-ink)!important;
  font-size:15px!important;
  font-weight:650!important;
  line-height:1.35!important;
}
.home .zv88-products li.product .price,
.home .zv88-new li.product .price{
  padding:0 15px!important;
  margin:4px 0 0!important;
  color:var(--zv1619-ink)!important;
  font-size:16px!important;
  font-weight:750!important;
}
.home .zv88-products li.product .product-card-rating,
.home .zv88-new li.product .product-card-rating,
.home .zv88-products li.product .product-card-swatches,
.home .zv88-new li.product .product-card-swatches{
  margin-left:15px!important;
  margin-right:15px!important;
}

/* Keep genuine badges; make them premium rather than noisy. */
.home .zv88-products .zv80-badges,
.home .zv88-new .zv80-badges{
  top:11px!important;
  left:11px!important;
  gap:5px!important;
}
.home .zv88-products .zv80-badges span,
.home .zv88-new .zv80-badges span{
  border:1px solid rgba(255,255,255,.7)!important;
  border-radius:999px!important;
  background:rgba(24,21,18,.88)!important;
  color:#fff!important;
  padding:6px 9px!important;
  box-shadow:0 3px 12px rgba(0,0,0,.08)!important;
}

/* One obvious next action. Remove competing utilities from premium home rails. */
.home .zv88-products .zv1523-quick-view-button,
.home .zv88-new .zv1523-quick-view-button,
.home .zv88-products .zv1522-compare-button,
.home .zv88-new .zv1522-compare-button{
  display:none!important;
}
.home .zv88-products li.product a.button,
.home .zv88-products li.product .button,
.home .zv88-new li.product a.button,
.home .zv88-new li.product .button{
  display:flex!important;
  opacity:1!important;
  transform:none!important;
  width:calc(100% - 30px)!important;
  min-height:46px!important;
  margin:13px 15px 0!important;
  padding:0 14px!important;
  border:1px solid var(--zv1619-ink)!important;
  border-radius:8px!important;
  background:var(--zv1619-ink)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:750!important;
  letter-spacing:.015em!important;
  text-transform:none!important;
}
.home .zv88-products li.product a.button:hover,
.home .zv88-new li.product a.button:hover{
  background:#332c27!important;
}

/* The long catalogue stays clean, slightly quieter than curated rails. */
.home .zv-infinite-catalog{
  background:#fff!important;
  border-top:1px solid var(--zv1619-line);
}
.home .zv-infinite-catalog .zv88-section-heading{
  padding-top:12px;
}

/* ---------- PRODUCT PAGE: basket-building / discovery ---------- */
.single-product .zavryne-look-builder-section,
.single-product .zavryne-catalog-more{
  border:1px solid var(--zv1619-line)!important;
  border-radius:20px!important;
  background:var(--zv1619-soft)!important;
  padding:34px!important;
  margin-top:34px!important;
  overflow:hidden!important;
  box-shadow:0 4px 20px rgba(43,31,23,.035)!important;
}

.single-product .look-builder-heading,
.single-product .zavryne-catalog-more .section-heading{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:22px!important;
  margin:0 0 22px!important;
}
.single-product .look-builder-heading .eyebrow,
.single-product .zavryne-catalog-more .section-heading .eyebrow{
  display:block!important;
  margin-bottom:7px!important;
  color:var(--zv1619-accent)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
}
.single-product .look-builder-heading h2,
.single-product .zavryne-catalog-more .section-heading h2{
  margin:0!important;
  max-width:780px!important;
  color:var(--zv1619-ink)!important;
  font-family:var(--serif)!important;
  font-size:clamp(34px,3.4vw,48px)!important;
  font-weight:400!important;
  line-height:1.04!important;
  letter-spacing:-.02em!important;
}
.single-product .look-builder-heading p,
.single-product .zavryne-catalog-more .section-heading p{
  display:block!important;
  max-width:680px!important;
  margin:10px 0 0!important;
  color:var(--zv1619-muted)!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.single-product .look-builder-heading>.text-link,
.single-product .zavryne-catalog-more .section-heading>.text-link{
  display:inline-flex!important;
  min-height:40px!important;
  align-items:center!important;
  flex:0 0 auto!important;
  padding:0 14px!important;
  border:1px solid #cfc4bb!important;
  border-radius:999px!important;
  color:var(--zv1619-ink)!important;
  font-size:10px!important;
  font-weight:750!important;
  text-transform:none!important;
  text-decoration:none!important;
  letter-spacing:.02em!important;
}

/* Cross-sell / "add another" cards */
.single-product .look-builder-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
.single-product .look-builder-card{
  overflow:hidden!important;
  border:1px solid var(--zv1619-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 2px 7px rgba(36,27,21,.025)!important;
}
.single-product .look-builder-image{
  aspect-ratio:1/1!important;
  background:#f7f4f1!important;
}
.single-product .look-builder-image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#f7f4f1!important;
}
.single-product .look-builder-card-copy{
  padding:13px 14px 15px!important;
}
.single-product .look-builder-card h3{
  min-height:40px!important;
  margin:10px 0 4px!important;
  color:var(--zv1619-ink)!important;
  font-size:14px!important;
  font-weight:650!important;
  line-height:1.35!important;
}
.single-product .look-builder-card .price{
  margin:0!important;
  color:var(--zv1619-ink)!important;
  font-size:15px!important;
  font-weight:750!important;
}
.single-product .look-builder-check,
.single-product .look-builder-options{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:38px!important;
  margin:0!important;
  border:1px solid #d5cbc2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--zv1619-ink)!important;
  font-size:10px!important;
  font-weight:750!important;
  letter-spacing:.03em!important;
  text-transform:none!important;
  text-decoration:none!important;
}
.single-product .look-builder-check span{
  width:17px!important;
  height:17px!important;
  border-radius:4px!important;
}
.single-product .look-builder-bar{
  margin-top:18px!important;
  border:1px solid #ded4cc!important;
  border-radius:12px!important;
  box-shadow:0 7px 25px rgba(38,28,21,.06)!important;
}
.single-product .look-builder-bar .button{
  min-height:48px!important;
  border-radius:8px!important;
  background:var(--zv1619-ink)!important;
  color:#fff!important;
  text-transform:none!important;
  font-size:11px!important;
  letter-spacing:.01em!important;
}

/* Main related/discovery rail: large, premium cards */
.single-product .zv1512-related-shell{
  position:relative!important;
  width:100%!important;
}
.single-product .zavryne-catalog-grid{
  display:flex!important;
  grid-template-columns:none!important;
  gap:16px!important;
  align-items:stretch!important;
  width:100%!important;
  padding:2px 3px 14px!important;
  margin:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
}
.single-product .zavryne-catalog-grid::-webkit-scrollbar{display:none!important}
.single-product .zavryne-catalog-card{
  position:relative!important;
  flex:0 0 calc((100% - 32px)/3)!important;
  width:calc((100% - 32px)/3)!important;
  min-width:0!important;
  overflow:hidden!important;
  scroll-snap-align:start!important;
  border:1px solid var(--zv1619-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  padding:0 0 15px!important;
  box-shadow:0 2px 8px rgba(36,27,21,.03)!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}
@media(hover:hover){
  .single-product .zavryne-catalog-card:hover{
    transform:translateY(-3px)!important;
    box-shadow:var(--zv1619-shadow)!important;
  }
}
.single-product .zavryne-catalog-card__image{
  position:relative!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  margin:0 0 0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#f7f4f1!important;
}
.single-product .zavryne-catalog-card__image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#f7f4f1!important;
}
.single-product .zv1619-reco-badges{
  position:absolute!important;
  z-index:3!important;
  top:10px!important;
  left:10px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
}
.single-product .zv1619-reco-badges b{
  padding:6px 8px!important;
  border-radius:999px!important;
  background:rgba(24,21,18,.88)!important;
  color:#fff!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:800!important;
}
.single-product .zv1619-reco-category{
  margin:13px 15px 0!important;
  color:var(--zv1619-accent)!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.single-product .zavryne-catalog-card__title{
  min-height:42px!important;
  margin:6px 15px 0!important;
  font-family:var(--sans)!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:650!important;
}
.single-product .zavryne-catalog-card__title a{
  color:var(--zv1619-ink)!important;
  text-decoration:none!important;
}
.single-product .zv1488-card-rating{
  margin:7px 15px 0!important;
  min-height:15px!important;
  color:#7d5a31!important;
}
.single-product .zavryne-catalog-card .price{
  margin:7px 15px 0!important;
  color:var(--zv1619-ink)!important;
  font-family:var(--sans)!important;
  font-size:18px!important;
  font-weight:800!important;
}
.single-product .zv1512-card-stock{
  margin:6px 15px 0!important;
  color:#4f7461!important;
  font-family:var(--sans)!important;
  font-size:10px!important;
  font-weight:650!important;
}
.single-product .zavryne-catalog-card__cta{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  margin:13px 15px 0!important;
  padding:0 12px!important;
  border:1px solid var(--zv1619-ink)!important;
  border-radius:8px!important;
  background:var(--zv1619-ink)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:750!important;
  text-decoration:none!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
}
.single-product .zavryne-catalog-card__cta:hover{
  background:#332c27!important;
}
.single-product .zv1512-rail-nav{
  top:43%!important;
  width:46px!important;
  height:70px!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 6px 22px rgba(34,25,19,.12)!important;
}

/* ---------- Responsive merchandising ---------- */
@media(max-width:1100px){
  .home .zv88-products ul.products > li.product,
  .home .zv88-new ul.products > li.product{
    flex-basis:calc((100% - 36px)/3)!important;
  }
  .single-product .look-builder-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .single-product .zavryne-catalog-card{
    flex-basis:calc((100% - 16px)/2.35)!important;
    width:calc((100% - 16px)/2.35)!important;
  }
}

@media(max-width:800px){
  .home .zv88-products{padding:42px 0 38px!important}
  .home .zv88-new{padding:38px 0 44px!important}
  .home .zv88-section-heading{
    align-items:flex-start!important;
    margin-bottom:18px!important;
  }
  .home .zv88-section-heading h2{font-size:34px!important}
  .home .zv88-section-heading p{
    display:block!important;
    font-size:12px!important;
    line-height:1.5!important;
    margin-top:8px!important;
  }
  .home .zv88-all-link{display:none!important}

  /* Large single-card discovery with a visible "next card" cue. */
  .home .zv88-products ul.products,
  .home .zv88-new ul.products{
    gap:12px!important;
    padding:2px 18vw 16px 2px!important;
    scroll-padding-left:2px!important;
  }
  .home .zv88-products ul.products > li.product,
  .home .zv88-new ul.products > li.product{
    flex:0 0 76%!important;
    width:76%!important;
    border-radius:13px!important;
  }
  .home .zv88-products li.product .woocommerce-loop-product__title,
  .home .zv88-new li.product .woocommerce-loop-product__title{
    padding:12px 13px 0!important;
    min-height:44px!important;
    font-size:14px!important;
  }
  .home .zv88-products li.product .price,
  .home .zv88-new li.product .price{
    padding:0 13px!important;
    font-size:15px!important;
  }
  .home .zv88-products li.product a.button,
  .home .zv88-new li.product a.button{
    width:calc(100% - 26px)!important;
    margin:12px 13px 0!important;
    min-height:45px!important;
    font-size:11px!important;
  }

  .single-product .zavryne-look-builder-section,
  .single-product .zavryne-catalog-more{
    margin:26px -10px 0!important;
    padding:24px 12px 24px!important;
    border-radius:16px!important;
  }
  .single-product .look-builder-heading,
  .single-product .zavryne-catalog-more .section-heading{
    display:block!important;
    margin-bottom:17px!important;
    padding:0 3px!important;
  }
  .single-product .look-builder-heading h2,
  .single-product .zavryne-catalog-more .section-heading h2{
    font-size:31px!important;
  }
  .single-product .look-builder-heading p,
  .single-product .zavryne-catalog-more .section-heading p{
    font-size:12px!important;
  }
  .single-product .look-builder-heading>.text-link,
  .single-product .zavryne-catalog-more .section-heading>.text-link{
    display:none!important;
  }

  /* Cross-sells become swipeable, large discovery cards. */
  .single-product .look-builder-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:12px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    padding:2px 18vw 10px 1px!important;
    scrollbar-width:none!important;
  }
  .single-product .look-builder-grid::-webkit-scrollbar{display:none!important}
  .single-product .look-builder-card{
    flex:0 0 76%!important;
    width:76%!important;
    min-width:76%!important;
    scroll-snap-align:start!important;
  }
  .single-product .look-builder-bar{
    position:relative!important;
    bottom:auto!important;
    margin-top:14px!important;
    padding:12px!important;
  }

  .single-product .zavryne-catalog-grid{
    gap:12px!important;
    padding:1px 18vw 12px 1px!important;
  }
  .single-product .zavryne-catalog-card{
    flex:0 0 76%!important;
    width:76%!important;
    min-width:76%!important;
    border-radius:13px!important;
  }
  .single-product .zavryne-catalog-card__title{
    font-size:14px!important;
    margin-left:13px!important;
    margin-right:13px!important;
  }
  .single-product .zavryne-catalog-card .price{
    margin-left:13px!important;
    margin-right:13px!important;
    font-size:17px!important;
  }
  .single-product .zv1619-reco-category,
  .single-product .zv1488-card-rating,
  .single-product .zv1512-card-stock{
    margin-left:13px!important;
    margin-right:13px!important;
  }
  .single-product .zavryne-catalog-card__cta{
    margin-left:13px!important;
    margin-right:13px!important;
    min-height:45px!important;
  }
  .single-product .zv1512-rail-nav{display:none!important}
}

@media(max-width:420px){
  .home .zv88-products ul.products > li.product,
  .home .zv88-new ul.products > li.product,
  .single-product .look-builder-card,
  .single-product .zavryne-catalog-card{
    flex-basis:82%!important;
    width:82%!important;
    min-width:82%!important;
  }
}
