.dfml-switcher {
	--dfml-bg: #000;
	--dfml-bg-hover: #444;
	--dfml-text: #fff;
	--dfml-text-hover: #eee;
	--dfml-border: transparent;
	--dfml-border-width: 0px;
	--dfml-radius: 6px;

	position: relative;
	display: inline-block;
	font-size: 14px;
	line-height: 1.2;
	z-index: 9998;
}

.dfml-switcher--floating {
	position: fixed;
	z-index: 99999;
}

.dfml-switcher--bottom-right {
	right: 24px;
	bottom: 24px;
}

.dfml-switcher--bottom-left {
	left: 24px;
	bottom: 24px;
}

.dfml-switcher--top-right {
	right: 24px;
	top: 24px;
}

.dfml-switcher--top-left {
	left: 24px;
	top: 24px;
}

.dfml-switcher__current,
.dfml-switcher__dropdown a,
.dfml-switcher__dropdown span.is-disabled,
.dfml-switcher__inline a,
.dfml-switcher__inline span.is-disabled {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 10px 13px;
	color: var(--dfml-text);
	background: var(--dfml-bg);
	border: var(--dfml-border-width) solid var(--dfml-border);
	text-decoration: none;
	transition:
		background-color .18s ease,
		color .18s ease,
		border-color .18s ease;
}

.dfml-switcher__current {
	min-width: 135px;
	border-radius: var(--dfml-radius);
	cursor: pointer;
	font: inherit;
}

.dfml-switcher__current:hover,
.dfml-switcher__dropdown a:hover,
.dfml-switcher__inline a:hover {
	color: var(--dfml-text-hover);
	background: var(--dfml-bg-hover);
}

.dfml-switcher__flag {
	flex: 0 0 auto;
	font-size: 17px;
	line-height: 1;
}

.dfml-switcher__name {
	white-space: nowrap;
}

.dfml-switcher__chevron {
	width: 7px;
	height: 7px;
	margin-left: auto;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform .18s ease;
}

.dfml-switcher.is-open .dfml-switcher__chevron {
	transform: rotate(225deg) translate(-1px, -1px);
}

