/*
 * HEADER-MENU-3A
 * PRIVATE MODERN HEADER PROTOTYPE
 */

.nst-header,
.nst-header * {
    box-sizing: border-box;
}

.nst-visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.nst-header {
    background: #fff;
    border-bottom: 1px solid #d9e0e3;
}

.nst-header a {
    color: inherit;
    text-decoration: none;
}

.nst-header button,
.nst-header input {
    font: inherit;
}

.nst-header__container {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.nst-header__utility {
    background: #f5f7f8;
    border-bottom: 1px solid #e2e7e9;
    font-size: 14px;
}

.nst-header__utility-inner {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.nst-header__utility-left,
.nst-header__account {
    display: flex;
    align-items: center;
    gap: 18px;
}

.nst-header__subscribe {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border-radius: 4px;
    background: #16884a;
    color: #fff !important;
    font-weight: 700;
}

.nst-header__provider-action {
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 4px;
    background: #d9534f;
    color: #fff !important;
    font-weight: 700;
}

.nst-header__welcome {
    font-weight: 700;
}

.nst-header__main {
    background: #fff;
}

.nst-header__main-inner {
    min-height: 132px;
    display: grid;
    grid-template-columns: minmax(280px, 0.8fr) minmax(420px, 1.5fr);
    align-items: center;
    gap: 48px;
}

.nst-header__brand {
    display: inline-flex;
    align-items: center;
    max-width: 420px;
}

.nst-header__brand img {
    display: block;
    max-width: 100%;
    height: auto;
}

.nst-header__discovery {
    min-width: 0;
}

.nst-header__search-label {
    margin: 0 0 8px;
    font-size: 15px;
}

.nst-header__search {
    display: flex;
    gap: 8px;
}

.nst-header__search input {
    min-width: 0;
    flex: 1;
    height: 44px;
    padding: 0 14px;
    border: 1px solid #bac6cb;
    border-radius: 5px;
}

.nst-header__search button {
    min-height: 44px;
    padding: 0 22px;
    border: 0;
    border-radius: 5px;
    background: #405c68;
    color: #fff;
    cursor: pointer;
}


.nst-nav {
    background: #405c68;
    color: #fff;
}

.nst-nav__mobile-panel {
    min-height: 56px;
    display: flex;
    align-items: stretch;
}

.nst-nav__home,
.nst-nav__premium,
.nst-nav-dropdown > .nst-nav-dropdown__trigger {
    display: flex;
    align-items: center;
    min-height: 56px;
    padding: 0 20px;
    border: 0;
    background: transparent;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.nst-nav__home:hover,
.nst-nav__premium:hover,
.nst-nav-dropdown > .nst-nav-dropdown__trigger:hover,
.nst-nav-dropdown > .nst-nav-dropdown__trigger:focus-visible {
    background: #334b55;
}

.nst-nav-dropdown {
    position: relative;
}

.nst-nav-dropdown__trigger {
    cursor: pointer;
}

.nst-nav-dropdown__panel {
    position: absolute;
    z-index: 1000;
    top: 100%;
    left: 0;
    min-width: 260px;
    padding: 8px;
    background: #fff;
    color: #263238;
    border: 1px solid #d8e0e3;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .14);
}

.nst-nav-dropdown__panel[hidden] {
    display: none;
}

.nst-nav-dropdown__panel a {
    display: block;
    padding: 10px 12px;
    border-radius: 4px;
}

.nst-nav-dropdown__panel a:hover,
.nst-nav-dropdown__panel a:focus-visible {
    background: #eef3f5;
}

.nst-nav-dropdown--utility .nst-nav-dropdown__trigger {
    padding: 0;
    border: 0;
    background: transparent;
    color: #263238;
    font-weight: 600;
}

.nst-nav-dropdown--utility .nst-nav-dropdown__panel {
    top: calc(100% + 10px);
}

.nst-nav__mobile-utility {
    display: none;
}

.nst-mobile-trigger {
    display: none;
}

.nst-header :focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

.nst-prototype-page {
    width: min(1180px, calc(100% - 32px));
    margin: 28px auto;
    padding: 28px;
    background: #fff;
    border: 1px solid #dfe5e8;
    border-radius: 6px;
}

.nst-prototype-state-switcher {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 22px;
}

.nst-prototype-state-switcher a {
    display: inline-block;
    padding: 8px 12px;
    border: 1px solid #aebbc0;
    border-radius: 4px;
    color: #263238;
    text-decoration: none;
}

@media (max-width: 900px) {

    .nst-header__utility-left {
        display: none;
    }

    .nst-header__utility-inner {
        justify-content: flex-end;
    }

    .nst-header__main-inner {
        min-height: auto;
        padding: 16px 0;
        grid-template-columns: 1fr auto;
        gap: 18px;
    }

    .nst-header__brand {
        max-width: 330px;
    }

    .nst-header__discovery {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .nst-mobile-trigger {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 44px;
        padding: 0 14px;
        border: 1px solid #405c68;
        border-radius: 5px;
        background: #fff;
        color: #405c68;
        cursor: pointer;
    }

    .nst-nav__mobile-panel {
        display: none;
        min-height: 0;
        padding: 8px 0 16px;
        flex-direction: column;
    }

    .nst-header[data-mobile-open="true"] .nst-nav__mobile-panel {
        display: flex;
    }

    .nst-nav__home,
    .nst-nav__premium,
    .nst-nav-dropdown > .nst-nav-dropdown__trigger {
        width: 100%;
        min-height: 48px;
        padding: 0 12px;
        justify-content: space-between;
        text-align: left;
    }

    .nst-nav-dropdown__panel {
        position: static;
        min-width: 0;
        margin: 0 12px 8px;
        border-radius: 4px;
        box-shadow: none;
    }

    .nst-nav__mobile-utility {
        display: flex;
        flex-direction: column;
        gap: 4px;
        padding: 12px;
        border-top: 1px solid rgba(255,255,255,.2);
    }

    .nst-nav__mobile-utility > a {
        padding: 10px 0;
    }
}

@media (max-width: 560px) {

    .nst-header__container,
    .nst-prototype-page {
        width: min(100% - 20px, 1180px);
    }

    .nst-header__utility-inner {
        min-height: 38px;
    }

    .nst-header__account {
        width: 100%;
        justify-content: flex-end;
        gap: 10px;
        font-size: 13px;
    }

    .nst-header__welcome {
        margin-right: auto;
    }

    .nst-header__brand {
        max-width: 235px;
    }

    .nst-header__search-label {
        display: none;
    }

    .nst-header__search {
        gap: 6px;
    }

    .nst-header__search button {
        padding: 0 14px;
    }

}

/* ==========================================================
   HEADER-MENU-3B5B
   Callable phone, browser-language indicator and representative
   Contact Us sticky for private visual review.
   ========================================================== */

.nst-header__phone {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    text-decoration: none;
    font-weight: 600;
}

.nst-header__phone:hover,
.nst-header__phone:focus-visible {
    text-decoration: underline;
}

.nst-language-control {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
    font-size: 13px;
    opacity: .92;
}

.nst-language-control__icon {
    line-height: 1;
}







@media (max-width: 900px) {
    .nst-header__phone {
        font-size: 13px;
    }
}

@media (max-width: 560px) {
    .nst-language-control {
        font-size: 12px;
    }
}

/*
 * HEADER-MENU-4F-SR2
 * Search presentation refinement.
 *
 * Scope:
 * - presentation only
 * - modern header only
 * - preserves existing search markup, IDs, endpoints and behaviour
 */

.nst-header .nst-header__main-inner {
    grid-template-columns: minmax(250px, 32%) minmax(0, 1fr);
    column-gap: 24px;
    align-items: center;
}

.nst-header .nst-header__brand {
    min-width: 0;
}

.nst-header .nst-header__brand img {
    max-width: 100%;
    height: auto;
}

.nst-header .nst-header__discovery {
    min-width: 0;
    width: 100%;
}

.nst-header .nst-header__discovery .searchSite {
    width: 100%;
    margin: 0;
    padding: 0;
    float: none;
    text-align: left;
}

.nst-header .nst-header__discovery .searchSite > p:first-child,
.nst-header .nst-header__discovery .searchSite .span_detail {
    margin-top: 0;
}

.nst-header .nst-header__discovery .searchSite p {
    text-align: left;
}

.nst-header .nst-header__discovery .searchSite #searchform_basic {
    width: 100%;
    margin-top: 8px;
}

.nst-header .nst-header__discovery .searchSite #searchform_basic form {
    width: 100%;
}

.nst-header .nst-header__discovery .searchSite #searchform_basic table {
    width: 100%;
    margin: 0;
    table-layout: auto;
}

.nst-header .nst-header__discovery .searchSite #searchform_basic table tr td {
    padding: 0;
    vertical-align: middle;
}

