/* Marquee animation */
@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.marquee-container {
  overflow: hidden;
}

.marquee-track {
  display: flex;
  gap: 4rem;
  animation: marquee 20s linear infinite;
  width: max-content;
}

.marquee-track:hover {
  animation-play-state: paused;
}

/* Dashed line */
.dashed-line-h {
  height: 1px;
  width: 100%;
  background-image: repeating-linear-gradient(90deg, transparent, transparent 4px, currentColor 4px, currentColor 10px);
  mask-image: linear-gradient(90deg, transparent, black 25%, black 75%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, black 25%, black 75%, transparent);
}

.dashed-line-v {
  width: 1px;
  height: 100%;
  background-image: repeating-linear-gradient(180deg, transparent, transparent 4px, currentColor 4px, currentColor 10px);
  mask-image: linear-gradient(180deg, transparent, black 25%, black 75%, transparent);
  -webkit-mask-image: linear-gradient(180deg, transparent, black 25%, black 75%, transparent);
}

/* Carousel */
.carousel-wrapper {
  overflow: hidden;
}

.carousel-track {
  display: flex;
  gap: 1rem;
  transition: transform 0.3s ease;
}

/* Accordion content transition */
.accordion-content {
  transition: max-height 0.25s ease-out, opacity 0.25s ease-out;
}

/* Switch */
.switch-root {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 2.75rem;
  height: 1.5rem;
  border-radius: 9999px;
  background-color: var(--input);
  cursor: pointer;
  transition: background-color 0.2s;
  border: none;
  padding: 0;
}

.switch-root.checked {
  background-color: var(--primary);
}

.switch-thumb {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: white;
  transform: translateX(2px);
  transition: transform 0.2s;
  pointer-events: none;
}

.switch-root.checked .switch-thumb {
  transform: translateX(1.25rem);
}

/* Collapsible pricing table mobile */
#pricing-table-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  opacity: 0;
  transition: max-height 0.3s ease, opacity 0.2s ease;
}
