/* ==========================================================================
   PrintCraft — Responsive breakpoints. Loaded last so it overrides the
   desktop-first rules in base/components/shop/woocommerce.
   ========================================================================== */

@media (max-width: 1080px) {
	.features-grid,
	.steps-grid,
	.categories-grid,
	.testimonials-grid,
	.values-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.products-grid,
	ul.products {
		grid-template-columns: repeat(3, 1fr);
	}

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

	.fpd-layout {
		grid-template-columns: 1fr 1fr;
	}

	.fpd-tools-panel {
		grid-column: 1 / -1;
	}
}

@media (max-width: 900px) {
	.nav {
		display: none;
	}

	.mobile-toggle {
		display: inline-block;
	}

	.nav.is-open {
		display: flex;
		flex-direction: column;
		position: absolute;
		top: 76px;
		left: 0;
		right: 0;
		background: var(--white);
		border-bottom: 1px solid var(--border);
		padding: 16px 24px;
		gap: 4px;
		z-index: 40;
	}

	.nav.is-open a {
		padding: 12px 0;
		border-bottom: 1px solid var(--border);
	}

	.hero-content {
		grid-template-columns: 1fr;
	}

	.hero-visual {
		order: -1;
	}

	.floating-card-1,
	.floating-card-2,
	.floating-card-3 {
		display: none;
	}

	.single-product div.product,
	.about-content,
	.contact-layout,
	.woocommerce-checkout .col2-set {
		grid-template-columns: 1fr;
	}

	.shop-layout {
		grid-template-columns: 1fr;
	}

	.sidebar {
		position: static;
	}

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

	.fpd-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.section {
		padding: 56px 0;
	}

	.features-grid,
	.categories-grid,
	.testimonials-grid,
	.values-grid,
	.steps-grid,
	.products-grid,
	ul.products,
	.stats-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.form-row,
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last {
		grid-template-columns: 1fr;
		width: 100%;
		float: none;
	}

	.newsletter-inner {
		flex-direction: column;
		text-align: center;
	}

	.newsletter-form {
		width: 100%;
	}

	.newsletter-form input {
		min-width: 0;
		flex: 1;
	}

	.footer-grid {
		grid-template-columns: 1fr;
	}

	.footer-bottom {
		flex-direction: column;
		text-align: center;
	}

	.cta-banner {
		padding: 40px 24px;
	}
}
