/* ================= HEADER LAYOUT — align logo & menu on same line ================= */
.container-header.header{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap;
    padding: 0 24px;
    min-height: 84px;
    background: linear-gradient(120deg, #0f4a32, #0b6b46) !important;
}

/* both grid-child columns become flex items, centered vertically */
.container-header .grid-child{
    display: flex !important;
    align-items: center !important;
    height: 100%;
}

/* logo column shouldn't stretch/shrink oddly */
.container-header .grid-child:first-child{
    flex: 0 0 auto;
}

/* nav column takes remaining space, menu pushed to the right */
.container-header .container-nav{
    flex: 1 1 auto;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end;
}

.container-header .container-search{
    display: flex;
    align-items: center;
    height: 100%;
}

/* kill any leftover top/bottom margin on brand + menu that causes misalignment */
.container-header .navbar-brand,
.container-header #mod-menu1{
    margin: 0;
}

/* make sure nav-links/button don't add their own extra vertical padding beyond centering */
.container-header .navbar-nav .nav-link,
.container-header .nav-item > a,
.container-header .mod-menu__toggle-sub{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    height: 100%;
    display: inline-flex !important;
    align-items: center !important;
}