:root {
	--ibnhoms-bg: #141b23;
	--ibnhoms-surface: #1d2732;
	--ibnhoms-surface-2: #26323f;
	--ibnhoms-border: rgba(255, 255, 255, 0.12);
	--ibnhoms-text: #f7f8fa;
	--ibnhoms-muted: #aeb8c4;
	--ibnhoms-accent: #d92a3b;
	--ibnhoms-accent-hover: #f13c50;
	--ibnhoms-success: #26d07c;
	--ibnhoms-radius: 18px;
	--ibnhoms-shadow: 0 16px 44px rgba(0, 0, 0, 0.24);
}

body.ibnhoms-core-design {
	background: var(--ibnhoms-bg);
	color: var(--ibnhoms-text);
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}

.ibnhoms-core-design :where(h1, h2, h3, h4, h5, h6) {
	color: var(--ibnhoms-text);
	letter-spacing: -0.02em;
}

.ibnhoms-core-design :where(p, li, label) { color: var(--ibnhoms-muted); }
.ibnhoms-core-design :where(a) { transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease; }

.ibnhoms-core-preview::before {
	content: "IBN HOMS PRIVATE PREVIEW";
	position: fixed;
	left: 50%;
	bottom: 18px;
	transform: translateX(-50%);
	z-index: 999999;
	padding: 10px 18px;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 999px;
	background: rgba(15, 20, 27, .92);
	box-shadow: var(--ibnhoms-shadow);
	color: #fff;
	font: 700 12px/1.2 system-ui, sans-serif;
	letter-spacing: .08em;
	pointer-events: none;
}

.ibnhoms-core-design .elementor-location-header,
.ibnhoms-core-design .site-header {
	background: rgba(20, 27, 35, .92);
	border-bottom: 1px solid var(--ibnhoms-border);
	backdrop-filter: blur(14px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
}

.ibnhoms-core-design .elementor-nav-menu a,
.ibnhoms-core-design .main-header-menu a {
	color: var(--ibnhoms-text);
	font-weight: 650;
}

.ibnhoms-core-design .elementor-nav-menu a:hover,
.ibnhoms-core-design .main-header-menu a:hover,
.ibnhoms-core-design .current-menu-item > a { color: var(--ibnhoms-accent-hover); }

.ibnhoms-core-design .elementor-location-header img,
.ibnhoms-core-design .site-header img {
	transition: transform .25s ease, filter .25s ease;
}

.ibnhoms-core-design .elementor-location-header a:hover img,
.ibnhoms-core-design .site-header a:hover img {
	transform: scale(1.025);
	filter: drop-shadow(0 0 12px rgba(217, 42, 59, .24));
}

/* Homepage polish: preserve the existing Elementor structure and content. */
.ibnhoms-core-design.home .site-main,
.ibnhoms-core-design.home main {
	overflow: clip;
}

.ibnhoms-core-design.home main > article {
	background:
		radial-gradient(circle at 50% 8%, rgba(217, 42, 59, .075), transparent 32%),
		var(--ibnhoms-bg);
}

.ibnhoms-core-design.home .elementor-element-b7d1906 {
	position: relative;
	margin-top: -1px;
	padding-block: clamp(22px, 4vw, 52px);
	background: linear-gradient(180deg, rgba(9, 13, 18, .3), rgba(20, 27, 35, .96));
	border-bottom: 1px solid var(--ibnhoms-border);
}

.ibnhoms-core-design.home .elementor-element-b7d1906::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: min(720px, 72vw);
	height: 1px;
	transform: translateX(-50%);
	background: linear-gradient(90deg, transparent, var(--ibnhoms-accent-hover), transparent);
}

.ibnhoms-core-design.home .elementor-element-1b3e987 .elementor-heading-title {
	margin: 0;
	font-size: clamp(2rem, 4.3vw, 4rem) !important;
	line-height: 1.04;
	text-align: center;
	text-shadow: 0 12px 34px rgba(0, 0, 0, .4);
}

.ibnhoms-core-design.home .elementor-element-1b3e987 .elementor-heading-title b {
	color: #fff;
}

.ibnhoms-core-design.home main .elementor-widget-heading h2 {
	font-size: clamp(2rem, 4vw, 3.6rem) !important;
	line-height: 1.08;
	text-wrap: balance;
	text-shadow: 0 10px 28px rgba(217, 42, 59, .14);
}

.ibnhoms-core-design.home a.e-con:has(.cat-img) {
	min-width: 0;
	padding: clamp(15px, 2vw, 22px) !important;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(38, 50, 63, .92), rgba(20, 27, 35, .96));
	box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.ibnhoms-core-design.home a.e-con:has(.cat-img):hover {
	transform: translateY(-5px);
	border-color: rgba(217, 42, 59, .68);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .24), 0 0 0 1px rgba(217, 42, 59, .1);
}

.ibnhoms-core-design.home a.e-con:has(.cat-img) .cat-img {
	display: grid;
	min-height: 170px;
	place-items: center;
}

.ibnhoms-core-design.home a.e-con:has(.cat-img) .cat-img img {
	width: 100%;
	max-width: 270px;
	height: 170px;
	object-fit: contain;
	filter: drop-shadow(0 14px 20px rgba(0, 0, 0, .26));
	transition: transform .3s ease, filter .3s ease;
}

.ibnhoms-core-design.home a.e-con:has(.cat-img):hover .cat-img img {
	transform: translateY(-3px) scale(1.035);
	filter: drop-shadow(0 18px 24px rgba(0, 0, 0, .34));
}

.ibnhoms-core-design.home a.e-con:has(.cat-img) h4 {
	margin-top: 12px;
	color: #fff;
	font-size: clamp(1.02rem, 1.5vw, 1.24rem) !important;
	line-height: 1.3;
	text-align: center;
}

