#menu {
    position: fixed;
    inset: auto 0 0 0;
    z-index: var(--menu-z-index);

    border-top: 2px solid var(--color-light);
    background: var(--color-secondary);
    box-shadow: 0 0 1em hsl(from var(--color-black) h s l / .4);
}

#menu .menu-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1em;
    
    padding-block: 1em;
}

#menu .menu-logo-link {
    display: none;
}

#menu .menu-logo-small {
    width: 64px;
}

#menu .menu-logo-large {
    display: none;
}

#menu .menu-links {
    display: flex;
    gap: 1em;
    flex: 1;
}

#menu .menu-links .btn {
    flex: 1;
}

#menu .menu-toggle {
    display: flex;
    align-items: center;
    gap: 16px;
    border: none;
    background: transparent;
}

#menu .menu-toggle-text {
    font-size: 14px;
    color: var(--color-white);
    text-transform: uppercase;
    display: none;
}

#menu .menu-toggle-icons {
    display: grid;
}

#menu :is(.menu-toggle-open, .menu-toggle-close) {
    grid-area: 1 / 1;
    font-size: 24px;
    color: var(--color-white);
    transition: .35s;
}

#menu .menu-toggle-close {
    opacity: 0;
}

#nav {
    --menu-height: 67.7px;
    position: fixed;
    inset: 0;
    z-index: calc(var(--menu-z-index) - 1);

    display: flex;
    justify-content: center;

    padding: 1em 1em calc(var(--menu-height) + 1em);

    transform: translateY(100%);
    transition: .35s ease;

    background: var(--color-secondary);
}

#nav .nav-content {
    max-width: 360px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#nav .nav-items {
    --shade: 0, 0, 0;
    --alpha: .25;
    
    display: flex;
    flex-direction: column;
    gap: 24px;
    overflow: auto;

    background:
        /* Shadow covers */
        linear-gradient(var(--color-secondary) 30%, rgba(255, 255, 255, 0)),
        linear-gradient(rgba(255, 255, 255, 0), var(--color-secondary) 70%) 0 100%,

        /* Shadows */
        radial-gradient(50% 0, farthest-side, rgba(var(--shade), var(--alpha)), transparent),
        radial-gradient(50% 100%, farthest-side, rgba(var(--shade), var(--alpha)), transparent) 0 100%;
    background:
        /* Shadow covers */
        linear-gradient(var(--color-secondary) 30%, rgba(255, 255, 255, 0)),
        linear-gradient(rgba(255, 255, 255, 0), var(--color-secondary) 70%) 0 100%,

        /* Shadows */
        radial-gradient(farthest-side at 50% 0, rgba(var(--shade), var(--alpha)), transparent),
        radial-gradient(farthest-side at 50% 100%, rgba(var(--shade), var(--alpha)), transparent) 0 100%;
    background-repeat: no-repeat;
    background-color: var(--color-secondary);
    background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;

    /* Opera doesn't support this in the shorthand */
    background-attachment: local, local, scroll, scroll;
}

#nav .nav-item {
    text-align: center;
}

#nav .nav-link {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .05em;
    text-align: center;
    text-transform: uppercase;
    color: var(--color-white);
}

#nav.open {
    transform: translateY(0);
}

#nav.open~#menu .menu-toggle-open {
    opacity: 0;
}

#nav.open~#menu .menu-toggle-close {
    opacity: 1;
}

#nav .dropdown-menu {
    border: 2px solid var(--color-light);
}

#nav .dropdown-menu .nav-link {
    color: var(--color-soft);
}

#nav .dropdown-toggle i {
    transition: .35s;
}

#nav .dropup.open .dropdown-toggle i {
    /* transform: rotate(180deg); */
    transform: scaleY(-1);
}

@media (min-width: 992px) {
    #menu {
        /* width: fit-content; */
        inset: 0 0 auto 0;
        border-top: none;
        border-bottom: 2px solid var(--color-light);
    }

    #menu .menu-content {
        gap: 32px;
    }

    #menu .menu-logo-link {
        display: block;
    }

    #menu .menu-links {
        flex: unset;
        margin-left: auto;
    }

    #menu .menu-toggle-text {
        display: block;
    }

    #menu .menu-logo-small {
        width: auto;
        height: 32px;
    }

    #menu .menu-links .btn {
        flex: unset;
    }

    #nav {
        --menu-height: 67.7px;
        padding: calc(var(--menu-height) + 1em) 1em 1em;
        transform: translateY(-100%);
    }

    #nav .btn-booking {
        display: inline-block;
    }

    #nav.open {
        --menu-height: 67.7px;
        padding: calc(var(--menu-height) + 1em) 1em 1em;
    }

    #nav.open~#menu .menu-logo-small {
        display: none;
    }

    #nav.open~#menu .menu-logo-large {
        width: auto;
        height: 32px;
        display: flex;
    }
}