/* Shared header: reserve space for the logo and give every menu item a real gap. */
.site-header .head-wrap {
    justify-content: space-between;
    gap: 28px;
}

.site-header .logo {
    flex: 0 0 auto;
}

.site-header .navigation {
    width: auto;
    flex: 1 1 auto;
    min-width: 0;
}

.site-header .navigation > ul {
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 20px;
    margin: 0;
    padding: 0;
}

.site-header .navigation > ul > li {
    flex: 0 0 auto;
}

.site-header .navigation > ul > li > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 0;
    white-space: nowrap;
    font-size: 14px;
    line-height: 20px;
}

.site-header .navigation > ul > li > a > i {
    padding-left: 0;
}

.site-header .navigation > ul > li > a.theme-btn-2 {
    padding: 14px 20px;
}

.site-header .navigation > ul > li > .nav-dropdown {
    top: 100%;
}

.site-header .navigation .serv-a:focus-within > .nav-dropdown,
.site-header .navigation .serv-a2:focus-within > .nav-dropdown2 {
    visibility: visible;
    opacity: 1;
    transform: scaleY(1);
}

.site-header a:focus-visible {
    outline: 2px solid var(--theme-color-2);
    outline-offset: 4px;
}

/* Use the existing drawer before the full menu becomes cramped. */
@media (max-width: 1399px) {
    .site-header .navigation {
        display: none;
    }

    .site-header .offcanvas,
    .site-header a.btn.offcanvas-btn {
        display: block !important;
    }

    .site-header a.btn.offcanvas-btn {
        font-size: 28px;
        line-height: 28px;
        padding: 12px;
        color: #fff;
        background: var(--theme-color-2);
        border-radius: 6px;
    }

    .site-header .offcanvas {
        width: min(380px, 100vw);
        background: var(--theme-color);
        overflow-y: auto;
    }

    .site-header .offcanvas-body {
        padding-top: 90px;
    }

    .site-header .nav-opt-offcanvas ul {
        list-style: none;
    }

    .site-header .nav-opt-offcanvas > ul > li {
        margin-bottom: 14px;
    }

    .site-header .nav-opt-offcanvas > ul > li > a {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 10px 0;
        color: #fff;
        font-size: 18px;
    }

    .site-header .nav-opt-offcanvas > ul > li > a.theme-btn-2 {
        padding: 12px 24px;
    }
}

/* Catalog keeps its page link and exposes Gallery through the adjacent toggle. */
.site-header .catalog-menu { position: relative; }
.site-header .catalog-menu-toggle {
    border: 0; background: transparent; color: inherit; padding: 12px 6px;
    cursor: pointer; display: inline-flex; align-items: center;
}
.site-header .navigation .catalog-menu > a { display: inline-flex; }
.site-header .catalog-menu > .nav-dropdown { display: none; }
.site-header .catalog-menu.is-open > .nav-dropdown,
.site-header .navigation .catalog-menu:hover > .nav-dropdown,
.site-header .navigation .catalog-menu:focus-within > .nav-dropdown {
    display: block; visibility: visible; opacity: 1; transform: scaleY(1);
}
.site-header .catalog-menu-toggle:focus-visible { outline: 2px solid var(--theme-color-2); }
.site-header .nav-opt-offcanvas .catalog-menu-toggle { color: #fff; padding: 12px; }
.site-header .nav-opt-offcanvas .catalog-menu > .nav-dropdown {
    position: static; width: auto; min-width: 0; margin-top: 4px;
    background: transparent; box-shadow: none; transform: none;
}
.site-header .nav-opt-offcanvas .catalog-menu > .nav-dropdown ul { padding: 0 0 0 18px; }
.site-header .nav-opt-offcanvas .catalog-menu > .nav-dropdown a {
    display: block; color: #fff; padding: 10px 0; font-size: 16px;
}