.nst-header .nst-header__discovery .searchSite #searchform_basic table tr td:first-child {
    width: 100%;
    padding-right: 8px;
}

.nst-header .nst-header__discovery .searchSite #searchform_basic input[type="text"],
.nst-header .nst-header__discovery .searchSite #searchform_basic input[type="search"] {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
}

.nst-header .nst-header__discovery .searchSite #searchform_basic input[type="submit"],
.nst-header .nst-header__discovery .searchSite #searchform_basic button {
    margin: 0;
    white-space: nowrap;
}

.nst-header .nst-header__discovery .searchSite .basic {
    margin-top: 8px;
    text-align: left;
}

.nst-header .nst-header__discovery .searchSite .basic a {
    display: inline-block;
    margin: 0;
}

.nst-header .nst-header__discovery .searchSite #searchform {
    width: 100%;
    max-width: 100%;
}

.nst-header .nst-header__discovery .searchSite .advanced {
    width: 100%;
    max-width: 100%;
}

@media (max-width: 1100px) {
    .nst-header .nst-header__main-inner {
        grid-template-columns: minmax(220px, 30%) minmax(0, 1fr);
        column-gap: 20px;
    }
}

@media (max-width: 900px) {
    .nst-header .nst-header__main-inner {
        grid-template-columns: 1fr;
        row-gap: 14px;
    }

    .nst-header .nst-header__brand {
        text-align: center;
    }

    .nst-header .nst-header__brand img {
        max-width: min(100%, 420px);
    }

    .nst-header .nst-header__discovery {
        width: 100%;
    }
}

