
/* KH: Offline-safe accessibility and menu fallback; the original theme and Elementor rules take priority. */
.eael-simple-menu .menu-item-has-children:focus-within > .sub-menu,
.eael-simple-menu .menu-item-has-children:hover > .sub-menu {visibility:visible; opacity:1; pointer-events:auto;}
.eael-simple-menu a:focus-visible, .eael-simple-menu-toggle:focus-visible,
.elementor-button:focus-visible {outline:3px solid #fff;outline-offset:3px;}
@media(max-width:1024px){
 .eael-simple-menu-container.kh-mobile-open > ul.eael-simple-menu {display:block!important; visibility:visible!important; opacity:1!important;}
 .eael-simple-menu-container.kh-mobile-open {z-index:99999; position:relative;}
 .eael-simple-menu-container.kh-mobile-open ul ul {position:static!important; width:100%!important;}
 .eael-simple-menu-container.kh-mobile-open .menu-item-has-children.kh-sub-open > ul {display:block!important;visibility:visible!important;opacity:1!important;}
}
/* Skip link must remain usable even when the Elementor archive omits #content. */
.kh-skip-target {scroll-margin-top:100px;}

/* KH static replacement for Elementor dynamic slider/gallery/portfolio widgets (export lacks Webpack chunks). */
.elementor-widget-slides .elementor-swiper,.elementor-widget-slides .elementor-main-swiper,.elementor-widget-slides .swiper-wrapper.elementor-slides{height:600px!important;min-height:600px;}
.elementor-widget-slides .swiper-wrapper.elementor-slides{transform:none!important;position:relative!important;display:block!important;}
.elementor-widget-slides .swiper-slide{height:600px!important;min-height:600px;position:absolute!important;inset:0!important;width:100%!important;transition:opacity .45s ease!important;}
.elementor-widget-slides .swiper-slide-bg{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background-size:cover!important;background-position:center!important;}
.elementor-widget-slides .swiper-slide-inner{position:absolute!important;inset:0!important;height:100%!important;width:100%!important;top:0!important;left:0!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;padding:50px!important;box-sizing:border-box!important;}
.elementor-widget-slides .swiper-slide[aria-hidden="true"]{opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
.elementor-widget-slides .swiper-slide[aria-hidden="false"]{opacity:1!important;visibility:visible!important;pointer-events:auto!important;z-index:1;}
.elementor-widget-slides .elementor-swiper-button{z-index:5!important;cursor:pointer;}
.elementor-widget-slides .swiper-pagination{z-index:6!important;}
.elementor-widget-slides .swiper-pagination-bullet{cursor:pointer;border:0;background-color:rgba(255,255,255,.65);display:inline-block;width:9px;height:9px;border-radius:50%;margin:0 4px;}
.elementor-widget-slides .swiper-pagination-bullet-active{background-color:#fff;}
.elementor-gallery__container.kh-gallery-ready{display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;gap:10px!important;position:relative!important;height:auto!important;min-height:0!important;padding-bottom:0!important;}
.elementor-gallery__container.kh-gallery-ready>.e-gallery-item{display:block!important;position:relative!important;top:auto!important;right:auto!important;left:auto!important;margin:0!important;flex-shrink:0!important;min-height:50px!important;transform:none!important;opacity:1!important;overflow:hidden;}
.elementor-gallery__container.kh-gallery-ready .e-gallery-image{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important;filter:none!important;transition:transform .3s ease;}
.elementor-gallery__container.kh-gallery-ready .e-gallery-item:hover .e-gallery-image{transform:scale(1.045)!important;}
.kh-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;box-sizing:border-box;}
.kh-lightbox[hidden]{display:none!important;}.kh-lightbox img{max-width:100%;max-height:calc(100vh - 110px);object-fit:contain;}
.kh-lightbox button{position:absolute;z-index:2;background:rgba(40,60,35,.85);color:#fff;border:1px solid #fff;border-radius:5px;padding:8px 12px;font-size:24px;cursor:pointer;}
.kh-lightbox-close{top:12px;right:16px}.kh-lightbox-prev{left:12px;top:45%}.kh-lightbox-next{right:12px;top:45%}
.kh-portfolio-hidden{display:none!important;}
@media(max-width:767px){.elementor-widget-slides .elementor-swiper,.elementor-widget-slides .elementor-main-swiper,.elementor-widget-slides .swiper-wrapper.elementor-slides,.elementor-widget-slides .swiper-slide{height:544px!important;min-height:544px!important;}.elementor-widget-slides .swiper-slide-inner{padding:24px 38px 55px!important;}.elementor-widget-slides .swiper-slide-bg{background-position:center!important;}.kh-lightbox{padding:40px 10px;}.kh-lightbox button{font-size:18px;}}

/* Restore original Elementor post/portfolio image aspect ratio; source image must not add a second height. */
.elementor-widget-portfolio .elementor-post__thumbnail img,.elementor-posts--skin-cards .elementor-post__thumbnail img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;}
.elementor-widget-portfolio .elementor-portfolio-item{min-height:0!important;}
.elementor-posts--skin-cards .elementor-post__text{flex:0 0 auto!important;min-height:110px!important;}
