/* Booking-page language switcher (2026-10-31). Shared by the standalone
   booking templates and the theme. Variants: .is-active on the chosen row. */

.mrb-lang-switch {
	position: fixed;
	inset-inline-end: 16px;
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	z-index: 90;
}

.mrb-lang-switch__btn {
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid var(--mrb-border, #d7d7de);
	background: var(--mrb-surface, #ffffff);
	color: var(--mrb-text-primary, #101014);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14);
	cursor: pointer;
}

.mrb-lang-switch__btn svg {
	width: 22px;
	height: 22px;
}

.mrb-lang-switch__btn:hover {
	background: var(--mrb-surface-hover, #f1f1f5);
}

.mrb-lang-switch__menu {
	position: absolute;
	inset-inline-end: 0;
	bottom: 56px;
	min-width: 172px;
	padding: 6px;
	border-radius: 14px;
	border: 1px solid var(--mrb-border, #d7d7de);
	background: var(--mrb-surface, #ffffff);
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
	display: none;
	flex-direction: column;
	gap: 2px;
}

.mrb-lang-switch.is-open .mrb-lang-switch__menu {
	display: flex;
}

.mrb-lang-switch__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 10px;
	border-radius: 10px;
	color: var(--mrb-text-primary, #101014);
	text-decoration: none;
	font-size: 0.92rem;
	font-weight: 600;
}

.mrb-lang-switch__item:hover {
	background: var(--mrb-surface-hover, #f1f1f5);
}

.mrb-lang-switch__item.is-active {
	background: var(--mrb-surface-2, #e4e4eb);
}

.mrb-lang-switch__flag {
	width: 26px;
	height: 18px;
	display: inline-flex;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
	flex: 0 0 auto;
}

.mrb-lang-switch__flag svg {
	width: 100%;
	height: 100%;
	display: block;
}
