/*
 * Mega-Menü im Header (Elementor Pro „Menü“). Die Links in den Panels kommen aus WordPress-Menüs
 * („Mega-Menü: …“ unter Design → Menüs) und werden hier gestaltet.
 *   Desktop: Panel unter der Header-Leiste, links Links, rechts Bilder/Kacheln.
 *   Tablet/Handy: Burger-Menü rechtsbündig; Antippen eines Punkts zeigt nur dessen Untermenü (Drill-down),
 *   die Kopfzeile „‹ Zurück“ führt wieder ins Hauptmenü.
 */

/* ---------- Header: Vereinsname auf gleicher Höhe wie die Menüpunkte ---------- */
.elementor-location-header .e-con:has(> .e-con-inner > .elementor-widget-theme-site-logo) > .e-con-inner,
.elementor-location-header .e-con:has(> .elementor-widget-theme-site-logo) { align-items: center; }
.elementor-location-header :is(.e-con:has(> .elementor-widget-theme-site-logo), .e-con-inner:has(> .elementor-widget-theme-site-logo)) > .elementor-widget-heading {
	display: flex; align-items: center; align-self: center;
}
.elementor-location-header :is(.e-con:has(> .elementor-widget-theme-site-logo), .e-con-inner:has(> .elementor-widget-theme-site-logo)) > .elementor-widget-heading .elementor-heading-title { line-height: 1; margin: 0; padding: 0; }

/* Desktop: Panel beginnt genau an der Unterkante der Header-Leiste (Leiste 73 px, Menüpunkt 44 px, zentriert) */
@media (min-width: 1025px) {
	.elementor-location-header .elementor-widget-n-menu .e-n-menu { --n-menu-title-distance-from-content: 14px !important; }
}

/* Panels: Spalten nie breiter als vorgesehen (lange Titel brechen um) */
.amc-mm-panel .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.amc-mm-panel .elementor-heading-title { white-space: normal; }

/* Header (mit seinen Panels) liegt immer über dem Seiteninhalt, z. B. der Ergebnis-Leiste */
.elementor-location-header { position: relative; z-index: 100; }

/* ---------- Linklisten aus WordPress-Menüs ---------- */
.amc-mm-links .elementor-widget-container > h5,
.amc-mm-links h5 { display: none; }
.amc-mm-links ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.amc-mm-links li { margin: 0; padding: 0; }
.amc-mm-links a {
	font-family: "Barlow Condensed", sans-serif; font-weight: 800; font-size: 28px; line-height: 1.05;
	text-transform: uppercase; letter-spacing: 0.2px; color: #0b0b0b; text-decoration: none;
	display: inline-block; transition: color .15s;
}
.amc-mm-links a:hover, .amc-mm-links a:focus-visible { color: #5a5a5a; }
.amc-mm-links--small ul { gap: 16px; padding-top: 4px; }
.amc-mm-links--small a { font-family: Inter, sans-serif; font-weight: 600; font-size: 17px; line-height: 1.3; text-transform: none; letter-spacing: 0; }
/* „Der Verein“: untereinander; erst ab 9 Einträgen zwei Spalten (von oben nach unten gelesen) */
.amc-mm-links--cols ul:has(> li:nth-child(9)) { display: block; columns: 2; column-gap: 32px; }
.amc-mm-links--cols ul:has(> li:nth-child(9)) > li { break-inside: avoid; margin-bottom: 14px; }
.amc-mm-links--desc ul { gap: 18px; }
.amc-mm-links .amc-mm-desc {
	display: block; margin-top: 4px; font-family: Inter, sans-serif; font-weight: 400; font-size: 14px;
	line-height: 1.4; text-transform: none; letter-spacing: 0; color: #5a5a5a;
}

/* Bildkarten und Story-Karten */
.amc-mm-pic { transition: opacity .2s; }
.amc-mm-pic:hover { opacity: .88; }
.amc-mega-story .elementor-widget-image img { display: block; width: 100%; height: 180px; object-fit: cover; border-radius: 6px; }

@media (max-width: 767px) {
	.elementor-location-header .elementor-widget-n-menu .e-n-menu { --n-menu-toggle-icon-distance-from-dropdown: 19px !important; }
}
/* Tablet: Header-Leiste ist höher als am Handy */
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-location-header .elementor-widget-n-menu .e-n-menu { --n-menu-toggle-icon-distance-from-dropdown: 29px !important; }
}

