
/* Final header layout fix: topbar width + no height jump */
:root {
    --ap-header-shell-width: 1420px;
    --ap-header-x-pad: 48px;
    --ap-header-topbar-height: 28px;
    --ap-header-main-height: 76px;
    --ap-header-total-height: 104px;
}

/* Keep the full header geometry stable from first paint */
.hg-header,
.rts-header-area-five.header--sticky.hg-header,
header.hg-header {
    min-height: var(--ap-header-total-height) !important;
    height: var(--ap-header-total-height) !important;
    max-height: var(--ap-header-total-height) !important;
    padding: 0 !important;
    overflow: visible !important;
    transition:
        background-color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        backdrop-filter .18s ease !important;
}

/* Thin topbar: same readable width as main menu, not full-screen spread */
.ap-header-contact-topbar {
    height: var(--ap-header-topbar-height) !important;
    min-height: var(--ap-header-topbar-height) !important;
    max-height: var(--ap-header-topbar-height) !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}
.ap-header-contact-topbar-inner {
    width: min(calc(100% - var(--ap-header-x-pad)), var(--ap-header-shell-width)) !important;
    height: var(--ap-header-topbar-height) !important;
    min-height: var(--ap-header-topbar-height) !important;
    max-height: var(--ap-header-topbar-height) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}
.ap-header-contact-line {
    width: 100% !important;
    height: var(--ap-header-topbar-height) !important;
    min-height: var(--ap-header-topbar-height) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1.45fr);
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    font-size: 12px !important;
    line-height: 1 !important;
}
.ap-header-contact-item {
    min-width: 0 !important;
    max-width: 100% !important;
    line-height: 1 !important;
}
.ap-header-contact-item:nth-child(1) {
    justify-self: start;
}
.ap-header-contact-item:nth-child(2) {
    justify-self: center;
}
.ap-header-contact-item:nth-child(3) {
    justify-self: end;
}
.ap-header-contact-item span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.ap-header-contact-address {
    max-width: none !important;
}

/* Main nav row: fixed compact height, no late expansion */
.hg-header .header-five-wrapper,
.rts-header-area-five.header--sticky.hg-header .header-five-wrapper {
    width: min(calc(100% - var(--ap-header-x-pad)), var(--ap-header-shell-width)) !important;
    height: var(--ap-header-main-height) !important;
    min-height: var(--ap-header-main-height) !important;
    max-height: var(--ap-header-main-height) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    overflow: visible !important;
}

.hg-header .hg-logo,
.hg-header .hg-nav,
.hg-header .hg-actions,
.hg-header .hg-actions-with-cart {
    height: var(--ap-header-main-height) !important;
    min-height: var(--ap-header-main-height) !important;
    display: flex !important;
    align-items: center !important;
}
.hg-header .hg-logo {
    flex: 0 0 auto !important;
    max-width: 280px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}
.hg-header .hg-nav {
    flex: 1 1 auto !important;
    justify-content: center !important;
    gap: clamp(16px, 2vw, 30px) !important;
    min-width: 0 !important;
}
.hg-header .hg-actions,
.hg-header .hg-actions-with-cart {
    flex: 0 0 auto !important;
    gap: 12px !important;
}
.hg-header .hg-nav-link,
.hg-header .hg-cart-action,
.hg-header .hg-actions .hg-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.1 !important;
}
.hg-header .hg-cart-action {
    width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    flex: 0 0 52px !important;
}
.hg-header .hg-actions .hg-btn {
    height: 52px !important;
    min-height: 52px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Override older JS/CSS dropdown offsets so dropdown starts right below stable header */
@media (min-width: 1101px) {
    .hg-nav > .hg-nav-item.has-dropdown > .hg-dropdown,
    .hg-nav > .hg-nav-item.has-dropdown > .hg-dropdown-wide,
    .hg-nav > .hg-nav-item.has-dropdown > .hg-platform-dle-menu,
    .hg-nav > .hg-nav-item.has-dropdown > .hg-usecases-dle-menu,
    .hg-nav > .hg-nav-item.has-dropdown > .hg-usecases-menu,
    .hg-nav > .hg-nav-item.has-dropdown > .hg-developers-dle-menu,
    .hg-nav > .hg-nav-item.has-dropdown > .hg-developers-menu,
    .hg-nav > .hg-nav-item.has-dropdown > .hg-resources-dle-menu,
    .hg-nav > .hg-nav-item.has-dropdown > .hg-resources-menu,
    .hg-nav > .hg-nav-item.has-dropdown > .hg-enterprise-dle-menu,
    .hg-nav > .hg-nav-item.has-dropdown > .hg-enterprise-menu,
    .hg-nav > .hg-nav-item.has-dropdown > .hg-pricing-dle-menu,
    .hg-nav > .hg-nav-item.has-dropdown > .hg-pricing-menu {
        top: calc(var(--ap-header-total-height) + 2px) !important;
    }
}

/* No header spacers or body jumps */
body.aes-header-stable,
body.aes-header-lock,
body.aes-header-fixed,
body.aes-header-scrolled {
    padding-top: 0 !important;
}
.header-spacer,
.hg-header-spacer,
.aes-header-spacer,
.rts-header-spacer,
body > .header-sticky-spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

@media (max-width: 1280px) {
    :root {
        --ap-header-shell-width: 1180px;
        --ap-header-x-pad: 32px;
    }
    .ap-header-contact-line {
        grid-template-columns: minmax(0, .9fr) minmax(0, 1fr) minmax(0, 1.2fr);
        gap: 14px !important;
        font-size: 11px !important;
    }
    .hg-header .hg-logo {
        max-width: 220px !important;
    }
    .hg-header .hg-nav {
        gap: 18px !important;
    }
}
@media (max-width: 980px) {
    .ap-header-contact-line {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
    .ap-header-contact-address {
        display: none !important;
    }
}
@media (max-width: 760px) {
    :root {
        --ap-header-topbar-height: 0px;
        --ap-header-main-height: 72px;
        --ap-header-total-height: 72px;
        --ap-header-x-pad: 28px;
    }
    .ap-header-contact-topbar {
        display: none !important;
    }
    .hg-header,
    .rts-header-area-five.header--sticky.hg-header,
    header.hg-header {
        height: var(--ap-header-total-height) !important;
        min-height: var(--ap-header-total-height) !important;
        max-height: var(--ap-header-total-height) !important;
    }
    .hg-header .header-five-wrapper {
        height: var(--ap-header-main-height) !important;
        min-height: var(--ap-header-main-height) !important;
        max-height: var(--ap-header-main-height) !important;
    }
}
