/**
 * Responsive spacing for the persistent header, mega menu and footer.
 * Loaded after the Elementor kit and responsive navigation styles.
 */

@media (min-width: 1121px) {
	.elementor .awo-wrap.awo-mega-panel__content {
		gap: clamp(36px, 3.5vw, 64px) !important;
		padding: 44px 0 52px !important;
		width: calc(100% - clamp(64px, 8vw, 128px)) !important;
	}

	.elementor .e-con.awo-mega-panel__links {
		column-gap: clamp(28px, 3vw, 48px) !important;
	}

	.elementor .awo-mega-panel__links--rows-4 {
		grid-template-rows: repeat(4, 52px);
	}

	.elementor-widget-button.awo-mega-panel__link,
	.elementor-widget-button.awo-mega-panel__link .elementor-widget-container,
	.elementor-widget-button.awo-mega-panel__link .elementor-button-wrapper {
		height: 52px;
	}

	.elementor-widget-button.awo-mega-panel__link .elementor-button {
		min-height: 52px !important;
		padding: 14px 0 !important;
	}

	.elementor .awo-site-footer {
		padding: 48px 0 40px !important;
	}

	.elementor .awo-footer-inner {
		gap: 32px !important;
	}

	.elementor .awo-footer-grid {
		display: grid !important;
		gap: clamp(28px, 3vw, 48px) !important;
		grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
		min-height: 0;
		padding: 32px 0 16px !important;
	}

	.elementor .awo-footer-column {
		gap: 6px !important;
	}

	.elementor .awo-footer-link-list {
		gap: 12px !important;
	}

	.elementor .awo-footer-bottom {
		height: auto;
		min-height: 84px;
		padding: 16px 0 36px !important;
	}
}

@media (max-width: 1120px) and (min-width: 768px) {
	.elementor .awo-wrap.awo-mega-panel__content {
		gap: 20px !important;
		margin-inline: 32px !important;
		padding: 72px 0 32px !important;
	}

	.elementor .e-con.awo-mega-panel__intro {
		gap: 14px !important;
	}

	.elementor-widget-button.awo-mega-panel__link .elementor-button {
		min-height: 48px !important;
		padding: 12px 0 !important;
	}

	.elementor .awo-site-footer {
		padding: 44px 0 36px !important;
	}

	.elementor .awo-footer-inner {
		gap: 32px !important;
		width: calc(100% - 64px) !important;
	}

	.elementor .awo-footer-grid {
		display: grid !important;
		gap: 32px 24px !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		min-height: 0;
		padding: 28px 0 12px !important;
	}

	.elementor .awo-footer-column {
		gap: 6px !important;
		min-width: 0;
	}

	.elementor .awo-footer-link-list {
		gap: 10px !important;
	}

	.elementor .awo-footer-bottom {
		height: auto;
		min-height: 80px;
		padding: 16px 0 32px !important;
	}
}

@media (max-width: 767px) {
	.elementor .awo-wrap.awo-mega-panel__content {
		gap: 18px !important;
		margin-inline: 16px !important;
		padding: 68px 0 28px !important;
	}

	.elementor .e-con.awo-mega-panel__intro {
		gap: 14px !important;
	}

	.elementor-widget-button.awo-mega-panel__link .elementor-button {
		min-height: 48px !important;
		padding: 12px 0 !important;
	}

	.elementor .awo-site-footer {
		padding: 36px 0 28px !important;
	}

	.elementor .awo-footer-inner {
		gap: 32px !important;
	}

	.elementor .awo-footer-top {
		gap: 32px !important;
		height: 100px;
	}

	.elementor-widget-button.awo-footer-newsletter {
		top: 56px !important;
	}

	.elementor .awo-footer-grid {
		min-height: 240px;
	}

	.elementor .awo-footer-column {
		height: 48px;
		min-height: 48px;
		padding: 11px 0 !important;
	}

	.elementor .awo-footer-link-list {
		gap: 12px !important;
		padding: 14px 0 6px !important;
	}

	.elementor .awo-footer-bottom {
		height: auto;
		min-height: 94px;
		padding: 16px 0 20px !important;
	}

	.elementor .awo-footer-legal-links {
		gap: 0 20px !important;
	}
}

