/* ==========================================================================
   Navigation Feinschliff – Mega-Menüs (Wahlkreise, Aktuelles & Events) + Dropdowns
   Einheitliche Skala über Design-Tokens. Templates: 3067 (Wahlkreise), 3071 (Events).
   ========================================================================== */

:root {
	--cb-menu-bg: #f0f0f0;
	--cb-menu-surface: #fff;
	--cb-menu-text: #1e2a50;
	--cb-menu-accent: #68c8f0;
	--cb-menu-accent-soft: rgba(104, 200, 240, 0.4);
	--cb-menu-line: rgba(30, 42, 80, 0.1);
	--cb-menu-radius: 22px;
	--cb-menu-card-radius: 16px;
	--cb-menu-pad: 24px;
	--cb-menu-gap: 16px;
	--cb-menu-offset: 52px; /* Abstand unter der Header-Leiste, damit nichts überlappt */
	--cb-menu-shadow: 0 24px 48px -24px rgba(30, 42, 80, 0.4), 0 2px 8px rgba(30, 42, 80, 0.06);
	--cb-menu-card-shadow: 0 1px 2px rgba(30, 42, 80, 0.05);
	--cb-menu-ease: cubic-bezier(0.32, 0.72, 0, 1);
	--cb-menu-fs: 1rem;
	--cb-menu-fs-title: 1.375rem;
	--cb-menu-fs-small: 0.8125rem;
}

/* ---------- Raster der Listings (robust, ohne Überlappung) ---------- */
body .elementor-3067 .jet-listing-grid__items,
body .elementor-3071 .jet-listing-grid__items {
	display: grid;
	grid-template-columns: repeat(var(--columns, 1), minmax(0, 1fr));
	gap: 12px;
	height: auto !important;
}
body .elementor-3067 .jet-listing-grid__items > .jet-listing-grid__item,
body .elementor-3071 .jet-listing-grid__items > .jet-listing-grid__item {
	position: static !important;
	transform: none !important;
	inset: auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	min-width: 0;
}

/* ==========================================================================
   1) WAHLKREISE (3067)
   ========================================================================== */
body .elementor-3067 .elementor-element.elementor-element-597aaeb {
	--margin-top: var(--cb-menu-offset);
	--margin-bottom: 0px;
	--margin-left: auto;
	--margin-right: auto;
	--padding-top: 26px;
	--padding-bottom: 28px;
	--padding-left: 30px;
	--padding-right: 30px;
	--border-radius: var(--cb-menu-radius);
	width: min(1180px, calc(100% - 3rem));
	max-width: 1180px;
	flex: 0 1 auto;
	background: var(--cb-menu-bg);
	border: 0;
	border-radius: var(--cb-menu-radius);
	box-shadow: var(--cb-menu-shadow);
}
body .elementor-3067 .elementor-element.elementor-element-bd39c7d {
	--gap: 18px 18px;
	--row-gap: 18px;
	--column-gap: 18px;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	width: 100%;
	background: none;
	box-shadow: none;
	border-radius: 0;
}
body .elementor-3067 .elementor-element-d220bff .elementor-heading-title {
	display: flex;
	align-items: center;
	gap: 18px;
	font-size: var(--cb-menu-fs-title);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--cb-menu-text);
}
body .elementor-3067 .elementor-element-d220bff .elementor-heading-title::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: linear-gradient(90deg, var(--cb-menu-line), transparent);
}

