/* ViraShop carousel slider */
.vs-slider {
  position: relative;
  width: 100%;
  margin: 1rem 0;
  --vs-slider-h: min(56vw, 420px);
  --vs-slider-transition: var(--slider-transition-ms, 400ms) var(--motion-easing, cubic-bezier(.22, 1, .36, 1));
}
.vs-slider__viewport {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg, 14px);
  background: #e2e8f0;
  height: var(--vs-slider-h);
}
.vs-slider--vertical .vs-slider__viewport {
  height: min(70vh, 520px);
}
.vs-slider__track {
  display: flex;
  height: 100%;
  width: 100%;
  transition: transform var(--vs-slider-transition);
  will-change: transform;
}
.vs-slider--vertical .vs-slider__track {
  flex-direction: column;
}
.vs-slider__slide {
  position: relative;
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  min-width: 0;
}
.vs-slider--cards .vs-slider__slide {
  flex: 0 0 80%;
  margin-inline-end: 1rem;
}
.vs-slider--anim-fade .vs-slider__track {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  transform: none !important;
  transition: none;
}
.vs-slider--anim-fade .vs-slider__slide {
  grid-area: 1 / 1;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--vs-slider-transition), visibility var(--vs-slider-transition);
  pointer-events: none;
}
.vs-slider--anim-fade .vs-slider__slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.vs-slider__media {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.vs-slider__link { display: block; width: 100%; height: 100%; }
.vs-slider__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.vs-slider__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  padding: 1.5rem 1.75rem;
  pointer-events: none;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0,0,0,.45);
  background: linear-gradient(180deg, rgba(15,23,42,.05) 0%, rgba(15,23,42,.55) 100%);
}
.vs-slider__overlay > * { pointer-events: auto; max-width: 36rem; }
.vs-slider__overlay-title {
  margin: 0;
  font-size: clamp(1.25rem, 2.5vw, 2rem);
  font-weight: 800;
  line-height: 1.25;
}
.vs-slider__overlay-text {
  margin: 0;
  font-size: 1rem;
  opacity: .95;
  line-height: 1.6;
}
.vs-slider__overlay-cta { align-self: flex-start; margin-top: .25rem; }
.vs-slider__overlay--center { align-items: center; justify-content: center; text-align: center; }
.vs-slider__overlay--center > * { align-self: center; }
.vs-slider__overlay--top-center { align-items: center; justify-content: flex-start; text-align: center; }
.vs-slider__overlay--top-center > * { align-self: center; }
.vs-slider__overlay--bottom-center { align-items: center; justify-content: flex-end; text-align: center; padding-bottom: 2.5rem; }
.vs-slider__overlay--bottom-center > * { align-self: center; }
.vs-slider__overlay--top-right { align-items: flex-end; justify-content: flex-start; text-align: end; }
.vs-slider__overlay--top-left { align-items: flex-start; justify-content: flex-start; text-align: start; }
.vs-slider__overlay--bottom-right { align-items: flex-end; justify-content: flex-end; text-align: end; padding-bottom: 2.5rem; }
.vs-slider__overlay--bottom-left { align-items: flex-start; justify-content: flex-end; text-align: start; padding-bottom: 2.5rem; }
.vs-slider__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 2.4rem;
  height: 2.4rem;
  border: none;
  border-radius: 999px;
  background: rgba(15, 23, 42, .55);
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.vs-slider__nav:hover { background: rgba(15, 23, 42, .8); }
.vs-slider__nav--prev { inset-inline-start: .75rem; }
.vs-slider__nav--next { inset-inline-end: .75rem; }
.vs-slider--vertical .vs-slider__nav--prev { top: .75rem; inset-inline: 50% auto auto; transform: translateX(-50%) rotate(90deg); }
.vs-slider--vertical .vs-slider__nav--next { top: auto; bottom: .75rem; inset-inline: 50% auto auto; transform: translateX(-50%) rotate(90deg); }
.vs-slider__dots {
  position: absolute;
  inset-inline: 0;
  bottom: .75rem;
  z-index: 3;
  display: flex;
  justify-content: center;
  gap: .4rem;
  pointer-events: none;
}
.vs-slider__dot {
  pointer-events: auto;
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  border: none;
  background: rgba(255,255,255,.45);
  cursor: pointer;
  padding: 0;
}
.vs-slider__dot.is-active { background: #fff; width: 1.1rem; }
.vs-slider--vertical .vs-slider__dots {
  inset: 50% .75rem auto auto;
  bottom: auto;
  transform: translateY(-50%);
  flex-direction: column;
}
.vs-slider--minimal .vs-slider__viewport { border-radius: 0; }
.vs-slider--cards .vs-slider__viewport { background: transparent; }
.vs-slider--managed .vs-slider__viewport { border-radius: var(--vs-slider-radius, 14px); }
.vs-slider--w-container { max-width: 1120px; margin-inline: auto; }
.vs-slider--w-custom { max-width: var(--vs-slider-max-w, 100%); }
.vs-slider__layers { position: absolute; inset: 0; pointer-events: none; }
.vs-slider__layer {
  position: absolute;
  pointer-events: auto;
  transform: translateY(0);
  animation: vs-layer-in var(--vs-anim-duration, 600ms) var(--vs-anim-easing, ease) var(--vs-anim-delay, 0ms) both;
}
.vs-slider__layer-title { margin: 0; font-size: clamp(1.25rem, 2.5vw, 2rem); font-weight: 800; text-shadow: 0 1px 8px rgba(0,0,0,.4); }
.vs-slider__layer-text { margin: .35rem 0 0; opacity: .95; }
.vs-slider__badge {
  display: inline-block; padding: .25rem .6rem; border-radius: 999px;
  background: rgba(255,255,255,.9); color: #0f172a; font-size: .8rem; font-weight: 700;
}
.vs-slider__progress {
  position: absolute; inset-inline: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.25); z-index: 5;
}
.vs-slider__progress > span {
  display: block; height: 100%; width: 0; background: #fff; transition: width linear;
}
.vs-slider__thumbs {
  display: flex; gap: .5rem; justify-content: center; margin-top: .75rem; flex-wrap: wrap;
}
.vs-slider__thumb {
  width: 64px; height: 40px; padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; cursor: pointer; background: #0f172a;
}
.vs-slider__thumb.is-active { border-color: #0F766E; }
.vs-slider__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vs-slider--placeholder {
  padding: 2rem; text-align: center; background: #f1f5f9; border-radius: 12px; color: #64748b;
}
.vs-ken-burns .vs-slider__img, .vs-slider__slide.is-active .vs-ken-burns img {
  animation: vs-ken-burns 8s ease-in-out infinite alternate;
}
@keyframes vs-layer-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes vs-ken-burns {
  from { transform: scale(1); }
  to { transform: scale(1.08); }
}
.vs-hide-desktop { }
.vs-slider--hide-desktop { }
@media (min-width: 1025px) {
  .vs-hide-desktop, .vs-slider--hide-desktop { display: none !important; }
}
@media (max-width: 1024px) and (min-width: 641px) {
  .vs-hide-tablet, .vs-slider--hide-tablet { display: none !important; }
}
@media (max-width: 640px) {
  .vs-slider { --vs-slider-h: min(62vw, 280px); }
  .vs-slider__overlay { padding: 1rem; }
  .vs-hide-mobile, .vs-slider--hide-mobile { display: none !important; }
}

/* Page-builder slider-ref block wrapper */
.vs-slider-block { width: 100%; margin: 0; }
.vs-slider-block--container,
.vs-slider-block--boxed,
.vs-slider-block--contained {
  max-width: 1120px;
  margin-inline: auto;
  padding-inline: 1rem;
}
.vs-slider-block__header { margin-bottom: .85rem; }
.vs-slider-block__title { margin: 0; font-size: 1.35rem; font-weight: 800; }
.vs-slider-block__subtitle { margin: .35rem 0 0; color: #64748b; }
.vs-slider-block .vs-slider { margin-top: 0; }
.vs-slider-block .vs-slider__viewport { max-height: var(--vs-slider-block-max-h, none); }
.vs-slider--warn { border: 1px dashed #F59E0B; background: #FFFBEB; color: #92400E; }
.vs-slider--placeholder small { display: block; margin-top: .35rem; opacity: .85; font-size: .85rem; }

/* System template variants */
.vs-slider__tone-overlay {
  position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background: color-mix(in srgb, var(--vs-overlay-color, #0f172a) calc(var(--vs-overlay-opacity, .45) * 100%), transparent);
}
.vs-slider--hero-center-focus { --vs-slider-h: 80vh; }
.vs-slider--hero-center-focus .vs-slider__bg { object-fit: cover; width: 100%; height: 100%; }
.vs-slider--hero-center-focus[data-ken-burns] .vs-slider__bg,
.vs-slider--hero-center-focus .is-ken-burns .vs-slider__bg { animation: vs-ken-burns 14s ease-out forwards; }
.vs-slider--hero-center-focus .vs-button.is-secondary { background: transparent; border: 1px solid rgba(255,255,255,.7); color: #fff; }
.vs-slider--split-content-promo { background: var(--vs-split-bg, #F8FAFC); }
.vs-slider--split-content-promo .vs-slider__tone-overlay { opacity: .15; }
.vs-slider--product-spotlight .vs-slider__layer.is-price { font-weight: 800; }
.vs-slider--product-spotlight .vs-slider__layer.is-oldPrice { text-decoration: line-through; opacity: .7; }
.vs-slider--layered-cinematic { --vs-slider-h: 90vh; }
.vs-slider--layered-cinematic .vs-slider__nav { opacity: .55; }
.vs-slider--multi-card .vs-mc__head {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem;
  padding: 0 0 1rem; max-width: 1120px; margin-inline: auto;
}
.vs-slider--multi-card .vs-mc__title { margin: 0; font-size: 1.35rem; font-weight: 800; }
.vs-slider--multi-card .vs-mc__subtitle { margin: .25rem 0 0; color: #64748b; }
.vs-slider--multi-card .vs-mc__view-all { font-weight: 700; color: #0F766E; text-decoration: none; }
.vs-slider--multi-card .vs-slider__track {
  display: flex; gap: var(--vs-card-gap, 1rem);
}
.vs-slider--multi-card .vs-slider__slide {
  flex: 0 0 calc((100% - (var(--vs-cards-desktop, 4) - 1) * var(--vs-card-gap, 1rem)) / var(--vs-cards-desktop, 4));
  position: relative; border-radius: 14px; overflow: hidden;
}
.vs-slider--multi-card .vs-slider__slide:hover { transform: translateY(-4px); transition: transform .2s ease; }
@media (max-width: 1024px) {
  .vs-slider--multi-card .vs-slider__slide {
    flex-basis: calc((100% - (var(--vs-cards-tablet, 2) - 1) * var(--vs-card-gap, 1rem)) / var(--vs-cards-tablet, 2));
  }
  .vs-slider--hero-center-focus { --vs-slider-h: 75vh; }
}
@media (max-width: 640px) {
  .vs-slider--multi-card .vs-slider__slide { flex-basis: 100%; }
  .vs-slider--hero-center-focus { --vs-slider-h: 70vh; }
  .vs-slider--layered-cinematic { --vs-slider-h: 70vh; }
}

