/* ProductsPeruvian product card + carousel */
.productsperuvian-product-carousel{
  --productsperuvian-carousel-gap:20px;
  --productsperuvian-card-size:clamp(240px, calc(var(--productsperuvian-card-vw) - var(--productsperuvian-card-offset)), 420px);
  width:100%;
  position:relative;
  color:#111;
  overflow:visible;
}
.productsperuvian-product-carousel,.productsperuvian-product-carousel *{box-sizing:border-box}
.productsperuvian-product-carousel__heading{
  position:relative;
  min-height:82px;
  margin:0 0 24px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
}
.productsperuvian-product-carousel__heading-copy{max-width:760px;margin:0 auto}
.productsperuvian-product-carousel__eyebrow{
  margin:0 0 12px!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.productsperuvian-product-carousel__title{
  margin:0!important;
  color:#000!important;
  font-size:clamp(30px,3vw,44px)!important;
  font-weight:600!important;
  line-height:1.08!important;
}
.productsperuvian-product-carousel__controls{
  position:absolute;
  right:max(16px, calc((100% - 1350px) / 2));
  bottom:5px;
  display:flex;
  align-items:center;
  gap:10px;
  z-index:3;
}
.productsperuvian-product-carousel__controls--standalone{
  position:relative;
  right:auto;
  bottom:auto;
  width:calc(100% - 32px);
  max-width:1350px;
  justify-content:flex-end;
  min-height:38px;
  margin:0 auto 18px;
}
.productsperuvian-product-carousel__controls button{
  width:40px;
  height:34px;
  padding:4px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:0!important;
  background:transparent!important;
  color:#111!important;
  box-shadow:none!important;
  cursor:pointer;
  transition:opacity .18s ease,transform .18s ease;
}
.productsperuvian-product-carousel__controls button:hover{transform:translateY(-1px)}
.productsperuvian-product-carousel__controls button:disabled{opacity:.22;cursor:default;transform:none}
.productsperuvian-product-carousel__controls svg{width:31px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.productsperuvian-product-carousel__viewport{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
  padding-inline-start:16px;
  scroll-padding-inline-start:16px;
  -webkit-overflow-scrolling:touch;
}
.productsperuvian-product-carousel__viewport::-webkit-scrollbar{display:none}
.productsperuvian-product-carousel__scrollbar{
  display:none;
  position:relative;
  width:calc(100% - 32px);
  max-width:1350px;
  height:4px;
  margin:24px auto 0;
  overflow:hidden;
  border-radius:999px;
  background:#eee4d0;
}
.productsperuvian-product-carousel__scrollbar.is-hidden{display:none!important}
.productsperuvian-product-carousel__scrollbar-thumb{
  position:absolute;
  top:0;
  left:0;
  display:block;
  min-width:48px;
  height:100%;
  border-radius:999px;
  background:#000;
  transform:translate3d(0,0,0);
  will-change:transform;
}
.productsperuvian-product-carousel__track{
  display:flex;
  align-items:stretch;
  gap:var(--productsperuvian-carousel-gap);
  width:100%;
  min-width:100%;
}
.productsperuvian-product-card,
.productsperuvian-product-card *,
.productsperuvian-product-card *::before,
.productsperuvian-product-card *::after{
  box-sizing:border-box;
}
.productsperuvian-product-card{
  font-family:var(--e-global-typography-text-font-family, inherit);
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  scroll-snap-align:start;
  outline:0;
  border-radius:10px;
  background:#fff;
  filter:drop-shadow(0px 2px 14px rgba(0, 0, 0, .0313725));
  color:#111;
}
.productsperuvian-product-carousel .productsperuvian-product-card{
  flex:0 0 var(--productsperuvian-card-size);
  width:var(--productsperuvian-card-size);
  min-width:var(--productsperuvian-card-size);
  max-width:var(--productsperuvian-card-size);
}
.productsperuvian-product-carousel__controls[hidden]{display:none!important}

.productsperuvian-product-card__media{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  background:#fff;
  border-radius:10px 10px 0 0;
}
.productsperuvian-product-card__image{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:8%!important;
  object-fit:contain;
  transition:opacity .28s ease,transform .35s ease;
}
.productsperuvian-product-card__image--hover{opacity:0}
.productsperuvian-product-card__media.has-hover-image:hover .productsperuvian-product-card__image--primary{opacity:0}
.productsperuvian-product-card__media.has-hover-image:hover .productsperuvian-product-card__image--hover{opacity:1;transform:scale(1.025)}
.productsperuvian-product-card__body{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:18px 20px 20px;
  border-top:1px solid rgba(17,17,17,.07);
}
.productsperuvian-product-card__title{
  display:-webkit-box!important;
  min-height:44px;
  margin:0 0 11px!important;
  overflow:hidden;
  color:#000!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.45!important;
  text-decoration:none!important;
  text-transform:none;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.productsperuvian-product-card__title:hover,.productsperuvian-product-card__title:focus{text-decoration:underline!important;text-underline-offset:3px}
.productsperuvian-product-card__rating-row{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:20px;
  margin-bottom:17px;
  white-space:nowrap;
}
.productsperuvian-product-card__stars{
  position:relative;
  display:inline-block;
  width:77px;
  height:14px;
  flex:0 0 77px;
  overflow:hidden;
}
.productsperuvian-product-card__stars-base,
.productsperuvian-product-card__stars-fill{
  position:absolute;
  top:0;
  left:0;
  height:14px;
}
.productsperuvian-product-card__stars-base{
  width:77px;
  fill:#d4d4d4;
}
.productsperuvian-product-card__stars-fill{
  overflow:hidden;
}
.productsperuvian-product-card__stars-fill svg{
  display:block;
  width:77px;
  max-width:none;
  height:14px;
  fill:#050505;
}
.productsperuvian-product-card__reviews{
  overflow:hidden;
  color:#111!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.2!important;
  text-overflow:ellipsis;
  text-decoration:none!important;
}
.productsperuvian-product-card__reviews:hover{text-decoration:underline!important}
.productsperuvian-product-card__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
}
.productsperuvian-product-card__price{
  min-width:0;
  color:#000;
  font-size:16px;
  font-weight:600;
  line-height:1.2;
}
.productsperuvian-product-card__price del{margin-right:5px;color:#777;font-size:12px;font-weight:500}
.productsperuvian-product-card__price ins{color:#000;text-decoration:none}
.productsperuvian-product-card__stock{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:13px;
  font-weight:600;
  line-height:1.2;
  white-space:nowrap;
}
.productsperuvian-product-card__stock svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.productsperuvian-product-card__stock.is-in-stock{color:#748f63}
.productsperuvian-product-card__stock.is-out-of-stock{color:#8a3333}
.productsperuvian-product-card__button{
  width:100%;
  min-height:52px;
  margin-top:0!important;
  padding:13px 18px!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  border-radius:0 0 10px 10px!important;
  background:#000!important;
  color:#fff!important;
  box-shadow:none!important;
  border:0!important;
  appearance:none;
  cursor:pointer;
  font-family:inherit;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.2!important;
  text-align:center;
  text-decoration:none!important;
  transition:background .2s ease,opacity .2s ease;
}
.productsperuvian-product-card__button:hover,.productsperuvian-product-card__button:focus{background:#000!important;color:#fff!important}
.productsperuvian-product-card__button.loading{opacity:.62;pointer-events:none}
.productsperuvian-product-card__button.added:after{content:none!important;display:none!important}
.productsperuvian-product-card>.added_to_cart.wc-forward:not(.productsperuvian-product-card__button){display:none!important}


@media (hover:hover) and (pointer:fine){
  .productsperuvian-product-card:hover .productsperuvian-product-card__image--primary{transform:scale(1.04)}
  .productsperuvian-product-card:hover .productsperuvian-product-card__image--hover{transform:scale(1.04)}
}


/* Underfilled carousels keep the exact same card size as a full carousel.
   Only alignment changes; card width is never recalculated in JavaScript. */
.productsperuvian-product-carousel.is-underfilled .productsperuvian-product-carousel__track,
.productsperuvian-product-carousel--underfilled-desktop .productsperuvian-product-carousel__track{
  justify-content:center;
}

@media(max-width:1024px){
  .productsperuvian-product-carousel{
    --productsperuvian-carousel-gap:16px;
    --productsperuvian-card-size:clamp(260px, calc(42.55319vw - 9.191px), 430px);
  }
  .productsperuvian-product-carousel__scrollbar{display:block}
  .productsperuvian-product-carousel__heading{justify-content:flex-start;text-align:left;padding-right:100px}
  .productsperuvian-product-carousel__title{font-size:clamp(28px,5vw,38px)!important}
}
@media(max-width:767px){
  .productsperuvian-product-carousel{
    --productsperuvian-carousel-gap:12px;
    --productsperuvian-card-size:clamp(260px, calc(86.95652vw - 1.565px), 360px);
  }
  .productsperuvian-product-carousel__heading{min-height:0;margin-bottom:18px;padding-right:0;display:block;text-align:left}
  .productsperuvian-product-carousel__controls{display:none}
  .productsperuvian-product-carousel__controls--standalone{display:none}
  .productsperuvian-product-carousel__scrollbar{margin-top:20px}
  .productsperuvian-product-carousel__eyebrow{margin-bottom:8px!important;font-size:10px!important}
  .productsperuvian-product-carousel__title{font-size:30px!important}
  .productsperuvian-product-card__body{padding:15px 16px 17px}
  .productsperuvian-product-card__title{font-size:14px!important}
  .productsperuvian-product-card__price{font-size:15px}
  .productsperuvian-product-card__stock{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .productsperuvian-product-carousel *{scroll-behavior:auto!important;transition-duration:.01ms!important}
}