/* ==========================================================
   HEADER-MENU-HOME-1C
   PRIVATE desktop production-geometry experiment.

   Reference:
   - established NST desktop envelope: approximately 1298px
   - native logo: 420x60px
   - established search working region: approximately 718-728px

   Presentation only.
   No search, navigation or authentication behaviour changes.
   ========================================================== */

@media (min-width: 1101px) {

    .nst-header .nst-header__container {
        max-width: 1298px;
    }

    .nst-header .nst-header__main-inner {
        grid-template-columns: 420px minmax(0, 728px);
        justify-content: space-between;
        column-gap: 0;
        align-items: center;
    }

    .nst-header .nst-header__brand {
        width: 420px;
        max-width: 420px;
        min-width: 0;
    }

    .nst-header .nst-header__brand img {
        display: block;
        width: 420px;
        max-width: 100%;
        height: auto;
    }

    .nst-header .nst-header__discovery {
        width: 728px;
        max-width: 728px;
        min-width: 0;
        justify-self: end;
    }

    .nst-header .nst-header__discovery .searchSite {
        width: 100%;
        max-width: 100%;
    }
}

/* HEADER-MENU-UTILITY-STATE-1B
 * Contrast correction only.
 * Keep utility dropdown trigger text/caret white while the trigger
 * is on the dark hover/focus/open background.
 */
.nst-header .nst-header__utility a:hover,
.nst-header .nst-header__utility a:focus,
.nst-header .nst-header__utility button:hover,
.nst-header .nst-header__utility button:focus,
.nst-header .nst-header__utility button[aria-expanded="true"] {
    color: #fff;
}

.nst-header .nst-header__utility a:hover *,
.nst-header .nst-header__utility a:focus *,
.nst-header .nst-header__utility button:hover *,
.nst-header .nst-header__utility button:focus *,
.nst-header .nst-header__utility button[aria-expanded="true"] * {
    color: inherit;
}

