.elementor-645 .elementor-element.elementor-element-862001d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:100;}.elementor-645 .elementor-element.elementor-element-8c1e951{width:100%;max-width:100%;top:-1px;z-index:100;}body:not(.rtl) .elementor-645 .elementor-element.elementor-element-8c1e951{left:0px;}body.rtl .elementor-645 .elementor-element.elementor-element-8c1e951{right:0px;}.elementor-645 .elementor-element.elementor-element-9348d9f{--display:flex;--min-height:150px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:0;}.elementor-645 .elementor-element.elementor-element-8415131{width:100%;max-width:100%;top:-1px;z-index:99;}body:not(.rtl) .elementor-645 .elementor-element.elementor-element-8415131{left:0px;}body.rtl .elementor-645 .elementor-element.elementor-element-8415131{right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-8c1e951 */@media (max-width: 768px) {
    .roots-header {
        padding: 0 20px;
        height: 80px; /* Smaller height on mobile */
    }
    
    .roots-header.scrolled {
        height: 70px;
    }
    
    .roots-header.popup-open {
        height: 70px !important;
    }
    
    /* Hide phone contact and book button on mobile */
    .roots-phone-contact,
    .roots-book-button {
        display: none!important;
    }
    
    /* Adjust left column - only menu button */
    .roots-header-left {
        gap: 0;
        min-width: auto;
    }
    
    
    
    .roots-menu-button {
        gap: 0;
        padding: 8px;
    }
    
    /* Adjust logo size for mobile */
    .roots-logo {
        height: 45px;
    }
    
    .roots-header-center img {
        max-width: 120px;
    }
    
    .roots-header.scrolled .roots-logo,
    .roots-header.popup-open .roots-logo {
        transform: scale(0.8);
    }
    
    /* Right column - only language switcher */
    .roots-header-right {
        gap: 0;
        min-width: auto;
    }
    
    /* Adjust language switcher for mobile */
    .roots-language-switcher {
        font-size: 14px;
    }
}

/* Extra small screens */
@media (max-width: 480px) {
    
    .roots-header-center img {
    max-width: 100px!important;
    }
    .roots-header {
        padding: 0 15px;
        height: 70px;
    }

    .roots-header.scrolled,
    .roots-header.popup-open {
        height: 60px !important;
    }
    
    .roots-logo {
        height: 40px;
    }
    
    .roots-header-center img {
        max-width: 100px;
    }
    
    .roots-header.scrolled .roots-logo,
    .roots-header.popup-open .roots-logo {
        transform: scale(0.9);
    }
    
    .roots-language-switcher {
        font-size: 12px;
    }
    
    /* Make menu icon slightly smaller on very small screens */
    .roots-menu-icon {
        width: 20px;
        height: 8px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8415131 *//* Smooth transform for menu links on mobile */
@media (max-width: 1024px) {
    .roots-menu-nav a {
        font-size: 32px;
    }
    .roots-menu-right {
        width: 40%;
    }
}

@media (max-width: 768px) {
        .roots-menu-nav a::after {
        content: '';
        position: absolute;
        bottom: -0px!important;
        left: 0;
        width: 0;
        height: 2px!important;
        background: black;
        transition: width 0.4s ease;
    }
    
    .roots-fullscreen-menu {
        padding: 40px 20px!important;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .roots-menu-nav a {
        font-size: 28px!Important;
        line-height: 1.3;
    }
    .roots-menu-left {
        gap: 20px;
        margin-bottom: 100px!important;
    }
    .roots-menu-socials {
        flex-wrap: wrap;
        gap: 20px;
    }
    .roots-menu-right {
        width: 30%;
        opacity: 0.6;
    }
    .roots-menu-socials {
    position: absolute;
    bottom: 40px;
    left: 0px!important;
    display: flex
;
    gap: 20px!important;
}
}

@media (max-width: 480px) {
    .roots-menu-nav a {
        font-size: 24px;
    }
    .roots-menu-right {
        display: none; /* Hide image on very small screens for clarity */
    }
}
</style>/* End custom CSS */