.ibnhoms-core-design.home .elementor-loop-container {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.ibnhoms-core-design .e-loop-item > .elementor-section-wrap > .prod-card > .e-con-inner > .e-con {
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	flex: 0 0 auto;
}

/* Loop template 570 wraps product details in a second Elementor container.
 * Remove its editor-only spacing so it matches the flatter product template 96. */
.ibnhoms-core-design .e-loop-item.elementor-570 > .elementor-section-wrap > .prod-card > .e-con-inner > .e-con:last-child {
	display: flex;
	flex: 1 1 auto !important;
	flex-direction: column;
	gap: 0 !important;
	padding: 0 !important;
}

.ibnhoms-core-design .e-loop-item.elementor-570 > .elementor-section-wrap > .prod-card > .e-con-inner > .e-con:last-child > .elementor-widget {
	width: 100% !important;
	max-width: none !important;
}

/* The Services Loop Grid is configured as one desktop column in Elementor.
 * Keep its existing content while restoring a compact storefront layout. */
.ibnhoms-core-design.page-id-568 .elementor-loop-container {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* Elementor loop template 96 forces its image-only inner container to 100%
 * height, which pushes the product details outside the clipped card. */
.ibnhoms-core-design .elementor-96 .elementor-element.elementor-element-9325479 .elementor-element-6e9011b {
	height: auto !important;
	min-height: 0 !important;
}

.ibnhoms-core-design :where(.button, button, input[type="submit"], .elementor-button, .wc-block-components-button) {
	min-height: 46px;
	border: 1px solid var(--ibnhoms-accent);
	border-radius: 14px;
	background: var(--ibnhoms-accent);
	box-shadow: 0 8px 22px rgba(217, 42, 59, .2);
	color: #fff;
	font-weight: 750;
}

.ibnhoms-core-design :where(.button, button, input[type="submit"], .elementor-button, .wc-block-components-button):hover {
	background: var(--ibnhoms-accent-hover);
	border-color: var(--ibnhoms-accent-hover);
	color: #fff;
	transform: translateY(-1px);
}

.ibnhoms-core-design :where(.woocommerce ul.products, .wc-block-product-template) {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
	margin: 0;
}

.ibnhoms-core-design .woocommerce ul.products::before,
.ibnhoms-core-design .woocommerce ul.products::after { display: none; }

.ibnhoms-core-design .woocommerce ul.products li.product,
.ibnhoms-core-design .wc-block-product {
	float: none;
	width: auto;
	margin: 0;
	padding: 16px;
	overflow: hidden;
	border: 1px solid var(--ibnhoms-border);
	border-radius: var(--ibnhoms-radius);
	background: linear-gradient(145deg, var(--ibnhoms-surface-2), var(--ibnhoms-surface));
	box-shadow: 0 10px 30px rgba(0, 0, 0, .16);
}

.ibnhoms-card-motion .woocommerce ul.products li.product:hover,
.ibnhoms-card-motion .wc-block-product:hover,
.ibnhoms-card-motion .elementor-loop-container > .e-loop-item:hover {
	transform: translateY(-5px);
	border-color: rgba(217, 42, 59, .75);
	box-shadow: var(--ibnhoms-shadow);
}

/* Elementor Pro Loop Grid: keep the current templates while making every
 * product card consistent. These rules are deliberately scoped to preview/live
 * mode so the public site is untouched until rollout is enabled. */
.ibnhoms-core-design .elementor-loop-container {
	align-items: stretch;
	gap: clamp(18px, 2.2vw, 30px);
}

.ibnhoms-core-design .elementor-loop-container > .e-loop-item {
	height: 100%;
	min-width: 0;
	border-radius: 20px;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.ibnhoms-core-design .e-loop-item > .elementor-section-wrap,
.ibnhoms-core-design .e-loop-item > .elementor-section-wrap > .prod-card,
.ibnhoms-core-design .e-loop-item > .elementor-section-wrap > .prod-card > .e-con-inner {
	height: 100%;
}

.ibnhoms-core-design .e-loop-item > .elementor-section-wrap > .prod-card {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(239, 49, 72, .62) !important;
	border-radius: 20px !important;
	background: linear-gradient(155deg, #263442 0%, #1c2732 58%, #0b0f14 100%) !important;
	box-shadow: 0 14px 34px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .045);
}

.ibnhoms-core-design .e-loop-item > .elementor-section-wrap > .prod-card::before {
	content: "";
	position: absolute;
	inset: 0 20% auto;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--ibnhoms-accent-hover), transparent);
	opacity: .9;
	pointer-events: none;
}

.ibnhoms-core-design .e-loop-item > .elementor-section-wrap > .prod-card > .e-con-inner {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-featured-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	aspect-ratio: auto;
	object-fit: contain !important;
	object-position: center center;
	transform: none;
	transition: transform .35s ease, filter .35s ease;
}

.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-featured-image {
	display: grid;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 19px 19px 0 0;
	background: radial-gradient(circle at 50% 42%, #283542 0%, #111922 72%, #090d12 100%);
	line-height: 0;
	place-items: center;
}

.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-featured-image :where(.elementor-widget-container, a, picture) {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 0;
}

.ibnhoms-card-motion .e-loop-item:hover .elementor-widget-theme-post-featured-image img {
	transform: scale(1.025);
	filter: saturate(1.05) contrast(1.02);
}

.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-title {
	width: 100% !important;
	max-width: none !important;
	padding: 20px 22px 0;
}

.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-title .elementor-heading-title {
	display: -webkit-box;
	height: 2.64em;
	min-height: 2.64em;
	max-height: 2.64em;
	overflow: hidden;
	margin: 0;
	font-size: clamp(1.15rem, 1.55vw, 1.45rem) !important;
	line-height: 1.32;
	text-align: center;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-title a {
	color: #ff3d55;
}

.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-excerpt {
	width: 100% !important;
	max-width: none !important;
	padding: 10px 22px 0;
}

.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-excerpt p {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	height: 4.74em;
	min-height: 4.7em;
	max-height: 4.74em;
	color: #aeb8c4;
	font-size: .9rem;
	line-height: 1.58;
	text-align: center;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.ibnhoms-core-design .e-loop-item .elementor-widget-woocommerce-product-price {
	width: 100% !important;
	max-width: none !important;
	margin-top: auto;
	padding: 18px 22px 0;
}

.ibnhoms-core-design .e-loop-item .elementor-widget-woocommerce-product-price .price {
	margin: 0;
	font-size: 1.18rem;
	font-weight: 800;
	text-align: center;
}

.ibnhoms-core-design .e-loop-item .elementor-widget-woocommerce-product-price del {
	margin-inline-end: 6px;
	color: #798796;
	opacity: .72;
}

.ibnhoms-core-design .e-loop-item .elementor-widget-woocommerce-product-price ins {
	color: #ff3d55;
	text-decoration: none;
}

.ibnhoms-core-design .e-loop-item .elementor-widget-woocommerce-product-add-to-cart {
	width: 100% !important;
	max-width: none !important;
	padding: 18px 22px 22px;
}

.ibnhoms-core-design .e-loop-item .elementor-widget-woocommerce-product-add-to-cart .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: min(100%, 230px);
	min-height: 48px;
	margin: 0 auto;
	padding: 10px 20px;
	border-radius: 13px;
}

.ibnhoms-core-design .woocommerce ul.products li.product img,
.ibnhoms-core-design .wc-block-product img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 13px;
}

.ibnhoms-core-design .woocommerce ul.products li.product .woocommerce-loop-product__title {
	min-height: 2.8em;
	padding: 14px 2px 4px;
	color: var(--ibnhoms-text);
	font-size: 1.05rem;
	line-height: 1.4;
}

.ibnhoms-core-design .woocommerce ul.products li.product .price {
	color: #fff;
	font-size: 1.05rem;
	font-weight: 800;
}

.ibnhoms-core-design .woocommerce span.onsale {
	min-width: auto;
	min-height: auto;
	padding: 7px 11px;
	border-radius: 999px;
	background: var(--ibnhoms-accent);
	font-size: 12px;
	line-height: 1;
}

.ibnhoms-pagination,
.ibnhoms-core-design .elementor-pagination,
.ibnhoms-core-design .woocommerce-pagination { margin: 38px 0 18px !important; }
.ibnhoms-pagination ul,
.ibnhoms-core-design .woocommerce-pagination ul.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

.ibnhoms-pagination .page-numbers,
.ibnhoms-core-design .woocommerce-pagination .page-numbers li .page-numbers {
	display: inline-grid;
	min-width: 46px;
	min-height: 46px;
	place-items: center;
	padding: 0 15px;
	border: 1px solid rgba(217, 42, 59, .75);
	border-radius: 12px;
	background: var(--ibnhoms-surface);
	color: #fff;
	font-weight: 750;
}

.ibnhoms-pagination .current,
.ibnhoms-core-design .woocommerce-pagination .page-numbers li .current {
	background: var(--ibnhoms-accent);
	border-color: var(--ibnhoms-accent);
}

.ibnhoms-core-design .elementor-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
}

.ibnhoms-core-design .elementor-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 46px;
	min-height: 46px;
	padding: 0 15px;
	border: 1px solid rgba(217, 42, 59, .75);
	border-radius: 12px;
	background: var(--ibnhoms-surface);
	color: #fff;
	font-weight: 750;
	line-height: 1;
}

.ibnhoms-core-design .elementor-pagination .page-numbers.current {
	background: var(--ibnhoms-accent);
	border-color: var(--ibnhoms-accent);
	box-shadow: 0 8px 20px rgba(217, 42, 59, .24);
}

.ibnhoms-core-design .elementor-pagination :where(.prev, .next) {
	min-width: 112px;
}

.ibnhoms-core-design .elementor-pagination :where(.prev, .next):not([href]) {
	border-color: rgba(217, 42, 59, .28);
	color: #647180;
	box-shadow: none;
	cursor: default;
}

.ibnhoms-core-design :where(.woocommerce div.product, .woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-billing-fields, .woocommerce-additional-fields) {
	border-color: var(--ibnhoms-border);
	color: var(--ibnhoms-text);
}

/* Single product: keep the existing Elementor template, but give the purchase
 * area, description, and related items a dependable update-safe layout. */
.ibnhoms-core-design.single-product .elementor-element-390bf19 > .e-con-inner {
	align-items: stretch;
	gap: clamp(22px, 3vw, 42px);
}

.ibnhoms-core-design.single-product :where(.elementor-element-cc4a174, .elementor-element-7ea8691) {
	min-width: 0;
	height: auto;
	min-height: 0;
	padding: clamp(18px, 2.2vw, 28px);
	border: 1px solid rgba(255, 255, 255, .11);
	border-radius: 22px;
	background: linear-gradient(145deg, rgba(38, 50, 63, .94), rgba(18, 25, 33, .98));
	box-shadow: 0 18px 42px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .045);
}

.ibnhoms-core-design.single-product .elementor-element-7ea8691 {
	justify-content: center;
}

.ibnhoms-core-design.single-product .elementor-widget-woocommerce-product-images,
.ibnhoms-core-design.single-product .woocommerce-product-gallery {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
}

.ibnhoms-core-design.single-product .woocommerce-product-gallery__wrapper {
	overflow: hidden;
	border-radius: 17px;
	background: radial-gradient(circle at 50% 42%, #303d49 0%, #18212b 68%, #0c1117 100%);
}

.ibnhoms-core-design.single-product .woocommerce-product-gallery__image > a {
	display: grid;
	width: 100%;
	aspect-ratio: 5 / 4;
	place-items: center;
}

.ibnhoms-core-design.single-product .woocommerce-product-gallery__image .wp-post-image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: contain !important;
	object-position: center;
}

.ibnhoms-core-design.single-product .woocommerce-product-gallery__trigger {
	top: 14px !important;
	right: 14px !important;
	border: 1px solid rgba(255, 255, 255, .24);
	background: rgba(10, 14, 19, .88) !important;
	color: #fff !important;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .24);
}

.ibnhoms-core-design.single-product .elementor-element-cc4a174 .ast-onsale-card {
	top: 14px;
	left: 14px;
	z-index: 4;
	background: var(--ibnhoms-accent);
	color: #fff;
}

.ibnhoms-core-design.single-product .woocommerce-breadcrumb {
	margin: 0;
	color: #8f9ba8;
	font-size: .88rem;
	line-height: 1.65;
}

.ibnhoms-core-design.single-product .woocommerce-breadcrumb a {
	color: #c2cad3;
}

.ibnhoms-core-design.single-product .elementor-element-cdacf05 .product_title {
	margin: 0;
	color: #fff;
	font-size: clamp(1.7rem, 3vw, 2.65rem) !important;
	line-height: 1.16;
}

.ibnhoms-core-design.single-product .elementor-element-eb28875 {
	color: #ffc928;
}

.ibnhoms-core-design.single-product .elementor-element-c51d3e0 .price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 9px;
	margin: 0;
	color: #fff;
	font-size: clamp(1.35rem, 2.2vw, 1.8rem);
	font-weight: 850;
}

.ibnhoms-core-design.single-product .elementor-element-c51d3e0 .price del {
	color: #7f8b98;
	font-size: .78em;
	opacity: .72;
}

.ibnhoms-core-design.single-product .elementor-element-c51d3e0 .price ins {
	color: #ff4055;
	text-decoration: none;
}

