/**
 * Critical layout fixes — overrides WP/WC block inline flex layouts.
 */

/* ── Column blocks (solutions, industries, stats) ─────────── */
.wp-block-columns.ds-card-grid,
.wp-block-columns.ds-industry-grid,
.wp-block-columns.ds-stats-bar {
	display: grid !important;
	flex-wrap: wrap !important;
	width: 100% !important;
	max-width: 100% !important;
	gap: 1.25rem !important;
}

.wp-block-columns.ds-home-challenges-grid,
.wp-block-columns.ds-home-hero-features-grid,
.wp-block-columns.ds-home-customer-trust {
	display: grid !important;
	width: 100% !important;
	max-width: 100% !important;
}

.wp-block-columns.ds-card-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.wp-block-columns.ds-industry-grid {
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.wp-block-columns.ds-stats-bar {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.wp-block-columns.ds-card-grid > .wp-block-column,
.wp-block-columns.ds-industry-grid > .wp-block-column,
.wp-block-columns.ds-stats-bar > .wp-block-column {
	width: 100% !important;
	max-width: 100% !important;
	flex-basis: auto !important;
	min-width: 0 !important;
}

/* ── Blog grid ──────────────────────────────────────────────── */
.ds-home-products,
.ds-home-products.wp-block-woocommerce-product-collection {
	width: 100% !important;
	max-width: 100% !important;
}

.ds-home-products ul.wc-block-product-template,
.ds-home-products .wc-block-product-template,
ul.wc-block-product-template,
.wc-block-product-template__responsive,
.wc-block-product-template__responsive.columns-4,
ul.wc-block-product-template.is-flex-container,
ul.wc-block-product-template.is-flex-container.columns-4 {
	display: grid !important;
	flex-flow: row wrap !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 1.25rem !important;
	width: 100% !important;
	max-width: 100% !important;
	list-style: none;
	padding: 0;
	margin: 0;
}

.ds-home-products ul.wc-block-product-template > li,
ul.wc-block-product-template > li,
.wc-block-product-template__responsive > li {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex: none !important;
	margin: 0 !important;
	list-style: none;
}

/* ── Blog grid ──────────────────────────────────────────────── */
.ds-blog-section .wp-block-query,
.ds-blog-grid,
.ds-blog-main .wp-block-query {
	width: 100% !important;
	max-width: 100% !important;
}

.ds-blog-grid ul.wp-block-post-template,
.ds-blog-archive ul.wp-block-post-template,
ul.wp-block-post-template.is-flex-container,
ul.wp-block-post-template.is-flex-container.columns-3,
ul.wp-block-post-template.is-layout-grid {
	display: grid !important;
	flex-flow: row wrap !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 1.25rem !important;
	width: 100% !important;
	max-width: 100% !important;
	list-style: none;
	padding: 0;
	margin: 0;
}

.ds-blog-grid ul.wp-block-post-template > li,
.ds-blog-archive ul.wp-block-post-template > li,
ul.wp-block-post-template > li {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex: none !important;
	margin: 0 !important;
}

/* ── Cards inside grids (homepage + blog only) ─────────────── */
.ds-home-products .ds-product-card,
.ds-blog-card {
	width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box;
}

.ds-home-products .ds-product-card .wp-block-group,
.ds-blog-card .wp-block-group {
	width: 100% !important;
	min-width: 0 !important;
}

.ds-home-products .ds-product-card img,
.ds-blog-card img {
	max-width: 100%;
	height: auto;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
	.wp-block-columns.ds-industry-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.ds-home-products ul.wc-block-product-template,
	.wc-block-product-template__responsive.columns-4 {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 781px) {
	.wp-block-columns.ds-card-grid,
	.wp-block-columns.ds-industry-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.wp-block-columns.ds-stats-bar {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.ds-home-products ul.wc-block-product-template,
	.wc-block-product-template__responsive.columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.ds-blog-grid ul.wp-block-post-template,
	.ds-blog-archive ul.wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 480px) {
	.wp-block-columns.ds-card-grid,
	.wp-block-columns.ds-industry-grid,
	.wp-block-columns.ds-stats-bar,
	.ds-blog-grid ul.wp-block-post-template,
	.ds-blog-archive ul.wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}

/* Homepage product carousel — horizontal scroll (overrides grid rules above) */
body.ds-home-page-active [data-home-products] .ds-home-products-track-wrap {
	overflow: hidden;
	min-width: 0;
}

body.ds-home-page-active [data-home-products] .ds-home-products-track-wrap .ds-home-products {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

body.ds-home-page-active [data-home-products] .ds-home-products-track-wrap ul.wc-block-product-template,
body.ds-home-page-active [data-home-products] .ds-home-products-track-wrap .wc-block-product-template,
body.ds-home-page-active [data-home-products] ul.ds-home-products-track {
	display: flex !important;
	flex-flow: row nowrap !important;
	flex-wrap: nowrap !important;
	grid-template-columns: unset !important;
	align-items: stretch !important;
	gap: 1.25rem !important;
	width: 100% !important;
	max-width: 100% !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	list-style: none;
	padding: 0.25rem 0 !important;
	margin: 0 !important;
}

body.ds-home-page-active [data-home-products] .ds-home-products-track-wrap ul.wc-block-product-template::-webkit-scrollbar,
body.ds-home-page-active [data-home-products] ul.ds-home-products-track::-webkit-scrollbar {
	display: none;
}

body.ds-home-page-active [data-home-products] .ds-home-products-track-wrap ul.wc-block-product-template > li,
body.ds-home-page-active [data-home-products] ul.ds-home-products-track > li {
	flex: 0 0 calc(25% - 0.94rem) !important;
	min-width: 250px !important;
	width: auto !important;
	max-width: none !important;
	scroll-snap-align: start;
}

body.ds-home-page-active [data-home-products] .ds-home-products-track-wrap ul.wc-block-product-template > li.is-hidden,
body.ds-home-page-active [data-home-products] ul.ds-home-products-track > li.is-hidden {
	display: none !important;
}

@media (max-width: 1100px) {
	body.ds-home-page-active [data-home-products] .ds-home-products-track-wrap ul.wc-block-product-template > li,
	body.ds-home-page-active [data-home-products] ul.ds-home-products-track > li {
		flex-basis: calc(33.333% - 0.84rem) !important;
		min-width: 230px !important;
	}
}

@media (max-width: 640px) {
	body.ds-home-page-active [data-home-products] .ds-home-products-track-wrap ul.wc-block-product-template > li,
	body.ds-home-page-active [data-home-products] ul.ds-home-products-track > li {
		flex-basis: calc(88% - 0.5rem) !important;
		min-width: 270px !important;
	}
}