/* ==========================================================
   COUNTRY-LOCALIZATION-1I3D2
   Visitor country selector presentation.

   Presentation only:
   - resolver/detection/cookie ownership remains outside header
   - desktop reuses existing utility dropdown mechanics
   - mobile follows established 900px header transition
   ========================================================== */

.nst-country-selector {
    position: relative;
}

.nst-country-selector--desktop {
    min-width: 0;
}

.nst-country-selector__trigger {
    max-width: 190px;
    gap: 5px;
}

.nst-country-selector__label {
    display: block;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nst-country-selector__panel {
    right: 0;
    left: auto;
    min-width: 300px;
}

.nst-country-selector__form {
    display: grid;
    gap: 10px;
    padding: 6px;
}

.nst-country-selector__title {
    font-weight: 700;
}

.nst-country-selector__select {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid #aebbc0;
    border-radius: 4px;
    background: #fff;
    color: #263238;
    font: inherit;
}

.nst-country-selector__apply {
    justify-self: start;
    padding: 8px 14px;
    border: 0;
    border-radius: 4px;
    background: #405c68;
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.nst-country-selector__apply:hover,
.nst-country-selector__apply:focus-visible {
    background: #334b55;
}

/*
 * Mobile Country presentation now reuses the utility-row selector.
 * The former separate .nst-country-selector--mobile component was
 * retired by 1I3D6-C6C and must not participate in the mobile cascade.
 */

/* 1I3D6-C6B mobile search + floating social containment */
@media (max-width: 900px) {

    /*
     * Basic search:
     * legacy widths allocate ~90% to the input wrapper and ~9% to the
     * button wrapper before margins/padding. Use a two-column layout
     * inside the modern header so both controls remain inside viewport.
     */
    .nst-header .nst-header__discovery .searchSite #searchform_basic table {
        width: 100%;
        max-width: 100%;
        table-layout: fixed;
    }

    .nst-header .nst-header__discovery .searchSite #searchform_basic table tr td:first-child {
        width: auto;
        min-width: 0;
        padding-right: 8px;
    }

    .nst-header .nst-header__discovery .searchSite #searchform_basic table tr td:last-child {
        width: 82px;
        white-space: nowrap;
    }

    .nst-header .nst-header__discovery .searchSite #searchform_basic .search_inputs_basic {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-right: 0;
        box-sizing: border-box;
    }

    .nst-header .nst-header__discovery .searchSite #searchform_basic .search_btn {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .nst-header .nst-header__discovery .searchSite #searchform_basic input[type="text"],
    .nst-header .nst-header__discovery .searchSite #searchform_basic input[type="search"] {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    /*
     * Legacy floating social rail:
     * preserve desktop functionality, suppress only the fixed left-side
     * rail on mobile where it competes with navigation/content.
     */
    
}

/* 1I3D6-C6C mobile utility-row Country presentation */
@media (max-width: 900px) {

    /*
     * Mobile follows the desktop utility concept:
     * Language -> Country -> Subscribe -> Login/account.
     * Logo remains on the following row.
     */
    .nst-header .nst-country-selector--desktop {
        display: flex;
        min-width: 0;
        max-width: 100%;
    }

    .nst-header .nst-country-selector--desktop form {
        display: flex;
        min-width: 0;
        max-width: 100%;
        align-items: center;
    }

    .nst-header .nst-country-selector--desktop select {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }
}
/* ==========================================================
   1I3D6-C6F2 — consolidated mobile visual repair

   Scope:
   - keep Language / Country / Subscribe / Login utility row
   - contain Country dropdown inside viewport
   - keep basic search input + Search button on one row
   - Advanced search occupies its own row
   - hide confirmed legacy ShowSocialMedia sticky rail on mobile
   - desktop presentation remains unchanged
   ========================================================== */

