/* Shared navigation follows the document's reading direction. */
.nn-site-nav .nn-nav-shell {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: clamp(18px, 2.3vw, 32px);
    direction: inherit;
}

.nn-site-nav .nn-nav-brand {
    order: 1;
    flex: none;
    margin: 0;
    padding: 0;
}

.nn-site-nav .nn-nav-brand img {
    display: block;
    width: 50px;
    height: 50px;
    object-fit: contain;
}

.nn-site-nav .nn-nav-collapse {
    order: 2;
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center;
}

.nn-site-nav .nn-nav-links,
.nn-site-nav .nn-nav-actions {
    flex-direction: row;
    align-items: center;
    gap: clamp(10px, 1.5vw, 22px);
    margin: 0;
    padding: 0;
    direction: inherit;
}

.nn-site-nav .nn-nav-actions {
    order: 3;
    flex: none;
    gap: 12px;
}

.nn-site-nav .navbar-nav .nav-item,
.nn-site-nav.navbar-colored .navbar-nav .nav-item {
    flex: none;
    margin: 0;
    padding: 0;
}

.nn-site-nav .navbar-nav .nav-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 0;
    white-space: nowrap;
}

.nn-site-nav .nn-nav-actions .nn-nav-signup .nav-link {
    min-width: 110px;
    padding: 10px 17px !important;
    border-radius: 999px !important;
    line-height: 1.4;
}

.nn-site-nav .nn-nav-actions .nav-phone-link { gap: 6px; }
.nn-site-nav .nn-nav-actions .nav-phone-link bdi { white-space: nowrap; }
.nn-site-nav .nn-nav-toggle { order: 4; }
.nn-site-nav .dropdown-menu {
    right: auto;
    left: auto;
    inset-inline-start: 0;
    inset-inline-end: auto;
    min-width: 225px;
    text-align: start;
    direction: inherit;
}
.nn-site-nav .dropdown-menu .dropdown-item {
    justify-content: flex-start;
    white-space: nowrap;
    text-align: start;
}

@media (max-width: 1199px) {
    .nn-site-nav .navbar-nav .nn-nav-phone { display: none; }
}

@media (max-width: 991px) {
    .nn-site-nav .nn-nav-shell {
        min-height: 72px;
        gap: 12px;
    }

    .nn-site-nav .nn-nav-brand img { width: 42px; height: 42px; }
    .nn-site-nav .nn-nav-actions {
        order: 2;
        margin-inline-start: auto;
        gap: 10px;
    }
    .nn-site-nav .nn-nav-actions .nn-nav-signup .nav-link {
        min-width: 82px;
        min-height: 40px;
        padding: 8px 12px !important;
    }
    .nn-site-nav .nn-nav-toggle {
        order: 3;
        flex: none;
        margin: 0;
        padding: 8px;
    }
    .nn-site-nav .nn-nav-collapse {
        order: 4;
        flex: none;
        position: absolute;
        top: 72px;
        right: 0;
        left: 0;
        margin: 0;
        padding: 14px 20px 24px;
        border-bottom: 1px solid #e2e7f0;
        background: #fff;
        text-align: start;
    }
    .nn-site-nav .nn-nav-links {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }
    .nn-site-nav .nn-nav-links .nav-item { width: 100%; }
    .nn-site-nav .nn-nav-links .nav-link {
        min-height: 46px;
        justify-content: flex-start;
        padding: 11px 4px;
        white-space: normal;
    }
    .nn-site-nav .dropdown-menu {
        position: static;
        min-width: 0;
        margin: 0;
        padding-inline-start: 12px;
        box-shadow: none;
    }
}

@media (max-width: 359px) {
    .nn-site-nav .nn-nav-shell { gap: 7px; }
    .nn-site-nav .nn-nav-actions { gap: 6px; }
    .nn-site-nav .nn-nav-brand img { width: 38px; height: 38px; }
}
