/**
 * HGX local native-header layout repair, build 2026.10.06.1.
 * Selectors require the class emitted by astra_header_class. There are no
 * global h1/nav/ul/Elementor overrides. Native breakpoints, menu handlers,
 * colors, font families, menu entries and template conditions are retained.
 */
#masthead.hgx-header-repair {
    --hgx-logo-max: 240px;
}
#masthead.hgx-header-repair .site-branding {
    min-width: 0;
    max-width: var(--hgx-logo-max);
}
#masthead.hgx-header-repair .site-branding .site-logo-img {
    max-width: 100%;
    padding-inline-end: 0;
}
#masthead.hgx-header-repair .site-branding .custom-logo-link {
    display: inline-block;
    max-width: 100%;
    line-height: 0;
}
#masthead.hgx-header-repair .site-branding .custom-logo-link img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}
/* Hide only the duplicate branding next to an actual rendered image logo.
 * This never hides the title when no logo is present, or the page's h1. */
#masthead.hgx-header-repair.hgx-header-compact-logo .site-branding .site-logo-img ~ .ast-site-title-wrap {
    display: none;
}
#masthead.hgx-header-repair .site-branding .site-title {
    font-size: 1.125rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
#masthead.hgx-header-repair .site-branding .site-description {
    font-size: .875rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
/* Classic, left-aligned native header. Do not rearrange centered/reversed
 * headers or third-party widgets. A wide menu moves as a block if needed. */
.ast-desktop #masthead.hgx-header-repair.header-main-layout-1 .main-header-container {
    align-items: center;
    flex-wrap: wrap;
    column-gap: 24px;
    row-gap: 8px;
}
.ast-desktop #masthead.hgx-header-repair.header-main-layout-1 .main-header-container > .site-branding {
    flex: 0 1 auto;
}
.ast-desktop #masthead.hgx-header-repair.header-main-layout-1 .ast-main-header-bar-alignment {
    flex: 1 0 auto;
    width: auto;
    max-width: 100%;
    min-width: 0;
    margin-inline-start: auto;
}
.ast-desktop #masthead.hgx-header-repair.header-main-layout-1 .main-header-bar-navigation {
    height: auto;
}
/* Header Builder: only adjust its two-sided primary row. A row containing
 * a central element keeps its original column arrangement. */
.ast-desktop #masthead.hgx-header-repair .ast-primary-header-bar .ast-builder-grid-row-no-center {
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 24px;
}
.ast-desktop #masthead.hgx-header-repair .site-header-primary-section-right {
    min-width: 0;
}
.ast-desktop #masthead.hgx-header-repair .site-header-primary-section-right .ast-builder-menu {
    min-width: 0;
}
/* Restrict typography/spacing to the primary native menu. The original
 * colors and font family remain controlled by Astra's Customizer. */
#masthead.hgx-header-repair .main-header-bar .main-header-menu,
#masthead.hgx-header-repair .ast-primary-header-bar .main-header-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}
.ast-desktop #masthead.hgx-header-repair .main-header-bar .main-header-menu,
.ast-desktop #masthead.hgx-header-repair .ast-primary-header-bar .main-header-menu {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    max-width: 100%;
}
.ast-desktop #masthead.hgx-header-repair .main-header-bar .main-header-menu > .menu-item,
.ast-desktop #masthead.hgx-header-repair .ast-primary-header-bar .main-header-menu > .menu-item {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
    margin: 0;
    line-height: 1.45;
}
.ast-desktop #masthead.hgx-header-repair .main-header-bar .main-header-menu > .menu-item > .menu-link,
.ast-desktop #masthead.hgx-header-repair .ast-primary-header-bar .main-header-menu > .menu-item > .menu-link {
    display: flex;
    align-items: center;
    min-height: 44px;
    height: auto;
    line-height: 1.45;
    padding: 12px 14px;
    white-space: normal;
    overflow-wrap: anywhere;
}
/* Do not clip dropdowns or force their visibility; Astra owns those states. */
#masthead.hgx-header-repair .main-header-menu .sub-menu {
    max-width: calc(100vw - 32px);
}
#masthead.hgx-header-repair .main-header-menu .sub-menu .menu-link {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.5;
}
#masthead.hgx-header-repair .main-header-menu .menu-link:focus-visible,
#masthead.hgx-header-repair button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}
/* Preserve the native collapsed menu on mobile; no custom toggle is added. */
.ast-header-break-point #masthead.hgx-header-repair .site-branding {
    max-width: min(var(--hgx-logo-max), calc(100vw - 130px));
}
.ast-header-break-point #masthead.hgx-header-repair .main-header-menu > .menu-item {
    width: 100%;
}
.ast-header-break-point #masthead.hgx-header-repair .main-header-menu > .menu-item > .menu-link {
    white-space: normal;
    overflow-wrap: anywhere;
}
/* Remove the legacy 80px line box around an inline-flex menu. Otherwise
 * shortening the links leaves them above, rather than beside, the logo. */
.ast-desktop #masthead.hgx-header-repair .main-header-bar .main-header-bar-navigation,
.ast-desktop #masthead.hgx-header-repair .ast-primary-header-bar .main-header-bar-navigation {
    line-height: 1.45;
}
.ast-desktop #masthead.hgx-header-repair.header-main-layout-1 .main-header-container .main-navigation {
    display: flex;
    width: 100%;
    padding-inline: 0;
}
.ast-desktop #masthead.hgx-header-repair.header-main-layout-1 .main-header-container .main-header-menu {
    justify-content: flex-end;
    width: 100%;
}
.ast-desktop #masthead.hgx-header-repair .site-header-primary-section-right .main-header-bar-navigation,
.ast-desktop #masthead.hgx-header-repair .site-header-primary-section-right .main-navigation {
    width: 100%;
}
.ast-desktop #masthead.hgx-header-repair .site-header-primary-section-right .main-navigation {
    display: flex;
}
.ast-desktop #masthead.hgx-header-repair .site-header-primary-section-right .main-header-menu {
    justify-content: flex-end;
    width: 100%;
}
