/**
 * Responsive — desktop rules above are the enhancement; this file adapts
 * everything down for tablet/phone and guarantees no horizontal scroll.
 */

html, body { max-width: 100%; overflow-x: hidden; }
img, video, iframe, table { max-width: 100%; }

@media (max-width: 1200px) {
	.woocommerce ul.products,
	.bz-post-grid { grid-template-columns: repeat(3, 1fr); }
	.bz-features__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 991px) {
	.woocommerce ul.products,
	.bz-post-grid { grid-template-columns: repeat(2, 1fr); }

	.single-product div.product { grid-template-columns: 1fr; }
	.woocommerce-product-gallery { position: static; }

	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	#order_review { position: static; order: -1; }

	.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-MyAccount-navigation { position: static; }

	.bz-about-section__grid { grid-template-columns: 1fr; }
	.bz-stats__grid { grid-template-columns: 1fr 1fr; }
	.footer-columns { grid-template-columns: 1fr 1fr; }

	.woocommerce-page .container:has(.shop-sidebar) { grid-template-columns: 1fr; }
	.shop-sidebar { order: 2; }

	.main-navigation { display: none; }
	.bz-menu-toggle { display: inline-flex; }
	.site-header__inner { grid-template-columns: auto auto 1fr auto; }

	.main-navigation.is-open {
		display: block;
		position: fixed;
		inset: 0;
		top: 0;
		background: var(--bz-surface);
		z-index: var(--bz-z-overlay);
		padding: var(--bz-space-8) var(--bz-space-5);
		overflow-y: auto;
	}
	.main-navigation.is-open .primary-menu { flex-direction: column; align-items: flex-start; width: 100%; }
	.main-navigation.is-open .primary-menu > li { width: 100%; border-bottom: 1px solid var(--bz-border); }
	.main-navigation.is-open .primary-menu > li > a { display: block; width: 100%; padding: var(--bz-space-4) 0; font-size: var(--bz-fs-md); }
	.main-navigation.is-open ul.sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: none; padding-left: var(--bz-space-4); }
}

@media (max-width: 767px) {
	:root {
		--bz-space-7: 2rem;
		--bz-space-8: 2.5rem;
		--bz-space-9: 3.5rem;
	}

	.woocommerce ul.products,
	.bz-post-grid { grid-template-columns: repeat(2, 1fr); gap: var(--bz-space-4) var(--bz-space-3); }
	.bz-features__grid { grid-template-columns: 1fr; gap: var(--bz-space-5); }
	.bz-stats__grid { grid-template-columns: 1fr; }
	.footer-columns { grid-template-columns: 1fr; }

	.bz-hero { min-height: 60vh; }
	.bz-hero__inner { padding-top: var(--bz-space-7); padding-bottom: var(--bz-space-7); }

	.single-product form.cart {
		position: sticky;
		bottom: 0;
		background: var(--bz-surface);
		padding: var(--bz-space-3) var(--bz-space-4);
		margin: 0 calc(-1 * var(--bz-space-4)) var(--bz-space-4);
		border-top: 1px solid var(--bz-border);
		box-shadow: 0 -8px 24px rgba(20, 21, 26, 0.06);
		z-index: 20;
	}

	.woocommerce-tabs ul.tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; flex-wrap: nowrap; }
	.woocommerce-tabs ul.tabs li a { white-space: nowrap; }

	.woocommerce-cart table.shop_table thead { display: none; }
	.woocommerce-cart table.shop_table,
	.woocommerce-cart table.shop_table tbody,
	.woocommerce-cart table.shop_table tr,
	.woocommerce-cart table.shop_table td { display: block; width: 100%; }
	.woocommerce-cart table.shop_table tr { border: 1px solid var(--bz-border); border-radius: var(--bz-radius-md); padding: var(--bz-space-3); margin-bottom: var(--bz-space-3); }
	.woocommerce-cart table.shop_table td { border: none; padding: var(--bz-space-1) 0; }

	.woocommerce-checkout input[type="text"],
	.woocommerce-checkout input[type="email"],
	.woocommerce-checkout input[type="tel"],
	.woocommerce-checkout select { width: 100%; font-size: 16px; }

	.button, .woocommerce a.button, .woocommerce button.button,
	.bz-qty-btn, .primary-menu > li > a, .site-header__actions a { min-height: 44px; }

	.bz-newsletter-form { flex-direction: column; }
	.bz-footer-legal__inner { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 420px) {
	.woocommerce ul.products,
	.bz-post-grid { grid-template-columns: repeat(2, 1fr); gap: var(--bz-space-3); }
	h1 { font-size: 1.9rem; }
}
