/**
 * JBS System – projektspezifische Frontend-Styles (lokal)
 * Flaggen + FAQ gleiche Größe; Flaggen eng als eine Gruppe;
 * klarer Abstand zwischen Shop | FAQ | Flaggen-Gruppe
 */

:root {
	--jbs-flag-size: 28px;
	--jbs-flag-gap: 6px;       /* Abstand NUR zwischen den beiden Flaggen */
	--jbs-header-gap: 16px;    /* Abstand zwischen Shop / FAQ / Flaggen-Gruppe */
}

/* Rechte Header-Gruppe: Abstand zwischen den Elementen (alle Breakpoints) */
.elementor-element-79802ea {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: var(--jbs-header-gap) !important;
	column-gap: var(--jbs-header-gap) !important;
	row-gap: 0 !important;
	--e-con-gap: var(--jbs-header-gap) !important;
	--flex-gap: var(--jbs-header-gap) !important;
}

.elementor-element-79802ea > .elementor-element-657a3fc,
.elementor-element-79802ea > .elementor-element-a107993,
.elementor-element-79802ea > .elementor-element-jbsflgde,
.elementor-element-79802ea > .elementor-element-jbsflgpl,
.elementor-element-79802ea > .elementor-element-2a3e6a9 {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Switcher = eine kompakte Flaggen-Gruppe */
.elementor-element.jbs-lang-switcher,
.jbs-lang-switcher,
.elementor-element-jbsflgde,
.elementor-element-jbsflgpl {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: var(--jbs-flag-gap) !important;
	column-gap: var(--jbs-flag-gap) !important;
	row-gap: 0 !important;
	--e-con-gap: var(--jbs-flag-gap) !important;
	--flex-gap: var(--jbs-flag-gap) !important;
	width: auto !important;
	max-width: fit-content !important;
	min-width: 0 !important;
	flex: 0 0 auto !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Flaggen-Kreis */
.elementor-widget.jbs-lang-flag,
.elementor-element-jbsde02,
.elementor-element-jbspl02 {
	width: var(--jbs-flag-size) !important;
	height: var(--jbs-flag-size) !important;
	max-width: var(--jbs-flag-size) !important;
	min-width: var(--jbs-flag-size) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	align-self: center !important;
	flex: 0 0 var(--jbs-flag-size) !important;
}

.elementor-widget.jbs-lang-flag > .elementor-widget-container,
.elementor-element-jbsde02 > .elementor-widget-container,
.elementor-element-jbspl02 > .elementor-widget-container {
	width: var(--jbs-flag-size) !important;
	height: var(--jbs-flag-size) !important;
	max-width: var(--jbs-flag-size) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	overflow: hidden !important;
	background: transparent !important;
	box-shadow: none !important;
	filter: none !important;
	line-height: 0 !important;
}

.elementor-widget.jbs-lang-flag a,
.elementor-element-jbsde02 a,
.elementor-element-jbspl02 a {
	display: block !important;
	width: var(--jbs-flag-size) !important;
	height: var(--jbs-flag-size) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	line-height: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.elementor-widget.jbs-lang-flag img,
.elementor-element-jbsde02 img,
.elementor-element-jbspl02 img {
	display: block !important;
	width: var(--jbs-flag-size) !important;
	height: var(--jbs-flag-size) !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
	box-shadow: none !important;
	filter: none !important;
	-webkit-mask-image: none !important;
	mask-image: none !important;
	-webkit-mask-size: auto !important;
	mask-size: auto !important;
}

/* Deutschland: kein Rahmen */
.elementor-element-jbsde02,
.elementor-element-jbsde02 > .elementor-widget-container,
.elementor-widget.jbs-lang-flag:not(.jbs-lang-flag-pl),
.elementor-widget.jbs-lang-flag:not(.jbs-lang-flag-pl) > .elementor-widget-container {
	border: 0 !important;
	outline: none !important;
	box-shadow: none !important;
}

/* Polen: 1 px neutrale Kontur */
.elementor-widget.jbs-lang-flag-pl > .elementor-widget-container,
.elementor-element-jbspl02 > .elementor-widget-container {
	box-shadow: 0 0 0 1px #c8c8c8 !important;
}

/* FAQ / Fragezeichen = Flaggengröße */
.elementor-element-a107993 {
	width: var(--jbs-flag-size) !important;
	height: var(--jbs-flag-size) !important;
	max-width: var(--jbs-flag-size) !important;
	min-width: var(--jbs-flag-size) !important;
	flex: 0 0 var(--jbs-flag-size) !important;
	margin: 0 !important;
	padding: 0 !important;
	align-self: center !important;
}

.elementor-element-a107993 > .elementor-widget-container,
.elementor-element-a107993 .elementor-icon-wrapper {
	width: var(--jbs-flag-size) !important;
	height: var(--jbs-flag-size) !important;
	max-width: var(--jbs-flag-size) !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
}

.elementor-element-a107993 .elementor-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: var(--jbs-flag-size) !important;
	height: var(--jbs-flag-size) !important;
	min-width: var(--jbs-flag-size) !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 50% !important;
	font-size: calc(var(--jbs-flag-size) * 0.58) !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
}

.elementor-element-a107993 .elementor-icon i,
.elementor-element-a107993 .elementor-icon svg {
	width: 1em !important;
	height: 1em !important;
	font-size: inherit !important;
	line-height: 1 !important;
}

/* Tablet */
@media (max-width: 1024px) {
	:root {
		--jbs-flag-size: 24px;
		--jbs-flag-gap: 5px;
		--jbs-header-gap: 14px;
	}

	/* Shop → FAQ → Flaggen → Hamburger rechts außen */
	.elementor-element-79802ea > .elementor-element-45a6de2 {
		order: 0 !important;
	}

	.elementor-element-79802ea > .elementor-element-657a3fc {
		order: 1 !important;
	}

	.elementor-element-79802ea > .elementor-element-a107993 {
		order: 2 !important;
	}

	.elementor-element-79802ea > .elementor-element-jbsflgde,
	.elementor-element-79802ea > .elementor-element-jbsflgpl {
		order: 3 !important;
	}

	.elementor-element-79802ea > .elementor-element-2a3e6a9 {
		order: 4 !important;
	}
}

/* Mobil */
@media (max-width: 767px) {
	:root {
		--jbs-flag-size: 22px;
		--jbs-flag-gap: 4px;
		--jbs-header-gap: 12px;
	}

	.elementor-element-3797b03 {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 6px !important;
		min-height: 0 !important;
		height: auto !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}

	.elementor-element-1eea263 {
		flex: 0 0 auto !important;
		width: auto !important;
		max-width: 72px !important;
		margin: 0 !important;
		align-self: center !important;
		order: 0 !important;
	}

	.elementor-element-1eea263 img {
		width: auto !important;
		max-width: 72px !important;
		max-height: 32px !important;
		height: auto !important;
	}

	.elementor-element-79802ea {
		flex: 1 1 auto !important;
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		align-self: center !important;
	}

	/* Fixierte Kontakt-Icons nicht in der Flexzeile mitzählen */
	.elementor-element-79802ea > .elementor-element-45a6de2 {
		flex: 0 0 0 !important;
		width: 0 !important;
		max-width: 0 !important;
		min-width: 0 !important;
		height: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		overflow: visible !important;
		align-self: flex-start !important;
		pointer-events: none !important;
	}

	.elementor-element-79802ea > .elementor-element-45a6de2 > .elementor-element {
		pointer-events: auto !important;
	}

	.elementor-element-79802ea > .elementor-element {
		align-self: center !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.elementor-element-657a3fc,
	.elementor-element-a107993,
	.elementor-element-2a3e6a9 {
		flex: 0 0 auto !important;
	}

	.elementor-element-2a3e6a9 .elementor-menu-toggle {
		padding: 4px !important;
		width: 32px !important;
		height: 32px !important;
		min-width: 32px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.elementor-element-657a3fc .elementor-icon-list-item,
	.elementor-element-657a3fc .elementor-icon-list-text {
		white-space: nowrap !important;
	}
}