.ibnhoms-core-design.single-product .elementor-element-17dec7b .single_add_to_cart_button {
	min-width: 180px;
	min-height: 52px;
	padding: 12px 25px;
	border-radius: 14px;
	box-shadow: 0 12px 26px rgba(217, 42, 59, .28);
	font-size: 1rem;
	font-weight: 800;
}

.ibnhoms-core-design.single-product .elementor-element-3cbc1bb h2 {
	margin: 0;
	color: #dbe1e7 !important;
	font-size: .92rem !important;
	letter-spacing: 0;
}

.ibnhoms-core-design.single-product .elementor-element-5aea1df img {
	width: auto;
	max-width: 130px;
	max-height: 40px;
}

.ibnhoms-core-design.single-product .elementor-element-e40b5f7 {
	padding-inline: clamp(14px, 2vw, 26px);
}

.ibnhoms-core-design.single-product .woocommerce-tabs {
	overflow: hidden;
	border: 1px solid rgba(239, 49, 72, .55) !important;
	border-radius: 22px;
	background: linear-gradient(155deg, rgba(35, 47, 59, .96), rgba(16, 23, 31, .98));
	box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
}

.ibnhoms-core-design.single-product .woocommerce-tabs ul.tabs {
	margin: 0 !important;
	padding: 12px 16px 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.ibnhoms-core-design.single-product .woocommerce-tabs ul.tabs::before {
	display: none !important;
}

.ibnhoms-core-design.single-product .woocommerce-tabs ul.tabs li {
	margin: 0 4px 0 0 !important;
	border: 0 !important;
	border-radius: 12px 12px 0 0 !important;
	background: rgba(255, 255, 255, .07) !important;
}

.ibnhoms-core-design.single-product .woocommerce-tabs ul.tabs li.active {
	background: var(--ibnhoms-accent) !important;
}

.ibnhoms-core-design.single-product .woocommerce-tabs ul.tabs li a {
	padding: 11px 17px !important;
	color: #dce2e8 !important;
	font-weight: 800 !important;
}

.ibnhoms-core-design.single-product .woocommerce-tabs ul.tabs li.active a {
	color: #fff !important;
}

.ibnhoms-core-design.single-product .woocommerce-Tabs-panel {
	margin: 0 !important;
	padding: clamp(24px, 4vw, 52px) !important;
	color: #d7dee6;
}

.ibnhoms-core-design.single-product .woocommerce-Tabs-panel :where(h2, h3, h4) {
	margin-top: 1.65em;
	margin-bottom: .7em;
	line-height: 1.35;
}

.ibnhoms-core-design.single-product .woocommerce-Tabs-panel h3 {
	color: #ff4055 !important;
	font-size: clamp(1.18rem, 2vw, 1.48rem) !important;
}

.ibnhoms-core-design.single-product .woocommerce-Tabs-panel h4 {
	color: #f6f8fa !important;
	font-size: clamp(1.03rem, 1.7vw, 1.25rem) !important;
}

.ibnhoms-core-design.single-product .woocommerce-Tabs-panel :where(h2, h3, h4) strong {
	color: inherit !important;
}

.ibnhoms-core-design.single-product .woocommerce-Tabs-panel :where(p, li) {
	color: #c7d0d9;
	font-size: clamp(.94rem, 1.25vw, 1.04rem);
	line-height: 1.85;
}

/* Elementor Pro 3.17 no longer initializes this Loop Carousel reliably with
 * current Elementor. Show the real related products as a stable CSS grid. */
.ibnhoms-core-design.single-product .elementor-element-70dc974 .swiper-container {
	overflow: visible;
}

.ibnhoms-core-design.single-product .elementor-element-70dc974 .swiper-wrapper {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: clamp(18px, 2.2vw, 28px);
	height: auto !important;
	transform: none !important;
}

.ibnhoms-core-design.single-product .elementor-element-70dc974 .swiper-slide {
	display: block !important;
	width: auto !important;
	height: 100% !important;
	margin: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
	animation: none !important;
}

.ibnhoms-core-design.single-product .elementor-element-70dc974 .elementor-invisible {
	visibility: visible !important;
	opacity: 1 !important;
	animation: none !important;
}

.ibnhoms-core-design.single-product .elementor-element-70dc974 :where(.elementor-swiper-button, .swiper-pagination) {
	display: none !important;
}

.ibnhoms-core-design :where(input.input-text, textarea, select, .select2-selection) {
	min-height: 46px;
	border: 1px solid var(--ibnhoms-border);
	border-radius: 12px;
	background: #f8fafc;
	color: #111827;
}

/* Cart and checkout: a compact, dependable purchase flow that stays within
 * WooCommerce and Elementor's existing markup and payment integrations. */
.ibnhoms-core-design.woocommerce-cart .elementor-element-752fb62 > .e-con-inner,
.ibnhoms-core-design.woocommerce-checkout .elementor-element-bf74e11 > .e-con-inner {
	padding-block: clamp(26px, 4vw, 48px) !important;
}

.ibnhoms-core-design.woocommerce-cart .elementor-element-235cb1c {
	min-height: 0 !important;
	justify-content: flex-start !important;
}

.ibnhoms-core-design.woocommerce-cart .elementor-widget-woocommerce-cart,
.ibnhoms-core-design.woocommerce-checkout .elementor-widget-woocommerce-checkout-page {
	width: 100%;
}

.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form,
.ibnhoms-core-design.woocommerce-cart .cart_totals,
.ibnhoms-core-design.woocommerce-checkout .e-checkout__column-start,
.ibnhoms-core-design.woocommerce-checkout .e-checkout__order_review,
.ibnhoms-core-design.woocommerce-checkout .e-checkout__order_review-2 {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .12) !important;
	border-radius: 20px !important;
	background: linear-gradient(145deg, rgba(38, 50, 63, .96), rgba(18, 25, 33, .99)) !important;
	box-shadow: 0 18px 42px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .04);
}

.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form,
.ibnhoms-core-design.woocommerce-cart .cart_totals {
	padding: clamp(18px, 2.5vw, 30px) !important;
}

.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form {
	margin-bottom: clamp(20px, 2.5vw, 30px) !important;
}

.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form table,
.ibnhoms-core-design.woocommerce-checkout .woocommerce-checkout-review-order-table {
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form :where(th, td),
.ibnhoms-core-design.woocommerce-checkout .woocommerce-checkout-review-order-table :where(th, td) {
	border-color: rgba(255, 255, 255, .11) !important;
	background: transparent !important;
	color: #e9edf2 !important;
}

.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form th,
.ibnhoms-core-design.woocommerce-checkout .woocommerce-checkout-review-order-table th {
	color: #fff !important;
	font-weight: 800 !important;
}

.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form td.product-thumbnail img {
	width: 74px !important;
	height: 74px !important;
	padding: 4px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 12px;
	background: #111820;
	object-fit: contain;
}

.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form .product-name a {
	color: #ff4055 !important;
	font-weight: 800;
}

.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form .product-remove a,
.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form .product-remove button {
	display: inline-grid !important;
	width: 34px !important;
	height: 34px !important;
	min-height: 34px !important;
	place-items: center;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, .14) !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, .05) !important;
	box-shadow: none !important;
	color: #aeb8c4 !important;
}

.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form .product-remove :where(a, button):hover {
	border-color: var(--ibnhoms-accent) !important;
	background: rgba(217, 42, 59, .16) !important;
	color: #fff !important;
}

.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form .qty {
	width: 72px !important;
	min-height: 44px;
	border: 1px solid rgba(255, 255, 255, .2) !important;
	border-radius: 11px !important;
	background: #111820 !important;
	color: #fff !important;
	font-weight: 750;
	text-align: center;
}

.ibnhoms-core-design.woocommerce-cart .cart_totals h2,
.ibnhoms-core-design.woocommerce-checkout :where(.woocommerce-billing-fields > h3, #order_review_heading) {
	margin: 0 0 20px !important;
	color: #fff !important;
	font-size: clamp(1.2rem, 2vw, 1.55rem) !important;
	line-height: 1.25;
}

.ibnhoms-core-design.woocommerce-cart .cart_totals .shop_table {
	margin-bottom: 20px !important;
	border: 0 !important;
	background: transparent !important;
}

.ibnhoms-core-design.woocommerce-cart .cart_totals .shop_table :where(th, td) {
	padding: 14px 2px !important;
	border-color: rgba(255, 255, 255, .1) !important;
	background: transparent !important;
	color: #e9edf2 !important;
}

.ibnhoms-core-design.woocommerce-cart .cart_totals .order-total :where(th, td),
.ibnhoms-core-design.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total :where(th, td) {
	color: #fff !important;
	font-size: 1.16rem;
	font-weight: 850 !important;
}

.ibnhoms-core-design.woocommerce-cart .wc-proceed-to-checkout {
	padding: 0 !important;
}

.ibnhoms-core-design.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 54px;
	margin: 0 !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 28px rgba(217, 42, 59, .28);
	font-size: 1rem !important;
	font-weight: 850 !important;
}

.ibnhoms-core-design.woocommerce-checkout .e-checkout__container {
	align-items: start !important;
	gap: clamp(22px, 2.5vw, 34px) !important;
}

.ibnhoms-core-design.woocommerce-checkout .e-checkout__column-start,
.ibnhoms-core-design.woocommerce-checkout .e-checkout__order_review,
.ibnhoms-core-design.woocommerce-checkout .e-checkout__order_review-2 {
	padding: clamp(22px, 2.6vw, 32px) !important;
}

.ibnhoms-core-design.woocommerce-checkout .e-checkout__order_review-2 {
	margin-top: clamp(18px, 2vw, 24px) !important;
}

