/* =========================================================
   COG Header - Clean Stable Version
   ========================================================= */

.site-header,
.site-main-header-wrap,
.site-header-row-container,
.site-header-row-container-inner,
.site-header-main-wrap {
    width: 100% !important;
    max-width: none !important;
    background: #fff !important;
}

.site-header {
    border-bottom: 1px solid rgba(8, 17, 31, 0.08);
    box-shadow: 0 8px 28px rgba(8, 17, 31, 0.04) !important;
    position: relative;
    z-index: 9999;
}

/* Main header width */
.site-header .site-container,
.site-header .content-container,
.site-header .site-header-row-container-inner > .site-container {
    max-width: 1500px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* Main row */
.site-main-header-inner-wrap,
.site-header-row {
    min-height: 78px !important;
    display: flex !important;
    align-items: center !important;
}

/* Logo area */
.site-header-main-section-left {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 0 auto !important;
    min-width: 310px !important;
    padding-right: 42px !important;
}

/* Centre area */
.site-header-main-section-center {
    flex: 1 1 auto !important;
}

/* Right menu area */
.site-header-main-section-right {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

/* Logo / site title */
.site-branding,
.site-branding a.brand {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
}

.site-branding a.brand,
.site-branding .site-title {
    font-size: 24px !important;
    font-weight: 900 !important;
    letter-spacing: -0.04em;
    color: var(--cog-navy) !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

/* Navigation */
.main-navigation,
.primary-menu-container {
    width: auto !important;
    margin-left: auto !important;
}

.main-navigation .primary-menu-container > ul {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Main nav links */
.main-navigation .primary-menu-container > ul > li.menu-item {
    white-space: nowrap !important;
}

.main-navigation .primary-menu-container > ul > li.menu-item > a {
    font-size: 15px !important;
    font-weight: 650 !important;
    color: #20242b !important;
    padding: 30px 0 !important;
    letter-spacing: -0.01em;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.main-navigation .primary-menu-container > ul > li.menu-item > a:hover {
    color: var(--cog-blue) !important;
}

/* Header CTA - final menu item */
.main-navigation .primary-menu-container > ul > li:last-child > a {
    background: #1d1b20 !important;
    color: #fff !important;
    padding: 14px 26px !important;
    border-radius: 999px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    box-shadow: 0 12px 26px rgba(8, 17, 31, 0.14);
    white-space: nowrap !important;
}

.main-navigation .primary-menu-container > ul > li:last-child > a:hover {
    background: linear-gradient(135deg, #c9962f 0%, #f3cd63 48%, #d6a43c 100%) !important;
    color: var(--cog-navy) !important;
    box-shadow: 0 14px 30px rgba(8, 17, 31, 0.18);
}

/* =========================================================
   Dropdown Menu
   ========================================================= */

.main-navigation .primary-menu-container > ul > li {
    position: relative;
}

.main-navigation .primary-menu-container > ul > li > ul.sub-menu {
    background: rgba(8, 17, 31, 0.96) !important;
    border: 1px solid rgba(214, 173, 79, 0.22) !important;
    border-radius: 14px !important;
    box-shadow: 0 24px 60px rgba(8, 17, 31, 0.32) !important;
    padding: 10px !important;
    min-width: 245px !important;
    margin-top: -6px !important;
    overflow: hidden !important;
    backdrop-filter: blur(10px);
}

.main-navigation .primary-menu-container > ul > li > ul.sub-menu > li {
    border: none !important;
}

.main-navigation .primary-menu-container > ul > li > ul.sub-menu > li > a {
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    padding: 13px 14px !important;
    border-radius: 9px !important;
    border-bottom: none !important;
    letter-spacing: -0.01em;
}

.main-navigation .primary-menu-container > ul > li > ul.sub-menu > li > a:hover {
    background: rgba(214, 173, 79, 0.12) !important;
    color: #f0cf78 !important;
}

/* =========================================================
   Smaller desktop
   ========================================================= */

@media (max-width: 1350px) {
    .site-header-main-section-left {
        min-width: 270px !important;
        padding-right: 28px !important;
    }

    .site-branding a.brand,
    .site-branding .site-title {
        font-size: 22px !important;
    }

    .main-navigation .primary-menu-container > ul {
        gap: 18px !important;
    }

    .main-navigation .primary-menu-container > ul > li.menu-item > a {
        font-size: 14px !important;
    }

    .main-navigation .primary-menu-container > ul > li:last-child > a {
        padding: 13px 22px !important;
    }
}

/* =========================================================
   Tablet / Mobile
   ========================================================= */

@media (max-width: 1024px) {
    .site-header .site-container,
    .site-header .content-container,
    .site-header .site-header-row-container-inner > .site-container {
        max-width: 100% !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    .site-main-header-inner-wrap,
    .site-header-row {
        min-height: 72px !important;
    }

    .site-header-main-section-left {
        min-width: auto !important;
        padding-right: 0 !important;
    }

    .site-branding a.brand,
    .site-branding .site-title {
        font-size: 22px !important;
        line-height: 1.15 !important;
    }

    .mobile-toggle-open-container .menu-toggle-open {
        padding: 0 !important;
    }
}