/**
 * Styles for Soda Marquee Carousel Elementor Widget
 */

.soda-marquee-wrapper {
  position: relative;
  width: 100%;
  height: var(--soda-marquee-height, 400px);
  overflow: hidden;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

/* Premium gradient mask to fade items on the left and right edges */
.soda-marquee-wrapper.has-fade-mask {
  mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}

.soda-marquee-track {
  display: flex;
  width: max-content;
  height: 100%;
  align-items: stretch; /* Make sure all items have the same height */
  animation-name: soda-marquee-scroll-rtl;
  animation-duration: var(--soda-marquee-duration, 30s);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  will-change: transform;
}

/* Playback Direction options */
.soda-marquee-wrapper[data-direction="rtl"] .soda-marquee-track {
  animation-name: soda-marquee-scroll-rtl;
}

.soda-marquee-wrapper[data-direction="ltr"] .soda-marquee-track {
  animation-name: soda-marquee-scroll-ltr;
}

/* Pause scroll on hover/focus if enabled */
.soda-marquee-wrapper.pause-on-hover:hover .soda-marquee-track,
.soda-marquee-wrapper.pause-on-hover .soda-marquee-track:focus-within {
  animation-play-state: paused;
}

.soda-marquee-list {
  display: flex;
  height: 100%;
  align-items: stretch;
  gap: var(--soda-marquee-gap, 20px);
  padding-right: var(--soda-marquee-gap, 20px); /* ensures spacing between track segments */
  box-sizing: border-box;
}

/* Marquee Items */
.soda-marquee-item {
  flex: 0 0 auto;
  height: 100%;
  box-sizing: border-box;
  display: flex;
}

/* Item widths based on presets */
.soda-marquee-item[data-width-preset="default"] {
  width: var(--soda-marquee-base-width, 300px);
  flex: 0 0 var(--soda-marquee-base-width, 300px);
}

.soda-marquee-item[data-width-preset="double"] {
  width: calc(var(--soda-marquee-base-width, 300px) * 2 + var(--soda-marquee-gap, 20px));
  flex: 0 0 calc(var(--soda-marquee-base-width, 300px) * 2 + var(--soda-marquee-gap, 20px));
}

.soda-marquee-item[data-width-preset="custom"] {
  width: var(--soda-marquee-custom-item-width, 300px);
  flex: 0 0 var(--soda-marquee-custom-item-width, 300px);
}

/* Inner elements styling inside marquee context */
.soda-marquee-item-inner {
  width: 100%;
  height: 100%;
  display: flex;
  border-radius: inherit;
  overflow: hidden;
}

/* Override height and map variables of zoom logo and reveal widgets inside marquee */
.soda-marquee-item-inner .soda-zoom-container {
  height: 100% !important;
  width: 100%;
  border-radius: inherit !important;
}

.soda-marquee-item-inner .soda-zoom-overlay {
  background-color: var(--soda-zoom-overlay-bg, rgba(0, 0, 0, 0.2));
}

.soda-marquee-item-inner .soda-zoom-container:hover .soda-zoom-overlay,
.soda-marquee-item-inner .soda-zoom-container:focus-within .soda-zoom-overlay {
  background-color: var(--soda-zoom-overlay-bg-hover, rgba(0, 0, 0, 0.35));
}

.soda-marquee-item-inner .soda-zoom-logo {
  opacity: var(--soda-zoom-logo-opacity, 1);
}

.soda-marquee-item-inner .soda-zoom-container:hover .soda-zoom-logo,
.soda-marquee-item-inner .soda-zoom-container:focus-within .soda-zoom-logo {
  opacity: var(--soda-zoom-logo-opacity-hover, 1);
}

.soda-marquee-item-inner a.soda-zoom-container,
.soda-marquee-item-inner a.soda-reveal-container {
  text-decoration: none;
}

.soda-marquee-item-inner .soda-reveal-container {
  height: 100% !important;
  width: 100%;
  background-color: var(--soda-reveal-underlay-bg, #f5f5f7);
  border-radius: inherit !important;
}

.soda-marquee-item-inner .soda-reveal-underlay {
  background-color: var(--soda-reveal-underlay-bg, #f5f5f7);
}

.soda-marquee-item-inner .soda-reveal-text {
  color: var(--soda-reveal-text-color, #1d1d1f);
}

.soda-marquee-item-inner .soda-reveal-logo {
  width: var(--soda-reveal-logo-width, 160px);
}

.soda-marquee-item-inner .soda-reveal-container:hover .soda-reveal-overlay,
.soda-marquee-item-inner .soda-reveal-container:focus-within .soda-reveal-overlay,
.soda-marquee-item-inner .soda-reveal-container.active .soda-reveal-overlay {
  max-width: var(--soda-reveal-overlay-hover-width, 50%);
}

/* Keyframe animations for seamless infinite scroll */
@keyframes soda-marquee-scroll-rtl {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@keyframes soda-marquee-scroll-ltr {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}

/* Accessibility: respect user preferences for reduced motion */
@media (prefers-reduced-motion: reduce) {
  .soda-marquee-track {
    animation: none !important;
  }
  .soda-marquee-wrapper {
    overflow-x: auto;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }
}