.ibnhoms-core-design.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 17px 18px;
}

.ibnhoms-core-design.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ibnhoms-core-design.woocommerce-checkout .woocommerce-billing-fields__field-wrapper :where(#billing_phone_field, #billing_email_field) {
	grid-column: 1 / -1;
}

.ibnhoms-core-design.woocommerce-checkout .form-row label {
	display: block;
	margin-bottom: 8px;
	color: #d8dfe7 !important;
	font-size: .9rem;
	font-weight: 750;
}

.ibnhoms-core-design.woocommerce-checkout :where(input.input-text, textarea, select, .select2-selection) {
	width: 100%;
	min-height: 50px;
	padding: 11px 14px !important;
	border: 1px solid rgba(255, 255, 255, .18) !important;
	border-radius: 12px !important;
	background: #f7f9fb !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, .08);
	color: #111827 !important;
}

.ibnhoms-core-design.woocommerce-checkout textarea {
	min-height: 104px !important;
	resize: vertical;
}

.ibnhoms-core-design.woocommerce-checkout :where(input.input-text, textarea, select):focus {
	border-color: var(--ibnhoms-accent-hover) !important;
	box-shadow: 0 0 0 3px rgba(241, 60, 80, .16) !important;
	outline: 0;
}

.ibnhoms-core-design.woocommerce-checkout .woocommerce-additional-fields {
	margin-top: 22px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, .1);
}

.ibnhoms-core-design.woocommerce-checkout .woocommerce-checkout-review-order-table :where(th, td) {
	padding: 13px 0 !important;
}

.ibnhoms-core-design.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
.ibnhoms-core-design.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child {
	text-align: end;
}

.ibnhoms-core-design.woocommerce-checkout #payment {
	border: 0 !important;
	background: transparent !important;
}

.ibnhoms-core-design.woocommerce-checkout #payment .wc_payment_methods {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.ibnhoms-core-design.woocommerce-checkout #payment .wc_payment_method {
	position: relative;
	margin: 0 0 12px !important;
	padding: 14px !important;
	border: 1px solid rgba(255, 255, 255, .11);
	border-radius: 13px;
	background: rgba(8, 13, 18, .34);
}

.ibnhoms-core-design.woocommerce-checkout #payment .wc_payment_method:has(input:checked) {
	border-color: rgba(241, 60, 80, .68);
	box-shadow: 0 0 0 2px rgba(241, 60, 80, .09);
}

.ibnhoms-core-design.woocommerce-checkout #payment .wc_payment_method > label {
	margin: 0 0 0 8px;
	color: #fff !important;
	font-weight: 800;
}

.ibnhoms-core-design.woocommerce-checkout #payment .payment_box {
	margin: 13px 0 0 !important;
	padding: 13px 14px !important;
	border-radius: 10px !important;
	background: #121b24 !important;
	color: #c8d0d9 !important;
}

.ibnhoms-core-design.woocommerce-checkout #payment .payment_box::before {
	display: none !important;
}

.ibnhoms-core-design.woocommerce-checkout #payment .payment_box p {
	margin: 0;
	color: #c8d0d9 !important;
}

.ibnhoms-core-design.woocommerce-checkout #payment .place-order {
	padding: 8px 0 0 !important;
}

.ibnhoms-core-design.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
	margin: 8px 0 17px;
	font-size: .83rem;
	line-height: 1.65;
}

.ibnhoms-core-design.woocommerce-checkout #payment #place_order {
	width: 100%;
	min-height: 54px;
	margin: 0 !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 28px rgba(217, 42, 59, .28);
	font-size: 1rem;
	font-weight: 850;
}

.ibnhoms-core-design.woocommerce-checkout :where(.ppc-button-wrapper, .wc-stripe-express-checkout-element) {
	margin-top: 10px;
}

@media (max-width: 767px) {
	.ibnhoms-core-design.woocommerce-cart .elementor-element-752fb62 > .e-con-inner,
	.ibnhoms-core-design.woocommerce-checkout .elementor-element-bf74e11 > .e-con-inner {
		padding-block: 20px !important;
	}

	.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form,
	.ibnhoms-core-design.woocommerce-cart .cart_totals,
	.ibnhoms-core-design.woocommerce-checkout .e-checkout__column-start,
	.ibnhoms-core-design.woocommerce-checkout .e-checkout__order_review,
	.ibnhoms-core-design.woocommerce-checkout .e-checkout__order_review-2 {
		padding: 17px !important;
		border-radius: 16px !important;
	}

	.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form td.product-thumbnail img {
		width: 62px !important;
		height: 62px !important;
	}

	.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form .qty {
		width: 66px !important;
	}

	.ibnhoms-core-design.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
		grid-template-columns: minmax(0, 1fr);
		gap: 15px;
	}

	.ibnhoms-core-design.woocommerce-checkout .woocommerce-billing-fields__field-wrapper :where(#billing_phone_field, #billing_email_field) {
		grid-column: auto;
	}

	.ibnhoms-core-design.woocommerce-checkout .woocommerce-checkout-review-order-table :where(th, td) {
		padding-block: 11px !important;
		font-size: .9rem;
	}
}

.ibnhoms-trust-bar {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 26px 0;
}

.ibnhoms-trust-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px;
	border: 1px solid var(--ibnhoms-border);
	border-radius: 15px;
	background: var(--ibnhoms-surface);
}

.ibnhoms-trust-item strong,
.ibnhoms-trust-item small { display: block; }
.ibnhoms-trust-item strong { color: #fff; }
.ibnhoms-trust-item small { margin-top: 3px; color: var(--ibnhoms-muted); }
.ibnhoms-trust-icon { color: var(--ibnhoms-accent-hover); font-size: 22px; }

.ibnhoms-core-design .ibnhoms-empty-reviews[hidden] {
	display: none !important;
}

/* Elementor Pro 3.17 can leave the Reviews carousel invisible when used with
 * current Elementor. Render the existing real reviews as a stable CSS grid. */
.ibnhoms-core-design.home .elementor-widget-reviews {
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
	animation: none !important;
}

.ibnhoms-core-design.home .elementor-widget-reviews .elementor-main-swiper {
	overflow: visible;
}

.ibnhoms-core-design.home .elementor-widget-reviews .swiper-wrapper {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 20px;
	height: auto !important;
	transform: none !important;
}

.ibnhoms-core-design.home .elementor-widget-reviews .swiper-slide {
	width: auto !important;
	height: 100% !important;
	margin: 0 !important;
}

.ibnhoms-core-design.home .elementor-widget-reviews .elementor-testimonial {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 22px;
	border: 1px solid rgba(255, 255, 255, .11);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(38, 50, 63, .94), rgba(20, 27, 35, .98));
	box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
}

.ibnhoms-core-design.home .elementor-widget-reviews .elementor-testimonial__header {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	padding: 0;
}

.ibnhoms-core-design.home .elementor-widget-reviews .elementor-testimonial__image {
	width: 58px;
	height: 58px;
	margin: 0;
}

.ibnhoms-core-design.home .elementor-widget-reviews .elementor-testimonial__image img {
	width: 58px;
	height: 58px;
	border: 2px solid rgba(241, 60, 80, .7);
	border-radius: 50%;
	object-fit: cover;
}

.ibnhoms-core-design.home .elementor-widget-reviews .elementor-testimonial__cite {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	margin: 0;
}

.ibnhoms-core-design.home .elementor-widget-reviews .elementor-testimonial__name {
	color: #fff;
	font-size: 1.05rem;
	font-weight: 800;
}

.ibnhoms-core-design.home .elementor-widget-reviews .elementor-testimonial__title {
	color: #97a5b4;
	font-size: .82rem;
}

.ibnhoms-core-design.home .elementor-widget-reviews .elementor-star-rating {
	color: #ffc94a;
	font-size: .9rem;
}

.ibnhoms-core-design.home .elementor-widget-reviews .elementor-testimonial__icon,
.ibnhoms-core-design.home .elementor-widget-reviews .elementor-swiper-button,
.ibnhoms-core-design.home .elementor-widget-reviews .swiper-pagination {
	display: none !important;
}

.ibnhoms-core-design.home .elementor-widget-reviews .elementor-testimonial__content {
	flex: 1;
	margin-top: 18px;
	padding: 17px 0 0;
	border-top: 1px solid rgba(255, 255, 255, .09);
}

.ibnhoms-core-design.home .elementor-widget-reviews .elementor-testimonial__text {
	color: #d3dae2;
	font-size: .96rem;
	line-height: 1.7;
	text-align: start;
}

.ibnhoms-home-cta {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(24px, 4vw, 56px);
	width: min(1300px, calc(100% - 48px));
	margin: clamp(34px, 6vw, 72px) auto;
	padding: clamp(28px, 4.5vw, 56px);
	overflow: hidden;
	border: 1px solid rgba(241, 60, 80, .48);
	border-radius: 24px;
	background:
		radial-gradient(circle at 92% 12%, rgba(241, 60, 80, .22), transparent 34%),
		linear-gradient(135deg, #263442 0%, #151d26 58%, #090d12 100%);
	box-shadow: 0 22px 54px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .055);
}

.ibnhoms-home-cta::before {
	content: "";
	position: absolute;
	inset: 0 18% auto;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--ibnhoms-accent-hover), transparent);
	pointer-events: none;
}

.ibnhoms-home-cta__copy { position: relative; z-index: 1; }

.ibnhoms-core-design .ibnhoms-home-cta h2 {
	margin: 0 0 12px;
	color: #fff;
	font-size: clamp(1.8rem, 3.2vw, 3.15rem) !important;
	line-height: 1.08;
	text-align: start;
	text-shadow: none;
}

