/* ==========================================================================
   Responsive — all breakpoint media queries live here.
   Loaded last so cascade overrides earlier files cleanly.
   ========================================================================== */

/* === XL (1280px+) tweaks === */
@media (min-width: 1280px) {
	.container { padding-inline: clamp(2rem, 4vw, 3rem); }
}

/* === LG (1024px and below) === */
@media (max-width: 1023px) {

	.grid--asym-l,
	.grid--asym-r,
	.grid--asym-feature {
		grid-template-columns: 1fr;
	}

	.video-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.blog-featured-grid {
		grid-template-columns: 1fr;
	}

	.blog-featured-grid > :first-child {
		grid-row: auto;
	}

	/* Blog single layout becomes single column */
	.post-layout {
		grid-template-columns: 1fr !important;
	}

	.post-sidebar {
		position: relative !important;
		top: auto !important;
	}

	.post-title-overlay {
		margin-right: 5% !important;
	}

	/* Homepage about preview */
	.about-preview-grid {
		grid-template-columns: 1fr !important;
	}

	.about-preview__photo {
		max-width: 480px;
		margin-inline: auto;
	}
}

/* === MD (768px and below) === */
@media (max-width: 767px) {

	.grid--2,
	.grid--3,
	.grid--4,
	.bento-2x2,
	.video-grid {
		grid-template-columns: 1fr;
	}

	.section {
		padding-block: var(--space-12);
	}

	.section--clip-top,
	.section--clip-btm {
		clip-path: none;
		margin-top: 0;
		margin-bottom: 0;
		padding-block: var(--space-12);
	}

	/* Hero adjustments */
	.hero-section {
		min-height: 80vh !important;
	}

	.hero-content {
		margin-left: 0 !important;
		padding: var(--space-12) var(--space-5) var(--space-20) !important;
	}

	.hero-headline {
		font-size: clamp(2rem, 8vw, 2.6rem) !important;
	}

	.hero-search-outer {
		margin-top: calc(-1 * var(--space-10)) !important;
		margin-bottom: 0 !important;
	}

	.hero-search-wrapper {
		margin: 0 var(--space-4) !important;
		padding: var(--space-4) !important;
	}

	/* Why Choose card */
	.why-card {
		padding: var(--space-6) !important;
	}

	/* About preview photo rotation off on mobile */
	.about-preview__photo-frame {
		transform: rotate(0) !important;
	}

	/* CTA banner stacking */
	.cta-banner__inner {
		grid-template-columns: 1fr !important;
		text-align: center !important;
	}

	.cta-banner__buttons {
		justify-content: center !important;
	}

	/* Single post title overlay */
	.post-title-overlay {
		margin-top: -60px !important;
		padding: var(--space-6) !important;
	}

	.post-title-overlay h1 {
		font-size: var(--text-3xl) !important;
	}

	/* Contact page layout */
	.contact-grid {
		grid-template-columns: 1fr !important;
	}

	/* Tighten container side padding on phones */
	.container,
	.container-wide {
		padding-inline: var(--space-5);
	}
}

/* === SM (480px and below) === */
@media (max-width: 479px) {

	.btn { padding: var(--space-3) var(--space-5); font-size: var(--text-xs); }

	.section-header__sub { font-size: var(--text-base); }

	.testimonial-card { padding: var(--space-6) !important; }

	.video-card__title { font-size: var(--text-base) !important; }
}

/* === Print styles === */
@media print {
	.mobile-menu-toggle,
	.mobile-nav-overlay,
	.cta-banner,
	.pagination,
	.utility-bar,
	.elementor-location-header,
	.elementor-location-footer,
	.patricke-header,
	.patricke-footer {
		display: none !important;
	}
	body { background: #fff; color: #000; }
	a { color: #000; text-decoration: underline; }
}
