/**
 * Responsive rules. Breakpoints match the original Elementor kit:
 * desktop ≥1251, tablet 768–1250, mobile ≤767.
 */

/* ===== Tablet & below (<= 1250px) ===== */
@media (max-width: 1250px) {
	.footer-top { padding: 30px 20px; grid-template-columns: 1fr 1fr; gap: 2.5rem; }
	.footer-col--logo, .footer-col--menu, .footer-col--contact, .footer-col--social { padding-left: 0; padding-right: 0; }

	/* Header collapses to mobile nav */
	.primary-nav { position: fixed; inset: var(--header-height) 0 0 auto; width: min(360px, 82vw);
		background: var(--color-white); flex-direction: column; justify-content: flex-start;
		padding: 1.5rem; box-shadow: -10px 0 40px rgba(0,0,0,0.12);
		transform: translateX(100%); transition: transform var(--transition-normal); overflow-y: auto; z-index: 9998; }
	.primary-nav.is-open { transform: translateX(0); }
	.primary-nav .nav-menu { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
	.primary-nav .nav-menu > li { border-bottom: 1px solid var(--color-border); }
	.primary-nav .nav-menu a { display: block; padding: 0.9rem 0; }
	.primary-nav .nav-menu > li > a::after { display: none; }

	.primary-nav .sub-menu { position: static; opacity: 1; visibility: visible; transform: none;
		box-shadow: none; background: transparent; padding: 0 0 0 1rem; display: none; }
	.primary-nav li.submenu-open > .sub-menu { display: block; }
	.submenu-toggle { display: inline-flex; position: absolute; right: 0; top: 0.4rem; width: 40px; height: 40px; align-items: center; justify-content: center; }

	.nav-toggle { display: inline-flex; }
	.site-header__cta { order: -1; }

	.home-hero { padding: 128px 40px 64px; }
	.home-hero__content { margin-right: 40%; }   /* content ~60% width on tablet */

	/* Tablet section spacing (original drops 100px → 80px) */
	.section { padding-top: 80px; padding-bottom: 80px; }
	.cta-band { padding: 80px 40px; }
	.icon-box { padding: 32px 64px 32px 0; }

	/* Tablet column paddings reset (match original) */
	.media-text--intro .media-text__media { padding-right: 0; }
	.media-text--intro .media-text__body { padding: 0 0 0 24px; }
	.media-text--fragen .media-text__body { padding: 24px 112px 0 112px; }
}

/* ===== Mobile (<= 767px) ===== */
@media (max-width: 767px) {
	:root { --section-padding: var(--section-padding-mobile); --container-padding: 24px; }

	.section { padding: var(--section-padding-mobile) var(--container-padding); }
	.card-grid { grid-template-columns: 1fr; gap: 40px; }
	.icon-box { padding: 24px 32px; }
	.headline { font-size: 30px; }
	.cta-band .headline { font-size: 25px; }
	.media-text, .media-text--intro, .media-text--fragen { grid-template-columns: 1fr; gap: var(--spacing-md); }
	.media-text--fragen .media-text__body { padding-left: 0; }
	.media-text__media { order: -1; }
	.media-text--intro .media-text__body { padding-left: 0; padding-right: 0; }
	.media-text--intro .media-text__media { padding-right: 0; }
	.media-text__waves { width: 30%; }
	.blog-grid { grid-template-columns: 1fr; }
	.content-sidebar { grid-template-columns: 1fr; }

	.home-hero { padding: 128px 24px 78px; background-position: -445px 85px; }
	.home-hero__content { padding: 180px 0 0 0; margin-right: 0; }
	.home-hero__title { font-size: 30px; line-height: 1.2; }
	.home-hero__eyebrow { font-size: 18px; }

	.footer-top { grid-template-columns: 1fr; gap: 2rem; text-align: left; }
	.footer-bottom__inner { grid-template-columns: 1fr; text-align: center; gap: 1rem; padding: 24px; }
	.footer-legal { justify-content: center; gap: 1.2em; }
	.footer-credit { justify-content: center; }

	.cta-band { padding: 64px 40px; }
	.page-hero { padding: 140px 24px 80px; }
	.page-hero__title { font-size: 2rem; }
	.contact-inline { flex-direction: column; gap: 12px; }
	.post-navigation { flex-direction: column; }
}

/* ===== Tablet card grid (2-up) ===== */
@media (min-width: 768px) and (max-width: 1250px) {
	.card-grid { grid-template-columns: repeat(2, 1fr); }
	.blog-grid { grid-template-columns: repeat(2, 1fr); }
}