.ibnhoms-core-design .ibnhoms-home-cta p {
	max-width: 720px;
	margin: 0;
	color: #b7c1cc;
	font-size: clamp(.98rem, 1.3vw, 1.12rem);
	line-height: 1.65;
}

.ibnhoms-home-cta__button {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	min-height: 52px;
	padding: 13px 24px;
	border: 1px solid var(--ibnhoms-accent-hover);
	border-radius: 14px;
	background: var(--ibnhoms-accent);
	box-shadow: 0 12px 28px rgba(217, 42, 59, .28);
	color: #fff !important;
	font-weight: 800;
	text-decoration: none !important;
}

.ibnhoms-home-cta__button:hover {
	transform: translateY(-2px);
	background: var(--ibnhoms-accent-hover);
	box-shadow: 0 16px 34px rgba(217, 42, 59, .34);
}

.ibnhoms-core-design .elementor-location-footer,
.ibnhoms-core-design .site-footer {
	position: relative;
	background: #05070a !important;
	border-top: 1px solid rgba(255, 255, 255, .11);
	box-shadow: 0 -18px 46px rgba(0, 0, 0, .18);
}

.ibnhoms-core-design .elementor-location-footer::before,
.ibnhoms-core-design .site-footer::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 50%;
	width: min(920px, 78vw);
	height: 1px;
	transform: translateX(-50%);
	background: linear-gradient(90deg, transparent, rgba(217, 42, 59, .75), transparent);
	pointer-events: none;
}

.ibnhoms-core-design .elementor-location-footer :where(h2, h3, h4),
.ibnhoms-core-design .site-footer :where(h2, h3, h4) {
	color: #f7f8fa !important;
	font-size: clamp(1.12rem, 1.75vw, 1.5rem) !important;
	line-height: 1.3;
	text-shadow: none;
}

.ibnhoms-core-design .elementor-location-footer :where(p, li, a),
.ibnhoms-core-design .site-footer :where(p, li, a) {
	color: #b7c1cc !important;
}

.ibnhoms-core-design .elementor-location-footer a:hover,
.ibnhoms-core-design .site-footer a:hover {
	color: var(--ibnhoms-accent-hover) !important;
}

.ibnhoms-core-design .elementor-location-footer .current-menu-item > a,
.ibnhoms-core-design .site-footer .current-menu-item > a {
	color: var(--ibnhoms-accent-hover) !important;
}

.ibnhoms-core-design .elementor-location-footer .elementor-social-icon,
.ibnhoms-core-design .elementor-location-footer .elementor-social-icon :where(i, svg),
.ibnhoms-core-design .site-footer .elementor-social-icon,
.ibnhoms-core-design .site-footer .elementor-social-icon :where(i, svg) {
	color: #fff !important;
	fill: #fff !important;
}

.ibnhoms-core-design .elementor-location-footer .elementor-social-icon {
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 10px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .2);
}

/* WooCommerce My Account: one update-safe system for every account endpoint. */
.ibnhoms-core-design.woocommerce-account .elementor-widget-woocommerce-my-account {
	--ibnhoms-account-line: rgba(255, 255, 255, .1);
	--ibnhoms-account-panel: linear-gradient(145deg, rgba(38, 50, 63, .96), rgba(20, 27, 35, .98));
}

.ibnhoms-core-design.woocommerce-account .elementor-widget-woocommerce-my-account .e-my-account-tab > .woocommerce:has(> .woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: minmax(210px, 270px) minmax(0, 1fr);
	align-items: start;
	gap: clamp(20px, 3vw, 34px);
}

.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation,
.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
	min-width: 0;
}

.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation {
	position: sticky;
	grid-column: 1;
	top: 34px;
	overflow: hidden;
	border: 1px solid var(--ibnhoms-account-line);
	border-radius: 18px;
	background: rgba(13, 18, 24, .82);
	box-shadow: 0 16px 38px rgba(0, 0, 0, .22);
}

.ibnhoms-core-design.admin-bar.woocommerce-account .woocommerce-MyAccount-navigation { top: 66px; }

.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 3px;
	margin: 0 !important;
	padding: 9px !important;
	list-style: none;
}

.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation a {
	position: relative;
	display: flex !important;
	align-items: center;
	min-height: 46px;
	padding: 11px 14px !important;
	border: 1px solid transparent;
	border-radius: 11px;
	color: #c7d0da !important;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none !important;
}

.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	border-color: rgba(241, 60, 80, .32);
	background: rgba(217, 42, 59, .1);
	color: #fff !important;
}

.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation .is-active > a {
	border-color: rgba(241, 60, 80, .68);
	background: linear-gradient(135deg, rgba(217, 42, 59, .98), rgba(171, 27, 45, .98));
	box-shadow: 0 10px 24px rgba(217, 42, 59, .22);
	color: #fff !important;
}

.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation .is-active > a::after {
	content: "";
	position: absolute;
	inset-block: 12px;
	inset-inline-end: 9px;
	width: 3px;
	border-radius: 999px;
	background: #fff;
	opacity: .85;
}

.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 7px !important;
	padding-top: 9px !important;
	border-top: 1px solid var(--ibnhoms-account-line) !important;
}

.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { color: #ff8290 !important; }

.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-content,
.ibnhoms-core-design.woocommerce-account .e-my-account-tab:not(:has(.woocommerce-MyAccount-navigation)) > .woocommerce {
	padding: clamp(22px, 3.5vw, 38px) !important;
	border: 1px solid var(--ibnhoms-account-line);
	border-radius: 20px;
	background: var(--ibnhoms-account-panel);
	box-shadow: 0 18px 44px rgba(0, 0, 0, .24);
}

.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; }

.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-content-wrapper { min-width: 0; }

.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-content :where(p, address) {
	color: #c3ccd6;
	font-size: .98rem;
	line-height: 1.75;
}

.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type { margin-top: 0; }
.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { color: #ff6374; }
.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover { color: #ff8a97; }

.ibnhoms-core-design.woocommerce-account .woocommerce-Addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 22px;
}

.ibnhoms-core-design.woocommerce-account .woocommerce-Address {
	float: none !important;
	width: auto !important;
	min-width: 0;
	padding: 20px;
	border: 1px solid var(--ibnhoms-account-line);
	border-radius: 15px;
	background: rgba(8, 12, 17, .42);
}

.ibnhoms-core-design.woocommerce-account .woocommerce-Address-title {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--ibnhoms-account-line);
}

.ibnhoms-core-design.woocommerce-account .woocommerce-Address-title h2 {
	margin: 0 !important;
	font-size: clamp(1.1rem, 2vw, 1.35rem) !important;
	line-height: 1.3;
}

.ibnhoms-core-design.woocommerce-account .woocommerce-Address-title .edit {
	float: none !important;
	white-space: nowrap;
	font-size: .9rem;
	font-weight: 750;
}

.ibnhoms-core-design.woocommerce-account :where(.woocommerce-info, .woocommerce-message, .woocommerce-error) {
	margin: 0 0 20px !important;
	padding: 17px 18px 17px 48px !important;
	border: 1px solid rgba(96, 174, 255, .32) !important;
	border-radius: 13px;
	background: rgba(37, 86, 135, .18) !important;
	box-shadow: none;
	color: #eef6ff !important;
}