/* Karte */
body .elementor-3067 .jet-listing-grid__item .elementor-element.elementor-element-1d95ea3 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	--min-height: 0px;
	min-height: 0;
	height: 100%;
	padding: 0;
	background: var(--cb-menu-surface);
	border: 0;
	border-radius: var(--cb-menu-card-radius);
	box-shadow: var(--cb-menu-card-shadow);
	transition: transform 0.35s var(--cb-menu-ease), box-shadow 0.35s var(--cb-menu-ease), background-color 0.3s var(--cb-menu-ease);
}
body .elementor-3067 .jet-listing-grid__item .elementor-element.elementor-element-1d95ea3:hover {
	background: var(--cb-menu-surface);
	transform: translateY(-2px);
	box-shadow: 0 12px 24px -14px rgba(30, 42, 80, 0.32);
}
body .elementor-3067 .jet-listing-grid__item .elementor-element.elementor-element-6020bfb {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 16px 18px !important;
}
body .elementor-3067 .jet-listing-grid__item .elementor-element.elementor-element-cc9234f {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: nowrap;
	gap: 12px;
	padding: 0;
}
body .elementor-3067 .elementor-element-cbcbe64 {
	flex: 0 0 auto;
	width: 34px !important;
	height: 34px !important;
}
body .elementor-3067 .elementor-element-cbcbe64 > .elementor-widget-container {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border-radius: 999px;
	background: var(--cb-menu-accent-soft);
	transition: background-color 0.3s var(--cb-menu-ease);
}
body .elementor-3067 .elementor-element-cbcbe64 .jet-listing-dynamic-field__content {
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1;
	color: var(--cb-menu-text);
	font-variant-numeric: tabular-nums;
}
body .elementor-3067 .jet-listing-grid__item .elementor-element-1d95ea3:hover .elementor-element-cbcbe64 > .elementor-widget-container {
	background: var(--cb-menu-accent);
}
body .elementor-3067 .elementor-element-849b910 {
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
}
body .elementor-3067 .elementor-element-849b910 > .elementor-widget-container {
	margin: 0;
}
body .elementor-3067 .elementor-element-849b910 .jet-listing-dynamic-terms__link {
	font-size: var(--cb-menu-fs);
	font-weight: 600;
	line-height: 1.3;
	color: var(--cb-menu-text);
}

/* ==========================================================================
   2) AKTUELLES & EVENTS (3071)
   ========================================================================== */
body .elementor-3071 .elementor-element.elementor-element-0a54da4 {
	--margin-top: var(--cb-menu-offset);
	--margin-bottom: 0px;
	--margin-left: auto;
	--margin-right: auto;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	width: min(1240px, calc(100% - 3rem));
	max-width: 1240px;
	flex: 0 1 auto;
	background: none;
	border: 0;
	box-shadow: none;
}
body .elementor-3071 .elementor-element.elementor-element-b16495b {
	--gap: var(--cb-menu-gap) var(--cb-menu-gap);
	--row-gap: var(--cb-menu-gap);
	--column-gap: var(--cb-menu-gap);
	width: 100%;
	align-items: stretch;
}
body .elementor-3071 .elementor-element.elementor-element-8bf02d1,
body .elementor-3071 .elementor-element.elementor-element-99f15f3 {
	--gap: 16px 16px;
	--row-gap: 16px;
	--column-gap: 16px;
	--padding-top: var(--cb-menu-pad);
	--padding-bottom: var(--cb-menu-pad);
	--padding-left: var(--cb-menu-pad);
	--padding-right: var(--cb-menu-pad);
	--border-radius: var(--cb-menu-radius);
	min-width: 0;
	background: var(--cb-menu-bg);
	border-radius: var(--cb-menu-radius);
	box-shadow: var(--cb-menu-shadow);
}
body .elementor-3071 .elementor-element.elementor-element-8bf02d1 { flex: 1 1 0; }
body .elementor-3071 .elementor-element.elementor-element-99f15f3 { flex: 1.12 1 0; }

/* Kompakte Verteilung: Inhalte oben bündig, keine gestreckten Zwischenräume */
body .elementor-3071 .elementor-element.elementor-element-8bf02d1,
body .elementor-3071 .elementor-element.elementor-element-99f15f3 {
	--justify-content: flex-start;
	justify-content: flex-start;
	align-content: flex-start;
}
body .elementor-3071 .elementor-element-87acf77,
body .elementor-3071 .elementor-element.elementor-element-507f0ef {
	flex: 0 0 auto;
	justify-content: flex-start;
}
body .elementor-3071 .elementor-element-7d350d5,
body .elementor-3071 .elementor-element-0f950c6,
body .elementor-3071 .elementor-element-7d350d5 > .elementor-widget-container,
body .elementor-3071 .elementor-element-0f950c6 > .elementor-widget-container {
	flex: 0 0 auto;
	height: auto;
}
body .elementor-3071 .jet-listing-grid__items {
	align-content: start;
	grid-auto-rows: min-content;
}
body .elementor-3071 .elementor-element-d487634 {
	margin-top: auto;
}

/* Boxed-Container der Listing-Karten: Standard-Innenabstand (32px oben/unten) entfernen */
body .elementor-3067 .jet-listing-grid__item .e-con-inner,
body .elementor-3071 .jet-listing-grid__item .e-con-inner {
	padding: 0 !important;
	width: 100%;
	max-width: none;
}

