/* Native interactions retain the source classes and cascade. */
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
.dialog-open { overflow: hidden; }
.template-dialog { border: 0; padding: 0; margin: 0; width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; background: transparent; }
.template-dialog::backdrop { background: #00000055; backdrop-filter: blur(8px); }
.template-dialog .elementor-location-popup { display: block !important; min-height: 100%; }
.template-dialog:not([open]), .image-lightbox:not([open]) { display: none; }
.image-lightbox { border: 0; padding: 0; background: transparent; max-width: 95vw; max-height: 95dvh; }
.image-lightbox::backdrop { background: #000e; }
.image-lightbox img { display: block; max-width: 90vw; max-height: 90dvh; object-fit: contain; }
.image-lightbox button { position: fixed; right: 24px; top: 12px; font-size: 40px; color: white; background: transparent; border: 0; cursor: pointer; }
.elementor-nav-menu button.elementor-item { font: inherit; color: inherit; border: 0; background: none; padding: inherit; cursor: pointer; }
.elementor-nav-menu .sub-menu { display: none; position: absolute; z-index: 50; min-width: 210px; }
.elementor-nav-menu li { position: relative; }
.elementor-nav-menu li:hover > .sub-menu, .elementor-nav-menu li:focus-within > .sub-menu, .elementor-nav-menu .submenu-open > .sub-menu { display: block; }
.elementor-nav-menu--dropdown.navigation-open { display: block !important; max-height: 80dvh !important; overflow: auto; }
.elementor-menu-toggle { border: 0; }
.elementor-button { cursor: pointer; }
.elementor-invisible { visibility: visible; }
.elementor-loop-container.swiper:not(.swiper-initialized) .swiper-slide { width: calc((100% - 40px) / 3); flex-shrink: 0; }
[data-slider] .swiper-wrapper { align-items: stretch; }
[data-slider] .swiper-slide { height: auto; }
.swiper-pagination { position: relative; }
.form-status { margin-top: 20px; }
.sbi_photo img { display: block !important; width: 100%; height: 100%; object-fit: cover; }
.sbi_photo { opacity: 1 !important; height: auto !important; aspect-ratio: 1; }
.sbi_item { opacity: 1 !important; }
@media(max-width:767px) { .elementor-loop-container.swiper:not(.swiper-initialized) .swiper-slide { width: 100%; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }

button.elementor-icon { border: 0; padding: 0; background: transparent; }
[data-elementor-type="header"]:focus-within .vamtam-show-on-hover { opacity: 1 !important; }
.e-search.hidden { visibility: visible !important; opacity: 1 !important; }
.extra-card,.search-result { display: contents; }
.extra-card[hidden],.search-result[hidden] { display: none !important; }

@media(max-width:1024px) {
header .elementor-nav-menu--dropdown.navigation-open { position: fixed !important; inset-inline: 0 !important; top: var(--mobile-menu-top,50px) !important; width: 100vw !important; margin: 0 !important; max-height: calc(100dvh - var(--mobile-menu-top,50px)) !important; transform: none !important; z-index: 100; }
header .navigation-open .sub-menu { position: static; width: 100%; }
}

/* Restore the original div toggle metrics after using a semantic button. */
button.elementor-menu-toggle { font-family: var(--e-global-typography-vamtam_primary_font-font-family, "DM Sans"), sans-serif; font-size: var(--nav-menu-icon-size,25px) !important; font-weight: 400; line-height: 24px; padding: .25em; border: 0; }
