/* Zi Vital Store V7 — compact editorial carousel + product quick-view polish */

/* ---------- CATEGORY EDITORIAL CAROUSEL ---------- */
.zv-store-category__layout{
  min-height:0!important;
  align-items:start!important;
}

.zv-store-category__feature.is-v7-editorial{
  aspect-ratio:4/5!important;
  width:100%!important;
  height:clamp(510px,41vw,580px)!important;
  min-height:0!important;
  max-height:580px!important;
  background:#fff!important;
}

.zv-store-category__feature.is-v7-editorial .zv-store-category__feature-product,
.zv-store-category__feature.is-v7-editorial .zv-store-category__halo,
.zv-store-category__feature.is-v7-editorial .zv-store-category__feature-copy{
  display:none!important;
}

.zv-store-category__feature.is-v7-editorial::before,
.zv-store-category__feature.is-v7-editorial::after{
  display:none!important;
  content:none!important;
  background:none!important;
}

.zv7-editorial-carousel{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  background:#f7f4ef;
}

.zv7-editorial-carousel__slide{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .8s ease,visibility .8s ease;
}

.zv7-editorial-carousel__slide.is-active{
  opacity:1;
  visibility:visible;
}

.zv7-editorial-carousel__slide img{
  width:100%;
  height:100%;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover;
  object-position:center;
  filter:none!important;
  transform:scale(1.001);
  transition:transform 6.8s cubic-bezier(.2,.72,.2,1);
}

.zv7-editorial-carousel__slide.is-active img{
  transform:scale(1.025);
}

.zv7-editorial-carousel__controls{
  position:absolute;
  top:16px;
  right:16px;
  z-index:6;
  display:flex;
  gap:7px;
}

.zv7-editorial-carousel__arrow{
  appearance:none;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid rgba(255,255,255,.78);
  border-radius:999px;
  background:rgba(255,255,255,.95);
  color:#8f681f;
  box-shadow:0 8px 22px rgba(42,31,22,.13);
  cursor:pointer;
  font:600 17px/1 "Manrope",sans-serif;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}

.zv7-editorial-carousel__arrow:hover,
.zv7-editorial-carousel__arrow:focus-visible{
  transform:translateY(-2px);
  background:#fff;
  box-shadow:0 12px 26px rgba(42,31,22,.17);
  outline:none;
}

.zv7-editorial-carousel__dots{
  position:absolute;
  right:16px;
  bottom:16px;
  z-index:6;
  display:flex;
  gap:7px;
  align-items:center;
  padding:7px 9px;
  border-radius:999px;
  background:rgba(28,23,20,.20);
  box-shadow:0 8px 18px rgba(28,23,20,.10);
}

.zv7-editorial-carousel__dot{
  appearance:none;
  width:8px;
  height:8px;
  padding:0;
  border:1px solid rgba(255,255,255,.92);
  border-radius:50%;
  background:rgba(255,255,255,.38);
  cursor:pointer;
  transition:width .25s ease,border-radius .25s ease,background .25s ease;
}

.zv7-editorial-carousel__dot.is-active{
  width:23px;
  border-radius:999px;
  background:#fff;
}

/* Keep the first product area compact: 1 featured + 2 supporting cards. */
.zv-store-category.is-v7-compact .zv-store-category__products{
  height:clamp(510px,41vw,580px)!important;
  min-height:0!important;
  grid-template-columns:1.06fr .94fr!important;
  grid-template-rows:1fr 1fr!important;
  gap:12px!important;
  align-self:start!important;
}

.zv-store-category.is-v7-compact .zv-store-category__products>.zv-store-product:first-child{
  grid-row:1 / span 2!important;
  min-height:0!important;
}

.zv-store-category.is-v7-compact .zv-store-category__products>.zv-store-product:nth-child(2),
.zv-store-category.is-v7-compact .zv-store-category__products>.zv-store-product:nth-child(3){
  min-height:0!important;
}

