/*
 * [atopia][PWRU-405] One production-equivalent header on every route.
 *
 * This file is loaded after route CSS so historical body-class overrides cannot
 * change the shared chrome geometry. The dimensions mirror live atopia Next:
 * desktop navDesktop at 1200x140 and navMobile at 72px below 1200px.
 */

.page-header--canonical {
    position: fixed !important;
    z-index: 100 !important;
    inset: 0 0 auto !important;
    width: 100% !important;
    height: 140px !important;
    padding: 60px 0 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    transition: height 0.2s, padding-top 0.2s;
}

.page-header--canonical.is-scrolled {
    height: 110px !important;
    padding-top: 30px !important;
}

.page-header--canonical > .container {
    width: 1200px !important;
    max-width: 1200px !important;
    height: 80px !important;
    padding: 0 !important;
    margin: 0 auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.page-header--canonical .next-chrome {
    position: relative;
    display: block !important;
    box-sizing: border-box;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.page-header--canonical .next-chrome__bar {
    position: relative;
    z-index: 2;
    display: flex !important;
    box-sizing: border-box;
    width: 100% !important;
    height: 80px !important;
    min-height: 80px !important;
    align-items: center;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding: 15px 20px !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: #eff6ff !important;
    box-shadow: inset 0 0 0 2px #2d87ff !important;
    color: #1c1c1c;
    font: 18px/normal "Montserrat", sans-serif;
    -webkit-font-smoothing: auto;
    text-rendering: auto;
}

.page-header--canonical .next-chrome__logo {
    display: block;
    width: 116px !important;
    min-width: 116px !important;
    height: 40px !important;
    flex: 0 0 116px !important;
    padding: 0 !important;
    margin: 0 46px 0 0 !important;
    transform: none !important;
}

.page-header--canonical .next-chrome__logo img {
    display: block;
    width: 116px !important;
    height: 40px !important;
}

.page-header--canonical .next-chrome__mobile-toggle {
    display: none !important;
}

.page-header--canonical .next-chrome__search {
    position: relative;
    display: block !important;
    box-sizing: border-box;
    width: 400px !important;
    height: 50px !important;
    min-width: 400px !important;
    flex: 0 0 400px !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 42.8125px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    transform: none !important;
}

.page-header--canonical .next-chrome__search input {
    position: absolute;
    inset: 0;
    box-sizing: border-box;
    width: 100% !important;
    height: 100% !important;
    padding: 15px 44px 15px 20px !important;
    border: 1px solid #2d87ff !important;
    border-radius: 100px !important;
    background: #fff !important;
    color: #333;
    font: 400 14px/16.1px "Montserrat", sans-serif !important;
}

.page-header--canonical .next-chrome__search button {
    position: absolute;
    z-index: 1;
    top: 15px;
    right: 16px;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.page-header--canonical .next-chrome__search button img {
    display: block;
    width: 20px !important;
    height: 20px !important;
}

.page-header--canonical .next-chrome__disease {
    display: flex !important;
    box-sizing: border-box;
    width: 207.0625px !important;
    height: 50px !important;
    flex: 0 0 207.0625px !important;
    align-items: center;
    justify-content: center !important;
    gap: 10px !important;
    padding: 15px 30px !important;
    margin: 0 42.8125px 0 0 !important;
    border: 2px solid #2d87ff !important;
    border-radius: 100px !important;
    background: #fff !important;
    color: #2d87ff !important;
    font: 600 16px/16px "Montserrat", sans-serif !important;
    transform: none !important;
}

.page-header--canonical .next-chrome__disease img {
    display: block;
    width: 20px !important;
    height: 20px !important;
}

.page-header--canonical .next-chrome__centers {
    display: flex !important;
    box-sizing: border-box;
    width: 305.3125px !important;
    height: 50px !important;
    flex: 0 0 305.3125px !important;
    align-items: center;
    justify-content: flex-start !important;
    gap: 10px !important;
    padding: 15px 30px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 100px !important;
    background: #2d87ff !important;
    color: #fff !important;
    font: 600 16px/normal "Montserrat", sans-serif !important;
    text-decoration: none;
    transform: none !important;
}

.page-header--canonical .next-chrome__centers img {
    display: block;
    width: 20px !important;
    height: 20px !important;
}

.page-header-canonical-spacer {
    width: 100%;
    height: 140px;
}

@media (min-width: 1200px) {
    .home-next-parity .page-header-canonical-spacer,
    .legacy-asthma-feed-chrome .page-header-canonical-spacer,
    .legacy-full-page-article-parity .page-header-canonical-spacer,
    .page-tool-page.tool-checklist-parity:not(.tool-asthma-checklist) .page-header-canonical-spacer {
        height: 0;
    }

    /* PWRU-467: video tools no longer inject navDesktop; keep canonical spacer under the fixed header. */
    .page-tool-page.tool-next-video-desktop-nav .page-header-canonical-spacer {
        height: 140px !important;
    }

    /* PWRU-467: bar and dropdown are siblings; bar stays above so inset frame is not painted over. */
    .page-header--canonical .next-chrome--disease-open .next-chrome__bar {
        z-index: 2;
    }
    .page-header--canonical .next-chrome--disease-open .next-chrome__menu {
        position: relative !important;
        z-index: 0 !important;
        top: -60px !important;
        left: 0 !important;
        display: block;
        width: 100% !important;
        padding: 80px 40px 20px;
        border-radius: 0 0 20px 20px;
        background: #fff;
        box-shadow:
            inset 2px 0 #2d87ff,
            inset -2px 0 #2d87ff,
            inset 0 -2px #2d87ff;
    }
}

@media (max-width: 1199px) {
    .page-header--canonical,
    .page-header--canonical.is-scrolled {
        height: 72px !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .page-header--canonical > .container {
        width: 100% !important;
        max-width: none !important;
        height: 72px !important;
    }

    .page-header--canonical .next-chrome {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .page-header--canonical .next-chrome__bar {
        width: 100% !important;
        height: 72px !important;
        min-height: 72px !important;
        justify-content: space-between !important;
        padding: 15px 12px !important;
        border: 0 !important;
        border-bottom: 2px solid #2d87ff !important;
        border-radius: 0 !important;
        background: #eff6ff !important;
        box-shadow: none !important;
    }

    .page-header--canonical .next-chrome__logo {
        width: 104.4px !important;
        min-width: 104.4px !important;
        height: 36px !important;
        flex-basis: 104.4px !important;
        margin: 0 !important;
    }

    .page-header--canonical .next-chrome__logo img {
        width: 104.4px !important;
        height: 36px !important;
    }

    .page-header--canonical .next-chrome__mobile-toggle {
        position: relative;
        display: block !important;
        box-sizing: border-box;
        width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        background: transparent !important;
        transform: none !important;
    }

    .page-header--canonical .next-chrome__mobile-toggle span {
        position: absolute;
        left: 7px;
        display: block;
        width: 26px !important;
        height: 3px !important;
        background: #2d87ff;
        border-radius: 2px;
    }

    .page-header--canonical .next-chrome__mobile-toggle span:nth-child(1) { top: 11px; }
    .page-header--canonical .next-chrome__mobile-toggle span:nth-child(2) { top: 19px; }
    .page-header--canonical .next-chrome__mobile-toggle span:nth-child(3) { top: 27px; }

    .page-header--canonical .next-chrome__search,
    .page-header--canonical .next-chrome__disease,
    .page-header--canonical .next-chrome__centers {
        display: none !important;
    }

    .page-header--canonical .next-chrome__menu {
        position: fixed;
        z-index: 101;
        inset: 72px 0 auto;
        display: none;
        max-height: calc(100vh - 72px);
        overflow: auto;
        padding: 20px 16px;
        background: #eff6ff;
        border-bottom: 2px solid #2d87ff;
    }

    .page-header--canonical .next-chrome--menu-open .next-chrome__menu {
        display: block;
    }

    .page-header--canonical .next-chrome--menu-open .global-menu__list {
        display: flex;
        flex-direction: column;
    }

    .page-header-canonical-spacer {
        height: 72px;
    }

    .home-next-parity .page-header-canonical-spacer,
    .legacy-asthma-feed-chrome .page-header-canonical-spacer,
    .page-tool-page.tool-checklist-parity:not(.tool-asthma-checklist) .page-header-canonical-spacer {
        height: 0;
    }
}