.ibnhoms-core-design.woocommerce-account .woocommerce-message { border-color: rgba(38, 208, 124, .35) !important; background: rgba(38, 208, 124, .1) !important; }
.ibnhoms-core-design.woocommerce-account .woocommerce-error { border-color: rgba(241, 60, 80, .45) !important; background: rgba(217, 42, 59, .12) !important; }
.ibnhoms-core-design.woocommerce-account :where(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before { top: 17px !important; left: 18px !important; }

.ibnhoms-core-design.woocommerce-account :where(.woocommerce-MyAccount-content, .e-my-account-tab) .button,
.ibnhoms-core-design.woocommerce-account :where(.woocommerce-form-login, .woocommerce-form-register) button.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 11px 18px !important;
	border: 1px solid var(--ibnhoms-accent-hover) !important;
	border-radius: 11px !important;
	background: var(--ibnhoms-accent) !important;
	box-shadow: 0 10px 22px rgba(217, 42, 59, .2);
	color: #fff !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

.ibnhoms-core-design.woocommerce-account :where(.woocommerce-MyAccount-content, .e-my-account-tab) .button:hover,
.ibnhoms-core-design.woocommerce-account :where(.woocommerce-form-login, .woocommerce-form-register) button.button:hover {
	transform: translateY(-1px);
	background: var(--ibnhoms-accent-hover) !important;
}

.ibnhoms-core-design.woocommerce-account table.shop_table {
	overflow: hidden;
	margin: 0 0 20px !important;
	border: 1px solid var(--ibnhoms-account-line) !important;
	border-collapse: separate !important;
	border-spacing: 0;
	border-radius: 14px;
	background: rgba(8, 12, 17, .32);
}

.ibnhoms-core-design.woocommerce-account table.shop_table :where(th, td) {
	padding: 14px 15px !important;
	border-color: var(--ibnhoms-account-line) !important;
	color: #d8dfe7;
}

.ibnhoms-core-design.woocommerce-account table.shop_table th { color: #fff; font-weight: 800; }

.ibnhoms-core-design.woocommerce-account :where(.woocommerce-form-login, .woocommerce-form-register, .woocommerce-EditAccountForm, form.woocommerce-address-fields) {
	margin: 0 !important;
	padding: clamp(20px, 3vw, 30px) !important;
	border: 1px solid var(--ibnhoms-account-line) !important;
	border-radius: 16px;
	background: rgba(8, 12, 17, .38);
}

.ibnhoms-core-design.woocommerce-account :where(.woocommerce-form-login, .woocommerce-form-register) { height: 100%; }

.ibnhoms-core-design.woocommerce-account :where(.woocommerce-form-row, .form-row) label {
	display: block;
	margin-bottom: 7px;
	color: #eef1f5 !important;
	font-weight: 720;
}

.ibnhoms-core-design.woocommerce-account :where(input.input-text, select, textarea) {
	min-height: 46px;
	padding: 10px 13px !important;
	border: 1px solid rgba(255, 255, 255, .18) !important;
	border-radius: 10px !important;
	background: #f7f8fa !important;
	box-shadow: none !important;
	color: #141b23 !important;
}

.ibnhoms-core-design.woocommerce-account :where(input.input-text, select, textarea):focus {
	border-color: var(--ibnhoms-accent-hover) !important;
	box-shadow: 0 0 0 3px rgba(241, 60, 80, .16) !important;
	outline: 0;
}

.ibnhoms-core-design.woocommerce-account fieldset {
	margin: 22px 0 0;
	padding: 20px;
	border: 1px solid var(--ibnhoms-account-line);
	border-radius: 13px;
}

.ibnhoms-core-design.woocommerce-account fieldset legend {
	padding-inline: 8px;
	color: #fff;
	font-weight: 800;
}

.ibnhoms-core-design.woocommerce-account .woocommerce-form-login__rememberme {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	margin-inline-end: 12px;
}

.ibnhoms-core-design.woocommerce-account .show-password-input { color: #273544 !important; }
.ibnhoms-core-design.woocommerce-account .woocommerce-LostPassword { margin: 16px 0 0; }

.ibnhoms-core-design.woocommerce-account .woocommerce-PaymentMethod,
.ibnhoms-core-design.woocommerce-account .woocommerce-PaymentMethods li {
	border-color: var(--ibnhoms-account-line) !important;
	background: rgba(8, 12, 17, .32) !important;
}

@media (max-width: 1024px) {
	.ibnhoms-core-design :where(.woocommerce ul.products, .wc-block-product-template) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ibnhoms-core-design .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.ibnhoms-core-design.single-product .elementor-element-70dc974 .swiper-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.ibnhoms-core-design.page-id-568 .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.ibnhoms-core-design.home .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.ibnhoms-trust-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ibnhoms-home-cta { width: calc(100% - 32px); padding: clamp(28px, 4vw, 40px); }
	.ibnhoms-core-design.home .elementor-widget-reviews .swiper-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ibnhoms-core-design.woocommerce-account .elementor-widget-woocommerce-my-account .e-my-account-tab > .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(190px, 230px) minmax(0, 1fr); }
}

@media (max-width: 640px) {
	.ibnhoms-core-design :where(.woocommerce ul.products, .wc-block-product-template),
	.ibnhoms-core-design .elementor-loop-container {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 18px;
	}
	.ibnhoms-core-design.single-product .elementor-element-70dc974 .swiper-wrapper { grid-template-columns: minmax(0, 1fr) !important; }
	.ibnhoms-core-design.single-product :where(.elementor-element-cc4a174, .elementor-element-7ea8691) {
		padding: 15px;
		border-radius: 17px;
	}
	.ibnhoms-core-design.single-product .woocommerce-product-gallery__wrapper { border-radius: 13px; }
	.ibnhoms-core-design.single-product .elementor-element-17dec7b .single_add_to_cart_button { width: 100%; }
	.ibnhoms-core-design.single-product .woocommerce-tabs { border-radius: 17px; }
	.ibnhoms-core-design.single-product .woocommerce-tabs ul.tabs { padding: 10px 10px 0 !important; }
	.ibnhoms-core-design.single-product .woocommerce-Tabs-panel { padding: 22px 17px !important; }
	.ibnhoms-core-design.page-id-568 .elementor-loop-container { grid-template-columns: minmax(0, 1fr) !important; }
	.ibnhoms-core-design .woocommerce ul.products li.product,
	.ibnhoms-core-design .wc-block-product { padding: 11px; border-radius: 15px; }
	.ibnhoms-core-design .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .92rem; }
	.ibnhoms-core-design .elementor-loop-container > .e-loop-item { width: 100%; max-width: 520px; margin-inline: auto; }
	.ibnhoms-core-design.home .elementor-loop-container { grid-template-columns: minmax(0, 1fr) !important; }
	.ibnhoms-core-design.home .elementor-element-b7d1906 { padding-block: 24px; }
	.ibnhoms-core-design.home a.e-con:has(.cat-img) { border-radius: 15px; }
	.ibnhoms-core-design.home a.e-con:has(.cat-img) .cat-img { min-height: 132px; }
	.ibnhoms-core-design.home a.e-con:has(.cat-img) .cat-img img { height: 132px; }
	.ibnhoms-core-design .e-loop-item > .elementor-section-wrap > .prod-card { border-radius: 17px !important; }
	.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-title { padding: 18px 17px 0; }
	.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-excerpt { padding: 9px 17px 0; }
	.ibnhoms-core-design .e-loop-item .elementor-widget-woocommerce-product-price { padding: 16px 17px 0; }
	.ibnhoms-core-design .e-loop-item .elementor-widget-woocommerce-product-add-to-cart { padding: 16px 17px 18px; }
	.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-title .elementor-heading-title { font-size: 1.16rem !important; }
	.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-excerpt p { font-size: .87rem; }
	.ibnhoms-trust-bar { grid-template-columns: 1fr; }
	.ibnhoms-core-design.home .elementor-widget-reviews .swiper-wrapper { grid-template-columns: 1fr; gap: 16px; }
	.ibnhoms-core-design.home .elementor-widget-reviews .elementor-testimonial { padding: 19px; }
	.ibnhoms-home-cta {
		grid-template-columns: 1fr;
		width: min(100% - 28px, 520px);
		margin-block: 28px;
		padding: 26px 20px;
		text-align: center;
	}
	.ibnhoms-core-design .ibnhoms-home-cta h2 { text-align: center; }
	.ibnhoms-home-cta__button { width: 100%; min-width: 0; }
	.ibnhoms-pagination .page-numbers,
	.ibnhoms-core-design .woocommerce-pagination .page-numbers li .page-numbers,
	.ibnhoms-core-design .elementor-pagination .page-numbers { min-width: 42px; min-height: 42px; padding: 0 12px; }
	.ibnhoms-core-design .elementor-pagination :where(.prev, .next) { min-width: 96px; }
	.ibnhoms-core-preview::before { bottom: 10px; padding: 8px 12px; font-size: 10px; }
	.ibnhoms-core-design.woocommerce-account .elementor-widget-woocommerce-my-account .e-my-account-tab > .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation { position: static; grid-column: auto; border-radius: 15px; }
	.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-content { grid-column: auto; }
	.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
	.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation a { min-height: 42px; padding: 9px 10px !important; font-size: .85rem; }
	.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 0 !important; padding-top: 0 !important; border-top: 0 !important; }
	.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-content,
	.ibnhoms-core-design.woocommerce-account .e-my-account-tab:not(:has(.woocommerce-MyAccount-navigation)) > .woocommerce { padding: 18px 15px !important; border-radius: 15px; }
	.ibnhoms-core-design.woocommerce-account .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.ibnhoms-core-design.woocommerce-account .woocommerce-Address { padding: 17px; }
	.ibnhoms-core-design.woocommerce-account .woocommerce-Address-title { display: grid; gap: 7px; }
	.ibnhoms-core-design.woocommerce-account :where(.woocommerce-info, .woocommerce-message, .woocommerce-error) { padding: 15px 14px 15px 42px !important; }
	.ibnhoms-core-design.woocommerce-account :where(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before { top: 15px !important; left: 14px !important; }
	.ibnhoms-core-design.woocommerce-account table.shop_table { display: block; max-width: 100%; overflow-x: auto; }
	.ibnhoms-core-design.woocommerce-account :where(.woocommerce-form-login, .woocommerce-form-register, .woocommerce-EditAccountForm, form.woocommerce-address-fields) { padding: 17px 14px !important; }
}

/* Mobile and tablet finishing pass. These rules stay scoped to Site Core and
 * preserve Elementor content while removing fragile device-specific spacing. */
@media (max-width: 1024px) {
	body.ibnhoms-core-design { overflow-x: hidden; }

	.ibnhoms-core-design .elementor-location-header .elementor-element-783f2e4 > .e-con-inner {
		display: grid !important;
		grid-template-columns: minmax(64px, 82px) auto minmax(48px, 1fr);
		align-items: center;
		gap: 10px;
		width: 100%;
		max-width: 100%;
		min-height: 76px;
		padding: 8px 16px !important;
	}

	.ibnhoms-core-design .elementor-location-header :where(.elementor-element-162c356, .elementor-element-24b70e9, .elementor-element-a18a832) {
		width: 100% !important;
		min-width: 0;
		min-height: 0;
		padding: 0 !important;
	}

	.ibnhoms-core-design .elementor-location-header .elementor-element-162c356 { grid-column: 1; }
	.ibnhoms-core-design .elementor-location-header .elementor-element-a18a832 {
		grid-column: 2;
		grid-row: 1;
		justify-content: center;
		gap: 8px;
	}
	.ibnhoms-core-design .elementor-location-header .elementor-element-24b70e9 {
		grid-column: 3;
		grid-row: 1;
		align-items: flex-end;
	}

	.ibnhoms-core-design .elementor-location-header .elementor-element-b359914,
	.ibnhoms-core-design .elementor-location-header .elementor-element-b359914 .elementor-widget-container,
	.ibnhoms-core-design .elementor-location-header .elementor-element-b359914 .elementor-image {
		width: 100% !important;
		height: auto !important;
	}

	.ibnhoms-core-design .elementor-location-header .elementor-element-b359914 img {
		display: block;
		width: clamp(58px, 9vw, 74px) !important;
		height: clamp(58px, 9vw, 74px) !important;
		margin: 0;
		object-fit: contain;
	}

	.ibnhoms-core-design .elementor-location-header .elementor-menu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 46px;
		height: 46px;
		margin: 0 0 0 auto;
		padding: 11px !important;
		border: 1px solid rgba(255, 255, 255, .14);
		border-radius: 13px;
		background: rgba(255, 255, 255, .055);
		color: #fff;
	}

	.ibnhoms-core-design .elementor-location-header .elementor-menu-toggle:hover,
	.ibnhoms-core-design .elementor-location-header .elementor-menu-toggle[aria-expanded="true"] {
		border-color: rgba(241, 60, 80, .72);
		background: rgba(217, 42, 59, .18);
	}

	.ibnhoms-core-design .elementor-location-header .elementor-nav-menu--dropdown {
		margin-top: 10px !important;
		padding: 8px;
		border: 1px solid rgba(255, 255, 255, .12);
		border-radius: 15px;
		background: rgba(8, 12, 17, .98);
		box-shadow: 0 20px 46px rgba(0, 0, 0, .38);
	}

	.ibnhoms-core-design .elementor-location-header .elementor-nav-menu--dropdown .elementor-item {
		display: flex;
		align-items: center;
		min-height: 46px;
		padding: 11px 13px !important;
		border-radius: 9px;
		color: #dce2e9 !important;
		font-size: .94rem;
		font-weight: 720;
	}

	.ibnhoms-core-design .elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover,
	.ibnhoms-core-design .elementor-location-header .elementor-nav-menu--dropdown .elementor-item-active {
		background: rgba(217, 42, 59, .15) !important;
		color: #fff !important;
	}

	.ibnhoms-core-design .elementor-location-header .elementor-element-a18a832 .elementor-widget-icon {
		width: 42px !important;
		max-width: 42px;
	}

	.ibnhoms-core-design .elementor-location-header .elementor-element-a18a832 .elementor-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 42px;
		height: 42px;
		padding: 10px !important;
	}

	.ibnhoms-core-design main :where(.e-con-boxed > .e-con-inner, .ast-container) {
		max-width: 100%;
	}

	.ibnhoms-core-design main :where(h1, .elementor-widget-heading h1) {
		font-size: clamp(2rem, 7vw, 3.25rem) !important;
		line-height: 1.08;
		text-wrap: balance;
	}

	.ibnhoms-core-design main :where(h2, .elementor-widget-heading h2) {
		font-size: clamp(1.7rem, 5.6vw, 2.7rem) !important;
		line-height: 1.12;
		text-wrap: balance;
	}

	.ibnhoms-core-design .elementor-loop-container,
	.ibnhoms-core-design :where(.woocommerce ul.products, .wc-block-product-template) {
		gap: clamp(16px, 3vw, 22px) !important;
	}

	.ibnhoms-core-design .elementor-loop-container .elementor-invisible {
		visibility: visible !important;
		opacity: 1 !important;
		animation: none !important;
	}

	.ibnhoms-core-design .e-loop-item .elementor-widget-woocommerce-product-add-to-cart .button,
	.ibnhoms-core-design .woocommerce ul.products li.product .button {
		min-height: 48px;
	}

	.ibnhoms-core-design.single-product .woocommerce-tabs ul.tabs {
		display: flex !important;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.ibnhoms-core-design.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
	.ibnhoms-core-design.single-product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }

	.ibnhoms-core-design.woocommerce-cart :where(.woocommerce-cart-form, .cart_totals),
	.ibnhoms-core-design.woocommerce-checkout :where(.e-checkout__column-start, .e-checkout__order_review, .e-checkout__order_review-2) {
		max-width: 100%;
	}

	.ibnhoms-core-design .elementor-location-footer .e-con-inner {
		max-width: 100%;
	}
}

