.elementor-7732 .elementor-element.elementor-element-06e96c0{--display:flex;}.elementor-7732 .elementor-element.elementor-element-5e9570d{--grid-columns:2;}@media(max-width:1024px){.elementor-7732 .elementor-element.elementor-element-5e9570d{--grid-columns:2;}}@media(max-width:767px){.elementor-7732 .elementor-element.elementor-element-5e9570d{--grid-columns:1;}}/* Start custom CSS for loop-grid, class: .elementor-element-5e9570d *//* Wrapper håndterer scroll */
.loop-carousel-wrapper {
  overflow-x: scroll !important;
  overflow-y: visible !important; /* ignoreres dessverre her også */
  width: 100%;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.loop-carousel-wrapper::-webkit-scrollbar {
  display: none;
}

/* Containeren selv har ingen overflow-begrensning */
.elementor-loop-container {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
  gap: 20px;
  width: fit-content; /* viktig: la den vokse naturlig */
  scroll-snap-type: x mandatory;
  cursor: default;
}

.elementor-loop-container.is-dragging {
  cursor: grabbing;
  user-select: none;
}

@media (max-width: 767px) {
.elementor-loop-container > .e-loop-item {
  flex: 0 0 88vw;
  scroll-snap-align: start;
  scroll-snap-stop: always; /* tving snapping selv ved rask swipe */
}
}

@media (min-width: 768px) {
.elementor-loop-container > .e-loop-item {
  flex: 0 0 27.5vw;
  scroll-snap-align: start;
  scroll-snap-stop: always; /* tving snapping selv ved rask swipe */
}
}

@media (min-width: 1025px) {
.elementor-loop-container > .e-loop-item {
  flex: 0 0 21vw;
  scroll-snap-align: start;
  scroll-snap-stop: always; /* tving snapping selv ved rask swipe */
}
}

.elementor-loop-container {
  overflow-x: scroll !important;
  overflow-y: visible !important; /* <-- dette er nøkkelen */
}

/* Skjul til JS er klar */
.elementor-loop-container {
  visibility: hidden;
}

/* JS legger på denne klassen når alt er satt opp */
.elementor-loop-container.carousel-ready {
  visibility: visible;
}

/* Desktop – piler på siden av carousel */
.carousel-arrow-wrapper {
  position: relative;
  width: 100%;
}

.carousel-btn {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  background: none !important;
  border: none !important;
  font-size: 28px !important;
  cursor: pointer !important;
  padding: 5% !important;
  color: #333 !important;
  line-height: 1 !important;
  transition: opacity 0.2s !important;
}
.carousel-btn--prev { left: -7.5vw !important; }
.carousel-btn--next { right: -7.5vw !important; }

/* Mobil – piler samles under carousel, midtstilt */
@media (max-width: 767px) {
  .carousel-arrow-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  .loop-carousel-wrapper {
    width: 100% !important;
    order: 1;
  }

  .carousel-btn {
    position: static !important;
    transform: none !important;
    font-size: 24px !important;
    order: 2;
  }

.carousel-btn--prev {
  margin-left: 0 !important;
  margin-right: auto !important;
}
.carousel-btn--next {
  margin-left: auto !important;
  margin-right: 0 !important;
}
}

/* Z-index når off-canvas er åpen */
body.elementor-popup-active .carousel-btn,
body.e-popup-open .carousel-btn {
  z-index: 0 !important;
}

.loop-carousel-wrapper::-webkit-scrollbar {
  display: none;
}

/* Legg også til på selve containeren siden Safari noen ganger viser den der */
.elementor-loop-container::-webkit-scrollbar {
  display: none;
}

.elementor-loop-container {
  scrollbar-width: none;
  -ms-overflow-style: none;
}/* End custom CSS */