/* Static clone equivalent of Elementor's responsive gallery runtime values. */
/* Infinite promo carousel moving to the right (rendered by components/promo-carousel.jsx). */
.promo-carousel-right {
  overflow: hidden;
}

.promo-carousel-right .promo-carousel-track {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  /* The nested-carousel CSS clips `.swiper:not(.swiper-initialized) > .swiper-wrapper`,
     which cut every repeated slide beyond the first viewport width. The outer
     `.elementor-image-carousel-wrapper` already clips, so the track must not. */
  overflow: visible !important;
  transition: none !important;
  will-change: transform;
}

.promo-carousel-right .promo-carousel-track > .swiper-slide {
  flex: 0 0 auto;
  /* Keeps the source's 4-up desktop rhythm; the cloned mobile rule below
     restores the source's single 370px card on phones. */
  max-width: 25%;
}

.promo-carousel-right .elementor-swiper-button {
  top: 50%;
  transform: translateY(-50%);
}

@media (prefers-reduced-motion: reduce) {
  .promo-carousel-right .promo-carousel-track {
    transform: translate3d(calc(-100% / 3), 0, 0) !important;
  }
}

@media (max-width: 767px) {
  .elementor-8 .elementor-element.elementor-element-440778af .elementor-element-2b764bb .e-gallery-grid {
    --columns: 1 !important;
    --rows: 13 !important;
    --container-aspect-ratio: 1335% !important;
  }

  .elementor-8 .elementor-element.elementor-element-440778af .elementor-element-2b764bb .e-gallery-grid .e-gallery-item {
    --column: 0 !important;
  }

  .elementor-8 .elementor-element.elementor-element-440778af .elementor-element-5016e0e .e-gallery-grid {
    --columns: 1 !important;
    --rows: 3 !important;
    --container-aspect-ratio: 390% !important;
  }

  .elementor-8 .elementor-element.elementor-element-440778af .elementor-element-5016e0e .e-gallery-grid .e-gallery-item {
    --column: 0 !important;
  }

  .elementor-8 .elementor-element.elementor-element-440778af .e-gallery-masonry {
    --columns: 1 !important;
    --highest-column-gap-count: 4 !important;
    padding-bottom: 320.187% !important;
  }

  .elementor-8 .elementor-element.elementor-element-440778af .e-gallery-masonry .e-gallery-item {
    --column: 0 !important;
  }

  .elementor-8 .elementor-element.elementor-element-440778af .e-gallery-masonry .e-gallery-item:nth-child(1) {
    --items-in-column: 0 !important;
    --percent-height: 0% !important;
  }

  .elementor-8 .elementor-element.elementor-element-440778af .e-gallery-masonry .e-gallery-item:nth-child(2) {
    --items-in-column: 1 !important;
    --percent-height: 33.40397350993378% !important;
  }

  .elementor-8 .elementor-element.elementor-element-440778af .e-gallery-masonry .e-gallery-item:nth-child(3) {
    --items-in-column: 2 !important;
    --percent-height: 49.48344370860928% !important;
  }

  .elementor-8 .elementor-element.elementor-element-440778af .e-gallery-masonry .e-gallery-item:nth-child(4) {
    --items-in-column: 3 !important;
    --percent-height: 68.50331125827816% !important;
  }

  .elementor-8 .elementor-element.elementor-element-440778af .e-gallery-masonry .e-gallery-item:nth-child(5) {
    --items-in-column: 4 !important;
    --percent-height: 83.62913907284769% !important;
  }

  /* Match the source's mobile carousel geometry before Elementor JS runs. */
  .elementor-8 .elementor-element.elementor-element-0f9b769 {
    min-height: 130px !important;
    height: 130px !important;
  }

  .elementor-8 .elementor-element.elementor-element-f6b8717 .swiper-slide {
    width: 195px !important;
    flex: 0 0 195px !important;
  }

  .elementor-8 .elementor-element.elementor-element-f6b8717 .swiper-slide-image {
    width: 195px !important;
    height: 90px !important;
    object-fit: contain;
  }

  .elementor-8 .elementor-element.elementor-element-f6b8717 .swiper-wrapper {
    transform: translate3d(-953px, 0, 0) !important;
    transition-duration: 0ms !important;
  }

  .elementor-8 .elementor-element.elementor-element-a528bd6 {
    height: 444px !important;
  }

  .elementor-8 .elementor-element.elementor-element-5e9f8a7 {
    min-height: 1369px !important;
    height: 1369.2px !important;
  }

  .elementor-8 .elementor-element.elementor-element-5e9f8a7 > .e-con-inner {
    flex-direction: column !important;
  }

  .elementor-8 .elementor-element.elementor-element-049e5fd {
    height: 650px !important;
  }

  .elementor-8 .elementor-element.elementor-element-049e5fd .swiper-slide {
    width: 310px !important;
    flex: 0 0 310px !important;
  }

  .elementor-8 .elementor-element.elementor-element-a528bd6 .swiper-slide,
  .elementor-8 .elementor-element.elementor-element-a528bd6 .swiper-slide-image {
    width: 370px !important;
    height: 444px !important;
    flex: 0 0 370px !important;
  }

  .promo-carousel-right .promo-carousel-track > .swiper-slide {
    max-width: 370px !important;
  }
}