@media (max-width: 767px) {
	.ibnhoms-core-design main .e-con-boxed > .e-con-inner {
		width: 100%;
		padding-inline: 14px !important;
	}

	.ibnhoms-core-design .elementor-location-header .elementor-element-783f2e4 > .e-con-inner {
		grid-template-columns: 64px auto minmax(46px, 1fr);
		gap: 7px;
		min-height: 70px;
		padding: 7px 11px !important;
	}

	.ibnhoms-core-design .elementor-location-header .elementor-element-b359914 img {
		width: 58px !important;
		height: 58px !important;
	}

	.ibnhoms-core-design .elementor-location-header .elementor-menu-toggle {
		width: 44px;
		height: 44px;
		padding: 10px !important;
	}

	.ibnhoms-core-design .elementor-location-header .elementor-element-a18a832 .elementor-widget-icon {
		width: 38px !important;
		max-width: 38px;
	}

	.ibnhoms-core-design .elementor-location-header .elementor-element-a18a832 .elementor-icon {
		width: 38px;
		height: 38px;
		padding: 9px !important;
	}

	.ibnhoms-core-design .elementor-loop-container > .e-loop-item,
	.ibnhoms-core-design .woocommerce ul.products li.product,
	.ibnhoms-core-design .wc-block-product {
		width: 100%;
		max-width: 520px;
		margin-inline: auto !important;
	}

	.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-featured-image {
		aspect-ratio: 4 / 3;
		border-radius: 15px 15px 0 0;
	}

	.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-title,
	.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-excerpt,
	.ibnhoms-core-design .e-loop-item .elementor-widget-woocommerce-product-price,
	.ibnhoms-core-design .e-loop-item .elementor-widget-woocommerce-product-add-to-cart {
		padding-inline: 16px;
	}

	.ibnhoms-core-design .e-loop-item .elementor-widget-theme-post-title .elementor-heading-title {
		font-size: clamp(1.08rem, 5vw, 1.28rem) !important;
	}

	.ibnhoms-core-design .e-loop-item .elementor-widget-woocommerce-product-add-to-cart .button,
	.ibnhoms-core-design .woocommerce ul.products li.product .button {
		width: 100%;
		max-width: 100%;
	}

	.ibnhoms-pagination,
	.ibnhoms-core-design .elementor-pagination,
	.ibnhoms-core-design .woocommerce-pagination { margin-block: 28px 10px !important; }

	.ibnhoms-core-design .elementor-pagination,
	.ibnhoms-pagination ul,
	.ibnhoms-core-design .woocommerce-pagination ul.page-numbers { gap: 7px; }

	.ibnhoms-pagination .page-numbers,
	.ibnhoms-core-design .woocommerce-pagination .page-numbers li .page-numbers,
	.ibnhoms-core-design .elementor-pagination .page-numbers {
		min-width: 40px;
		min-height: 42px;
		padding-inline: 10px;
		border-radius: 10px;
		font-size: .88rem;
	}

	.ibnhoms-core-design .elementor-pagination :where(.prev, .next) { min-width: 86px; }

	.ibnhoms-core-design.single-product .elementor-element-390bf19 > .e-con-inner { gap: 16px; }
	.ibnhoms-core-design.single-product .woocommerce-product-gallery { max-width: 100%; }
	.ibnhoms-core-design.single-product .woocommerce-product-gallery__image img { width: 100%; height: auto; }
	.ibnhoms-core-design.single-product .woocommerce-tabs ul.tabs li a { min-height: 44px; padding: 11px 13px !important; }

	.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form .actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form .coupon {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px;
		width: 100%;
	}

	.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form .coupon :where(input, button) {
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	.ibnhoms-core-design.woocommerce-checkout :where(.ppc-button-wrapper, .wc-stripe-express-checkout-element) {
		max-width: 100%;
		overflow: hidden;
	}

	.ibnhoms-core-design.woocommerce-checkout #payment .wc_payment_method { padding: 12px !important; }
	.ibnhoms-core-design.woocommerce-checkout #payment .wc_payment_method > label { font-size: .92rem; }
	.ibnhoms-core-design.woocommerce-checkout #payment #place_order,
	.ibnhoms-core-design.woocommerce-cart .wc-proceed-to-checkout .checkout-button { min-height: 52px; }

	.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation ul { gap: 5px; }
	.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation a { min-height: 44px; }

	.ibnhoms-core-design .elementor-location-footer :where(.e-con-inner, .e-con) {
		min-width: 0;
	}

	.ibnhoms-core-design .elementor-location-footer :where(h2, h3, h4, p, ul) { text-align: center; }
	.ibnhoms-core-design .elementor-location-footer .elementor-nav-menu,
	.ibnhoms-core-design .elementor-location-footer .elementor-social-icons-wrapper {
		justify-content: center;
	}
}

@media (max-width: 420px) {
	.ibnhoms-core-design .elementor-location-header .elementor-element-783f2e4 > .e-con-inner {
		grid-template-columns: 58px auto minmax(44px, 1fr);
		padding-inline: 8px !important;
	}

	.ibnhoms-core-design .elementor-location-header .elementor-element-b359914 img {
		width: 54px !important;
		height: 54px !important;
	}

	.ibnhoms-core-design .elementor-location-header .elementor-element-a18a832 { gap: 5px; }
	.ibnhoms-core-design .elementor-location-header .elementor-element-a18a832 .elementor-widget-icon { width: 36px !important; max-width: 36px; }
	.ibnhoms-core-design .elementor-location-header .elementor-element-a18a832 .elementor-icon { width: 36px; height: 36px; padding: 8px !important; }

	.ibnhoms-core-design .elementor-pagination :where(.prev, .next) { min-width: 78px; }
	.ibnhoms-core-design .elementor-pagination,
	.ibnhoms-pagination ul,
	.ibnhoms-core-design .woocommerce-pagination ul.page-numbers { gap: 5px; }

	.ibnhoms-core-design.woocommerce-cart .woocommerce-cart-form .coupon { grid-template-columns: minmax(0, 1fr); }
	.ibnhoms-core-design.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: minmax(0, 1fr); }
}

