/* One typographic control, shared by public pages and booking. */
.language-selector {
    display: inline-flex;
    align-items: stretch;
    align-self: center;
    justify-content: flex-start;
    width: max-content;
    max-width: 100%;
    gap: 0;
    border: 1px solid #000;
    background: #fff;
    padding: 0;
}

.language-selector .language-option {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 46px;
    min-height: 44px;
    margin: 0;
    padding: 8px 13px !important;
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.015em;
    color: #000;
    background: #fff;
    text-decoration: none;
    white-space: nowrap;
}

.language-selector .language-option + .language-option { border-left: 1px solid #000; }
.language-selector .language-option[aria-current] { color: #fff; background: #000; text-decoration: none; }
.language-selector .language-option:hover { color: #000; background: #eee; text-decoration: none; }
.language-selector .language-option[aria-current]:hover { color: #fff; background: #000; }
.language-selector .language-option:focus-visible { outline: 2px solid #000; outline-offset: 4px; z-index: 1; }
.booking-language.language-selector { margin-left: auto; }
.profile-container .language-selector { margin-inline: auto; }

@media (max-width: 1199px) {
    .language-switch.language-selector { align-self: flex-start; margin-top: 12px; }
}