/* Block-Köpfe */
body .elementor-3071 .elementor-icon-box-title,
body .elementor-3071 .elementor-icon-box-title a {
	font-size: var(--cb-menu-fs-title) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em;
	color: var(--cb-menu-text);
}
body .elementor-3071 .elementor-icon-box-wrapper .elementor-icon {
	font-size: 22px !important;
	transition: transform 0.35s var(--cb-menu-ease);
}
body .elementor-3071 .elementor-icon-box-wrapper .elementor-icon svg {
	width: 1em;
	height: 1em;
}
body .elementor-3071 .elementor-icon-box-wrapper:hover .elementor-icon {
	transform: translateX(3px);
}
body .elementor-3071 .elementor-element.elementor-element-e2d13c9,
body .elementor-3071 .elementor-element.elementor-element-fca7594 {
	padding: 14px 0 0 !important;
	border-top: 1px solid var(--cb-menu-line);
}
body .elementor-3071 .elementor-element-a11a222 {
	align-self: stretch;
	width: 100%;
}
body .elementor-3071 .elementor-element.elementor-element-507f0ef {
	--flex-direction: column;
	--align-items: flex-start;
	--justify-content: flex-start;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	padding: 0;
}

/* Kategorie-Chips (kein Abschneiden, kein Überlappen) */
body .elementor-3071 .elementor-element-c64a1fc,
body .elementor-3071 .elementor-element-c64a1fc > .elementor-widget-container {
	width: 100%;
	max-width: 100%;
	overflow: visible;
}
body .elementor-3071 .elementor-element-c64a1fc .elementor-icon-list-items,
body .elementor-3071 .elementor-element-c64a1fc .elementor-icon-list-items.elementor-inline-items {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
}
body .elementor-3071 .elementor-element-c64a1fc .elementor-icon-list-items,
body .elementor-3071 .elementor-element-c64a1fc .elementor-icon-list-items.elementor-inline-items {
	justify-content: flex-start;
	align-items: center;
	column-gap: 8px;
	row-gap: 8px;
	gap: 8px;
}
body .elementor-3071 .elementor-element-c64a1fc li.elementor-icon-list-item,
body .elementor-3071 .elementor-element-c64a1fc .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
body .elementor-3071 .elementor-element-c64a1fc .elementor-icon-list-item::after,
body .elementor-3071 .elementor-element-c64a1fc .elementor-icon-list-icon {
	display: none !important;
}
body .elementor-3071 .elementor-element-c64a1fc .elementor-icon-list-item > a,
body .elementor-3071 .elementor-element-c64a1fc .elementor-icon-list-item > .elementor-icon-list-text {
	display: inline-flex;
	align-items: center;
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--cb-menu-surface);
	border: 1px solid var(--cb-menu-line);
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	color: var(--cb-menu-text);
	text-decoration: none !important;
	white-space: nowrap;
	box-sizing: border-box;
	margin: 0 !important;
	transition: background-color 0.3s var(--cb-menu-ease), border-color 0.3s var(--cb-menu-ease), transform 0.3s var(--cb-menu-ease);
}
body .elementor-3071 .elementor-element-c64a1fc .elementor-icon-list-item > a:hover {
	background: var(--cb-menu-accent-soft);
	border-color: var(--cb-menu-accent);
	transform: translateY(-1px);
}