@media (hover: none), (pointer: coarse) {
	.ibnhoms-card-motion .woocommerce ul.products li.product:hover,
	.ibnhoms-card-motion .wc-block-product:hover,
	.ibnhoms-card-motion .elementor-loop-container > .e-loop-item:hover,
	.ibnhoms-card-motion .e-loop-item:hover .elementor-widget-theme-post-featured-image img {
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ibnhoms-core-design *,
	.ibnhoms-core-design *::before,
	.ibnhoms-core-design *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* 0.5.8: fast, code-native Store discovery without changing Elementor data. */
.ibnhoms-core-design .ibnhoms-catalog-grid > .e-loop-item[hidden],
.ibnhoms-core-design .ibnhoms-catalog-empty[hidden],
.ibnhoms-core-design .ibnhoms-catalog-search__clear[hidden] { display: none !important; }

.ibnhoms-core-design .ibnhoms-catalog-discovery__intro > *,
.ibnhoms-core-design .ibnhoms-catalog-discovery__controls > * { min-width: 0; }

.ibnhoms-core-design .ibnhoms-catalog-search input::-webkit-search-cancel-button { display: none; }

.ibnhoms-core-design #ibnhoms-catalog-discovery :is(input[type="search"], select) {
	background: #101820 !important;
	color: #f7f8fa !important;
	border: 1px solid rgba(255, 255, 255, .22) !important;
	border-radius: 12px !important;
	font-size: 16px;
	box-sizing: border-box;
	color-scheme: dark;
}

.ibnhoms-core-design #ibnhoms-catalog-discovery input::placeholder { color: #b4c0cd; opacity: 1; }
.ibnhoms-core-design #ibnhoms-catalog-discovery select option { color: #fff; background: #101820; }
.ibnhoms-core-design #ibnhoms-catalog-discovery .ibnhoms-catalog-search__clear { box-shadow: none; }

.ibnhoms-core-design :where(.ibnhoms-catalog-filter, .ibnhoms-catalog-empty button, .ibnhoms-catalog-search__clear):focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}

.ibnhoms-core-design .ibnhoms-catalog-discovery {
	width: 100%;
	margin: 0 0 clamp(24px, 4vw, 40px);
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 20px;
	background:
		radial-gradient(circle at 8% 0, rgba(217, 42, 59, .15), transparent 36%),
		linear-gradient(145deg, rgba(38, 50, 63, .96), rgba(20, 27, 35, .98));
	box-shadow: 0 18px 42px rgba(0, 0, 0, .22);
}

.ibnhoms-core-design .ibnhoms-catalog-discovery__intro {
	display: grid;
		grid-template-columns: minmax(200px, .72fr) minmax(460px, 1.28fr);
	gap: 24px;
	align-items: end;
}

.ibnhoms-core-design .ibnhoms-catalog-discovery__intro h2 {
	margin: 0 0 6px;
	font-size: clamp(1.45rem, 2.5vw, 2.1rem) !important;
	line-height: 1.1;
}

.ibnhoms-core-design .ibnhoms-catalog-discovery__intro p {
	margin: 0;
	color: var(--ibnhoms-muted);
}

.ibnhoms-core-design .ibnhoms-catalog-discovery__controls {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) minmax(190px, .46fr);
	gap: 12px;
}

.ibnhoms-core-design :where(.ibnhoms-catalog-search, .ibnhoms-catalog-sort) {
	position: relative;
	display: block;
	margin: 0;
}

.ibnhoms-core-design :where(.ibnhoms-catalog-search input, .ibnhoms-catalog-sort select) {
	width: 100%;
	min-height: 50px;
	margin: 0;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 12px;
	background: rgba(10, 15, 21, .78);
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 650;
	line-height: 1.2;
	box-shadow: inset 0 1px rgba(255, 255, 255, .03);
}

.ibnhoms-core-design .ibnhoms-catalog-search input {
	padding: 0 44px 0 46px;
}

.ibnhoms-core-design .ibnhoms-catalog-sort select {
	padding: 0 38px 0 14px;
	cursor: pointer;
}

.ibnhoms-core-design :where(.ibnhoms-catalog-search input, .ibnhoms-catalog-sort select):focus {
	border-color: var(--ibnhoms-accent-hover);
	outline: 3px solid rgba(217, 42, 59, .2);
	outline-offset: 1px;
}

.ibnhoms-core-design .ibnhoms-catalog-search__icon {
	position: absolute;
	top: 50%;
	left: 16px;
	z-index: 1;
	transform: translateY(-52%);
	color: var(--ibnhoms-accent-hover);
	font-size: 27px;
	line-height: 1;
	pointer-events: none;
}

.ibnhoms-core-design .ibnhoms-catalog-search__clear {
	position: absolute;
	top: 50%;
	right: 8px;
	width: 34px;
	height: 34px;
	padding: 0;
	transform: translateY(-50%);
	border: 0;
	border-radius: 9px;
	background: transparent;
	color: var(--ibnhoms-muted);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.ibnhoms-core-design .ibnhoms-catalog-search__clear:hover {
	background: rgba(255, 255, 255, .08);
	color: #fff;
}

.ibnhoms-core-design .ibnhoms-catalog-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 20px;
}

.ibnhoms-core-design .ibnhoms-catalog-filter {
	min-height: 42px;
	margin: 0;
	padding: 9px 16px;
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: 999px;
	background: rgba(10, 15, 21, .55);
	color: var(--ibnhoms-text);
	font-family: inherit;
	font-size: 14px;
	font-weight: 750;
	line-height: 1.15;
	cursor: pointer;
}

.ibnhoms-core-design .ibnhoms-catalog-filter:hover {
	transform: translateY(-1px);
	border-color: rgba(217, 42, 59, .72);
}

.ibnhoms-core-design .ibnhoms-catalog-filter[aria-pressed="true"] {
	border-color: var(--ibnhoms-accent);
	background: var(--ibnhoms-accent);
	box-shadow: 0 8px 20px rgba(217, 42, 59, .24);
	color: #fff;
}

.ibnhoms-core-design .ibnhoms-catalog-status {
	margin: 16px 2px 0;
	color: var(--ibnhoms-muted);
	font-size: 13px;
	font-weight: 700;
}

.ibnhoms-core-design .elementor-loop-container.ibnhoms-catalog-grid--empty {
	display: none !important;
}

.ibnhoms-core-design .ibnhoms-catalog-empty {
	width: 100%;
	margin: 0 0 30px;
	padding: clamp(34px, 6vw, 64px) 20px;
	border: 1px dashed rgba(255, 255, 255, .18);
	border-radius: 18px;
	background: rgba(29, 39, 50, .62);
	text-align: center;
}

.ibnhoms-core-design .ibnhoms-catalog-empty > span {
	display: block;
	margin-bottom: 8px;
	color: var(--ibnhoms-accent-hover);
	font-size: 44px;
	line-height: 1;
}

.ibnhoms-core-design .ibnhoms-catalog-empty h3 {
	margin: 0 0 8px;
	font-size: 1.35rem;
}

.ibnhoms-core-design .ibnhoms-catalog-empty p { margin: 0 0 18px; }

.ibnhoms-core-design .ibnhoms-catalog-empty button {
	min-height: 44px;
	padding: 10px 20px;
	border: 1px solid var(--ibnhoms-accent);
	border-radius: 11px;
	background: var(--ibnhoms-accent);
	color: #fff;
	font-weight: 800;
	cursor: pointer;
}

.ibnhoms-core-design :where(.no-results, .error-404) {
	width: min(780px, calc(100% - 32px));
	margin: clamp(36px, 7vw, 84px) auto;
	padding: clamp(28px, 5vw, 54px);
	border: 1px solid var(--ibnhoms-border);
	border-radius: 20px;
	background: linear-gradient(145deg, var(--ibnhoms-surface-2), var(--ibnhoms-surface));
	box-shadow: var(--ibnhoms-shadow);
	text-align: center;
}

.ibnhoms-core-design :where(.no-results, .error-404) .search-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	max-width: 560px;
	margin: 22px auto 0;
}

.ibnhoms-core-design :where(.no-results, .error-404) .search-field {
	min-height: 48px;
	border: 1px solid var(--ibnhoms-border);
	border-radius: 11px;
	background: rgba(10, 15, 21, .7);
	color: #fff;
}

@media (max-width: 900px) {
	.ibnhoms-core-design .ibnhoms-catalog-discovery__intro {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}
}

@media (max-width: 620px) {
	.ibnhoms-core-design .ibnhoms-catalog-discovery {
		padding: 18px 14px;
		border-radius: 16px;
	}

	.ibnhoms-core-design .ibnhoms-catalog-discovery__controls,
	.ibnhoms-core-design :where(.no-results, .error-404) .search-form {
		grid-template-columns: minmax(0, 1fr);
	}

	.ibnhoms-core-design .ibnhoms-catalog-filters {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding: 2px 0 8px;
		scrollbar-width: thin;
	}

	.ibnhoms-core-design .ibnhoms-catalog-filter { flex: 0 0 auto; }
}