.zv-store-category.is-v7-compact .zv-store-category__products .zv-store-product__media{
  height:166px!important;
  min-height:166px!important;
  margin:8px!important;
  background:#fff!important;
}

.zv-store-category.is-v7-compact .zv-store-category__products .zv-store-product--featured .zv-store-product__media{
  height:300px!important;
  min-height:300px!important;
}

.zv-store-category.is-v7-compact .zv-store-category__products .zv-store-product__media>a{
  overflow:hidden!important;
  background:#fff!important;
}

.zv-store-category.is-v7-compact .zv-store-category__products .zv-store-product__media img{
  width:94%!important;
  height:94%!important;
  max-width:94%!important;
  max-height:94%!important;
  object-fit:contain!important;
  object-position:center!important;
}

.zv-store-category.is-v7-compact .zv-store-category__products .zv-store-product__body{
  padding:11px 15px 15px!important;
}

.zv-store-category.is-v7-compact .zv-store-category__products .zv-store-product__body h3{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  line-height:1.15!important;
}

.zv-store-category.is-v7-compact .zv-store-category__products .zv-store-product__excerpt{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
  line-height:1.55!important;
}

.zv-store-category.is-v7-compact .zv-store-category__products .zv-store-product__footer{
  margin-top:auto!important;
}

.zv7-generated-more{margin-top:28px!important}

/* ---------- QUICK VIEW: concise, visual, useful ---------- */
.zv-store-modal.has-v7-details .zv-store-modal__body{
  justify-content:flex-start!important;
  padding-top:42px!important;
}

.zv-store-modal.has-v7-details .zv-store-modal__body h2{
  font-size:clamp(34px,2.6vw,40px)!important;
  line-height:.96!important;
  letter-spacing:-.03em!important;
}

.zv-store-modal.has-v7-details .zv-store-modal__chips{
  display:none!important;
}

.zv-store-modal.has-v7-details .zv-store-modal__media{
  padding:24px!important;
}

.zv-store-modal.has-v7-details .zv-store-modal__media img{
  width:90%!important;
  height:90%!important;
  max-width:620px!important;
  max-height:610px!important;
  object-fit:contain!important;
}

.zv-store-modal.has-v7-details .zv-store-modal__description{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:4!important;
  overflow:hidden!important;
}

.zv7-modal-details{
  display:grid;
  gap:10px;
  margin:18px 0 3px;
  padding-top:15px;
  border-top:1px solid rgba(184,141,51,.13);
}

.zv7-modal-details[hidden]{display:none!important}

.zv7-modal-details__heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:1px;
}

