/* Keep the existing Elementor layout while its interactive elements initialize. */
.elementor-nav-menu .sub-menu { z-index: 10; }
.elementor-nav-menu--main .sub-menu { min-width: 12rem; }
.elementor-menu-toggle.elementor-active + nav { overflow-y: auto; }

.page-id-11095 .whole-layout { container-type: inline-size; }
.page-id-11095 .elementor-section.elementor-section-stretched {
  width: 100vw;
  left: calc((100% - 100vw) / 2);
}
@supports (width: 100cqw) {
  .page-id-11095 .elementor-section.elementor-section-stretched {
    width: 100cqw;
    left: calc((100% - 100cqw) / 2);
  }
}


.e-n-carousel:not(.swiper-initialized) > .swiper-wrapper {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
}
.e-n-carousel:not(.swiper-initialized) .swiper-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
}
@media (min-width: 768px) {
  .e-n-carousel:not(.swiper-initialized) .swiper-slide { flex-basis: calc((100% - 10px) / 2); }
}
@media (min-width: 1025px) {
  .e-n-carousel:not(.swiper-initialized) .swiper-slide { flex-basis: calc((100% - 20px) / 3); }
}

video.elementor-background-video-hosted { width: 100%; height: 100%; object-fit: cover; }
.elementor-gallery__container[data-gallery] {
  display: grid;
  grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
  gap: var(--column-gap);
}
.elementor-gallery__container[data-gallery] .e-gallery-item {
  display: block;
  overflow: hidden;
  position: relative;
  aspect-ratio: var(--tile-ratio);
}
.elementor-gallery__container[data-gallery] .e-gallery-image,
.elementor-gallery__container[data-gallery] .e-gallery-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 1024px) {
  .elementor-gallery__container[data-gallery] {
    grid-template-columns: repeat(var(--columns-tablet), minmax(0, 1fr));
    gap: var(--column-gap-tablet);
  }
}
@media (max-width: 767px) {
  .elementor-gallery__container[data-gallery] {
    grid-template-columns: repeat(var(--columns-mobile), minmax(0, 1fr));
    gap: var(--column-gap-mobile);
  }
}

body:has(.pv-lightbox[open]) { overflow: hidden; }
.pv-lightbox {
  margin: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  border: 0;
  padding: 36px 42px;
  background: rgba(0, 0, 0, 0.93);
  color: white;
}
.pv-lightbox[open] { display: grid; place-items: center; }
.pv-lightbox figure { margin: 0; text-align: center; }
.pv-lightbox img { display: block; max-width: 100%; max-height: 82vh; width: auto; height: auto; margin: auto; }
.pv-lightbox figcaption { margin-top: 12px; }
.pv-lightbox button {
  position: absolute;
  border: 0;
  background: transparent;
  color: white;
  cursor: pointer;
  padding: 0 12px;
  font: 36px/1.25 sans-serif;
}
.pv-lightbox-close { right: 10px; top: 10px; }
.pv-lightbox-prev { left: 0; top: 50%; transform: translateY(-50%); }
.pv-lightbox-next { right: 0; top: 50%; transform: translateY(-50%); }

[data-search-results] .archive-item { position: static; width: 100%; }
[data-contact-form] button:disabled { cursor: wait; opacity: 0.75; }
.joinchat a.joinchat__open { color: #fff; text-decoration: none; }

@media (prefers-reduced-motion: reduce) {
  .joinchat *, .elementor-menu-toggle + nav { animation-duration: 0s !important; transition-duration: 0s !important; }
}