@media (max-width: 900px) {

    /* ------------------------------------------------------
       Country selector

       Desktop utility Country is deliberately reused on mobile.
       The desktop panel's 300px minimum and right anchoring are
       constrained so opening it cannot widen the document.
       ------------------------------------------------------ */

    .nst-header .nst-country-selector--desktop {
        position: relative;
        min-width: 0;
        max-width: 100%;
    }

    .nst-header .nst-country-selector--desktop
    .nst-country-selector__trigger {
        min-width: 0;
        max-width: 100%;
    }

    .nst-header .nst-country-selector--desktop
    .nst-country-selector__label {
        min-width: 0;
        max-width: 100%;
    }

    .nst-header .nst-country-selector--desktop
    .nst-country-selector__panel {
        position: absolute;
        top: calc(100% + 4px);
        left: auto;
        right: 0;
        z-index: 1000;
        width: 170px;
        min-width: 0;
        max-width: calc(100vw - 16px);
        box-sizing: border-box;
    }

    .nst-header .nst-country-selector--desktop
    .nst-country-selector__form {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .nst-header .nst-country-selector--desktop
    .nst-country-selector__select {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }


    /* ------------------------------------------------------
       Basic event search

       Actual DOM:
       .form-group
         .search_inputs_basic
         .search_btn
         br
         br
         span -> Advanced search

       The first two become one flex row; Advanced search gets
       a full row underneath.
       ------------------------------------------------------ */

    .nst-header .nst-header__discovery
    .searchSite #searchform_basic {
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
        margin-left: 0;
        margin-right: 0;
        box-sizing: border-box;
    }

    .nst-header .nst-header__discovery
    .searchSite #searchform_basic .form-group {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin: 0;
        box-sizing: border-box;
    }

    .nst-header .nst-header__discovery
    .searchSite #searchform_basic .search_inputs_basic {
        float: none;
        flex: 1 1 0;
        width: auto;
        max-width: none;
        min-width: 0;
        margin: 0 8px 0 0;
        box-sizing: border-box;
    }

    .nst-header .nst-header__discovery
    .searchSite #searchform_basic .search_inputs_basic input {
        display: block;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .nst-header .nst-header__discovery
    .searchSite #searchform_basic .search_btn {
        float: none;
        flex: 0 0 auto;
        width: auto;
        max-width: none;
        min-width: 0;
        margin: 0;
        box-sizing: border-box;
    }

    .nst-header .nst-header__discovery
    .searchSite #searchform_basic .search_btn button {
        width: auto;
        max-width: 100%;
        white-space: nowrap;
        box-sizing: border-box;
    }

    .nst-header .nst-header__discovery
    .searchSite #searchform_basic .form-group > br {
        display: none;
    }

    .nst-header .nst-header__discovery
    .searchSite #searchform_basic .form-group > span {
        display: block;
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        margin-top: 10px;
        box-sizing: border-box;
    }


    /* ------------------------------------------------------
       Confirmed legacy social rail

       ShowSocialMedia() emits:
       div.sticky-container > ul.sticky

       Hide only on mobile. Desktop remains unchanged.
       ------------------------------------------------------ */

    .sticky-container {
        display: none !important;
    }
}