/* Listing-Karten (News + Events) */
body .elementor-3071 .jet-listing-grid__item .elementor-element.elementor-element-ebef750 {
	display: flex;
	flex-direction: row;
	padding: 0;
}
body .elementor-3071 .jet-listing-grid__item .elementor-element.elementor-element-109debf {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	--gap: 8px 0px;
	--border-radius: var(--cb-menu-card-radius);
	padding: 12px;
	border-width: 0;
	border-radius: var(--cb-menu-card-radius);
	background: var(--cb-menu-surface);
	box-shadow: var(--cb-menu-card-shadow);
	transition: transform 0.35s var(--cb-menu-ease), box-shadow 0.35s var(--cb-menu-ease), background-color 0.3s var(--cb-menu-ease);
}
body .elementor-3071 .jet-listing-grid__item .elementor-element.elementor-element-109debf:hover {
	background: var(--cb-menu-surface);
	transform: translateY(-2px);
	box-shadow: 0 12px 24px -14px rgba(30, 42, 80, 0.32);
}
body .elementor-3071 .jet-listing-grid__item .elementor-element.elementor-element-dacd0d9 {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 0;
}
body .elementor-3071 .jet-listing-grid__item .elementor-element.elementor-element-da401cb {
	display: flex;
	flex: 0 0 96px;
	width: 96px;
	min-width: 96px;
	height: 96px;
	min-height: 96px;
	padding: 0;
	overflow: hidden;
	align-self: center;
	--border-radius: 12px;
	border-radius: 12px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
body .elementor-3071 .jet-listing-grid__item .elementor-element.elementor-element-da401cb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body .elementor-3071 .jet-listing-grid__item .elementor-element.elementor-element-5aa4129 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	flex: 1 1 auto;
	min-width: 0;
	gap: 8px;
	padding: 0;
	--padding-top: 0px;
}
body .elementor-3071 .jet-listing-grid__item .elementor-element-5aa4129 > .elementor-widget {
	margin: 0;
	max-width: 100%;
}
/* Datum-Pille */
body .elementor-3071 .jet-listing-grid__item .elementor-element-5aa4129 > .elementor-widget-jet-listing-dynamic-field:first-child > .elementor-widget-container {
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--cb-menu-text);
}
body .elementor-3071 .jet-listing-grid__item .elementor-element-5aa4129 > .elementor-widget-jet-listing-dynamic-field:first-child .jet-listing-dynamic-field__content {
	font-size: var(--cb-menu-fs-small) !important;
	font-weight: 600 !important;
	line-height: 1.3;
	color: #fff;
}
/* Wahlkreis-Tag */
body .elementor-3071 .jet-listing-grid__item .elementor-element-a391a1e {
	font-size: var(--cb-menu-fs-small) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
}
body .elementor-3071 .jet-listing-grid__item .elementor-element-a391a1e > .elementor-widget-container {
	padding: 3px 12px !important;
	border-style: solid !important;
	border-width: 1.5px !important;
	border-color: var(--cb-menu-text) !important;
	border-radius: 999px !important;
}
/* Titel */
body .elementor-3071 .jet-listing-grid__item .elementor-element-56a460e > .elementor-widget-container {
	margin: 0;
	padding: 0;
}
body .elementor-3071 .jet-listing-grid__item .elementor-element-56a460e .jet-listing-dynamic-field__content {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--cb-menu-text);
}
/* Pfeil (eigenes SVG mit Kreis) */
body .elementor-3071 .jet-listing-grid__item .elementor-element-da3966e {
	flex: 0 0 auto;
	align-self: flex-end;
}
body .elementor-3071 .jet-listing-grid__item .elementor-element-da3966e .elementor-icon {
	display: block;
	width: 34px;
	height: 34px;
	padding: 0;
	font-size: 34px !important;
	line-height: 0;
	color: var(--cb-menu-text);
	transition: transform 0.35s var(--cb-menu-ease);
}
body .elementor-3071 .jet-listing-grid__item .elementor-element-da3966e .elementor-icon svg {
	width: 34px;
	height: 34px;
}
body .elementor-3071 .jet-listing-grid__item .elementor-element-109debf:hover .elementor-element-da3966e .elementor-icon {
	transform: translate(2px, -2px) scale(1.08);
}
/* „Event melden“ */
body .elementor-3071 .elementor-element-d487634 .elementor-icon-box-wrapper {
	gap: 10px !important;
	align-items: center !important;
}
body .elementor-3071 .elementor-element-d487634 .elementor-icon-box-title,
body .elementor-3071 .elementor-element-d487634 .elementor-icon-box-title a {
	font-size: var(--cb-menu-fs) !important;
	font-weight: 600 !important;
}
body .elementor-3071 .elementor-element-d487634 .elementor-icon {
	font-size: 18px !important;
}
body .elementor-3071 .elementor-element-7d350d5 > .elementor-widget-container,
body .elementor-3071 .elementor-element-0f950c6 > .elementor-widget-container {
	margin: 0 !important;
}

/* ==========================================================================
   3) NORMALE DROPDOWNS (gleiche Skala wie Mega-Menüs)
   !important nötig: JetMenu schreibt seine Werte per Widget-ID ins Header-Template.
   ========================================================================== */
