/* ==============================
   Calmhaven Carousel Base Styles
   ============================== */

.calmhaven-carousel-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
}

.calmhaven-carousel-track {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  min-width: max-content;
  gap: 30px;
  animation: scroll-left var(--scroll-speed, 20s) linear infinite;
}

.calmhaven-carousel-track.scroll-right {
  animation: scroll-right var(--scroll-speed, 20s) linear infinite;
}
.calmhaven-carousel-wrapper.pause-on-hover:hover .calmhaven-carousel-track {
  animation-play-state: paused;
}

.calmhaven-carousel-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px; /* works for Icon+Text spacing, overridden by control */
  flex-shrink: 0; /* prevent items from shrinking in flex */
  line-height: 1.4;
  text-align: center;
}

/* Images */
.calmhaven-carousel-item img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* Inline SVGs */
.calmhaven-carousel-item svg {
  display: block;
  height: auto;
  width: auto;
}

/* Icon + Text */
.calmhaven-carousel-item i,
.calmhaven-carousel-item svg {
  flex-shrink: 0;
}

.calmhaven-carousel-item span {
  display: inline-block;
}

/* seamless scroll: move by 50% (half track width) */
@keyframes scroll-left {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes scroll-right {
  0% { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}