/* Native disclosure navigation works with keyboard input and without scripts. */
.header { position: relative; justify-content: space-between; flex-wrap: wrap; gap: 1.6rem; }
.header__logo { flex: 0 0 auto; max-width: 100%; }
.header__logo .logo__text { font-size: 1.8rem; }
.map-wrap > .header { max-width: 104rem; margin: 0 auto; padding: 1.2rem 1.6rem; }
.site-menu { margin-left: auto; }
.site-menu__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .9rem;
    min-width: 9.6rem;
    min-height: 4.4rem;
    padding: 1rem 1.4rem;
    border: 1px solid #505c72;
    border-radius: 1.2rem;
    background: #2b3241;
    color: #e8ebf1;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
    cursor: pointer;
    list-style: none;
}
.site-menu__toggle::-webkit-details-marker { display: none; }
.site-menu__toggle::marker { content: ""; }
.site-menu__toggle:hover, .site-menu[open] > summary { border-color: #f8ec26; color: #f8ec26; }
.site-menu__icon { width: 1.8rem; height: 1.8rem; flex: 0 0 auto; }
.site-menu__panel {
    position: absolute;
    z-index: 1020;
    top: calc(100% - .4rem);
    right: 0;
    width: 30rem;
    max-width: 100%;
    max-height: calc(100vh - 12rem);
    max-height: calc(100dvh - 12rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: .8rem;
    border: 1px solid #505c72;
    border-radius: 1.6rem;
    background: #303849;
    box-shadow: 0 1.4rem 4rem #10151f66;
}
.map-wrap .site-menu__panel { right: 1.6rem; max-width: calc(100% - 3.2rem); }
.site-menu .site-nav { display: grid; gap: .2rem; padding: 0; }
.site-menu .site-nav a { min-height: 4.6rem; padding: 1.1rem 1.4rem; border-radius: .9rem; color: #e8ebf1; font-size: 1.5rem; line-height: 1.5; }
.site-menu .site-nav a:hover { background: #424d61; }
.site-menu .site-nav a[aria-current="page"] { color: #f8ec26; background: #f8ec2610; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .25em; }
.site-menu__logout { min-width: 0; margin: .6rem 0 0; padding-top: .6rem; border-top: 1px solid #505c72; }
.site-menu__logout button { display: flex; align-items: center; gap: .9rem; width: 100%; min-width: 0; min-height: 4.6rem; padding: 1.1rem 1.4rem; border: 0; border-radius: .9rem; background: transparent; color: #e8ebf1; font: inherit; font-size: 1.5rem; line-height: 1.5; text-align: left; cursor: pointer; }
.site-menu__logout button:hover { background: #424d61; }
.site-menu__logout svg { flex: 0 0 auto; width: 2rem; height: 2rem; }
.site-menu__languages { margin: .8rem .4rem .4rem; padding: 1.4rem .6rem .2rem; border-top: 1px solid #505c72; }
.site-menu__label { margin-bottom: .8rem; color: #b9c3d4; font-size: 1.2rem; }
.site-menu .language-list { gap: .6rem; margin: 0; padding: 0; background: none; }
.site-menu .language-list__item { flex: 1; min-width: 0; }
.site-menu .language-list__link { width: 100%; min-height: 4.4rem; padding: .8rem; font-size: 1.2rem; border-radius: .8rem; }
.site-menu .language-list__long { display: block; position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.site-menu .language-list__short { display: inline; }
.site-menu a, .site-menu__logout button, .site-menu .language-list__link, .header__logo { transition-property: color, background-color, border-color; }
details.active-rentals { display: block; }
.active-rentals { margin-bottom: 1rem; font-size: 1.4rem; line-height: 1.6; }
.active-rentals > summary { min-height: 4.4rem; padding: .8rem 0; cursor: pointer; overflow-wrap: anywhere; }
.active-rentals nav { display: grid; gap: .6rem; padding-bottom: .8rem; }
.active-rentals a { min-height: 4.4rem; max-width: 100%; }
@media (max-width: 575.98px) {
    .header__logo .logo__text { font-size: 1.7rem; }
    .header { min-height: 7.6rem; }
}
@media (prefers-reduced-motion: reduce) {
    .site-menu a, .site-menu__logout button, .header__logo, .site-menu .language-list__link { transition: none; }
}
