/* Mobile-First-Nachzügler: wird zuletzt geladen, gewinnt bei gleicher Spezifität */

/* ---------- Tablet-Zwischenbreite: Nav-Gap verengen statt umbrechen ---------- */
@media (min-width: 901px) and (max-width: 1200px) {
	.nav-menu {
		gap: 1rem;
	}

	.header-phone span {
		display: none;
	}

	.site-header__actions {
		gap: 1rem;
	}
}

/* ---------- Tablet ≤900px: Burger-Navigation ---------- */
@media (max-width: 900px) {
	.site-nav,
	.site-header__actions {
		display: none;
	}

	.burger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.mobile-nav-menu a {
		min-height: 48px;
		display: flex;
		align-items: center;
	}

	/* 12-Spalten-Layouts auf eine Spalte stapeln — Spans explizit zurücksetzen */
	.hero__grid,
	.intro__grid,
	.service-row,
	.service-row--reverse,
	.usp-band__grid,
	.page-header .container,
	.contact-panel__grid,
	.site-footer__grid {
		grid-template-columns: 1fr;
	}

	.hero__content,
	.hero__media,
	.section--start-right .intro__text,
	.service-row__media,
	.service-row__text,
	.service-row--reverse .service-row__media,
	.service-row--reverse .service-row__text,
	.usp-band__intro,
	.usp-list,
	.page-header__media,
	.page-header__text,
	.contact-panel__info,
	.contact-panel__map,
	.site-footer__col--brand,
	.site-footer__col:not(.site-footer__col--brand) {
		grid-column: 1 / -1;
		grid-row: auto;
	}

	.hero {
		padding-block-start: var(--space-lg);
		padding-block-end: var(--space-lg);
	}

	.hero__media {
		order: -1;
		margin-bottom: 0;
		aspect-ratio: 16 / 11;
	}

	.service-row--reverse .service-row__media {
		order: -1;
	}

	.usp-band__intro {
		margin-bottom: var(--space-md);
	}

	.site-footer__col:not(.site-footer__col--brand) {
		margin-top: var(--space-sm);
	}
}

/* ---------- Handy ≤600px ---------- */
@media (max-width: 600px) {
	:root {
		--fs-body: 1.0625rem;
	}

	.hero__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.hero__actions .btn,
	.hero__actions .hero__phone {
		justify-content: center;
	}

	.cta-band__grid {
		flex-direction: column;
		align-items: flex-start;
	}

	.cta-band__actions {
		width: 100%;
		flex-direction: column;
		align-items: stretch;
	}

	.cta-band__actions .btn,
	.cta-band__actions .hero__phone {
		justify-content: center;
	}

	.contact-panel__map {
		min-height: 260px;
	}

	.contact-panel__map iframe {
		min-height: 260px;
	}

	.usp-list li {
		flex-direction: column;
		gap: 0.5rem;
	}
}

/* Kein horizontales Scrollen als letzte Sicherung */
html, body {
	overflow-x: hidden;
}
