/* Imprenta Buin Home Builder */
.ibhb-home-builder,
.ibhb-home-builder *,
.ibhb-home-builder *::before,
.ibhb-home-builder *::after {
	box-sizing: border-box;
}

.ibhb-home-builder {
	--ibhb-gap: clamp(5px, .55vw, 9px);
	--ibhb-radius: clamp(7px, .7vw, 12px);
	--ibhb-shell: 1300px;
	width: 100%;
}

.ibhb-module {
	width: 100%;
	margin: 0;
	padding-top: var(--ibhb-pad-top, 24px);
	padding-bottom: var(--ibhb-pad-bottom, 24px);
	color: var(--ibhb-section-text, #202328);
	background: var(--ibhb-section-bg, transparent);
}


.ibhb-module--shortcode {
	color: var(--ibhb-section-text, #202328);
}

.ibhb-module :is(h1, h2, h3, h4, h5, h6, p),
.ibhb-module .ib-section-head,
.ibhb-module .ib-section-head :is(h1, h2, h3, h4, p),
.ibhb-module .ib-eyebrow,
.ibhb-module .ib-kicker,
.ibhb-module .ib-link-arrow {
	color: var(--ibhb-section-text, inherit);
}

.ibhb-shell--full {
	width: 100%;
	max-width: none;
}

.ibhb-shell {
	width: min(var(--ibhb-shell), calc(100% - 24px));
	margin-inline: auto;
}

.ibhb-grid {
	display: grid;
	gap: var(--ibhb-gap);
	min-width: 0;
}

.ibhb-banner {
	position: relative;
	min-width: 0;
	overflow: hidden;
	border-radius: var(--ibhb-radius);
	background: #f1f2f3;
}

.ibhb-banner__link,
.ibhb-banner__media,
.ibhb-banner picture {
	display: block;
	width: 100%;
	height: 100%;
}

.ibhb-banner img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.ibhb-banner__link:hover img,
.ibhb-banner__link:focus-visible img {
	transform: scale(1.025);
}

/* Hero ancho */
.ibhb-module--hero_full .ibhb-grid {
	grid-template-columns: 1fr;
}

.ibhb-module--hero_full .ibhb-banner {
	aspect-ratio: 16 / 5.2;
}

/* 1 grande + 2 pequeños */
.ibhb-module--grid_large_two .ibhb-grid {
	grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
	grid-template-rows: repeat(2, minmax(0, 1fr));
}

.ibhb-module--grid_large_two .ibhb-banner--1 {
	grid-row: 1 / span 2;
	aspect-ratio: 1.52 / 1;
}

.ibhb-module--grid_large_two .ibhb-banner--2,
.ibhb-module--grid_large_two .ibhb-banner--3 {
	aspect-ratio: 1.72 / 1;
}

/* Dos iguales */
.ibhb-module--grid_two .ibhb-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ibhb-module--grid_two .ibhb-banner {
	aspect-ratio: 16 / 6.6;
}

/* Tres iguales */
.ibhb-module--grid_three .ibhb-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ibhb-module--grid_three .ibhb-banner {
	aspect-ratio: 1.3 / 1;
}

/* Uno ancho + tres pequeños */
.ibhb-module--grid_wide_three .ibhb-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ibhb-module--grid_wide_three .ibhb-banner--1 {
	grid-column: 1 / -1;
	aspect-ratio: 16 / 5.6;
}

.ibhb-module--grid_wide_three .ibhb-banner:not(.ibhb-banner--1) {
	aspect-ratio: 1.3 / 1;
}

.ibhb-empty-front {
	width: min(1180px, calc(100% - 40px));
	margin: 24px auto;
	padding: 14px 18px;
	border-left: 4px solid #e71920;
	background: #fff1f2;
}

@media (max-width: 900px) {
	.ibhb-module--grid_large_two .ibhb-grid {
		grid-template-columns: minmax(0, 1.5fr) minmax(220px, 1fr);
	}


	.ibhb-module--grid_wide_three .ibhb-banner--1 {
		grid-column: 1 / -1;
	}

	.ibhb-module--grid_wide_three .ibhb-banner--4 {
		grid-column: 1 / -1;
		aspect-ratio: 16 / 7;
	}
}

@media (max-width: 767px) {
	.ibhb-home-builder {
		--ibhb-gap: 5px;
		--ibhb-radius: 8px;
	}

	.ibhb-shell {
		width: calc(100% - 12px);
	}

	.ibhb-module--hero_full .ibhb-banner {
		aspect-ratio: 16 / 10;
	}

	.ibhb-module--grid_large_two .ibhb-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto;
	}

	.ibhb-module--grid_large_two .ibhb-banner--1 {
		grid-column: 1 / -1;
		grid-row: auto;
		aspect-ratio: 16 / 8;
	}

	.ibhb-module--grid_large_two .ibhb-banner--2,
	.ibhb-module--grid_large_two .ibhb-banner--3 {
		aspect-ratio: 4 / 3;
	}

	.ibhb-module--grid_two .ibhb-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ibhb-module--grid_two .ibhb-banner {
		aspect-ratio: 4 / 3;
	}

	.ibhb-module--grid_three .ibhb-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ibhb-module--grid_three .ibhb-banner {
		aspect-ratio: 1 / 1;
	}

	.ibhb-module--grid_wide_three .ibhb-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ibhb-module--grid_wide_three .ibhb-banner--1 {
		grid-column: 1 / -1;
		aspect-ratio: 16 / 7;
	}

	.ibhb-module--grid_wide_three .ibhb-banner:not(.ibhb-banner--1) {
		aspect-ratio: 1 / 1;
	}

	.ibhb-module--grid_wide_three .ibhb-banner--4 {
		grid-column: auto;
		aspect-ratio: 1 / 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ibhb-banner img {
		transition: none;
	}
}




/* v2.4 — títulos de sección */
.ibhb-section-title {
	margin: 0 0 clamp(8px, 1vw, 14px);
	color: var(--ibhb-title-color, var(--ibhb-section-text, #202328));
	font-size: clamp(20px, 2vw, 32px);
	line-height: 1.15;
	font-weight: 800;
}

.ibhb-section-title--left {
	text-align: left;
}

.ibhb-section-title--center {
	text-align: center;
}

.ibhb-section-title--right {
	text-align: right;
}

/* v2.4 — zoom suave y compatible al pasar el mouse */
.ibhb-banner {
	overflow: hidden;
	transition: box-shadow .2s ease, transform .2s ease;
}

.ibhb-banner img {
	transform: scale(1);
	transition: transform .28s ease;
	will-change: transform;
}

.ibhb-banner:hover img,
.ibhb-banner:focus-within img {
	transform: scale(1.035);
}

.ibhb-banner:hover,
.ibhb-banner:focus-within {
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(0, 0, 0, .10);
}

.ibhb-banner__link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: -3px;
}

@media (max-width: 767px) {
	.ibhb-section-title {
		margin-bottom: 7px;
		font-size: clamp(17px, 5vw, 24px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ibhb-banner,
	.ibhb-banner img {
		transition: none;
		transform: none !important;
	}
}


/* v2.5 — texto visible bajo cada imagen */
.ibhb-banner__caption {
	margin: 7px 3px 0;
	color: var(--ibhb-section-text, #202328);
	font-size: clamp(12px, .95vw, 15px);
	line-height: 1.35;
	font-weight: 650;
	text-align: left;
}

.ibhb-section-title--center ~ .ibhb-grid .ibhb-banner__caption {
	text-align: center;
}

.ibhb-section-title--right ~ .ibhb-grid .ibhb-banner__caption {
	text-align: right;
}

/* Igualar tamaño mantiene las grillas uniformes. */
.ibhb-image-mode--equal .ibhb-banner__media,
.ibhb-image-mode--equal .ibhb-banner__link,
.ibhb-image-mode--equal .ibhb-banner picture {
	height: 100%;
}

/* Tamaño real respeta la proporción original y evita agrandar banners bajos. */
.ibhb-image-mode--natural .ibhb-banner {
	aspect-ratio: auto !important;
	background: transparent;
}

.ibhb-image-mode--natural .ibhb-banner__media,
.ibhb-image-mode--natural .ibhb-banner__link,
.ibhb-image-mode--natural .ibhb-banner picture {
	display: block;
	width: 100%;
	height: auto;
}

.ibhb-image-mode--natural .ibhb-banner img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.ibhb-image-mode--natural .ibhb-banner:hover img,
.ibhb-image-mode--natural .ibhb-banner:focus-within img {
	transform: scale(1.018);
}

@media (max-width: 767px) {
	.ibhb-banner__caption {
		margin-top: 5px;
		font-size: 11px;
	}
}


/* v2.8.0 — títulos visibles y tarjeta promocional con imagen completa */
.ibhb-banner{overflow:visible;background:transparent}.ibhb-banner__link,.ibhb-banner__media{overflow:hidden;border-radius:var(--ibhb-radius);background:#f1f2f3}.ibhb-banner__caption{display:block;margin:10px 4px 0;color:var(--ibhb-section-text,#202328);font-size:clamp(13px,1vw,16px);font-weight:700;line-height:1.35;text-align:left}.ibhb-section-title--center~.ibhb-grid .ibhb-banner__caption{text-align:center}.ibhb-section-title--right~.ibhb-grid .ibhb-banner__caption{text-align:right}.ibhb-banner:hover,.ibhb-banner:focus-within{box-shadow:none}.ibhb-banner:hover .ibhb-banner__media,.ibhb-banner:focus-within .ibhb-banner__media,.ibhb-banner:hover .ibhb-banner__link,.ibhb-banner:focus-within .ibhb-banner__link{box-shadow:0 8px 18px rgba(0,0,0,.10)}
/* La proporción corresponde a la imagen, no al artículo completo con título. */
.ibhb-module--hero_full .ibhb-banner,.ibhb-module--grid_large_two .ibhb-banner,.ibhb-module--grid_two .ibhb-banner,.ibhb-module--grid_three .ibhb-banner,.ibhb-module--grid_wide_three .ibhb-banner{aspect-ratio:auto}
.ibhb-module--hero_full .ibhb-banner__media{aspect-ratio:16/5.2}.ibhb-module--grid_large_two .ibhb-banner--1 .ibhb-banner__media{aspect-ratio:1.52/1}.ibhb-module--grid_large_two .ibhb-banner--2 .ibhb-banner__media,.ibhb-module--grid_large_two .ibhb-banner--3 .ibhb-banner__media{aspect-ratio:1.72/1}.ibhb-module--grid_two .ibhb-banner__media{aspect-ratio:16/6.6}.ibhb-module--grid_three .ibhb-banner__media{aspect-ratio:1.3/1}.ibhb-module--grid_wide_three .ibhb-banner--1 .ibhb-banner__media{aspect-ratio:16/5.6}.ibhb-module--grid_wide_three .ibhb-banner:not(.ibhb-banner--1) .ibhb-banner__media{aspect-ratio:1.3/1}
@media(max-width:767px){.ibhb-module--hero_full .ibhb-banner__media{aspect-ratio:16/10}.ibhb-module--grid_large_two .ibhb-banner--1 .ibhb-banner__media{aspect-ratio:16/8}.ibhb-module--grid_large_two .ibhb-banner--2 .ibhb-banner__media,.ibhb-module--grid_large_two .ibhb-banner--3 .ibhb-banner__media,.ibhb-module--grid_two .ibhb-banner__media{aspect-ratio:4/3}.ibhb-module--grid_three .ibhb-banner__media,.ibhb-module--grid_wide_three .ibhb-banner:not(.ibhb-banner--1) .ibhb-banner__media{aspect-ratio:1/1}.ibhb-module--grid_wide_three .ibhb-banner--1 .ibhb-banner__media{aspect-ratio:16/7}}
.ibhb-image-mode--natural .ibhb-banner__media{aspect-ratio:auto!important}

/* v2.8.1 — contraste automático del encabezado según el fondo del slide */
.ibhb-custom-slider__head h2,.ibhb-custom-slider__description{transition:color .18s ease}

/* v2.8.2 — grilla de productos controlada desde Home Builder */
.ibhb-products-grid-module{width:100%;margin:0!important;padding:var(--ibhb-pad-top,52px) 0 var(--ibhb-pad-bottom,52px);background:var(--ibhb-section-bg,#f3f4f5);color:var(--ibhb-section-text,#202328)}.ibhb-products-grid-module__head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:26px}.ibhb-products-grid-module__head>div{min-width:0}.ibhb-products-grid-module__eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 9px;color:#e9003f;font-size:12px;font-weight:850;line-height:1.2;letter-spacing:.14em;text-transform:uppercase}.ibhb-products-grid-module__eyebrow:before{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:currentColor;content:""}.ibhb-products-grid-module__head h2{max-width:950px;margin:0;color:var(--ibhb-products-heading,#202328)!important;font-size:clamp(32px,3.5vw,54px);font-weight:760;line-height:1;letter-spacing:-.05em}.ibhb-products-grid-module__description{max-width:800px;margin:14px 0 0;color:var(--ibhb-products-heading,#202328)!important;opacity:.7;font-size:15px;line-height:1.55}.ibhb-products-grid-module__shop-link{flex:0 0 auto;color:#e9003f!important;font-size:16px;font-weight:800;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.ibhb-products-grid-module__shop-link:hover{color:#bd0034!important}.ibhb-products-grid-module .ib-home-products-list{margin:0}.ibhb-products-grid-module .ib-home-products-grid{margin-top:0}@media(max-width:767px){.ibhb-products-grid-module__head{align-items:flex-start;flex-direction:column;gap:14px}.ibhb-products-grid-module__head h2{font-size:clamp(29px,8.8vw,38px)}.ibhb-products-grid-module__description{font-size:14px}.ibhb-products-grid-module__shop-link{font-size:14px}}

/* v2.9.1 — evita que los títulos de banners queden fuera de la sección en móvil. */
.ibhb-image-mode--equal .ibhb-banner {
	display: flex;
	flex-direction: column;
	overflow: visible;
}

.ibhb-image-mode--equal .ibhb-banner__media {
	flex: 0 0 auto;
	height: auto;
	overflow: hidden;
	border-radius: var(--ibhb-radius);
}

.ibhb-image-mode--equal .ibhb-banner__link,
.ibhb-image-mode--equal .ibhb-banner picture {
	height: 100%;
}

.ibhb-image-mode--equal .ibhb-banner__caption {
	flex: 0 0 auto;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: normal;
}

@media (max-width: 767px) {
	.ibhb-module--grid_three .ibhb-grid,
	.ibhb-module--grid_wide_three .ibhb-grid {
		align-items: start;
	}

	.ibhb-module--grid_three .ibhb-banner__caption,
	.ibhb-module--grid_wide_three .ibhb-banner__caption {
		margin-inline: 2px;
		font-size: 11px;
		line-height: 1.28;
	}
}


/* =========================================================
   v3.5 — CONTENEDOR MÓVIL UNIFICADO
   Replica el espacio lateral del single product del theme:
   16 px por lado en teléfono.
========================================================= */
@media (max-width: 767px) {
	.ibhb-home-builder {
		--ibhb-mobile-content-gutter: 16px;
	}

	/* Todos los módulos usan el mismo contenedor interior. */
	.ibhb-home-builder .ibhb-content-container {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: var(--ibhb-mobile-content-gutter) !important;
		padding-right: var(--ibhb-mobile-content-gutter) !important;
		box-sizing: border-box !important;
	}

	/* No permitir que grids, banners, sliders o shortcodes
	   vuelvan a salir del contenedor común. */
	.ibhb-home-builder .ibhb-content-container > *,
	.ibhb-home-builder .ibhb-content-container .ibhb-grid,
	.ibhb-home-builder .ibhb-content-container .ibhb-banner,
	.ibhb-home-builder .ibhb-content-container .ibhb-custom-slider__head,
	.ibhb-home-builder .ibhb-content-container .ibhb-custom-slider__layout,
	.ibhb-home-builder .ibhb-content-container ul.products,
	.ibhb-home-builder .ibhb-content-container .ib-home-products-grid,
	.ibhb-home-builder .ibhb-content-container .ib-products-grid,
	.ibhb-home-builder .ibhb-content-container .ib-product-grid,
	.ibhb-home-builder .ibhb-content-container .ib-app-grid {
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	/* Categorías: imagen proporcionada y sin línea entre foto y título. */
	.ibhb-home-builder li.product-category > a,
	.ibhb-home-builder li.product-category .woocommerce-loop-category__link,
	.ibhb-home-builder .ib-category-card > a {
		display: block !important;
		overflow: hidden !important;
	}

	.ibhb-home-builder li.product-category img,
	.ibhb-home-builder .ib-category-card__image,
	.ibhb-home-builder .ib-category-card__media {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		border: 0 !important;
		border-bottom: 0 !important;
		box-shadow: none !important;
		object-fit: contain !important;
	}

	.ibhb-home-builder li.product-category .woocommerce-loop-category__title,
	.ibhb-home-builder li.product-category img + .woocommerce-loop-category__title,
	.ibhb-home-builder .ib-category-card__title,
	.ibhb-home-builder .ib-category-card__body {
		margin: 0 !important;
		padding: 10px 12px 12px !important;
		border: 0 !important;
		border-top: 0 !important;
		border-bottom: 0 !important;
		box-shadow: none !important;
		background-image: none !important;
	}

	.ibhb-home-builder li.product-category .woocommerce-loop-category__title::before,
	.ibhb-home-builder li.product-category .woocommerce-loop-category__title::after,
	.ibhb-home-builder .ib-category-card__title::before,
	.ibhb-home-builder .ib-category-card__title::after,
	.ibhb-home-builder .ib-category-card__body::before,
	.ibhb-home-builder .ib-category-card__body::after {
		display: none !important;
		content: none !important;
	}
}

/* =========================================================
   SLIDE PERSONALIZADO — COMPONENTE AUTÓNOMO CTORRES 4.0.1
   Estructura, estilos y controles sin clases del child theme.
========================================================= */
.ibhb-custom-slider,
.ibhb-custom-slider * {
	box-sizing: border-box;
}

.ibhb-custom-slider {
	width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: clamp(48px, 6vw, 82px) 0;
	overflow: visible;
	background: var(--ibhb-custom-bg, #f3f4f5);
}

.ibhb-home-builder .ibhb-custom-slider__container {
	width: min(1480px, calc(100% - 40px)) !important;
	max-width: none !important;
	height: auto !important;
	margin-inline: auto !important;
	padding: 0 !important;
	overflow: visible !important;
}

.ibhb-custom-slider__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 26px;
	min-width: 0;
	margin-bottom: 28px;
}

.ibhb-custom-slider__head > div {
	min-width: 0;
}

.ibhb-custom-slider__eyebrow {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 9px;
	color: #e9003f;
	font-size: 12px;
	font-weight: 850;
	line-height: 1.2;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.ibhb-custom-slider__eyebrow::before {
	width: 8px;
	height: 8px;
	flex: 0 0 8px;
	border-radius: 50%;
	background: currentColor;
	content: "";
}

.ibhb-custom-slider__head h2 {
	margin: 0;
	color: var(--ibhb-custom-heading, #111827) !important;
	font-size: clamp(32px, 3.5vw, 54px);
	font-weight: 780;
	line-height: 1;
	letter-spacing: -.05em;
	overflow-wrap: anywhere;
}

.ibhb-custom-slider__description {
	max-width: 720px;
	margin: 14px 0 0;
	color: var(--ibhb-custom-description, #667085) !important;
	font-size: 15px;
	line-height: 1.55;
}

.ibhb-custom-slider__nav {
	display: flex;
	flex: 0 0 auto;
	gap: 8px;
	margin: 0;
}

.ibhb-custom-slider__arrow {
	position: relative;
	width: 42px;
	height: 42px;
	min-width: 42px;
	padding: 0;
	border: 1px solid rgba(17, 24, 39, .14);
	border-radius: 13px;
	background: #fff;
	color: #111827;
	cursor: pointer;
	transition: background-color .16s ease, color .16s ease, transform .16s ease, opacity .16s ease;
}

.ibhb-custom-slider__arrow::before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 9px;
	height: 9px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	content: "";
}

.ibhb-custom-slider__arrow--prev::before {
	transform: translate(-40%, -50%) rotate(-135deg);
}

.ibhb-custom-slider__arrow--next::before {
	transform: translate(-60%, -50%) rotate(45deg);
}

.ibhb-custom-slider__arrow:hover,
.ibhb-custom-slider__arrow:focus-visible {
	background: #e9003f;
	color: #fff;
	transform: translateY(-1px);
	outline: none;
}

.ibhb-custom-slider__arrow:disabled {
	opacity: .35;
	cursor: default;
	transform: none;
}

.ibhb-home-builder .ibhb-custom-slider__layout {
	display: grid;
	grid-template-columns: minmax(300px, .86fr) minmax(0, 2.45fr);
	align-items: stretch !important;
	gap: 18px;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
}

.ibhb-home-builder .ibhb-custom-slider__promo {
	position: relative !important;
	isolation: isolate;
	display: flex !important;
	min-width: 0;
	height: auto !important;
	min-height: 460px !important;
	max-height: none !important;
	flex-direction: column;
	align-items: flex-start;
	padding: 36px 34px !important;
	overflow: hidden !important;
	border-radius: 22px;
	background: var(--ibhb-promo-bg, #e9003f);
	color: var(--ibhb-promo-text, #fff);
}

.ibhb-custom-slider__promo::before,
.ibhb-custom-slider__promo::after {
	position: absolute;
	z-index: -1;
	border: 30px solid rgba(255, 255, 255, .10);
	border-radius: 50%;
	content: "";
}

.ibhb-custom-slider__promo::before {
	top: -115px;
	right: -115px;
	width: 280px;
	height: 280px;
}

.ibhb-custom-slider__promo::after {
	right: -105px;
	bottom: -120px;
	width: 290px;
	height: 290px;
}

.ibhb-home-builder .ibhb-custom-slider__promo > span {
	position: relative !important;
	z-index: 2 !important;
	display: inline-flex;
	max-width: 100% !important;
	max-height: none !important;
	padding: 7px 13px;
	overflow: visible !important;
	border: 1px solid rgba(255, 255, 255, .48);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 850;
	line-height: 1.2;
	letter-spacing: .11em;
	white-space: normal !important;
	overflow-wrap: break-word !important;
	text-transform: uppercase;
}

.ibhb-home-builder .ibhb-custom-slider__promo h3 {
	position: relative !important;
	z-index: 2 !important;
	display: block !important;
	max-width: 100% !important;
	max-height: none !important;
	margin: 25px 0 14px !important;
	overflow: visible !important;
	color: inherit;
	font-size: clamp(34px, 2.65vw, 43px);
	font-weight: 760;
	line-height: 1.04 !important;
	letter-spacing: -.05em;
	white-space: normal !important;
	overflow-wrap: break-word !important;
}

.ibhb-home-builder .ibhb-custom-slider__promo p {
	position: relative !important;
	z-index: 2 !important;
	max-width: 100% !important;
	max-height: none !important;
	margin: 0;
	overflow: visible !important;
	color: inherit;
	opacity: .92;
	font-size: 15px;
	line-height: 1.55;
	white-space: normal !important;
	overflow-wrap: break-word !important;
}

.ibhb-home-builder .ibhb-custom-slider__promo a {
	position: relative !important;
	z-index: 2 !important;
	display: inline-flex;
	max-width: 100% !important;
	max-height: none !important;
	min-height: 48px;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	padding: 0 20px;
	overflow: visible !important;
	border-radius: 999px;
	background: var(--ibhb-promo-button, #202020);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	white-space: normal !important;
	overflow-wrap: break-word !important;
	text-decoration: none;
}

.ibhb-home-builder .ibhb-custom-slider__promo--image {
	padding: 0 !important;
	background: transparent;
}

.ibhb-custom-slider__promo--image::before,
.ibhb-custom-slider__promo--image::after {
	display: none;
}

.ibhb-custom-slider__promo--image picture,
.ibhb-custom-slider__promo-image-link {
	display: block;
	width: 100%;
	height: 100%;
}

.ibhb-custom-slider__promo--image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: var(--ibhb-promo-fit, cover);
}

.ibhb-home-builder .ibhb-custom-slider__viewport {
	min-width: 0 !important;
	height: auto !important;
	overflow: hidden !important;
}

.ibhb-home-builder .ibhb-custom-slider__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - ((var(--ibhb-visible) - 1) * 18px)) / var(--ibhb-visible));
	gap: 18px;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	padding: 2px 2px 10px;
	overflow-x: auto !important;
	overflow-y: visible !important;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	overscroll-behavior-inline: contain;
}

.ibhb-home-builder .ibhb-custom-slider__track::-webkit-scrollbar {
	display: none;
}

.ibhb-custom-slide-card {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 460px;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid #eaecf0;
	border-radius: 22px;
	background: #fff;
	scroll-snap-align: start;
	box-shadow: 0 6px 20px rgba(16, 24, 40, .045);
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.ibhb-custom-slide-card::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 3px;
	background: #e9003f;
	content: "";
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .16s ease;
}

.ibhb-custom-slide-card__media {
	height: 250px;
	padding: 18px;
}

.ibhb-custom-slide-card__media a {
	display: block;
	width: 100%;
	height: 100%;
}

.ibhb-custom-slide-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .16s ease;
}

.ibhb-custom-slide-card__body {
	display: flex;
	min-width: 0;
	flex: 1;
	flex-direction: column;
	padding: 12px 18px 18px;
}

.ibhb-custom-slide-card__title {
	margin: 0;
	color: #111827 !important;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.ibhb-custom-slide-card__price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 16px 0 0;
	color: #111827 !important;
}

.ibhb-custom-slide-card__price > span {
	color: #667085;
	font-size: 12px;
	font-weight: 850;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.ibhb-custom-slide-card__price > strong {
	color: #111827;
	font-size: 18px;
	font-weight: 850;
}

.ibhb-custom-slide-card__actions {
	display: flex;
	margin-top: auto;
	padding-top: 18px;
}

.ibhb-custom-slide-card__button {
	display: flex;
	width: 100%;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	border-radius: 12px;
	background: #eef0f3;
	color: #202328;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
	transition: background-color .16s ease, color .16s ease;
}

.ibhb-custom-slide-card__button:hover,
.ibhb-custom-slide-card__button:focus-visible {
	background: #e3e6ea;
	color: #111827;
	outline: none;
}

@media (hover: hover) and (pointer: fine) {
	.ibhb-custom-slide-card:hover,
	.ibhb-custom-slide-card:focus-within {
		border-color: rgba(233, 0, 63, .28);
		box-shadow: 0 10px 26px rgba(16, 24, 40, .08);
		transform: translateY(-2px);
	}

	.ibhb-custom-slide-card:hover::after,
	.ibhb-custom-slide-card:focus-within::after {
		transform: scaleX(1);
	}

	.ibhb-custom-slide-card:hover .ibhb-custom-slide-card__media img,
	.ibhb-custom-slide-card:focus-within .ibhb-custom-slide-card__media img {
		transform: scale(1.018);
	}
}

@media (min-width: 901px) and (max-width: 1180px) {
	.ibhb-home-builder .ibhb-custom-slider__layout {
		grid-template-columns: minmax(320px, .85fr) minmax(0, 1.9fr) !important;
	}

	.ibhb-home-builder .ibhb-custom-slider__track {
		grid-auto-columns: calc((100% - 18px) / 2);
	}

	.ibhb-home-builder .ibhb-custom-slider__promo {
		padding: 30px 28px !important;
	}

	.ibhb-home-builder .ibhb-custom-slider__promo h3 {
		font-size: clamp(30px, 3.6vw, 40px) !important;
	}
}

@media (max-width: 900px) {
	.ibhb-custom-slider {
		padding: 40px 0 48px;
	}

	.ibhb-home-builder .ibhb-custom-slider__container {
		width: calc(100% - 24px) !important;
	}

	.ibhb-home-builder .ibhb-custom-slider__layout {
		display: block !important;
	}

	.ibhb-home-builder .ibhb-custom-slider__promo {
		width: 100% !important;
		min-height: 0 !important;
		margin-bottom: 18px !important;
		padding: 26px 24px !important;
	}

	.ibhb-home-builder .ibhb-custom-slider__promo--image {
		padding: 0 !important;
	}

	.ibhb-custom-slider__promo a {
		margin-top: 26px;
	}

	.ibhb-custom-slide-card {
		min-height: 430px;
	}
}

@media (max-width: 767px) {
	.ibhb-home-builder .ibhb-custom-slider__container {
		width: calc(100% - 24px) !important;
		max-width: 100% !important;
		padding-inline: var(--ibhb-mobile-content-gutter, 16px) !important;
	}

	.ibhb-custom-slider__head {
		align-items: flex-start;
		gap: 14px;
		margin-bottom: 20px;
	}

	.ibhb-custom-slider__description {
		display: none;
	}

	.ibhb-custom-slider__nav {
		padding-top: 0;
	}

	.ibhb-custom-slider__arrow {
		width: 40px;
		height: 40px;
		min-width: 40px;
	}

	.ibhb-home-builder .ibhb-custom-slider__promo {
		padding: 24px 22px !important;
		border-radius: 19px;
	}

	.ibhb-home-builder .ibhb-custom-slider__promo--image {
		padding: 0 !important;
	}

	.ibhb-custom-slider__promo h3 {
		font-size: clamp(30px, 9vw, 42px);
	}

	.ibhb-custom-slider__track {
		grid-auto-columns: min(78vw, 310px);
		gap: 12px;
	}

	.ibhb-custom-slide-card {
		min-height: 390px;
		border-radius: 19px;
	}

	.ibhb-custom-slide-card__media {
		height: 205px;
	}
}

@media (max-width: 380px) {
	.ibhb-custom-slider__head h2 {
		font-size: 29px;
	}

	.ibhb-custom-slider__nav {
		gap: 6px;
	}

	.ibhb-custom-slider__arrow {
		width: 38px;
		height: 38px;
		min-width: 38px;
	}

	.ibhb-custom-slider__track {
		grid-auto-columns: min(82vw, 290px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ibhb-custom-slider__track {
		scroll-behavior: auto;
	}

	.ibhb-custom-slider__arrow,
	.ibhb-custom-slide-card,
	.ibhb-custom-slide-card::after,
	.ibhb-custom-slide-card__media img,
	.ibhb-custom-slide-card__button {
		transition: none;
		transform: none;
	}
}