.dfml-switcher__dropdown {
	position: absolute;
	right: 0;
	bottom: calc(100% + 6px);
	min-width: 100%;
	opacity: 0;
	visibility: hidden;
	transform: translateY(5px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
	overflow: hidden;
	border-radius: var(--dfml-radius);
	box-shadow: 0 8px 28px rgba(0,0,0,.12);
}

.dfml-switcher--top-right .dfml-switcher__dropdown,
.dfml-switcher--top-left .dfml-switcher__dropdown {
	top: calc(100% + 6px);
	bottom: auto;
	transform: translateY(-5px);
}

.dfml-switcher.is-open .dfml-switcher__dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.dfml-switcher__dropdown a {
	min-width: 100%;
	border-radius: 0;
}

.dfml-switcher__inline {
	display: inline-flex;
	align-items: stretch;
	overflow: hidden;
	border-radius: var(--dfml-radius);
}

.dfml-switcher__inline a {
	border-radius: 0;
}

.dfml-switcher__inline a.is-current {
	font-weight: 700;
}






@media (max-width: 782px) {
	.dfml-switcher--floating {
		right: 14px;
		left: auto;
		bottom: 14px;
		top: auto;
	}
}


/* Vizuális zászlók – emoji helyett CSS flag-ek. */
.dfml-flag {
	display: inline-block;
	width: 24px;
	height: 16px;
	flex: 0 0 auto;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(0,0,0,.12);
	overflow: hidden;
	background: #ddd;
}

.dfml-flag--hu {
	background: linear-gradient(to bottom, #ce2939 0 33.333%, #fff 33.333% 66.666%, #477050 66.666% 100%);
}

.dfml-flag--de {
	background: linear-gradient(to bottom, #000 0 33.333%, #dd0000 33.333% 66.666%, #ffce00 66.666% 100%);
}

.dfml-flag--fr {
	background: linear-gradient(to right, #0055a4 0 33.333%, #fff 33.333% 66.666%, #ef4135 66.666% 100%);
}

.dfml-flag--it {
	background: linear-gradient(to right, #009246 0 33.333%, #fff 33.333% 66.666%, #ce2b37 66.666% 100%);
}

.dfml-flag--nl {
	background: linear-gradient(to bottom, #ae1c28 0 33.333%, #fff 33.333% 66.666%, #21468b 66.666% 100%);
}

.dfml-flag--pl {
	background: linear-gradient(to bottom, #fff 0 50%, #dc143c 50% 100%);
}

.dfml-flag--ro {
	background: linear-gradient(to right, #002b7f 0 33.333%, #fcd116 33.333% 66.666%, #ce1126 66.666% 100%);
}

.dfml-flag--es {
	background: linear-gradient(to bottom, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75% 100%);
}

.dfml-flag--at {
	background: linear-gradient(to bottom, #ed2939 0 33.333%, #fff 33.333% 66.666%, #ed2939 66.666% 100%);
}

.dfml-flag--us {
	position: relative;
	background:
		repeating-linear-gradient(
			to bottom,
			#b22234 0 1.23px,
			#fff 1.23px 2.46px
		);
}

.dfml-flag--us::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 10px;
	height: 8.6px;
	background: #3c3b6e;
}

.dfml-flag--gb {
	position: relative;
	background:
		linear-gradient(33deg, transparent 42%, #fff 42% 47%, #c8102e 47% 53%, #fff 53% 58%, transparent 58%),
		linear-gradient(-33deg, transparent 42%, #fff 42% 47%, #c8102e 47% 53%, #fff 53% 58%, transparent 58%),
		linear-gradient(to right, transparent 38%, #fff 38% 45%, #c8102e 45% 55%, #fff 55% 62%, transparent 62%),
		linear-gradient(to bottom, transparent 34%, #fff 34% 42%, #c8102e 42% 58%, #fff 58% 66%, transparent 66%),
		#012169;
}

.dfml-flag--cz {
	background:
		linear-gradient(33deg, #11457e 0 50%, transparent 50%),
		linear-gradient(to bottom, #fff 0 50%, #d7141a 50% 100%);
}

.dfml-flag--sk {
	background: linear-gradient(to bottom, #fff 0 33.333%, #0b4ea2 33.333% 66.666%, #ee1c25 66.666% 100%);
}

.dfml-flag--hr {
	background: linear-gradient(to bottom, #ff0000 0 33.333%, #fff 33.333% 66.666%, #171796 66.666% 100%);
}

.dfml-flag--si {
	background: linear-gradient(to bottom, #fff 0 33.333%, #005da4 33.333% 66.666%, #ed1c24 66.666% 100%);
}

.dfml-switcher--compact .dfml-switcher__current {
	min-width: 50px;
	min-height: 40px;
	padding: 8px 10px;
	justify-content: center;
}

.dfml-switcher--compact .dfml-switcher__dropdown {
	min-width: 50px;
}

.dfml-switcher--compact .dfml-switcher__dropdown a {
	min-width: 50px;
	padding: 9px 12px;
	justify-content: center;
}

.dfml-switcher--compact .dfml-switcher__chevron {
	margin-left: 2px;
}

.dfml-switcher--compact.dfml-switcher--inline .dfml-switcher__inline a {
	padding: 8px 10px;
	justify-content: center;
}

.dfml-switcher--menu {
	vertical-align: middle;
}


.dfml-switcher__dropdown span.is-disabled,
.dfml-switcher__inline span.is-disabled {
	cursor: not-allowed;
	opacity: .45;
}

.dfml-switcher__dropdown span.is-disabled {
	min-width: 100%;
}

.dfml-switcher__inline span.is-disabled {
	border-radius: 0;
}