/* ---------- Tablet & Handy: Drill-down-Menü, rechtsbündig ---------- */
@media (max-width: 1024px) {
	.elementor-location-header .e-n-menu { --amc-mm-gutter: 20px; }
	/* Weißes Menü beginnt an der Unterkante der Header-Leiste, nicht direkt unter dem Burger-Symbol */


	.elementor-location-header .e-n-menu-wrapper { background: #fff !important; }
	.elementor-location-header .elementor-widget-n-menu .e-n-menu { --n-menu-title-distance-from-content: 0px !important; }

	/* Hauptebene: große, fette Punkte, kompakt, rechtsbündig */
	.elementor-location-header .e-n-menu-heading { align-items: stretch; }
	.elementor-location-header .e-n-menu-item { border-bottom: 1px solid #ececea; }
	.elementor-location-header .e-n-menu-item > .e-n-menu-title {
		justify-content: flex-end; padding: 10px var(--amc-mm-gutter) !important; gap: 10px;
	}
	.elementor-location-header .e-n-menu-item > .e-n-menu-title .e-n-menu-title-container { justify-content: flex-end; text-align: right; }
	.elementor-location-header .e-n-menu-item > .e-n-menu-title .e-n-menu-title-text {
		font-family: "Barlow Condensed", sans-serif; font-weight: 800; font-size: 24px; line-height: 1.1; text-transform: uppercase;
	}

	/* Drill-down: ist ein Punkt offen, verschwinden alle anderen */
	.elementor-location-header .e-n-menu-heading:has(.e-n-menu-dropdown-icon[aria-expanded="true"]) > .e-n-menu-item:not(:has(.e-n-menu-dropdown-icon[aria-expanded="true"])) { display: none; }

	/* Kopfzeile des offenen Punkts: „‹ Zurück“ links, Bereichsname rechts – deutlich abgesetzt */
	.elementor-location-header .e-n-menu-item:has(.e-n-menu-dropdown-icon[aria-expanded="true"]) { border-bottom: 0; }
	.elementor-location-header .e-n-menu-item:has(.e-n-menu-dropdown-icon[aria-expanded="true"]) > .e-n-menu-title {
		background: #0b0b0b !important; position: relative; cursor: pointer;
	}
	.elementor-location-header .e-n-menu-item:has(.e-n-menu-dropdown-icon[aria-expanded="true"]) > .e-n-menu-title .e-n-menu-title-text { color: #fff !important; }
	.elementor-location-header .e-n-menu-item:has(.e-n-menu-dropdown-icon[aria-expanded="true"]) > .e-n-menu-title::before {
		content: "‹  Zurück"; position: absolute; left: var(--amc-mm-gutter); top: 50%; transform: translateY(-50%);
		font: 600 14px/1 Inter, sans-serif; color: rgba(255,255,255,.75); pointer-events: none; white-space: pre;
	}
	.elementor-location-header .e-n-menu-item:has(.e-n-menu-dropdown-icon[aria-expanded="true"]) .e-n-menu-dropdown-icon { opacity: 0; }

	/* Links oben, Bilder/Kacheln darunter (nie nebeneinander umbrechen) */
	.amc-mm-panel, .amc-mm-panel > .e-con-inner { flex-wrap: nowrap !important; }

	/* Unterpunkte: schlichter (Inter), rechtsbündig – klar von der Hauptebene unterschieden */
	.amc-mm-panel, .amc-mm-panel .e-con, .amc-mm-panel .e-con-inner { align-items: flex-end !important; text-align: right; }
	.amc-mm-panel .amc-mm-card, .amc-mm-panel .amc-mm-pic, .amc-mm-panel .elementor-widget-loop-grid,
	.amc-mm-panel .amc-mm-cta, .amc-mm-panel .amc-mm-right, .amc-mm-panel .amc-mm-left { width: 100%; align-self: stretch; }
	.amc-mm-panel .amc-mm-cta, .amc-mm-panel .amc-mm-cta .e-con-inner { align-items: flex-start !important; text-align: left; }
	.amc-mm-panel .elementor-widget-heading .elementor-heading-title, .amc-mm-panel .amc-mm-label { text-align: right; }
	.amc-mm-label .elementor-heading-title { font-size: 11px !important; }
	.amc-mm-links ul, .amc-mm-links--small ul, .amc-mm-links--cols ul { display: flex; flex-direction: column; align-items: flex-end; gap: 0; padding: 0; }
	.amc-mm-links a, .amc-mm-links--small a {
		font-family: Inter, sans-serif; font-weight: 600; font-size: 18px; line-height: 1.25; text-transform: none; letter-spacing: 0;
		padding: 9px 0; text-align: right;
	}
	.amc-mm-links .amc-mm-desc { font-size: 13px; margin-top: 2px; }
	.amc-mm-panel .amc-mm-card .elementor-heading-title { font-size: 18px !important; }
	.amc-mm-panel .amc-mm-card > .elementor-widget-heading:last-child .elementor-heading-title,
	.amc-mm-panel .amc-mm-card > .e-con-inner > .elementor-widget-heading:last-child .elementor-heading-title { font-size: 13px !important; font-weight: 400; line-height: 1.4; }
	.amc-mm-panel .amc-mm-pic, .amc-mm-panel .amc-mm-pic .e-con-inner { align-items: center !important; }
	.amc-mm-panel .amc-mm-pic .elementor-heading-title { text-align: center; font-size: 13px !important; }
	.amc-mega-story .elementor-widget-image img { height: 110px; }
	.amc-mega-story h3.elementor-heading-title { font-size: 16px !important; }
}
