.gb-langswitcher { 
	position: relative; 
	display:inline-block; 
}

@media (width < 767px) {
	.gb-langswitcher {
		display: flex;
	}
}

.gb-langswitcher__toggle {
	display:inline-flex; 
	align-items:center; 
	justify-content:center;
	width: 49px; 
	height: 49px; 
	padding: 0; 
	border: 1px solid #add9b1;
	border-radius: 50%; 
	background: #fff; 
	cursor: pointer; 
	line-height: 1;
	overflow: hidden;
}

.gb-langswitcher__toggle .gb-flag svg { 
	width: 70px; 
	height: auto; 
	display: block; 
}

.gb-langswitcher__menu {
	position: absolute; 
	right: 0; 
	top: calc(100% + 8px);
	min-width: 180px; 
	background: #fff; 
	border: 1px solid rgba(0,0,0,.1);
	border-radius: 12px; 
	box-shadow: 0 10px 30px rgba(0,0,0,.08);
	padding: 6px; 
	margin: 0; 
	list-style: none;
	opacity: 0; 
	visibility: hidden; 
	transform: translateY(-6px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
	z-index: 1000;
}

.gb-langswitcher.is-open .gb-langswitcher__menu {
	opacity: 1; 
	visibility: visible; 
	transform: translateY(0);
}

.gb-langswitcher__item { 
	margin: 0; 
}

.gb-langswitcher__link {
	display:flex; 
	align-items:center; 
	gap:10px;
	padding: 8px 10px; 
	border-radius: 8px; 
	text-decoration:none;
}

.gb-langswitcher__link:hover, .gb-langswitcher__link:focus {
	background: rgba(0,0,0,.04);
}

.gb-langswitcher__link .gb-flag {
	width: 30px;
	height: 30px;
	min-width: 30px;
	min-height: 30px;
	border-radius: 50%;
	overflow: hidden;
	display: inline-block;
	flex-shrink: 0;
	position: relative;
	aspect-ratio: 1 / 1;
	background: transparent;
	box-shadow: 0 0 0 0 transparent;
}

.gb-langswitcher__link .gb-flag svg { 
	width: 150%; 
	height: 150%; 
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	object-fit: cover;
	object-position: center;
	border-radius: 50%;
}

.gb-langswitcher__link .gb-lang-name {
	font-family: var(--primary-font);
	font-size: 1rem; 
	color: var(--text-color);
}

.gb-langswitcher__link:hover .gb-lang-name {
	color: var(--secondary-color);
}