/* Local behavior replacing the original CMS widget runtime. */
body { overflow-x: clip; }
.elementor-nav-menu--main .menu-item-has-children { position: relative; }
.elementor-nav-menu--main .menu-item-has-children > .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 240px; z-index: 20; }
.elementor-nav-menu--main .menu-item-has-children:not(.is-submenu-dismissed):hover > .sub-menu,
.elementor-nav-menu--main .menu-item-has-children:not(.is-submenu-dismissed):focus-within > .sub-menu,
.elementor-nav-menu--main .is-submenu-open > .sub-menu { display: block; }
.elementor-nav-menu--dropdown.elementor-nav-menu__container { display: none; }
.elementor-nav-menu--dropdown.is-open { display: block; max-height: none; transform: none; overflow: visible; }
.elementor-nav-menu--dropdown .sub-menu { display: none; margin-left: 16px; }
.elementor-nav-menu--dropdown .is-submenu-open > .sub-menu { display: block; }
.local-sub-arrow { display: flex; align-items: center; line-height: 1; padding: 10px 0 10px 10px; margin-top: -10px; margin-bottom: -10px; }
.local-sub-arrow::before { content: '\f0d7'; font-family: 'Font Awesome 5 Free'; font-weight: 900; }
.elementor-menu-toggle:focus-visible, a:focus-visible { outline: 3px solid #f3df20; outline-offset: 4px; }
.elementor-image-carousel-wrapper { overflow: hidden; }
.elementor-image-carousel { display: flex; gap: 60px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.elementor-image-carousel::-webkit-scrollbar { display: none; }
.elementor-image-carousel .swiper-slide { flex: 0 0 calc((100% - 300px) / 6); max-width: none !important; scroll-snap-align: start; }
.elementor-swiper-button { cursor: pointer; }
.elementor-gallery__container { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; height: auto !important; }
.elementor-gallery-item { position: relative !important; top: auto !important; left: auto !important; width: auto !important; height: auto !important; aspect-ratio: 3 / 2; overflow: hidden; }
.elementor-gallery-item__image { width: 100%; height: 100%; background-size: cover; background-position: center; }
.local-lightbox { width: min(95vw, 1200px); max-width: 95vw; border: 0; padding: 48px 16px 16px; background: #161616; color: white; }
.local-lightbox::backdrop { background: rgb(0 0 0 / 85%); }
.local-lightbox img { display: block; max-height: 80vh; margin: auto; object-fit: contain; }
.local-lightbox button { position: absolute; right: 12px; top: 6px; color: white; border-color: white; }
.local-form-status { margin: 16px 0; }
.elementor-element-8f638e2 .elementor-icon-list-text { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 767px) {
  .elementor-heading-title { overflow-wrap: anywhere; }
}
@media (max-width: 1024px) {
  .elementor-image-carousel .swiper-slide { flex-basis: calc((100% - 60px) / 2); }
}
@media (max-width: 767px) {
  .elementor-image-carousel .swiper-slide { flex-basis: 100%; }
  .elementor-post__thumbnail img { position: absolute; top: calc(50% + 1px); left: calc(50% + 1px); transform: scale(1.01) translate(-50%, -50%); height: auto; }
  .elementor-gallery__container { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
.local-recaptcha { width: 100%; margin: 12px 0; }
