/**
 * Elementor & Hello Elementor theme compatibility — full-width WooCommerce layouts.
 */

/* ===== Full-width shell ===== */
body.nwui-elementor-compat {
	overflow-x: hidden;
	max-width: 100vw;
}

.nwui-elementor-compat .site-main,
.nwui-elementor-compat #content,
.nwui-elementor-compat .page-content,
.nwui-elementor-compat .elementor-location-header + .site-main,
.nwui-elementor-compat .woocommerce,
.nwui-elementor-compat .woocommerce-page .site-main {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
	float: none !important;
	box-sizing: border-box;
}

/* Hello Elementor default container */
.nwui-elementor-compat .site-main .page-header,
.nwui-elementor-compat .site-main .content-area {
	max-width: 100% !important;
	width: 100% !important;
}

/* Plugin wrappers */
.nwui-elementor-compat .woocommerce .nwui-shop-wrapper,
.nwui-elementor-compat .woocommerce .nwui-page-shell:not(.nwui-single-product) {
	max-width: 1760px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 16px;
	padding-right: 16px;
	box-sizing: border-box;
}

.nwui-elementor-compat .woocommerce .nwui-single-product.nwui-page-shell {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: clamp(12px, 2vw, 40px);
	padding-right: clamp(12px, 2vw, 40px);
	box-sizing: border-box;
}

.nwui-elementor-compat .nwui-single-product div.product {
	max-width: 1680px;
	margin-left: auto;
	margin-right: auto;
}

/* Clear WooCommerce floats */
.nwui-elementor-compat .woocommerce div.product .woocommerce-product-gallery,
.nwui-elementor-compat .woocommerce div.product .summary.entry-summary {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
}

.nwui-elementor-compat .woocommerce div.product::before,
.nwui-elementor-compat .woocommerce div.product::after {
	display: none !important;
}

/* Related / upsell grids on single product */
.nwui-elementor-compat .nwui-single-product .related.products ul.products.nwui-shop-grid,
.nwui-elementor-compat .nwui-single-product .upsells.products ul.products.nwui-shop-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(220px, 280px)) !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 1240px !important;
	margin: 0 auto !important;
	float: none !important;
}

.nwui-elementor-compat .nwui-single-product .related.products ul.products.nwui-shop-grid li.product,
.nwui-elementor-compat .nwui-single-product .upsells.products ul.products.nwui-shop-grid li.product {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

/* Shop grid */
.nwui-elementor-compat .woocommerce ul.products.nwui-shop-grid,
.nwui-elementor-compat ul.products.nwui-shop-grid,
.nwui-elementor-compat .nwui-shop-grid-wrap {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	display: block;
}

.nwui-elementor-compat .woocommerce ul.products.nwui-shop-grid {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	justify-content: start !important;
}

.nwui-elementor-compat .woocommerce ul.products.nwui-shop-grid > li.product-category,
.nwui-elementor-compat .woocommerce ul.products.nwui-shop-grid > li.type-product_cat {
	display: none !important;
}

.nwui-elementor-compat .woocommerce ul.products.nwui-shop-grid li.product {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
	clear: none !important;
}

.nwui-elementor-compat .woocommerce ul.products.nwui-shop-grid li.product.first,
.nwui-elementor-compat .woocommerce ul.products.nwui-shop-grid li.product.last {
	margin: 0 !important;
	clear: none !important;
}

.nwui-elementor-compat .woocommerce ul.products.nwui-shop-grid > li.product-category {
	display: none !important;
}

.nwui-elementor-compat .nwui-shop-wrapper,
.nwui-elementor-compat .nwui-shop-content {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Cart / checkout / account */
.nwui-elementor-compat .woocommerce-cart .nwui-cart-page,
.nwui-elementor-compat .woocommerce-checkout .nwui-checkout-page,
.nwui-elementor-compat .woocommerce-checkout .nwui-thankyou-wrap,
.nwui-elementor-compat .woocommerce-account .nwui-account-page {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	padding-left: clamp(16px, 2.5vw, 40px);
	padding-right: clamp(16px, 2.5vw, 40px);
	box-sizing: border-box;
}

/* Hide duplicate WC breadcrumbs when plugin renders its own */
.nwui-elementor-compat.single-product nav.woocommerce-breadcrumb:not(.nwui-single-breadcrumb),
.nwui-elementor-compat .nwui-single-product .woocommerce-breadcrumb,
.nwui-elementor-compat .nwui-wc-page .woocommerce-breadcrumb {
	display: none;
}

/* Elementor canvas pages */
.nwui-elementor-compat.elementor-default .site-main {
	padding: 0;
}

/* Elementor shortcode product grids — centered, no left gap */
.nwui-elementor-compat .elementor-widget-shortcode .nwui-grid-section,
.nwui-elementor-compat .elementor-shortcode .nwui-grid-section,
.nwui-elementor-compat .elementor-widget-shortcode .nwui-grid-wrap,
.nwui-elementor-compat .elementor-element .nwui-grid-wrap {
	width: 100% !important;
	max-width: 1760px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box;
}

.nwui-elementor-compat .elementor-widget-shortcode .nwui-products-grid,
.nwui-elementor-compat .elementor-element .nwui-products-grid {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	justify-content: start;
}

.nwui-elementor-compat .elementor-widget-shortcode .nwui-product-card,
.nwui-elementor-compat .elementor-element .nwui-product-card {
	width: 100%;
}

/* Style 2 in Elementor — clean action row */
.nwui-elementor-compat .nwui-card-style-2 .nwui-action-bar-style-2 {
	display: flex !important;
	align-items: center;
	gap: 8px;
}

.nwui-elementor-compat .nwui-card-style-2 .nwui-btn-icon-round {
	position: static !important;
}

@media (max-width: 768px) {
	.nwui-elementor-compat .woocommerce .nwui-shop-wrapper,
	.nwui-elementor-compat .woocommerce .nwui-page-shell {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	.nwui-elementor-compat .woocommerce .nwui-single-product.nwui-page-shell {
		padding-left: 12px !important;
		padding-right: 12px !important;
		padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
	}

	.nwui-elementor-compat .nwui-shop-wrapper,
	.nwui-elementor-compat .nwui-shop-content {
		padding-left: 12px !important;
		padding-right: 12px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.nwui-elementor-compat .woocommerce ul.products.nwui-shop-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
		width: 100% !important;
	}

	/* Hello Elementor — keep product card text compact */
	.nwui-elementor-compat .nwui-product-card .nwui-card-title,
	.nwui-elementor-compat .nwui-product-card h3.nwui-card-title {
		font-size: 0.78rem !important;
		line-height: 1.3 !important;
		margin: 0 !important;
	}

	.nwui-elementor-compat .nwui-product-card .nwui-card-price,
	.nwui-elementor-compat .nwui-product-card .nwui-card-price .amount {
		font-size: 0.84rem !important;
	}
}
