/* Header language switcher [hsp_lang_switcher] - secondary to the "Réserver" button (same 12px text,
   smaller box, no fill); the open list has a solid dark background so it reads on any section. */
.hsp-lang {
	position: relative;
	display: inline-block;
	font-family: "Montserrat", sans-serif;
}
.hsp-lang .hsp-lang__current,
.hsp-lang .hsp-lang__list a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	margin: 0;
	padding: 0.4rem 0.625rem;
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1rem;
	letter-spacing: 0.1125rem;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background-color: rgba(38, 25, 13, 0.15);
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 0;
	box-shadow: none;
	text-shadow: 0 0 4px rgba(0, 0, 0, 0.35);
	cursor: pointer;
}
/* Same height as the header "Réserver" button next to it (Hala 2026-11-11): the button's vertical padding (0.625rem,
   line-height 1rem = 2.25rem / 36px, booking-button padding since 2026-11-11 late), minus the 1px frame top and bottom. Desktop only: the button is hidden below. */
@media (min-width: 1025px) {
	.hsp-lang .hsp-lang__current {
		padding: calc(0.625rem - 1px) 0.625rem;
		line-height: 1rem;
	}
}
.hsp-lang.hsp-lang--single .hsp-lang__current {
	cursor: default;
}
.hsp-lang .hsp-lang__current:hover,
.hsp-lang .hsp-lang__current:focus,
.hsp-lang .hsp-lang__current[aria-expanded="true"] {
	color: #fff;
	background-color: rgba(38, 25, 13, 0.35);
	border-color: rgba(255, 255, 255, 0.7);
}
.hsp-lang .hsp-lang__current:focus-visible,
.hsp-lang .hsp-lang__list a:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}
/* fixed + placed by hsp-lang.js: the header container 62257b4 has overflow: hidden */
.hsp-lang .hsp-lang__list {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	margin: 0;
	padding: 0;
	list-style: none;
	visibility: hidden;
	opacity: 0;
	transform: translateY(-4px);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0s linear 0.15s;
	background-color: #26190d;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}
.hsp-lang.is-open .hsp-lang__list {
	visibility: visible;
	opacity: 1;
	transform: none;
	transition: opacity 0.15s ease, transform 0.15s ease;
}
.hsp-lang .hsp-lang__list li {
	margin: 0;
	padding: 0;
}
.hsp-lang .hsp-lang__list a {
	background-color: transparent;
	border: 0;
	text-shadow: none;
	padding-top: 0.55rem;
	padding-bottom: 0.55rem;
}
.hsp-lang .hsp-lang__list li + li a {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.hsp-lang .hsp-lang__list a:hover,
.hsp-lang .hsp-lang__list a:focus {
	color: #fff;
	background-color: #db5f21;
}
