/* ==========================================================================
   Mobile-first responsive rules. Base styles (in other CSS files) already
   use fluid units (clamp, %, fr, vw). This file adds breakpoint-specific
   layout adjustments only where a fluid approach isn't enough — e.g.
   switching grid column counts, hiding/showing nav elements, and
   stacking multi-column sections on small screens.
   ========================================================================== */

/* ---- ≤1600px : large desktop tightening ---- */
@media (max-width: 1600px) {
	.pv-container {
		max-width: 1200px;
	}
}

/* ---- ≤1440px ---- */
@media (max-width: 1440px) {
	.home-product-slider__grid,
	ul.products {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* ---- ≤1366px ---- */
@media (max-width: 1366px) {
	.woocommerce div.product {
		gap: 2rem;
	}
}

/* ---- ≤1200px ---- */
@media (max-width: 1200px) {
	.home-product-slider__grid,
	ul.products {
		grid-template-columns: repeat(3, 1fr);
	}

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

/* ---- ≤1024px : tablet landscape ---- */
@media (max-width: 1024px) {
	.pv-header__nav {
		display: none;
	}

	.pv-mobile-menu-toggle {
		display: inline-flex;
	}

	.about-story__inner,
	.contact-main__grid {
		grid-template-columns: 1fr;
	}

	.woocommerce div.product {
		grid-template-columns: 1fr;
	}

	.pv-footer__top {
		grid-template-columns: 1fr 1fr;
	}
}

/* ---- ≤992px : tablet portrait ---- */
@media (max-width: 992px) {
	.home-product-slider__grid,
	ul.products {
		grid-template-columns: repeat(2, 1fr);
	}

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

/* ---- ≤768px : tablet / large phone ---- */
@media (max-width: 768px) {
	.home-hero {
		min-height: 60vh;
		text-align: center;
	}

	.home-hero__inner {
		margin-inline: auto;
	}

	.home-category-grid__items {
		grid-template-columns: repeat(3, 1fr);
	}

	.pv-post-grid {
		grid-template-columns: 1fr;
	}

	.pv-footer__top {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.pv-social-links {
		justify-content: center;
	}

	.woocommerce-MyAccount-navigation ul {
		justify-content: center;
	}
}

/* ---- ≤576px : mobile ---- */
@media (max-width: 576px) {
	.home-product-slider__grid,
	ul.products,
	.home-collections__grid,
	.home-testimonials__grid,
	.home-why-choose__grid {
		grid-template-columns: 1fr;
	}

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

	.home-newsletter__form {
		flex-direction: column;
	}

	.woocommerce div.product form.cart {
		flex-wrap: wrap;
	}
}

/* ---- ≤480px : small mobile ---- */
@media (max-width: 480px) {
	.pv-header__logo img {
		max-height: 44px;
	}

	.pv-icon-btn {
		width: 38px;
		height: 38px;
	}

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

/* ---- ≤360px : compact phones ---- */
@media (max-width: 360px) {
	.pv-container {
		padding-inline: 0.85rem;
	}

	.home-hero__title {
		font-size: 1.7rem;
	}
}

/* ---- ≤320px : smallest supported phones ---- */
@media (max-width: 320px) {
	.pv-btn {
		width: 100%;
	}

	.home-category-grid__items {
		grid-template-columns: 1fr 1fr;
	}
}

/* Ensure no horizontal scroll anywhere */
html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

img,
iframe,
video {
	max-width: 100%;
	height: auto;
}
