/* Keep the established design while replacing the old widget runtime. */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 120px; }
.elementor-invisible { visibility: visible; }
.elementor-location-popup { display: none; }
.mkg-dialog .elementor-location-popup { display: block; }
.elementor-toggle .elementor-tab-content { display: none; }
.elementor-toggle .elementor-tab-content.elementor-active { display: block; }
.elementor-tab-title { cursor: pointer; }
.mkg-gallery { display: grid; grid-template-columns: 1fr; gap: 10px; }
.mkg-gallery .e-gallery-item { position: relative; display: block; overflow: hidden; }
.mkg-gallery .e-gallery-image { background-size: cover; background-position: center; padding-bottom: 66.666667%; }
.elementor-nav-menu .menu-item-has-children { position: relative; }
.elementor-nav-menu .menu-item-has-children > a { padding-right: 34px; }
.elementor-nav-menu--main > .elementor-nav-menu > .menu-item-has-children > a { padding-right: 22px !important; }
.elementor-nav-menu .sub-menu { display: none; }
.elementor-nav-menu .mkg-menu-open > .sub-menu { display: block; }
.elementor-nav-menu--main .sub-menu { position: absolute; top: 100%; left: 0; min-width: 240px; z-index: 100; }
.elementor-nav-menu--main .sub-menu .sub-menu { left: 100%; top: 0; }
.elementor-nav-menu .mkg-submenu-toggle { display: block; position: absolute; right: 0; top: 0; bottom: auto; height: 46px; width: 20px; padding: 0; border: 0; background: transparent; color: inherit; font-size: 13px; line-height: 1; border-radius: 0; z-index: 2; }
.mkg-submenu-toggle:hover,.mkg-submenu-toggle:focus { background: transparent; color: #5589b7; }
.sub-menu .mkg-submenu-toggle { height: 43px; }
.elementor-menu-toggle.mkg-menu-open + .elementor-nav-menu--dropdown { display: block; max-height: 80vh; overflow: auto; transform: none; }
.elementor-menu-toggle:not(.mkg-menu-open) + .elementor-nav-menu--dropdown { display: none; }
.elementor-nav-menu--dropdown.elementor-nav-menu__container { position: absolute; left: 0; width: 100%; z-index: 1000; }
.elementor-nav-menu--dropdown .mkg-submenu-toggle { height: 40px; width: 44px; right: 0; }
.mkg-slider { position: static; }
.mkg-slider .swiper-wrapper { position: relative; display: block; height: 100%; }
.mkg-slider .swiper-slide { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; visibility: hidden; transition: opacity .5s ease; }
.mkg-slider .swiper-slide.is-active { opacity: 1; visibility: visible; }
.mkg-slider .swiper-slide:first-child { position: relative; }
.mkg-slider .swiper-pagination-bullet { cursor: pointer; flex-shrink: 0; }
.mkg-dialog { width: min(550px, calc(100vw - 30px)); max-width: calc(100vw - 30px); max-height: calc(100dvh - 30px); padding: 0; border: 0; border-radius: 15px; background: #fff; color: #242424; box-shadow: 2px 8px 23px #0003; overflow: auto; }
.mkg-dialog::backdrop { background: #000c; }
.mkg-dialog .elementor-location-popup { font-size: 12px; line-height: 1.5; }
.mkg-dialog-close { position: absolute; right: 12px; top: 10px; margin: 0; width: 40px; height: 40px; padding: 0; border: 0; background: transparent; color: #444; font: 34px/1 Arial, sans-serif; z-index: 10; }
.mkg-dialog-close:hover,.mkg-dialog-close:focus { color: #4489bf; background: transparent; }
.mkg-lightbox { width: min(1200px,calc(100vw - 40px)); background: #151515; text-align: center; }
.mkg-lightbox img { max-width: 100%; max-height: calc(100dvh - 120px); object-fit: contain; display: block; margin: auto; }
.mkg-lightbox .mkg-dialog-close { color: white; }
.mkg-lightbox-controls { display: flex; justify-content: space-between; align-items: center; color: white; padding: 8px 15px; }
.mkg-lightbox-controls button { border-color: #ccc; color: white; }
.mkg-map { position: relative; height: 580px; width: 100%; overflow: hidden; }
.mkg-map-link { display: block; height: 100%; }
.mkg-map img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mkg-map-cta { position: absolute; top: 24px; left: 50%; transform: translateX(-50%); background: #fff; color: #15365e; padding: 14px 20px; border-radius: 5px; box-shadow: 0 2px 12px #0003; text-align: center; font: 500 16px/1.4 Poppins,sans-serif; }
.mkg-map-credit { position: absolute; bottom: 0; right: 0; padding: 3px 7px; background: #fffffff2; color: #333; font: 12px/1.5 sans-serif; }
.mkg-sticky { position: fixed !important; top: 0; left: 0; width: 100%; z-index: 999; }
.mkg-sticky-placeholder { display: none; }
.mkg-sticky-placeholder.is-active { display: block; }
:focus-visible { outline: 2px solid #4489bf; outline-offset: 3px; }
@media (min-width:768px) and (max-width:1024px) { .mkg-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) { .mkg-map-cta { top: 15px; width: max-content; max-width: calc(100% - 30px); font-size: 14px; } }
@media (max-width:1024px) { .mkg-mobile-nav-open .elementor-widget-html a[style*="position:fixed"] { visibility: hidden; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } .mkg-slider .swiper-slide { transition: none; } }
