/* XP Carousel 1.0.0 */
.xp-carousel[data-xp-carousel] {
  --xp-items: var(--xp-items-mobile, 3);
  --xp-gap: var(--xp-gap-mobile, 10px);
  --xp-peek: var(--xp-peek-mobile, 50px);
  display: flex;
  align-items: flex-start;
  gap: var(--xp-gap);
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: auto;
  scroll-snap-type: none;
  touch-action: pan-x pan-y pinch-zoom;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.xp-carousel[data-xp-carousel]::-webkit-scrollbar { display: none; }
.xp-carousel[data-xp-carousel] > .item {
  flex: 0 0 max(1px, calc((100% - var(--xp-peek) - (var(--xp-items) - 1) * var(--xp-gap)) / var(--xp-items)));
  min-width: 0;
}
@media (min-width: 767px) {
  .xp-carousel[data-xp-carousel] {
    --xp-items: var(--xp-items-tablet, 3);
    --xp-gap: var(--xp-gap-tablet, 10px);
    --xp-peek: var(--xp-peek-tablet, 70px);
  }
}
@media (min-width: 1000px) {
  .xp-carousel[data-xp-carousel] {
    --xp-items: var(--xp-items-desktop, 10);
    --xp-gap: var(--xp-gap-desktop, 10px);
    --xp-peek: var(--xp-peek-desktop, 70px);
  }
}
.xp-carousel[data-xp-carousel] img,
.xp-carousel[data-xp-carousel] a { -webkit-user-drag: none; }
.xp-carousel[data-xp-carousel].xp-is-dragging,
.xp-carousel[data-xp-carousel].xp-is-dragging * {
  cursor: grabbing !important;
  user-select: none !important;
}
.xp-carousel[data-xp-carousel]:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
  .xp-carousel[data-xp-carousel] { cursor: grab; }
}