body .jet-mega-menu--layout-horizontal .jet-mega-menu-item--top-level > .jet-mega-menu-sub-menu {
	padding-top: var(--cb-menu-offset);
	min-width: 260px;
}
body .jet-mega-menu--layout-horizontal .jet-mega-menu-sub-menu__list {
	padding: 8px !important;
	margin: 0;
	background: var(--cb-menu-bg) !important;
	border-radius: var(--cb-menu-radius) !important;
	box-shadow: var(--cb-menu-shadow);
	overflow: visible !important;
}
body .jet-mega-menu--layout-horizontal .jet-mega-menu-sub-menu__list > .jet-mega-menu-item {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
body .jet-mega-menu--layout-horizontal .jet-mega-menu-sub-menu__list > .jet-mega-menu-item + .jet-mega-menu-item {
	margin-top: 2px !important;
}
body .jet-mega-menu--layout-horizontal .jet-mega-menu-sub-menu__list .jet-mega-menu-item__inner {
	padding: 12px 16px !important;
	background: transparent !important;
	border-radius: 14px !important;
	transition: background-color 0.3s var(--cb-menu-ease);
}
body .jet-mega-menu--layout-horizontal .jet-mega-menu-sub-menu__list .jet-mega-menu-item__inner:hover,
body .jet-mega-menu--layout-horizontal .jet-mega-menu-sub-menu__list .jet-mega-menu-item--hover > .jet-mega-menu-item__inner,
body .jet-mega-menu--layout-horizontal .jet-mega-menu-sub-menu__list .jet-mega-menu-item__inner:focus-within {
	background: var(--cb-menu-surface) !important;
}
body .jet-mega-menu--layout-horizontal .jet-mega-menu-sub-menu__list .jet-mega-menu-item__link {
	font-size: var(--cb-menu-fs) !important;
	font-weight: 600 !important;
	line-height: 1.3;
	color: var(--cb-menu-text) !important;
}
body .jet-mega-menu--layout-horizontal .jet-mega-menu-sub-menu__list .jet-mega-menu-item__link:focus-visible {
	outline: 2px solid var(--cb-menu-accent);
	outline-offset: 2px;
	border-radius: 8px;
}

/* ==========================================================================
   3b) Header blendet beim Scrollen aus (.smart-header.header-hidden)
   -> offene Mega-Menüs/Dropdowns blenden weich mit aus (Opacity + leichter Versatz).
   ========================================================================== */
body .smart-header.header-hidden .jet-mega-menu-sub-menu,
body .smart-header.header-hidden .jet-mega-menu-mega-container {
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
	transition: opacity 0.45s var(--cb-menu-ease), visibility 0s linear 0.45s !important;
}
body .smart-header.header-hidden .jet-mega-menu-mega-container__inner,
body .smart-header.header-hidden .jet-mega-menu-sub-menu__list {
	transform: translateY(-10px);
	transition: transform 0.45s var(--cb-menu-ease);
}
body .smart-header .jet-mega-menu-mega-container__inner,
body .smart-header .jet-mega-menu-sub-menu__list {
	transition: transform 0.35s var(--cb-menu-ease);
}

/* ==========================================================================
   4) Responsive / Reduced Motion
   ========================================================================== */
@media (max-width: 1024px) {
	body .elementor-3067 .elementor-element.elementor-element-597aaeb,
	body .elementor-3071 .elementor-element.elementor-element-0a54da4 {
		width: calc(100% - 2rem);
	}
	body .elementor-3071 .elementor-element.elementor-element-b16495b {
		flex-direction: column;
	}
}
@media (max-width: 767px) {
	body .elementor-3067 .elementor-element.elementor-element-597aaeb {
		--padding-left: 16px;
		--padding-right: 16px;
	}
	body .elementor-3071 .elementor-element.elementor-element-8bf02d1,
	body .elementor-3071 .elementor-element.elementor-element-99f15f3 {
		--padding-left: 16px;
		--padding-right: 16px;
	}
	body .elementor-3071 .jet-listing-grid__item .elementor-element.elementor-element-da401cb {
		flex-basis: 72px;
		width: 72px;
		min-width: 72px;
		height: 72px;
		min-height: 72px;
	}
}
@media (prefers-reduced-motion: reduce) {
	body .elementor-3067 *,
	body .elementor-3071 *,
	body .jet-mega-menu-sub-menu__list * {
		transition-duration: 0.01ms !important;
	}
}
