/* Stable marketing-site navigation shared by the static landing pages. */
nav.fixed {
    min-height: 72px;
}

nav.fixed > div > div:first-child {
    min-height: 72px;
    flex-wrap: nowrap;
}

/*
 * Some static topic pages accidentally contain a duplicated language switcher
 * as a direct child of the fixed nav. Keep the header height stable everywhere
 * by hiding only that misplaced direct child; correctly nested switchers stay
 * visible on the full landing pages.
 */
nav.fixed > .hidden.sm\:flex {
    display: none !important;
}

nav.fixed a,
nav.fixed button,
nav.fixed span {
    white-space: nowrap;
}

nav.fixed a[href="/"],
nav.fixed a[href="/"] span {
    flex-shrink: 0;
}

nav.fixed > div > div:first-child > div:first-child,
nav.fixed > div > div:first-child > a:first-child {
    flex: 0 0 auto;
    min-width: 10.75rem;
}

nav.fixed [data-lang-switch] {
    min-width: 48px;
    min-height: 36px;
}

nav.fixed a[data-track="cta-pricing"],
nav.fixed a[data-i18n="hero.cta_primary"],
nav.fixed a[data-i18n="nav.request_access"],
nav.fixed a[data-i18n="cognitive_audit.cta.button"] {
    min-height: 44px;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

@media (min-width: 768px) and (max-width: 1439px) {
    nav.fixed .md\:flex {
        display: none !important;
    }

    nav.fixed .md\:hidden {
        display: flex !important;
    }

    nav.fixed #mobile-menu.md\:hidden {
        display: none !important;
    }

    nav.fixed #mobile-menu.md\:hidden:not(.hidden) {
        display: block !important;
    }
}

@media (min-width: 1440px) {
    nav.fixed > div {
        max-width: 92rem !important;
    }

    nav.fixed .space-x-8 > :not([hidden]) ~ :not([hidden]) {
        margin-left: 1.25rem !important;
    }

    nav.fixed a[data-track="cta-pricing"],
    nav.fixed a[data-i18n="hero.cta_primary"],
    nav.fixed a[data-i18n="nav.request_access"],
    nav.fixed a[data-i18n="cognitive_audit.cta.button"] {
        max-width: 18rem;
    }
}

@media (min-width: 1440px) and (max-width: 1535px) {
    nav.fixed > div {
        max-width: 100% !important;
    }

    nav.fixed > div > div:first-child {
        gap: 0.75rem !important;
    }

    nav.fixed > div > div:first-child > div:first-child,
    nav.fixed > div > div:first-child > a:first-child {
        min-width: 10rem;
    }

    nav.fixed .space-x-8 > :not([hidden]) ~ :not([hidden]) {
        margin-left: 0.875rem !important;
    }

    nav.fixed [data-lang-switch] {
        min-width: 42px;
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
        letter-spacing: 0.08em !important;
    }

    nav.fixed a[data-i18n="nav.signin"] {
        display: none !important;
    }

    nav.fixed a[data-track="cta-pricing"],
    nav.fixed a[data-i18n="hero.cta_primary"],
    nav.fixed a[data-i18n="nav.request_access"],
    nav.fixed a[data-i18n="cognitive_audit.cta.button"] {
        max-width: 13.75rem;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        font-size: 0.8125rem !important;
    }
}

@media (max-width: 420px) {
    nav.fixed [data-lang-switch] {
        min-width: 40px;
        padding-left: 0.625rem !important;
        padding-right: 0.625rem !important;
    }

    nav.fixed img {
        width: 2rem !important;
        height: 2rem !important;
    }

    nav.fixed > div > div:first-child > div:first-child,
    nav.fixed > div > div:first-child > a:first-child {
        min-width: 0;
    }

    nav.fixed a[href="/"] span,
    nav.fixed div:not([id]) > div:first-child > span {
        font-size: 1.05rem !important;
    }
}
