/* biome-ignore-all lint/complexity/noImportantStyles: override native navigation breakpoint styles and baseline icon visibility, which also use !important */

/* Measure the complete desktop row synchronously, including theme effects and loaded fonts.
 * These styles are removed before the browser paints; the real navigation is never cloned. */
.nova-header-measuring > * {
    flex-shrink: 0;
}

.nova-header-measuring .wp-block-site-title {
    white-space: nowrap;
}

.nova-header-measuring .nova-header-nav .wp-block-navigation__responsive-container {
    display: block !important;
    position: static !important;
    width: max-content;
}

.nova-header-measuring .wp-block-navigation__responsive-container-open {
    display: none !important;
}

.nova-header-measuring .wp-block-navigation__submenu-container,
.nova-header-measuring .wc-block-mini-cart__badge {
    display: none !important;
}

.nova-header-measuring .wp-block-navigation__responsive-container-content,
.nova-header-measuring .wp-block-navigation__container {
    flex-wrap: nowrap !important;
    width: max-content;
}

.nova-header-measuring .nova-header-icons {
    display: flex !important;
}

.nova-header-measuring .nova-header-search,
.nova-header-measuring .nova-header-mobile-link {
    display: none !important;
}

/* Keep the native WordPress overlay, keyboard handling and focus restoration. Override its
 * viewport breakpoint only when this particular header cannot fit its desktop navigation. */
.nova-header-nav.is-nova-compact .wp-block-navigation__responsive-container-open {
    display: flex !important;
}

.nova-header-nav.is-nova-compact .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
}

.nova-header-nav.is-nova-compact .nova-header-icons {
    display: none !important;
}

.nova-header-nav.is-nova-compact .nova-header-search {
    display: block !important;
}

.nova-header-nav.is-nova-compact .nova-header-mobile-link {
    display: list-item !important;
}

.nova-header .wp-block-buttons {
    container-type: normal;
    flex-shrink: 0;
}

.nova-header .wp-block-button__link {
    white-space: nowrap;
    padding: 0.6em 1.2em;
    font-size: var(--wp--preset--font-size--small);
}

.nova-header .wp-block-button__link:hover {
    transform: none;
    box-shadow: none;
}

@media (max-width: 599px) {
    .nova-header .wp-block-button__link {
        padding: 0.5em 1em;
        font-size: var(--wp--preset--font-size--small);
    }
}

.nova-header-nav .wp-block-navigation-item__content,
.nova-header-nav .wp-block-navigation-item__content:hover,
.nova-header .wp-block-site-title a,
.nova-header .wp-block-site-title a:hover {
    text-decoration: none;
}

.nova-header-nav .wp-block-navigation-item__content:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.nova-header-nav .has-child .wp-block-navigation__submenu-container {
    border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
    border-radius: 6px;
    box-shadow: none;
    background-color: var(--wp--preset--color--base, #fff);
}

.nova-header-logo {
    flex-shrink: 0;
    margin: 0;
}

.nova-header-logo img {
    display: block;
    width: var(--nova-logo-size, 48px);
    height: var(--nova-logo-size, 48px);
}

.nova-header-masthead {
    --nova-logo-size: 64px;
}

.nova-header-action {
    --nova-logo-size: 40px;
}

.nova-header-masthead > .nova-header-logo {
    width: fit-content;
    margin-inline: auto;
}

.nova-header-masthead:has(.is-nova-compact) > .nova-header-logo {
    margin: 0;
}

.nova-header:has(.is-nova-compact) {
    --nova-logo-size: 36px;
}

@media (max-width: 599px) {
    .nova-header-logo img {
        width: 36px;
        height: 36px;
    }

    .nova-header-masthead > .nova-header-logo {
        margin: 0;
    }
}

.nova-header-rule {
    border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}

.nova-header-transparent:not(.is-nova-scrolled) .nova-header-rule {
    border-bottom-color: transparent;
}

.nova-header-action > .nova-header-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: var(--wp--preset--spacing--30);
}

.nova-header-action > .nova-header-row > * {
    margin: 0;
}

.nova-header-action > .nova-header-row > :first-child {
    justify-self: start;
}

.nova-header-action > .nova-header-row > :nth-child(2) {
    justify-self: center;
}

.nova-header-action > .nova-header-row > :last-child {
    justify-self: end;
}

.nova-header-action > .nova-header-row:has(.is-nova-compact) {
    display: flex;
    justify-content: space-between;
    gap: var(--wp--preset--spacing--20);
}

.nova-header-action > .nova-header-row:has(.is-nova-compact) > :first-child {
    margin-right: auto;
}

.nova-header-action > .nova-header-row:has(.is-nova-compact) > :has(.nova-header-nav) {
    order: 3;
}

.nova-header-masthead:has(.is-nova-compact) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--wp--preset--spacing--20);
}

.nova-header-masthead:has(.is-nova-compact) > .wp-block-site-title {
    min-width: 0;
    margin: 0;
    text-align: left;
    font-size: clamp(0.875rem, 5vw, var(--wp--preset--font-size--large));
}

.nova-header-masthead:has(.is-nova-compact) > .nova-header-row {
    flex: none;
    margin: 0;
}

.nova-header-masthead:has(.is-nova-compact) > .nova-header-logo + .wp-block-site-title {
    flex: 1;
}

@media (max-width: 599px) {
    .nova-header-masthead {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--wp--preset--spacing--20);
    }

    .nova-header-masthead > .wp-block-site-title {
        min-width: 0;
        margin: 0;
        text-align: left;
        font-size: clamp(0.875rem, 5vw, var(--wp--preset--font-size--large));
    }

    .nova-header-masthead > .nova-header-row {
        flex: none;
        margin: 0;
    }

    .nova-header-masthead > .nova-header-logo + .wp-block-site-title {
        flex: 1;
    }
}