.zv7-modal-details__heading span{
  color:#4f443b;
  font:700 9px/1 "Manrope",sans-serif;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.zv7-modal-details__heading small{
  color:#a39282;
  font:600 7px/1 "Manrope",sans-serif;
  letter-spacing:.04em;
}

.zv7-modal-details__loading{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  color:#8b7e72;
  font:600 8px/1.4 "Manrope",sans-serif;
}

.zv7-modal-details__loading span{
  width:17px;
  height:17px;
  border:2px solid rgba(184,141,51,.19);
  border-top-color:#b88d33;
  border-radius:50%;
  animation:zv7spin .8s linear infinite;
}

@keyframes zv7spin{to{transform:rotate(360deg)}}

.zv7-modal-benefits{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.zv7-modal-benefit{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:92px;
  padding:12px;
  border:1px solid rgba(184,141,51,.14);
  border-radius:16px;
  background:linear-gradient(145deg,#fff,#fdf9f4);
  box-shadow:0 8px 20px rgba(61,47,34,.035);
}

.zv7-modal-benefit__icon{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:9px;
  background:#f3ead9;
  color:#9a7128;
  font:700 11px/1 "Manrope",sans-serif;
}

.zv7-modal-benefit p{
  margin:0;
  color:#64584f;
  font:600 8px/1.5 "Manrope",sans-serif;
}

.zv7-modal-targets{
  display:grid;
  gap:8px;
}

.zv7-modal-targets>span{
  color:#9a8d81;
  font:700 7px/1 "Manrope",sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.zv7-modal-targets__chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.zv7-modal-targets__chips span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border:1px solid rgba(184,141,51,.15);
  border-radius:999px;
  background:#fffaf4;
  color:#7a685a;
  font:700 7px/1 "Manrope",sans-serif;
}

.zv7-modal-detail{
  overflow:hidden;
  border:1px solid rgba(184,141,51,.15);
  border-radius:15px;
  background:linear-gradient(180deg,#fff 0%,#fdfbf8 100%);
}

.zv7-modal-detail summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:42px;
  padding:0 14px;
  color:#5e5147;
  cursor:pointer;
  font:700 8px/1 "Manrope",sans-serif;
  transition:background .2s ease,color .2s ease;
}

.zv7-modal-detail summary::-webkit-details-marker{display:none}
.zv7-modal-detail summary:hover{background:#fffaf4;color:#91671f}

.zv7-modal-detail summary i{
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  border-radius:8px;
  background:#faf5ed;
  color:#9a7128;
  font:600 14px/1 "Manrope",sans-serif;
  font-style:normal;
  transition:transform .25s ease,background .25s ease;
}

.zv7-modal-detail[open] summary i{
  transform:rotate(45deg);
  background:#f4ead9;
}

.zv7-modal-detail__body{
  border-top:1px solid rgba(184,141,51,.11);
  color:#73675d;
  font:500 9px/1.6 "Manrope",sans-serif;
}

.zv7-modal-detail__body--specs{display:grid}

.zv7-modal-detail__body--specs>div{
  display:grid;
  grid-template-columns:minmax(100px,.42fr) minmax(0,.58fr);
  gap:14px;
  padding:9px 14px;
  border-bottom:1px solid rgba(184,141,51,.09);
}

.zv7-modal-detail__body--specs>div:last-child{border-bottom:0}
.zv7-modal-detail__body--specs span{color:#9a8d81;font-size:8px}
.zv7-modal-detail__body--specs strong{color:#51463d;font-size:9px;font-weight:700;text-align:right}

/* ---------- ADD-TO-CART CONFIRMATION ---------- */
.zv-store-success{
  width:min(700px,calc(100vw - 34px))!important;
  max-width:700px!important;
  padding:36px 38px 32px!important;
  border-radius:32px!important;
  text-align:center!important;
  box-shadow:0 36px 105px rgba(31,24,19,.29)!important;
}

.zv-store-success__close{top:17px!important;right:17px!important}

.zv-store-success__icon{
  display:grid!important;
  place-items:center!important;
  width:64px!important;
  height:64px!important;
  margin:0 auto 15px!important;
  border-radius:50%!important;
  font-size:27px!important;
  line-height:1!important;
  background:linear-gradient(145deg,#b4822b,#d2aa52)!important;
  box-shadow:0 14px 32px rgba(184,141,51,.28)!important;
}

.zv-store-success__heading{
  display:grid!important;
  gap:5px!important;
  margin:0 0 21px!important;
  text-align:center!important;
}

.zv-store-success__heading strong{
  font-family:"Cormorant Garamond",serif!important;
  font-size:46px!important;
  font-weight:500!important;
  line-height:.9!important;
  letter-spacing:-.035em!important;
  color:#312a26!important;
}

.zv-store-success__heading span{color:#8c7f73!important;font:600 10px/1.45 "Manrope",sans-serif!important}

.zv-store-success__product{
  display:grid!important;
  grid-template-columns:116px minmax(0,1fr)!important;
  align-items:center!important;
  gap:20px!important;
  padding:18px 20px!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(184,141,51,.16),0 12px 28px rgba(55,43,31,.04)!important;
  text-align:left!important;
}

.zv-store-success__product img{width:116px!important;height:116px!important;border-radius:18px!important;background:#faf9f7!important;object-fit:contain!important}
.zv-store-success__product>div{display:grid!important;gap:9px!important}
.zv-store-success__product strong{color:#423830!important;font:700 13px/1.45 "Manrope",sans-serif!important}
.zv-store-success__product span{color:#91671f!important;font:700 12px/1.2 "Manrope",sans-serif!important}

.zv-store-success__meta{
  display:flex!important;
  justify-content:center!important;
  margin-top:13px!important;
  color:#9b8e82!important;
  font:600 9px/1.4 "Manrope",sans-serif!important;
  text-align:center!important;
}

.zv-store-success__actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;margin-top:22px!important}
.zv-store-success__actions .zv-store-btn{min-height:54px!important;border-radius:17px!important;font-size:11px!important}
.zv-store-success__progress{margin-top:16px!important}

@media (max-width:980px){
  .zv-store-category__feature.is-v7-editorial,
  .zv-store-category.is-v7-compact .zv-store-category__products{
    height:530px!important;
    max-height:530px!important;
  }
  .zv-store-category.is-v7-compact .zv-store-category__products .zv-store-product__media{height:152px!important;min-height:152px!important}
  .zv-store-category.is-v7-compact .zv-store-category__products .zv-store-product--featured .zv-store-product__media{height:270px!important;min-height:270px!important}
  .zv7-modal-benefits{grid-template-columns:1fr}
  .zv7-modal-benefit{min-height:0;display:grid;grid-template-columns:25px 1fr;align-items:start}
}

@media (max-width:720px){
  .zv-store-category.is-v7-compact .zv-store-category__products{
    height:auto!important;
    max-height:none!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
  }
  .zv-store-category.is-v7-compact .zv-store-category__products>.zv-store-product:first-child{grid-row:auto!important}
  .zv-store-category.is-v7-compact .zv-store-category__products .zv-store-product__media,
  .zv-store-category.is-v7-compact .zv-store-category__products .zv-store-product--featured .zv-store-product__media{height:245px!important;min-height:245px!important}
  .zv-store-modal.has-v7-details .zv-store-modal__body{padding-top:26px!important}
  .zv-store-modal.has-v7-details .zv-store-modal__body h2{font-size:34px!important}
  .zv-store-modal.has-v7-details .zv-store-modal__media{padding:16px!important}
  .zv-store-modal.has-v7-details .zv-store-modal__media img{width:94%!important;height:94%!important}
  .zv7-modal-details{margin-top:16px}
  .zv-store-success{width:min(580px,calc(100vw - 26px))!important;padding:30px 24px 25px!important}
  .zv-store-success__heading strong{font-size:40px!important}
}

@media (max-width:640px){
  .zv-store-category__feature.is-v7-editorial{
    aspect-ratio:4/5!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    border-radius:26px!important;
  }
  .zv7-editorial-carousel__controls{top:14px;right:14px}
  .zv7-editorial-carousel__arrow{width:36px;height:36px}
  .zv7-editorial-carousel__dots{right:14px;bottom:14px}
  .zv7-modal-detail__body--specs>div{grid-template-columns:1fr;gap:4px}
  .zv7-modal-detail__body--specs strong{text-align:left}
  .zv-store-success__product{grid-template-columns:86px minmax(0,1fr)!important;gap:14px!important;padding:14px!important}
  .zv-store-success__product img{width:86px!important;height:86px!important}
  .zv-store-success__product strong{font-size:11px!important}
  .zv-store-success__product span{font-size:10px!important}
  .zv-store-success__actions{grid-template-columns:1fr!important}
}

@media (prefers-reduced-motion:reduce){
  .zv7-editorial-carousel__slide,
  .zv7-editorial-carousel__slide img,
  .zv7-editorial-carousel__arrow,
  .zv7-editorial-carousel__dot,
  .zv7-modal-detail summary,
  .zv7-modal-detail summary i{
    transition:none!important;
  }
  .zv7-modal-details__loading span{animation:none!important}
}