@media (max-width: 480px) {
	.elementor .awo-wrap.awo-mega-panel__content {
		gap: 16px !important;
		padding: 64px 0 24px !important;
	}

	.elementor .awo-footer-inner {
		gap: 28px !important;
	}

	.elementor .awo-footer-top {
		gap: 28px !important;
		height: 96px;
	}

	.elementor .awo-footer-legal-links {
		gap: 0 18px !important;
	}
}

/* Each Treffpunkt pair appears directly beside its association. The second
 * column stays part of the same row: no card, label, chevron or accent bar. */
.elementor .e-con.awo-mega-panel__association-list {
	display: flex !important;
	flex-direction: column !important;
	min-height: 228px;
	position: relative;
}

.elementor .e-con.awo-mega-panel__association {
	border-bottom: 1px solid #dedede;
	column-gap: clamp(26px, 3vw, 46px) !important;
	display: grid !important;
	grid-template-columns: minmax(240px, .9fr) minmax(300px, 1.1fr) !important;
	min-width: 0;
	position: relative;
}

.elementor .awo-mega-panel__association:first-child {
	border-top: 1px solid #dedede;
}

.elementor-widget-button.awo-mega-panel__link--association {
	grid-column: 1;
	grid-row: 1;
}

.elementor-widget-button.awo-mega-panel__link--association,
.elementor-widget-button.awo-mega-panel__link--association .elementor-widget-container,
.elementor-widget-button.awo-mega-panel__link--association .elementor-button-wrapper {
	height: 56px;
}

.elementor-widget-button.awo-mega-panel__link--association .elementor-button {
	font-size: 19px !important;
	font-weight: 700 !important;
	min-height: 56px !important;
	padding: 15px 4px !important;
}

.elementor-widget-button.awo-mega-panel__link .elementor-button:focus-visible {
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #e0001b !important;
	outline: 0 !important;
}

.awo-native-main-menu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:focus-visible {
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #e0001b !important;
	outline: 0 !important;
	outline-offset: 0 !important;
}

.elementor .awo-mega-panel__meeting-flyout {
	align-items: center !important;
	background: transparent;
	box-shadow: none;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 4px clamp(20px, 2vw, 34px) !important;
	grid-column: 2;
	grid-row: 1;
	min-height: 56px;
	opacity: 0;
	padding: 0 !important;
	pointer-events: none;
	position: relative !important;
	transform: translateX(-6px);
	transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease;
	visibility: hidden;
	width: 100% !important;
}

.elementor .awo-mega-panel__association--has-meetings:hover .awo-mega-panel__meeting-flyout,
.elementor .awo-mega-panel__association--has-meetings:focus-within .awo-mega-panel__meeting-flyout {
	opacity: 1;
	pointer-events: auto;
	transform: translateX(0);
	visibility: visible;
}

.elementor-widget-button.awo-mega-panel__link--meeting,
.elementor-widget-button.awo-mega-panel__link--meeting .elementor-widget-container,
.elementor-widget-button.awo-mega-panel__link--meeting .elementor-button-wrapper {
	height: 40px;
	width: auto !important;
}

.elementor-widget-button.awo-mega-panel__link--meeting .elementor-button {
	border-left: 0 !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	min-height: 40px !important;
	padding: 8px 0 !important;
	width: auto !important;
}

@media (max-width: 1120px) {
	.elementor .e-con.awo-mega-panel__association-list,
	.elementor .e-con.awo-mega-panel__association {
		display: flex !important;
		flex-direction: column !important;
		min-height: 0;
	}

	.elementor .awo-mega-panel__meeting-flyout {
		display: none !important;
	}
}

/* Footer lists only the four association destinations. */
.elementor .awo-footer-local-list {
	gap: 12px !important;
}

.elementor-widget-button.awo-footer-link--association .elementor-button {
	font-weight: 400 !important;
}

.elementor-widget-button.awo-footer-link .elementor-button:is(:hover, :focus-visible) {
	color: var(--awo-red, #e0001b) !important;
	text-decoration: none !important;
}
