/* =========================================================
   Vertical Slider Addon – Stylesheet
   ========================================================= */

.vsa-slider-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  background: transparent;
}

/* ── Viewport: clips the sliding track ── */
.vsa-slider-viewport {
  overflow: hidden;
  width: 100%;
  height: 600px; /* overridden by Elementor control */
  position: relative;
}

/* ── Track: the moving strip ── */
.vsa-slider-track {
  display: flex;
  flex-direction: column;
  will-change: transform;
  transition: none; /* JS handles animation */
}

/* Stepped mode transition */
.vsa-slider-track.vsa-stepping {
  transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Individual slide ── */
.vsa-slide {
  flex-shrink: 0;
  width: 100%;
  box-sizing: border-box;
}

/* ── Image wrapper ── */
.vsa-slide-image {
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.vsa-slide-image img {
  width: 100%;
  height: 280px; /* overridden by Elementor control */
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.vsa-slide:hover .vsa-slide-image img {
  transform: scale(1.03);
}

/* ── Info bar (title + price) ── */
.vsa-slide-info {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  background: #ffffff;
  box-sizing: border-box;
}

/* ── Title ── */
.vsa-slide-title {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1a1a1a;
  line-height: 1.3;
  flex: 1;
}

/* ── Price ── */
.vsa-slide-price {
  font-size: 1rem;
  font-weight: 700;
  color: #1a1a1a;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── Horizontal mode (mobile) ── */
.vsa-slider-wrapper.vsa-horizontal {
  overflow: hidden; /* hide partial slides peeking from sides */
}

.vsa-slider-wrapper.vsa-horizontal .vsa-slider-track {
  flex-direction: row;
  flex-wrap: nowrap;
  height: 100%;
  width: max-content;
  gap: 12px; /* space between slides */
}

.vsa-slider-wrapper.vsa-horizontal .vsa-slide {
  flex-shrink: 0;
  height: 100%;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
}

/* Image grows to fill available space above the info bar */
.vsa-slider-wrapper.vsa-horizontal .vsa-slide-image {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.vsa-slider-wrapper.vsa-horizontal .vsa-slide-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Info bar stays at natural height at the bottom */
.vsa-slider-wrapper.vsa-horizontal .vsa-slide-info {
  flex-shrink: 0;
}

/* Stepped horizontal transition */
.vsa-slider-wrapper.vsa-horizontal .vsa-slider-track.vsa-stepping {
  transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Elementor editor placeholder ── */
.elementor-editor-active .vsa-slider-track {
  transition: none !important;
}
