/* The responsive navigation has dedicated markup; desktop dropdown styles stay isolated. */
.mobile-navigation {
    display: none;
}

@media (max-width: 991.98px) {
    .desktop-navigation {
        display: none !important;
    }

    .mobile-navigation {
        display: flex;
        width: 100%;
        margin: 0;
        padding: 2px 0 0;
        list-style: none;
    }

    .mobile-navigation__item {
        display: block;
        width: 100%;
        margin: 0;
    }

    .mobile-navigation__link,
    .mobile-destinations__toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 48px;
        padding: 11px 8px;
        border: 0;
        background: transparent;
        color: var(--ink);
        font: inherit;
        font-size: 18px;
        font-weight: 600;
        line-height: 1.35;
        text-align: left;
        text-decoration: none;
    }

    .mobile-navigation__link:hover,
    .mobile-navigation__link:focus,
    .mobile-navigation__link:focus-visible,
    .mobile-navigation__link:active,
    .mobile-navigation__link:visited,
    .mobile-destinations__toggle:hover,
    .mobile-destinations__toggle:focus,
    .mobile-destinations__toggle:focus-visible {
        color: var(--ink);
    }

    .mobile-navigation__link:focus-visible,
    .mobile-destinations__toggle:focus-visible,
    .mobile-destinations__link:focus-visible {
        outline: 2px solid var(--blue-700);
        outline-offset: 2px;
    }

    .mobile-destinations__toggle {
        cursor: pointer;
    }

    .mobile-destinations__chevron {
        color: var(--blue-700);
        font-size: 20px;
        line-height: 1;
        transition: transform .2s ease;
    }

    .mobile-destinations.is-open .mobile-destinations__chevron {
        transform: rotate(180deg);
    }

    .mobile-destinations__menu {
        display: block;
        width: 100%;
        height: auto;
        max-height: none;
        min-height: 0;
        margin: 2px 0 8px;
        padding: 7px;
        overflow: visible;
        list-style: none;
        border: 1px solid #b8d9f4;
        border-radius: 9px;
        background: #fff;
        box-shadow: 0 8px 18px rgba(0, 24, 57, .12);
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .mobile-destinations__menu[hidden] {
        display: none;
    }

    .mobile-destinations__menu > li {
        display: block;
        width: 100%;
        height: auto;
        margin: 0;
    }

    .mobile-destinations__menu > li + li {
        margin-top: 3px;
    }

    .mobile-destinations__link,
    .mobile-destinations__link:visited {
        display: block;
        width: 100%;
        min-height: 43px;
        padding: 11px 13px;
        overflow: visible;
        border: 1px solid transparent;
        border-radius: 6px;
        background: #fff;
        color: var(--blue-700);
        font-size: 16px;
        font-weight: 700;
        line-height: 1.35;
        overflow-wrap: anywhere;
        text-decoration: none;
        opacity: 1;
        visibility: visible;
    }

    .mobile-destinations__link:hover,
    .mobile-destinations__link:focus,
    .mobile-destinations__link:focus-visible,
    .mobile-destinations__link:active {
        border-color: #b8d9f4;
        background: #eaf6ff;
        color: var(--blue-700);
        opacity: 1;
        visibility: visible;
    }

    .mobile-navigation__contact {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 42px;
        margin: 7px 0 2px 8px;
        padding: 10px 18px;
        background: var(--blue-500);
        color: #fff;
        font-size: 17px;
        font-weight: 700;
        line-height: 1.2;
        text-decoration: none;
    }

    .mobile-navigation__contact:hover,
    .mobile-navigation__contact:focus,
    .mobile-navigation__contact:visited {
        color: #fff;
    }
}