/* Extra containment for very narrow phones. */
@media (max-width: 560px) {

    .nst-header .nst-header__account {
        min-width: 0;
        max-width: 100%;
    }

    .nst-header .nst-country-selector--desktop {
        min-width: 0;
    }

    .nst-header .nst-country-selector--desktop
    .nst-country-selector__trigger {
        min-width: 0;
    }

    .nst-header .nst-country-selector--desktop
    .nst-country-selector__label {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .nst-header .nst-country-selector--desktop
    .nst-country-selector__panel {
        max-width: calc(100vw - 16px);
    }
}

/* ==========================================================
   1I3D6-C6F4R — mobile Country panel + Subscribe refinement

   Scope:
   - restore Country form's intended vertical layout
   - retain existing viewport containment
   - make utility-row Subscribe bold NST-green text
   - no change to desktop Subscribe
   - no change to mobile-nav Subscribe
   ========================================================== */

@media (max-width: 900px) {

    /*
     * The original Country form is a grid.
     * C6C's generic mobile "form" rule changed it to flex.
     * Restore the component-specific vertical presentation.
     */
    .nst-header .nst-country-selector--desktop
    .nst-country-selector__form {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 5px;
        align-items: stretch;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding: 6px;
        box-sizing: border-box;
    }

    .nst-header .nst-country-selector--desktop
    .nst-country-selector__title {
        display: block;
        width: 100%;
        min-width: 0;
        margin: 0;
        white-space: nowrap;
    }

    .nst-header .nst-country-selector--desktop
    .nst-country-selector__select {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        margin: 0;
        box-sizing: border-box;
    }

    .nst-header .nst-country-selector--desktop
    .nst-country-selector__apply {
        justify-self: end;
        width: auto;
        min-width: 0;
        margin: 0;
    }

    /*
     * Utility-row Subscribe only.
     *
     * Keep the semantic CTA emphasis through bold NST-green
     * text, but remove the space-heavy filled-button treatment.
     */
    .nst-header .nst-header__account
    .nst-header__subscribe {
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: #2f8f4e !important;
        font-weight: 700;
        line-height: inherit;
    }

    .nst-header .nst-header__account
    .nst-header__subscribe:hover,
    .nst-header .nst-header__account
    .nst-header__subscribe:focus-visible {
        background: transparent;
        color: #267541 !important;
        text-decoration: underline;
    }
}

/* =========================================================
   P3E17-A2R4 — HOMEPAGE PERSISTENT DISCOVERY
   Private candidate only.
   Sticky rather than fixed: remains in document flow and
   avoids the artificial spacer/CLS problems of fixed headers.
   ========================================================= */

/*
 * P3E17-A3C4B — Homepage persistent navigation.
 *
 * Mobile preserves the already accepted full-header sticky
 * behaviour.
 *
 * Desktop keeps the utility/logo/search sections in normal
 * document flow and makes only the compact primary navigation
 * bar sticky.
 */
body.nst-family-homepage .nst-header {
    z-index: 10010;
}

@media (max-width: 767px) {
    body.nst-family-homepage .nst-header {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
    }
}

@media (min-width: 768px) {
    body.nst-family-homepage .nst-header {
        position: static;
    }

    /*
     * P3E17-A3C4E2
     * Desktop floating ownership belongs to NST's existing
     * jquery.sticky.js + apps.js .menu_float mechanism.
     */
    body.nst-family-homepage .nst-header .nst-nav {
        position: static;
        z-index: 10010;
    }
}

/*
 * Prevent horizontal expansion from sticky navigation controls.
 */
body.nst-family-homepage .nst-header,
body.nst-family-homepage .nst-header * {
    box-sizing: border-box;
}

/*
 * Mobile: keep persistent navigation usable without forcing
 * an artificial fixed height. Existing modern-header mobile
 * rules continue to own hamburger/dropdown presentation.
 */
@media (max-width: 767px) {
    body.nst-family-homepage .nst-header {
        top: 0;
        max-width: 100%;
    }
}

/* ==========================================================
   P3E17-A3C5B — Mobile click-to-call
   Compact conversion action immediately before Language.
   Desktop telephone presentation remains authoritative.
   ========================================================== */

.nst-header__mobile-call {
    display: none;
}

@media (max-width: 767px) {
    .nst-header .nst-header__account {
        gap: 10px;
    }

    .nst-header .nst-header__account
    .nst-header__mobile-call {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 6px 0;
        margin: 0;
        white-space: nowrap;
        text-decoration: none;
        font-weight: 700;
        line-height: inherit;
    }
}


/* ==========================================================
   P3E17-A3C5E — Mobile utility flex-shrink correction

   Prevent individual utility controls from being compressed
   after responsive layout settles. Parent remains spacing owner.
   ========================================================== */

@media (max-width: 767px) {

    .nst-header .nst-header__account
    .nst-header__mobile-call,

    .nst-header .nst-header__account
    .nst-language-control,

    .nst-header .nst-header__account
    .nst-country-selector--desktop,

    .nst-header .nst-header__account
    .nst-header__subscribe,

    .nst-header .nst-header__account > a:not(.nst-header__mobile-call):not(.nst-header__subscribe) {
        flex: 0 0 auto;
        flex-shrink: 0;
    }

    .nst-header .nst-header__account
    .nst-header__mobile-call {
        font-weight: 700 !important;
    }
}

