/* =========================================================
   ZHURI MODULE 2 — COLLECTION + PRODUCT DETAIL
   Loaded after site.css to isolate these pages from old rules.
   ========================================================= */
.zh-collection-view main,
.zh-product-view main{
  background:
    radial-gradient(circle at 8% 6%,rgba(255,255,255,.70),transparent 24%),
    radial-gradient(circle at 92% 24%,rgba(201,177,239,.48),transparent 27%),
    linear-gradient(145deg,#f3ebff 0%,#eadcff 52%,#e2d1f7 100%)!important;
}

.zh-product-facts{margin:16px 0 0;border-top:1px solid rgba(103,77,118,.14)}
.zh-product-facts div{display:grid;grid-template-columns:135px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid rgba(103,77,118,.12)}
.zh-product-facts dt{font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#76677d}
.zh-product-facts dd{margin:0;font-size:12px;line-height:1.5;color:#392844}
.accordion a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:520px){.zh-product-facts div{grid-template-columns:1fr;gap:4px}}
.zh-lux-collection{
  max-width:1500px!important;
  padding:54px clamp(18px,4vw,64px) 100px!important;
}
.zh-lux-collection .collection-title{
  max-width:720px;
  margin:0 auto 36px!important;
}
.zh-lux-collection .collection-title .eyebrow{
  color:#7d55aa!important;
  letter-spacing:3px!important;
}
.zh-lux-collection .collection-title h1{
  color:#281641!important;
  font-size:clamp(45px,6vw,78px)!important;
  line-height:1!important;
  margin:13px 0 12px!important;
}
.zh-lux-collection .collection-title p{
  color:#776487!important;
  margin:0!important;
  font-size:13px!important;
}
.zh-collection-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:66px;
  margin-bottom:28px;
  padding:11px 16px 11px 22px;
  border:1px solid rgba(85,49,128,.14);
  border-radius:16px;
  background:rgba(247,241,255,.60);
  box-shadow:0 14px 36px rgba(64,35,99,.07);
  backdrop-filter:blur(12px);
}
.zh-result-count{
  color:#6d5880;
  font-size:12px;
  letter-spacing:.5px;
}
.zh-result-count span{
  color:#2d174b;
  font:600 20px 'Playfair Display',serif;
  margin-right:5px;
}
.zh-sort-form{
  display:flex;
  align-items:center;
  gap:12px;
}
.zh-sort-form label{
  color:#715d82;
  font-size:11px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
}
.zh-sort-form select{
  min-width:180px;
  height:42px;
  border:1px solid rgba(89,54,132,.17);
  border-radius:10px;
  background:rgba(255,255,255,.55);
  color:#2d1748;
  padding:0 38px 0 13px;
  outline:none;
}
.zh-lux-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
}
.zh-lux-card{
  border:1px solid rgba(91,56,137,.14)!important;
  border-radius:19px!important;
  background:linear-gradient(145deg,rgba(246,239,255,.91),rgba(225,208,248,.93))!important;
  box-shadow:0 18px 45px rgba(65,34,101,.10)!important;
  overflow:hidden!important;
  transform:translateY(0);
  transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease!important;
}
.zh-lux-card:hover{
  transform:translateY(-6px);
  box-shadow:0 27px 58px rgba(62,31,99,.17)!important;
  border-color:rgba(105,65,153,.28)!important;
}
.zh-lux-card .product-photo{
  aspect-ratio:4/5!important;
  border-radius:0!important;
  background:linear-gradient(145deg,#eadcff,#d7c2ef)!important;
}
.zh-lux-card .product-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center top!important;
  transition:transform .5s ease!important;
}
.zh-lux-card:hover .product-photo img{transform:scale(1.028)!important}
.zh-lux-card .sale-tag{
  top:13px!important;left:13px!important;
  border-radius:999px!important;
  background:#6d419d!important;color:#fff!important;
  padding:7px 11px!important;
  letter-spacing:1.2px!important;
  box-shadow:0 8px 20px rgba(74,37,113,.18);
}
.zh-card-heart{
  position:absolute;right:13px;top:12px;
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.86);
  color:#4b2a6c;font-size:21px;
  box-shadow:0 8px 22px rgba(52,28,82,.12);
}
.zh-card-view{
  position:absolute;left:16px;right:16px;bottom:15px;
  min-height:42px;display:grid;place-items:center;
  border-radius:10px;
  background:rgba(45,24,72,.88);
  color:#fff;font-size:10px;font-weight:700;letter-spacing:1.7px;
  opacity:0;transform:translateY(8px);
  transition:.3s;
}
.zh-lux-card:hover .zh-card-view{opacity:1;transform:none}
.zh-lux-card .product-meta{
  min-height:115px!important;
  padding:17px 17px 20px!important;
  background:rgba(239,226,255,.78)!important;
  text-align:left!important;
}
.zh-lux-card .product-category{
  color:#846b98!important;font-size:9px!important;letter-spacing:1.8px!important;
}
.zh-lux-card .product-name{
  min-height:42px;
  color:#2b1845!important;
  font:500 18px/1.25 'Playfair Display',serif!important;
  margin:8px 0 9px!important;
}
.zh-lux-card .price{color:#351d54!important;font-size:14px!important}
.zh-empty-state{
  border:1px solid rgba(92,55,137,.14);
  border-radius:22px;
  background:rgba(244,237,255,.64)!important;
  box-shadow:0 20px 48px rgba(61,31,96,.08);
}
.zh-empty-state>span{font-size:30px;color:#7f55ae}

/* Product detail */
.zh-product-view .product-page{
  max-width:1500px!important;
  grid-template-columns:minmax(0,1.18fr) minmax(380px,.82fr)!important;
  gap:clamp(32px,5vw,78px)!important;
  padding:44px clamp(18px,4vw,64px) 100px!important;
  background:transparent!important;
}
.zh-product-view .gallery-grid{
  grid-template-columns:92px minmax(0,1fr)!important;
  gap:16px!important;
  padding:18px!important;
  border:1px solid rgba(91,55,135,.14)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,rgba(239,226,255,.73),rgba(218,197,244,.72))!important;
  box-shadow:0 24px 58px rgba(62,31,99,.11)!important;
}
.zh-product-view .thumbs{
  gap:12px!important;
}
.zh-product-view .thumbs button{
  border:1px solid transparent!important;
  border-radius:11px!important;
  overflow:hidden!important;
  background:#dfcff2!important;
  opacity:.74;
  transition:.2s;
}
.zh-product-view .thumbs button.active{
  border-color:#6b3e98!important;
  opacity:1;
  box-shadow:0 0 0 3px rgba(107,62,152,.12);
}
.zh-product-view .thumbs img{
  width:100%!important;height:112px!important;
  object-fit:contain!important;object-position:center top!important;
  background:#e7d9f7!important;
}
.zh-product-view .main-image{
  width:100%!important;height:auto!important;
  min-height:640px;
  aspect-ratio:4/5!important;
  object-fit:contain!important;
  object-position:center top!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,#eadcff,#d5bfec)!important;
}
.zh-product-view .product-info{
  position:sticky!important;top:118px!important;
  padding:35px!important;
  border:1px solid rgba(90,54,132,.16)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,rgba(247,240,255,.84),rgba(226,209,248,.79))!important;
  box-shadow:0 24px 58px rgba(62,31,99,.11)!important;
  backdrop-filter:blur(14px);
}
.zh-product-breadcrumb{
  display:flex;align-items:center;gap:8px;
  color:#826d93;font-size:9px;font-weight:700;letter-spacing:1.4px;
  margin-bottom:20px;
}
.zh-product-breadcrumb a:hover{color:#4e2b72}
.zh-product-view .product-info .eyebrow{color:#7c55a8!important}
.zh-product-view .product-info h1{
  color:#281442!important;
  font-size:clamp(36px,4vw,54px)!important;
  line-height:1.06!important;
  margin:10px 0 10px!important;
}
.zh-product-rating{
  color:#70469d;
  font-size:11px;letter-spacing:2px;
  margin:0 0 16px;
}
.zh-product-rating span{
  color:#7a6889;letter-spacing:0;margin-left:8px;
}
.zh-product-view .big-price{
  color:#2e174b!important;
  font-size:24px!important;
  font-weight:700;
  margin:12px 0 24px!important;
}
.zh-product-view .product-description{
  color:#6f5d7d!important;
  font-size:14px;line-height:1.8!important;
  border-color:rgba(91,55,135,.17)!important;
}
.zh-product-view .option-label{
  color:#3e245d!important;
  font-size:10px!important;letter-spacing:1.5px!important;
}
.zh-size-row{
  display:flex!important;align-items:center;justify-content:space-between;
}
.zh-size-guide{
  border:0;background:transparent;color:#70439d;
  font-size:9px;font-weight:700;letter-spacing:1px;text-decoration:underline;
  cursor:pointer;
}
.zh-product-view .chip span{
  border:1px solid rgba(91,55,135,.20)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.34)!important;
  color:#35204f!important;
}
.zh-product-view .chip input:checked+span{
  border-color:transparent!important;
  background:linear-gradient(90deg,#7e51b1,#5a2d88)!important;
  color:#fff!important;
  box-shadow:0 9px 20px rgba(91,45,136,.18);
}
.zh-product-view .color-chip span{
  border-radius:50%!important;
  border:3px solid rgba(255,255,255,.9)!important;
}
.zh-product-view .qty-control{
  border:1px solid rgba(91,55,135,.20)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.34)!important;
  overflow:hidden;
}
.zh-product-view .buy-row .btn,
.zh-product-view .buy-now{
  border-radius:11px!important;
  font-size:11px!important;
  letter-spacing:1.6px!important;
}
.zh-product-view .buy-row .btn{
  background:linear-gradient(90deg,#7d50b1,#5b2f89)!important;
  box-shadow:0 13px 27px rgba(83,42,125,.20);
}
.zh-product-view .buy-now{
  background:rgba(255,255,255,.34)!important;
  border-color:#6d4198!important;
  color:#452463!important;
}
.zh-product-promises{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:8px;margin:24px 0 4px;
}
.zh-product-promises>div{
  min-width:0;padding:12px 8px;border-radius:12px;
  border:1px solid rgba(91,55,135,.13);
  background:rgba(255,255,255,.24);
  display:flex;align-items:center;gap:8px;
}
.zh-product-promises b{color:#72469f;font-size:17px}
.zh-product-promises span,.zh-product-promises strong,.zh-product-promises small{display:block;min-width:0}
.zh-product-promises strong{font-size:9px;color:#3a2056}
.zh-product-promises small{font-size:8px;color:#806d90;margin-top:2px}
.zh-product-view .accordion{
  border-color:rgba(91,55,135,.17)!important;
}
.zh-product-view .accordion details{
  background:transparent!important;
  border-color:rgba(91,55,135,.17)!important;
}
.zh-product-view .accordion summary{color:#3a2057!important}
.zh-product-view .accordion p{color:#746382;font-size:13px;line-height:1.7}

@media(max-width:1100px){
  .zh-lux-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .zh-product-view .product-page{
    grid-template-columns:minmax(0,1fr) minmax(350px,.8fr)!important;
    gap:30px!important;
  }
  .zh-product-view .main-image{min-height:540px}
}
@media(max-width:860px){
  .zh-product-view .product-page{grid-template-columns:1fr!important}
  .zh-product-view .product-info{position:static!important}
  .zh-product-view .main-image{min-height:0}
}
@media(max-width:680px){
  .zh-lux-collection{padding:35px 14px 70px!important}
  .zh-lux-collection .collection-title{margin-bottom:24px!important}
  .zh-lux-collection .collection-title h1{font-size:46px!important}
  .zh-collection-toolbar{
    min-height:0;padding:12px!important;
  }
  .zh-result-count{display:none}
  .zh-sort-form{width:100%;justify-content:space-between}
  .zh-sort-form select{min-width:0;flex:1;max-width:220px}
  .zh-lux-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
  .zh-lux-card{border-radius:14px!important}
  .zh-lux-card .product-meta{padding:12px 11px 15px!important;min-height:105px!important}
  .zh-lux-card .product-name{font-size:15px!important;min-height:38px}
  .zh-card-view{display:none}
  .zh-card-heart{width:30px;height:30px;font-size:18px}
  .zh-product-view .product-page{padding:18px 13px 70px!important}
  .zh-product-view .gallery-grid{
    grid-template-columns:1fr!important;padding:10px!important;border-radius:18px!important
  }
  .zh-product-view .main-image{order:1}
  .zh-product-view .thumbs{
    order:2!important;display:flex!important;flex-direction:row!important;overflow-x:auto!important;padding-bottom:3px
  }
  .zh-product-view .thumbs button{min-width:68px!important}
  .zh-product-view .thumbs img{height:86px!important}
  .zh-product-view .product-info{padding:23px 18px!important;border-radius:18px!important}
  .zh-product-view .product-info h1{font-size:36px!important}
  .zh-product-view .buy-row{grid-template-columns:92px 1fr!important}
  .zh-product-promises{grid-template-columns:1fr!important}
  .zh-product-promises>div{padding:11px 12px}
}
@media(max-width:380px){
  .zh-lux-grid{gap:8px!important}
  .zh-lux-card .product-name{font-size:14px!important}
  .zh-product-view .buy-row{grid-template-columns:82px 1fr!important}
}
