/* Native interaction styles. Source typography, artwork and responsive layout remain authoritative. */
.source-page { display: contents; }
img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 .07em !important; vertical-align: -.1em !important; background: none !important; padding: 0 !important; }
.source-page .elementor-location-popup { display: none; }
[hidden] { display: none !important; }
.elementor-invisible { visibility: visible; }
.e-con.e-parent:not(.e-lazyloaded):not(.e-no-lazyload), .e-con.e-parent:not(.e-lazyloaded):not(.e-no-lazyload) * { --e-con-lazyload: none; }
.jet-portfolio__image-instance { opacity: 1 !important; visibility: visible !important; }
.jet-portfolio__image-loader { display: none !important; }
.jet-portfolio__list { height: auto !important; }
.jet-portfolio__item { position: relative !important; top: auto !important; left: auto !important; }
.source-page .elementor-widget-image-carousel { width: 100%; min-width: 0; }
.alma-carousel { overflow: hidden; min-width: 0; width: 100%; }
.jet-carousel.alma-carousel { width: auto; overflow: visible; }
.alma-carousel-track { display: flex !important; overflow-x: auto; overflow-y: hidden; width: 100%; transform: none !important; scroll-snap-type: x mandatory; scrollbar-width: none; gap: var(--alma-slide-gap, 0px); }
.jet-carousel .alma-carousel-track { width: auto; }
.alma-carousel-track::-webkit-scrollbar { display: none; }
.elementor-jet-carousel .jet-carousel .alma-carousel-track,
.elementor-jet-carousel .jet-carousel .alma-carousel-track ~ .jet-arrow { visibility: visible !important; }
.elementor-widget-video .elementor-video { background: #000; }
.alma-justified-gallery { position: relative; width: 100%; overflow: hidden; }
.alma-justified-gallery > a { position: absolute; display: block; overflow: hidden; margin: 0; padding: 0; }
.alma-justified-gallery > a > img { position: absolute; top: 50%; left: 50%; max-width: none; padding: 0; border: 0; }
.alma-carousel-track > .swiper-slide, .alma-carousel-track > .jet-carousel__item { flex: 0 0 calc((100% - (var(--alma-slides, 1) - 1) * var(--alma-slide-gap, 0px)) / var(--alma-slides, 1)); width: calc((100% - (var(--alma-slides, 1) - 1) * var(--alma-slide-gap, 0px)) / var(--alma-slides, 1)); max-width: none; scroll-snap-align: start; }
.alma-carousel .swiper-slide img { display: inline-block; }
.elementor-posts-container.elementor-has-item-ratio .elementor-post__thumbnail.elementor-fit-height img { height: 100%; width: auto; }
.jet-mega-menu-item:focus-within > .jet-mega-menu-mega-container, .jet-mega-menu-item:hover > .jet-mega-menu-mega-container, .jet-mega-menu-item.alma-submenu-open > .jet-mega-menu-mega-container { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; }
.jet-portfolio__filter-item, .jet-mega-menu-toggle { cursor: pointer; }
.alma-consent-reopen { position: fixed; bottom: 12px; left: 12px; z-index: 10000; border: 0; border-radius: 50%; width: 42px; height: 42px; padding: 0; background: #96c11f; color: #fff; font-size: 28px; cursor: pointer; }
.alma-consent { position: fixed; inset: 0; display: grid; place-items: center; background: #0009; z-index: 100001; padding: 20px; }
.alma-consent-panel { width: min(540px,100%); max-height: 90dvh; overflow: auto; background: white; color: #222; padding: 28px; border-radius: 6px; font: 14px/1.5 Montserrat, sans-serif; }
.alma-consent-panel h2 { font-size: 22px; color: #222; }
.alma-consent-panel label { display: block; padding: 6px 0; }
.alma-consent-panel button { display: block; width: 100%; margin: 8px 0; padding: 12px; border: 0; border-radius: 3px; background: #96c11f; color: #111; cursor: pointer; }
.alma-lightbox { padding: 0; border: 0; background: transparent; max-width: 95vw; max-height: 95dvh; }
.alma-lightbox::backdrop { background: #000d; }
.alma-lightbox img { display: block; max-height: 90dvh; max-width: 90vw; object-fit: contain; }
.alma-lightbox button { position: fixed; top: 10px; right: 20px; color: white; border: none; background: transparent; font-size: 36px; }
.alma-status { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); background: #fff; color: #222; padding: 20px; box-shadow: 0 3px 30px #0004; z-index: 100002; width: min(540px,90vw); }
.alma-form-status { padding: 16px; border-left: 4px solid #96c11f; background: #f4f8e8; color: #222; }
.alma-unavailable-image { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; background: #f2f2f2; color: #666; font: 12px/1.4 Montserrat,sans-serif; text-align: center; vertical-align: middle; }
.alma-background-video { width: 100%; height: 100%; object-fit: cover; }
.e-load-more-anchor .alma-pagination-link { display: block; text-align: center; color: #96c11f; }
.alma-js .e-load-more-anchor:not(.alma-pagination-failed) .alma-pagination-link { font-size: 0; height: 0; overflow: hidden; }
.gform_validation_container { display: none !important; }
.alma-template-dialog { border: 0; padding: 0; max-width: 95vw; max-height: 95dvh; width: 800px; }
.alma-template-dialog::backdrop { background: #000b; }
.alma-dialog-close { position: absolute; top: 4px; right: 8px; z-index: 3; background: #fff; color: #111; border: 0; font-size: 28px; cursor: pointer; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
