
/* ------------------------------------------------------------------ *
 * Los tres kits OASIS.
 *
 * La tarjeta entera es el enlace. Cada una lleva su color de gama en
 * --kit-color (llega en linea), pero solo como acento: la paleta de la
 * portada sigue siendo grafito y naranja.
 * ------------------------------------------------------------------ */

.lbm-hx-kits {
	background: var(--x-papel, #fff);
}

.lbm-hx-kits__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(14px, 1.8vw, 24px);
	max-width: var(--x-ancho);
	margin: 0 auto;
	align-items: stretch;
}

/*
 * Carril horizontal, como el hero.
 *
 * Los tres kits son una escalera de gama: se leen mejor uno al lado del
 * otro que apilados, porque la gracia esta en comparar. En cuanto no caben
 * tres a la vez, en vez de romper a columna se deslizan de derecha a
 * izquierda con arrastre, igual que las ofertas del hero.
 *
 * scroll-snap deja cada tarjeta cuadrada en el borde al soltar; la barra
 * se oculta porque el gesto ya se entiende (y en movil no se ve nunca).
 */
@media (max-width: 1100px) {
	.lbm-hx-kits__grid {
		display: flex;
		flex-wrap: nowrap;
		gap: 14px;
		max-width: none;
		/* De ancho de ventana completo: el carril se sale del padding del
		   bloque para que la primera tarjeta no quede pegada al borde. */
		margin-inline: calc(50% - 50vw);
		padding-inline: var(--x-gutter, 18px);
		padding-block: 16px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--x-gutter, 18px);
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		touch-action: pan-x pan-y;
		scrollbar-width: none;
	}

	.lbm-hx-kits__grid::-webkit-scrollbar {
		display: none;
	}

	.lbm-hx-kits__grid > .lbm-hx-kit {
		/* Una y el canto de la siguiente: el borde naranja tiene que
		   verse entero, no recortado por el overflow. */
		flex: 0 0 clamp(250px, 40vw, 340px);
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}
}

@media (max-width: 620px) {
	.lbm-hx-kits__grid > .lbm-hx-kit {
		flex: 0 0 min(74vw, 310px);
	}
}

@media (min-width: 981px) and (max-width: 1100px) {
	.lbm-hx-kits__grid,
	.lbm-hx-prods__grid {
		padding-inline: var(--x-gutter, 20px);
		scroll-padding-inline: var(--x-gutter, 20px);
	}
}

.lbm-hx-kit {
	container-type: inline-size;
	container-name: kitcard;
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--x-panel, #f2f4f4);
	border: 0;
	border-radius: var(--x-radio, 22px);
	padding: clamp(24px, 2.6vw, 36px);
	color: inherit;
	text-decoration: none;
	transition: transform .25s ease, box-shadow .25s ease;
}

.lbm-hx-kit:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(30, 37, 40, .10);
}

.lbm-hx-kit.is-top {
	box-shadow: inset 0 0 0 2px var(--x-naranja, #ef7d00);
}

.lbm-hx-kit.is-top:hover {
	box-shadow: inset 0 0 0 2px var(--x-naranja, #ef7d00), 0 18px 40px rgba(30, 37, 40, .10);
}

.lbm-hx-kit__flag {
	position: absolute;
	top: -13px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	background: var(--x-naranja);
	color: #fff;
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 6px 16px;
	border-radius: 999px;
	white-space: nowrap;
}

.lbm-hx-kit__foto {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: 260px;
	margin: 2px 0 18px;
	pointer-events: none;
}

.lbm-hx-kit__foto img {
	display: block;
	height: 100%;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: bottom center;
	filter: drop-shadow(0 14px 18px rgba(30, 37, 40, .18));
}

@media (max-width: 620px) {
	.lbm-hx-kit__foto {
		height: 220px;
		margin: 0 0 14px;
	}
}

.lbm-hx-kit__et {
	display: block;
	font-size: 11.5px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--kit-color, var(--x-naranja));
	margin-bottom: 10px;
}

.lbm-hx-kit h3 {
	font-size: clamp(22px, 2.2vw, 28px);
	margin: 0 0 12px;
	line-height: 1.12;
	letter-spacing: -.03em;
}

.lbm-hx-kit__precio {
	display: flex;
	align-items: baseline;
	gap: 8px;
	font-size: 13.5px;
	letter-spacing: .02em;
	color: var(--x-suave);
	margin: 0 0 18px;
}

.lbm-hx-kit__precio strong {
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: clamp(26px, 2.5vw, 32px);
	letter-spacing: -.03em;
	line-height: 1;
	color: var(--x-tinta);
}

.lbm-hx-kit__quien {
	font-size: 14px;
	line-height: 1.5;
	color: var(--x-suave);
	margin: 0 0 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--x-linea);
}

.lbm-hx-kit__lista {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	flex: 1 1 auto;
}

.lbm-hx-kit__lista li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid var(--x-linea);
	font-size: 14px;
}

.lbm-hx-kit__lista li:last-child {
	border-bottom: 0;
}

.lbm-hx-kit__video {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 4px 0 20px;
	padding: 12px 14px;
	border-radius: 14px;
	background: #fff;
	color: var(--x-grafito);
	box-shadow: inset 0 0 0 2px var(--x-naranja, #ef7d00);
}

.lbm-hx-kit__video svg {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	display: block;
	color: var(--x-naranja, #ef7d00);
}

.lbm-hx-kit__video-txt {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.lbm-hx-kit__video-t {
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 14.5px;
	letter-spacing: -.01em;
	line-height: 1.15;
}

.lbm-hx-kit__video-s {
	font-size: 12.5px;
	line-height: 1.3;
	color: var(--x-suave);
	opacity: 1;
}

.lbm-hx-kit__lista span {
	color: var(--x-suave);
	font-size: 11.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	flex: 0 1 auto;
	min-width: 0;
}

.lbm-hx-kit__lista strong {
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 15px;
	color: var(--x-tinta);
	text-align: right;
	flex: 0 1 auto;
	min-width: 0;
}

.lbm-hx-kit__ir {
	display: block;
	text-align: center;
	padding: 14px 18px;
	border-radius: 999px;
	background: var(--kit-color, var(--x-grafito));
	color: #fff;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 15px;
	transition: opacity .2s ease;
}

/* OASIS PRO (avanzada): naranja de marca, no el ocre apagado de la gama. */
.lbm-hx-kit.is-top .lbm-hx-kit__ir,
.et-db #et-boc .et-l .lbm-hx-kit.is-top .lbm-hx-kit__ir {
	background: #ef7d00;
}

.lbm-hx-kit:hover .lbm-hx-kit__ir {
	opacity: .88;
}

/* Lo que decide si etiqueta y valor caben en una linea es el ancho de la
   tarjeta, no el de la ventana. Ojo: @container mide la caja de contenido,
   sin el padding, asi que el umbral va bastante por debajo del ancho
   visible de la tarjeta (378 px de tarjeta son 316 px de contenido). */
@container kitcard (max-width: 260px) {
	.lbm-hx-kit__lista li {
		flex-direction: column;
		align-items: flex-start;
		gap: 2px;
	}

	.lbm-hx-kit__lista strong {
		text-align: left;
	}
}

@supports not (container-type: inline-size) {
	@media (max-width: 1200px) {
		.lbm-hx-kit__lista li {
			flex-direction: column;
			align-items: flex-start;
			gap: 2px;
		}

		.lbm-hx-kit__lista strong {
			text-align: left;
		}
	}
}

/* La pastilla va montada sobre el borde: no entra en el flujo y las
   tres tarjetas mantienen el mismo arranque de texto. El padding-block
   del carril deja hueco para que no la recorte el overflow. */

/**
 * LBM HOMEX — bloques de la portada con el sistema visual de OASIS.
 *
 * Colores de la casa: grafito #445055 (cabecera) y naranja #ef7d00 (pie).
 * El verde de la landing OASIS aqui no pinta nada: se copia la composicion,
 * no la paleta.
 *
 * Divi carga DESPUES del tema hijo, asi que todo lo que pisa a Divi lleva el
 * prefijo .et-db #et-boc .et-l (bloque del final). Lo que es solo nuestro no
 * lo necesita: Divi no tiene reglas para .lbm-hx.
 */

/*
 * Recorte horizontal de la home.
 *
 * NO va en html/body: overflow-x:hidden ahi convierte el documento en
 * contenedor de scroll y position:sticky de .lbm-head deja de pegarse
 * (la cabecera se iba al bajar; en fichas de producto no pasaba porque
 * este CSS no carga). overflow-x:clip en html/body, ademas, se comia
 * el gesto vertical del hero en iOS.
 *
 * #page-container esta DEBAJO de la cabecera, asi que el sticky sigue
 * anclado al viewport. clip no crea contenedor de scroll.
 */
html:has(body.home) {
	overflow-x: visible;
	overflow-y: visible;
}

body.home {
	overflow-x: visible;
	overflow-y: visible;
	/*
	 * Sin touch-action aqui. El valor efectivo de un elemento es el cruce
	 * del suyo con el de TODOS sus ancestros: con "pan-y" en el body,
	 * cualquier carril de dentro se quedaba sin deslizamiento lateral
	 * aunque pidiera "pan-x pan-y". Afectaba a los sliders de toda la
	 * home, no solo al hero.
	 */
	--x-ancho: min(2560px, 90vw);
	--x-gutter: max(18px, calc((100vw - var(--x-ancho)) / 2));
	--x-bloque: 88px;
}

body.home #page-container {
	overflow-x: hidden;
	overflow-x: clip;
}

/*
 * pan-y, no none.
 *
 * Con "none" el navegador no se quedaba ningun gesto sobre estos cuatro
 * carriles y el JS de lbm-hero tenia que mover la pagina a mano: sin
 * inercia, y perdiendo parte del recorrido cuando el arrastre salia algo
 * diagonal. Sintoma: tocabas una pastilla, arrastrabas hacia abajo y se
 * movia el bloque en vez de la pagina.
 *
 * Con "pan-x pan-y" el navegador se encarga de los dos ejes: mueve la
 * pagina en vertical (con su inercia) y desliza el carril en horizontal,
 * decidiendo el mas -y corrigiendo sobre la marcha- mucho mejor de lo que
 * lo hacia el JS.
 *
 * OJO: "pan-y" a secas NO vale. Significa "solo vertical", y deja el
 * carril sin deslizamiento lateral. Es el valor que ya usaban los otros
 * carriles de la home que si funcionaban.
 *
 * overscroll-behavior-y tambien se va: cortaba el encadenado del scroll
 * del carril hacia la pagina, que es justo lo que ahora hace falta.
 */
html body.home .lbm-hero-carril .et_pb_slides,
html body.home .lbm-hx-kits__grid,
html body.home .lbm-hx-prods__grid,
html body.home .et_pb_shop ul.products,
html body.home .lbm-hx-tablas__puntos,
html body.home .lbm-hx-tablas__chips {
	touch-action: pan-x pan-y;
	overscroll-behavior-x: contain;
}

.lbm-hx-kits,
.lbm-hx-tema--grafito,
.lbm-hx-prods--panel,
.lbm-hx-cats,
.lbm-hx-salas,
.lbm-hx-tablas {
	overflow-x: hidden;
}

.lbm-hx {
	--x-grafito: #445055;
	--x-grafito-osc: #333d41;
	--x-naranja: #ef7d00;
	--x-tinta: #1e2528;
	--x-suave: #6d7a80;
	--x-papel: #fff;
	--x-panel: #f2f4f4;
	--x-linea: rgba(68, 80, 85, .14);
	--x-radio: 22px;
	/* Misma vertical que el slider y las ofertas de Divi (90%, tope 2560). */
	--x-ancho: min(2560px, 90vw);
	--x-gutter: max(18px, calc((100vw - var(--x-ancho)) / 2));
	/* Un solo ritmo: 88px de aire en cada lado del bloque. */
	--x-bloque: 88px;
	--x-aire: 36px;

	box-sizing: border-box;
	font-family: "Futura Book", "Futura", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
	color: var(--x-tinta);
	background: var(--x-papel);
	padding: var(--x-bloque) var(--x-gutter);
}

.lbm-hx.lbm-hx-kits {
	background: var(--x-papel);
}

.lbm-hx *,
.lbm-hx *::before,
.lbm-hx *::after {
	box-sizing: border-box;
}

.lbm-hx h2,
.lbm-hx h3 {
	font-family: "Futura Bold", "Futura", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
	font-weight: 400;
	letter-spacing: -.02em;
	line-height: 1.12;
	margin: 0;
	color: var(--x-grafito);
	text-transform: none;
}

.lbm-hx p {
	margin: 0;
}

.lbm-hx a {
	text-decoration: none;
}

/* La seccion de Divi que sustituimos: sigue en el DOM, pero no se ve. */
.lbm-hx-oculto {
	display: none !important;
}

/* ---------- Piezas comunes ---------- */
.et-db #et-boc .et-l .lbm-hx .lbm-hx-eyebrow,
.lbm-hx-eyebrow {
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: clamp(16px, 1.7vw, 22px);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--x-naranja);
	margin: 0 0 18px !important;
}

.lbm-hx-head {
	max-width: var(--x-ancho);
	width: 100%;
	margin: 0 auto var(--x-aire);
	text-align: left;
}

.et-db #et-boc .et-l .lbm-hx .lbm-hx-head h2,
.lbm-hx-head h2 {
	font-size: clamp(30px, 4vw, 54px);
	margin: 0 !important;
}

.et-db #et-boc .et-l .lbm-hx .lbm-hx-head__sub,
.lbm-hx-head__sub {
	margin-top: 22px !important;
	font-size: clamp(16.5px, 1.5vw, 19.5px);
	line-height: 1.55;
	color: var(--x-suave);
}

/* Cabecera con el enlace "ver todo" a la derecha. */
.lbm-hx-head--fila {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px;
	max-width: var(--x-ancho);
	text-align: left;
}

.lbm-hx-head--fila .lbm-hx-head__sub {
	margin-top: 16px;
}

.lbm-hx-head__todo {
	flex: 0 0 auto;
	padding-bottom: 6px;
	border-bottom: 2px solid var(--x-naranja);
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 16px;
	color: var(--x-grafito);
	transition: color .2s ease;
}

.lbm-hx-head__todo::after {
	content: " →";
}

.lbm-hx-head__todo:hover {
	color: var(--x-naranja);
}

.lbm-hx-btn {
	display: inline-block;
	padding: 16px 34px;
	border-radius: 999px;
	background: var(--x-naranja);
	color: #fff;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 16.5px;
	line-height: 1.2;
	transition: transform .25s ease, box-shadow .25s ease;
}

.lbm-hx-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(239, 125, 0, .3);
	color: #fff;
}

.lbm-hx-btn--claro {
	background: #fff;
	color: var(--x-grafito);
}

.lbm-hx-btn--claro:hover {
	color: var(--x-grafito);
	box-shadow: 0 12px 26px rgba(0, 0, 0, .22);
}

/* Secundario: mismo tamano, sin relleno. Para el par de botones donde uno
   manda (visita virtual) y el otro acompana (como llegar). */
.lbm-hx-btn--linea {
	background: none;
	color: var(--x-grafito);
	border: 1px solid var(--x-linea);
}

.lbm-hx-btn--linea:hover {
	color: var(--x-naranja);
	border-color: var(--x-naranja);
	box-shadow: none;
}

/* ---------- Cifras ---------- */
.lbm-hx-cifras {
	display: none !important;
}

.lbm-hx-cifras__tira {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(18px, 3vw, 44px);
	max-width: var(--x-ancho);
	margin: 0 auto;
	padding: var(--x-aire) 0;
	border-top: 1px solid var(--x-linea);
	border-bottom: 1px solid var(--x-linea);
	text-align: center;
}

.lbm-hx-cifra strong {
	display: block;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-weight: 400;
	font-size: clamp(26px, 3.2vw, 44px);
	line-height: 1.05;
	letter-spacing: -.02em;
	color: var(--x-grafito);
}

.lbm-hx-cifra span {
	display: block;
	margin-top: 10px;
	font-size: 14.5px;
	line-height: 1.45;
	color: var(--x-suave);
}

/* ---------- Catalogo por categorias ---------- */
.lbm-hx-cats {
	background: var(--x-panel);
}

.lbm-hx-cats__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(14px, 1.6vw, 20px);
	max-width: var(--x-ancho);
	margin: 0 auto;
}

.lbm-hx-cats__flecha {
	display: none !important;
}

@media (min-width: 981px) {
	/*
	 * Una sola columna: 1180 px, la misma que el slider de la portada.
	 * El padding horizontal de .lbm-hx ya centra ese ancho; aqui solo
	 * nos aseguramos de que ningun interior se salga de --x-ancho.
	 */
	.lbm-hx-cats__carril,
	.lbm-hx-cats__grid,
	.lbm-hx-kits__grid,
	.lbm-hx-prods__grid,
	.lbm-hx-manuales__grid,
	.lbm-hx-tienda__visita,
	.lbm-hx-salas__cuerpo,
	.lbm-hx-tablas .lbm-hx-head,
	.lbm-hx-tablas__puntos-wrap,
	.lbm-hx-tablas__visor,
	.lbm-hx-tablas__cta,
	.lbm-hx-head,
	.lbm-hx-head--fila,
	.lbm-hx-tema__caja,
	.lbm-hx-cifras__tira,
	.lbm-hx-manuales,
	.lbm-hx-frase,
	.lbm-hx-datos,
	.lbm-hx-faq h2,
	.lbm-hx-faq__lista,
	.lbm-hx-cats__pie,
	.lbm-hg__grid {
		max-width: var(--x-ancho);
		width: 100%;
	}
}

.lbm-hx-cat {
	display: flex;
	flex-direction: column;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(22px, 2.2vw, 30px);
	border-radius: var(--x-radio);
	background-color: #fff;
	color: var(--x-tinta);
	transition: transform .3s ease, box-shadow .3s ease;
}

.lbm-hx-cat::before {
	content: none;
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.lbm-hx-cat > * {
	position: relative;
	z-index: 2;
}

.lbm-hx-cat > .lbm-hx-cat__foto {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
}

.lbm-hx-cat:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 38px rgba(30, 37, 40, .1);
}

/* La categoria que manda ocupa el doble y va en oscuro. */
.lbm-hx-cat--destacada {
	justify-content: flex-end;
	background-color: var(--x-grafito);
}

@media (min-width: 981px) {
	.lbm-hx-cat--destacada {
		grid-column: span 2;
		grid-row: span 2;
	}

	.lbm-hx-cat:not(.lbm-hx-cat--destacada) .lbm-hx-cat__icono {
		margin-bottom: auto;
	}

	.lbm-hx-cat--foto {
		min-height: 230px;
	}
}

.lbm-hx-cat--destacada::before {
	content: "";
	z-index: 1;
	background: linear-gradient(to top, rgba(20,24,28,.78) 0%, rgba(20,24,28,.42) 38%, rgba(20,24,28,.16) 70%, rgba(20,24,28,.05) 100%);
}

.lbm-hx-cat--destacada h3,
.lbm-hx-cat--destacada .lbm-hx-cat__n {
	color: #fff;
}

.lbm-hx-cat--destacada .lbm-hx-cat__n {
	color: rgba(255, 255, 255, .74);
}

.lbm-hx-cat--destacada h3 {
	font-size: clamp(28px, 3vw, 40px);
}

.lbm-hx-cat__icono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-bottom: 0;
	border-radius: 13px;
	background: var(--x-panel);
	color: var(--x-grafito);
}

.lbm-hx-cat--destacada .lbm-hx-cat__icono {
	background: rgba(255, 255, 255, .13);
	color: #fff;
	margin-bottom: clamp(28px, 4vw, 54px);
}

/* Pastillas del catalogo con foto de producto. */
.lbm-hx-cat--foto {
	justify-content: flex-end;
	background-color: var(--x-grafito);
	color: #fff;
}
.lbm-hx-cat--foto::before {
	content: "";
	z-index: 1;
	background: linear-gradient(to top, rgba(20,24,28,.84) 0%, rgba(20,24,28,.42) 48%, rgba(20,24,28,.12) 100%);
}
.lbm-hx-cat--foto h3,
.lbm-hx-cat--foto .lbm-hx-cat__n {
	color: #fff;
}
.lbm-hx-cat--foto .lbm-hx-cat__n {
	color: rgba(255, 255, 255, .78);
}
.lbm-hx-cat--foto .lbm-hx-cat__icono {
	background: rgba(255, 255, 255, .14);
	color: #fff;
}

.lbm-hx-cat__icono svg {
	width: 22px;
	height: 22px;
}

.lbm-hx-cat h3 {
	margin-top: 26px;
	font-size: clamp(17px, 1.5vw, 20px);
}

.lbm-hx-cat__n {
	margin-top: 8px;
	font-size: 14.5px;
	line-height: 1.45;
	color: var(--x-suave);
}

.lbm-hx-cat__ir {
	margin-top: 18px;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 15.5px;
	color: var(--x-naranja);
}

.lbm-hx-cat__ir::after {
	content: " →";
}

.lbm-hx .lbm-hx-cats__pie {
	max-width: var(--x-ancho);
	margin: var(--x-aire) auto 0;
	text-align: center;
	font-size: 15.5px;
	color: var(--x-suave);
}

.lbm-hx-cats__pie a {
	font-family: "Futura Bold", "Futura", sans-serif;
	color: var(--x-grafito);
	border-bottom: 2px solid var(--x-naranja);
	padding-bottom: 2px;
}

.lbm-hx-cats__pie a:hover {
	color: var(--x-naranja);
}

/* ---------- Rejilla de productos ---------- */
.lbm-hx-prods--panel {
	background: var(--x-panel);
}

.lbm-hx-prods__carril {
	position: relative;
	max-width: var(--x-ancho);
	margin: var(--x-aire) auto 0;
}

.lbm-hx-prods__flecha {
	display: none !important;
}

.lbm-hx-prods__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: clamp(14px, 1.6vw, 22px);
	max-width: var(--x-ancho);
	margin: 0 auto;
}

/* Seis pastillas: cinco caben, la sexta se desliza. Sin esto la sexta cae a otra fila. */
@media (min-width: 1101px) {
	.lbm-hx-prods--panel .lbm-hx-prods__grid:has(> :nth-child(6)) {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		scroll-snap-type: x mandatory;
	}
	.lbm-hx-prods--panel .lbm-hx-prods__grid:has(> :nth-child(6))::-webkit-scrollbar {
		display: none;
	}
	.lbm-hx-prods--panel .lbm-hx-prods__grid:has(> :nth-child(6)) > .lbm-hx-prod {
		flex: 0 0 calc((100% - 4 * clamp(14px, 1.6vw, 22px)) / 5);
		scroll-snap-align: start;
		min-width: 0;
	}
}

/*
 * Carril horizontal, como los kits y el hero.
 *
 * En escritorio son cinco en una fila. Cuando dejan de caber no se parten
 * en dos filas (la segunda quedaba coja, con uno o dos productos sueltos):
 * se deslizan de derecha a izquierda.
 */
@media (max-width: 1100px) {
	.lbm-hx-prods__carril {
		max-width: none;
		margin-inline: calc(50% - 50vw);
	}

	.lbm-hx-prods__grid {
		display: flex;
		flex-wrap: nowrap;
		gap: 12px;
		max-width: none;
		margin: 0;
		padding-inline: var(--x-gutter, 18px);
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--x-gutter, 18px);
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		touch-action: pan-x pan-y;
		scrollbar-width: none;
	}

	.lbm-hx-prods__grid::-webkit-scrollbar {
		display: none;
	}

	.lbm-hx-prods__grid > .lbm-hx-prod {
		flex: 0 0 clamp(190px, 27vw, 240px);
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.lbm-hx .lbm-hx-prods__carril > .lbm-hx-prods__flecha {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
		z-index: 5;
		width: 38px;
		height: 38px;
		border-radius: 50%;
		background: var(--x-naranja);
		color: #fff;
		box-shadow: 0 8px 20px rgba(239, 125, 0, .38);
		pointer-events: none;
	}

	.lbm-hx .lbm-hx-prods__carril > .lbm-hx-prods__flecha::before {
		content: "";
		width: 9px;
		height: 9px;
		border-right: 2.5px solid #fff;
		border-top: 2.5px solid #fff;
		transform: rotate(45deg);
		margin-left: -3px;
	}
}

@media (max-width: 620px) {
	.lbm-hx-prods__grid > .lbm-hx-prod {
		flex: 0 0 calc((100% - 12px - 48px) / 2);
		width: calc((100% - 12px - 48px) / 2);
		min-width: 0;
	}
}

.lbm-hx-prod {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: clamp(16px, 1.6vw, 22px);
	border-radius: var(--x-radio);
	background: #fff;
	color: var(--x-tinta);
	transition: transform .3s ease, box-shadow .3s ease;
}

.lbm-hx-prod:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 38px rgba(30, 37, 40, .1);
}

/* El descuento va sobre la foto: si empuja, mueve toda la rejilla. */
.lbm-hx-prod__dto {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	padding: 5px 11px;
	border-radius: 999px;
	background: var(--x-naranja);
	color: #fff;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 13px;
	line-height: 1.3;
	white-space: nowrap;
}

.lbm-hx-prod__img {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	margin-bottom: 18px;
	border-radius: 14px;
	background: var(--x-panel);
	overflow: hidden;
}

.lbm-hx-prod__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.lbm-hx-prod__marca {
	font-size: 12.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--x-naranja);
	margin-bottom: 8px;
}

.lbm-hx-prod h3 {
	font-size: clamp(15.5px, 1.3vw, 17.5px);
	line-height: 1.25;
}

/* Sin marca el titulo queda pegado a la foto: mismo hueco que ocupa la marca. */
.lbm-hx-prod__img + h3 {
	margin-top: 2px;
}

.lbm-hx-prod__precio {
	margin-top: auto;
	padding-top: 18px;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: clamp(16px, 1.4vw, 19px);
	color: var(--x-grafito);
}

.lbm-hx-prod__precio del {
	font-family: "Futura Book", "Futura", sans-serif;
	font-size: .78em;
	color: var(--x-suave);
	margin-right: 7px;
}

.lbm-hx-prod__precio ins {
	text-decoration: none;
	color: var(--x-grafito);
}

/* Tarjeta de marca (Sweet Seeds, Barney's, Perfect Tree…): logo + dto de linea. */
.lbm-hx-prod--marca {
	text-align: center;
	align-items: center;
}
.lbm-hx-prod--marca .lbm-hx-prod__img--logo {
	background: #fff;
	width: 100%;
}
.lbm-hx-prod--marca .lbm-hx-prod__img--logo img {
	object-fit: contain;
	padding: 2%;
}
.lbm-hx-prod--marca .lbm-hx-prod__txt {
	max-width: none;
	margin: 0;
	text-align: center;
}
.lbm-hx-prod--marca .lbm-hx-prod__pct {
	display: block;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: clamp(28px, 2.6vw, 38px);
	line-height: 1.05;
	color: #ef7d00;
	letter-spacing: -.02em;
}
.lbm-hx-prod--marca .lbm-hx-prod__txt span {
	display: block;
	margin-top: 4px;
	font-size: 14.5px;
	line-height: 1.3;
	color: #6d7a80;
}
.lbm-hx-prod--marca .lbm-hx-prod__dto {
	font-size: 15px;
	padding: 6px 12px;
}
.lbm-hx-prod--marca .lbm-hx-prod__ir {
	margin-top: auto;
	padding-top: 18px;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 15px;
	color: #ef7d00;
}
.lbm-hx-prod--marca .lbm-hx-prod__ir::after {
	content: " →";
}

/* ---------- Bloque partido: texto + imagen ---------- */
.lbm-hx-tema--grafito {
	background: #000;
}

.lbm-hx.lbm-hx-tema--grafito {
	padding-top: var(--x-bloque);
	padding-bottom: var(--x-bloque);
}

.lbm-hx-tema--grafito > .lbm-hx-eyebrow {
	max-width: var(--x-ancho);
	width: 100%;
	margin: 0 auto 16px;
	text-align: left;
}

/* Tarjeta gris del bloque de guias (foto planton + pastilla del libro). */
.lbm-hx-guia-card {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	align-items: stretch;
	max-width: var(--x-ancho);
	width: 100%;
	margin: 0 auto;
	background: #f3f1ef;
	border-radius: 28px;
	overflow: hidden;
}

.lbm-hx-guia-card__foto {
	min-height: 100%;
	background: #ece8e4;
}

.lbm-hx-guia-card__foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 20% 50%;
}

.lbm-hx-guia-card__txt {
	padding: clamp(28px, 3.4vw, 48px) clamp(24px, 3vw, 44px) clamp(28px, 3.2vw, 42px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.et-db #et-boc .et-l .lbm-hx-guia-card__txt h2,
.lbm-hx-guia-card__txt h2 {
	font-family: "Futura Bold", "Futura", sans-serif;
	font-weight: 400;
	font-size: clamp(22px, 2.4vw, 34px);
	line-height: 1.18;
	letter-spacing: -.02em;
	color: #ef7d00;
	margin: 0 0 16px;
	padding: 0;
	text-transform: none;
}

.lbm-hx-guia-card__lead {
	margin: 0 0 20px;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: clamp(20px, 2.2vw, 30px);
	line-height: 1.15;
	color: #ef7d00;
}

.et-db #et-boc .et-l .lbm-hx-guia-card__p,
.lbm-hx-guia-card__p {
	margin: 0 0 12px;
	padding: 0;
	font-size: clamp(15px, 1.25vw, 17px);
	line-height: 1.5;
	color: #3a4448;
}

.lbm-hx-guia-pill {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-top: 18px;
	align-self: flex-end;
	padding: 14px 22px 14px 16px;
	background: #3a4448;
	color: #fff;
	border-radius: 18px;
	text-decoration: none;
	line-height: 1.2;
}

.lbm-hx-guia-pill img {
	width: 52px;
	height: 52px;
	display: block;
	flex: 0 0 52px;
	object-fit: contain;
}

.lbm-hx-guia-pill span {
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: clamp(16px, 1.4vw, 20px);
	color: #fff;
}

.lbm-hx-guia-pill:hover {
	color: #fff;
	background: #2f383c;
}

@media (max-width: 980px) {
	.lbm-hx-guia-card {
		grid-template-columns: 1fr;
	}

	.lbm-hx-guia-card__foto {
		min-height: 240px;
		max-height: 320px;
	}

	.lbm-hx-guia-pill {
		align-self: stretch;
		justify-content: center;
	}
}

.lbm-hx-tema--grafito .lbm-hx-eyebrow {
	margin-bottom: 16px;
	text-align: left;
}

.lbm-hx-tema--grafito .lbm-hx-tema__lead {
	margin-top: 18px;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: clamp(18px, 1.7vw, 22px);
	line-height: 1.35;
	color: #fff;
}

.lbm-hx-tema__caja {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: clamp(32px, 5vw, 74px);
	align-items: center;
	max-width: var(--x-ancho);
	width: 100%;
	margin: 0 auto;
}

.lbm-hx-tema h2 {
	font-size: clamp(28px, 3.6vw, 48px);
}

.lbm-hx-tema--grafito h2 {
	color: #fff;
}

.lbm-hx-tema--grafito .lbm-hx-tema__cuerpo h2 {
	font-size: clamp(24px, 2.8vw, 38px);
	line-height: 1.22;
	letter-spacing: -.02em;
}

.lbm-hx-tema h2 + .lbm-hx-tema__txt {
	margin-top: clamp(20px, 2.2vw, 30px);
}

.lbm-hx-tema__txt {
	margin-top: 22px;
	font-size: clamp(16px, 1.4vw, 18.5px);
	line-height: 1.62;
	color: var(--x-suave);
}

.lbm-hx-tema--grafito .lbm-hx-tema__txt {
	color: rgba(255, 255, 255, .78);
}

.lbm-hx-tema__txt strong {
	font-family: "Futura Bold", "Futura", sans-serif;
	font-weight: 400;
	color: var(--x-tinta);
}

.lbm-hx-tema--grafito .lbm-hx-tema__txt strong {
	color: #fff;
}

.lbm-hx-tema__txt + .lbm-hx-tema__txt {
	margin-top: 16px;
}

.lbm-hx-tema__cta {
	margin-top: clamp(26px, 3vw, 36px);
}

.lbm-hx-tema__cta .lbm-hx-btn {
	max-width: 100%;
	white-space: normal;
	text-align: center;
	padding: 16px 28px;
	line-height: 1.25;
}

.lbm-hx-tema__visual img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--x-radio);
}

.lbm-hx-manuales {
	max-width: var(--x-ancho);
	width: 100%;
	margin: var(--x-bloque) auto 0;
}

.lbm-hx-manuales__carril {
	position: relative;
}

.lbm-hx-manuales__flecha {
	display: none;
}

.lbm-hx-manuales__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.4vw, 40px);
	align-items: start;
}

@media (max-width: 980px) {
	.lbm-hx-manuales__carril {
		margin-inline: calc(50% - 50vw);
	}

	.lbm-hx-manuales__grid {
		display: flex;
		flex-wrap: nowrap;
		gap: 12px;
		padding-inline: var(--x-gutter, 18px);
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--x-gutter, 18px);
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		touch-action: pan-x pan-y;
		scrollbar-width: none;
	}

	.lbm-hx-manuales__grid::-webkit-scrollbar {
		display: none;
	}

	.lbm-hx-manuales__grid > .lbm-hx-manual {
		flex: 0 0 calc((100% - 12px - 48px) / 2);
		width: calc((100% - 12px - 48px) / 2);
		min-width: 0;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.lbm-hx .lbm-hx-manuales__carril > .lbm-hx-manuales__flecha {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		right: 10px;
		top: 38%;
		transform: translateY(-50%);
		z-index: 5;
		width: 38px;
		height: 38px;
		border-radius: 50%;
		background: var(--x-naranja);
		color: #fff;
		box-shadow: 0 8px 20px rgba(239, 125, 0, .38);
		pointer-events: none;
	}

	.lbm-hx .lbm-hx-manuales__carril > .lbm-hx-manuales__flecha::before {
		content: "";
		width: 9px;
		height: 9px;
		border-right: 2.5px solid #fff;
		border-top: 2.5px solid #fff;
		transform: rotate(45deg);
		margin-left: -3px;
	}
}

.lbm-hx-manual {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: #fff;
	background: none;
	border-radius: 0;
}

.lbm-hx-manual:hover {
	color: #fff;
	transform: none;
	background: none;
}

.lbm-hx-manual__img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #000;
}

.lbm-hx-manual__img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.et-db #et-boc .et-l .lbm-hx-manual h3,
.lbm-hx-manual h3 {
	margin: 22px 0 16px;
	padding: 0;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: clamp(20px, 1.8vw, 26px);
	line-height: 1.15;
	letter-spacing: -.02em;
	color: var(--x-naranja);
	text-align: center;
}

.lbm-hx-manual__btn {
	display: inline-block;
	padding: 11px 22px;
	border-radius: 999px;
	background: var(--x-naranja);
	color: #fff;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 15px;
	line-height: 1.2;
}

.lbm-hx-manual:hover .lbm-hx-manual__btn {
	background: #ff8c14;
}

/*
 * Cabecera clara sobre el bloque negro.
 *
 * El bloque entraba directo en las tarjetas, sin decir que era: la
 * variante --claro repinta el titulo y el subtitulo de .lbm-hx-head, que
 * por defecto van en grafito sobre blanco.
 */
.lbm-hx-head--claro {
	text-align: left;
	margin-bottom: var(--x-aire);
}

.lbm-hx-head--claro h2 {
	color: #fff;
}

.lbm-hx-head--claro .lbm-hx-head__sub {
	color: rgba(255, 255, 255, .66);
}

.lbm-hx .lbm-hx-manuales__todos {
	/* Aire alrededor del enlace: pegado a la ultima fila de tarjetas
	   parecia parte de ellas. Lleva el prefijo .lbm-hx porque
	   ".lbm-hx p { margin: 0 }" viene despues y ganaba por orden. */
	margin: var(--x-aire) 0 0;
	text-align: left;
}

.lbm-hx-manuales__todos a {
	display: inline-block;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 16px;
	color: #fff;
	border-bottom: 2px solid var(--x-naranja);
	padding-bottom: 3px;
}

.lbm-hx-manuales__todos a:hover {
	color: var(--x-naranja);
}

/* ---------- La tienda ---------- */
.lbm-hx-frase {
	max-width: var(--x-ancho);
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

/*
 * Un solo titular de grow shop Valencia (el H1). El H2 es la promesa.
 */
.lbm-hx-frase h1 {
	font-family: "Futura Bold", "Futura", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
	font-weight: 400;
	font-size: clamp(28px, 3.6vw, 46px);
	line-height: 1.12;
	letter-spacing: -.02em;
	color: var(--x-grafito);
	margin: 0 0 18px;
	text-align: center;
}

.lbm-hx-frase h1 span {
	color: var(--x-naranja);
}

.lbm-hx-frase h2 {
	font-family: "Futura Book", "Futura", sans-serif;
	font-weight: 400;
	font-size: clamp(18px, 1.8vw, 24px);
	line-height: 1.35;
	letter-spacing: -.01em;
	color: var(--x-tinta);
	text-align: center;
}

.lbm-hx-frase h2 span {
	font-family: "Futura Bold", "Futura", sans-serif;
	color: var(--x-naranja);
}

.et-db #et-boc .et-l .lbm-hx-frase h2 {
	font-family: "Futura Book", "Futura", sans-serif;
	font-weight: 400;
	color: var(--x-tinta);
}

.et-db #et-boc .et-l .lbm-hx-frase h1 span,
.et-db #et-boc .et-l .lbm-hx-frase h2 span {
	color: var(--x-naranja);
}

/* ---------- La tienda: la visita ---------- */
/* El hero ya lleva los puntos debajo: este bloque no necesita el padding
   general de .lbm-hx arriba. Abajo si, para que respire con el catalogo. */
.lbm-hx.lbm-hx-tienda {
	padding-top: var(--x-bloque);
}

body.home .et_pb_section:has(.lbm-hero-carril),
body.home .et_pb_section_0 {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.lbm-hx-tienda__visita {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	align-items: stretch;
	gap: clamp(24px, 3.4vw, 52px);
	max-width: var(--x-ancho);
	margin: var(--x-bloque) auto 0;
}

.lbm-hx-tienda__foto {
	position: relative;
	min-height: 360px;
	border-radius: var(--x-radio);
	overflow: hidden;
	background: var(--x-panel);
}

.lbm-hx-tienda__foto img {
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
	border-radius: 0;
}

.lbm-hx-tienda__texto {
	display: flex;
	flex-direction: column;
	min-height: 360px;
	padding: clamp(24px, 2.6vw, 36px) clamp(22px, 2.4vw, 34px);
	border-radius: var(--x-radio);
	background: var(--x-panel);
	box-sizing: border-box;
}

.lbm-hx-tienda__texto p {
	font-size: clamp(16px, 1.45vw, 18.5px);
	line-height: 1.62;
	color: var(--x-suave);
	margin-bottom: 16px;
}

/* La frase de los 400 m2 es el gancho: en tinta y algo mayor. */
.lbm-hx-tienda__lead {
	font-family: "Futura Bold", "Futura", sans-serif;
	color: var(--x-tinta) !important;
	font-size: clamp(18px, 1.7vw, 21px) !important;
	line-height: 1.4 !important;
}

.lbm-hx-tienda__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: auto;
	padding-top: 22px;
}

@media (max-width: 900px) {
	.lbm-hx-tienda__visita {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 20px;
	}

	/* Entra por la foto, igual que el bloque de guias. */
	.lbm-hx-tienda__foto {
		order: -1;
		position: static;
		min-height: 0;
	}

	.lbm-hx-tienda__foto img {
		position: static;
		max-height: 176px;
		object-position: center 55%;
		border-radius: var(--x-radio);
	}

	.lbm-hx-tienda__texto {
		display: none;
	}

	.et-db #et-boc .et-l .lbm-hx-frase h1,
	.lbm-hx-frase h1 {
		font-size: 24px;
		margin-bottom: 10px;
	}

	.et-db #et-boc .et-l .lbm-hx-frase h2,
	.lbm-hx-frase h2 {
		font-size: 16px;
		line-height: 1.35;
	}

	.lbm-hx-tienda__lead {
		display: none;
	}

	/* El H2 ya dice veas/toques/pruebes: el segundo parrafo sobra en movil. */
	.lbm-hx-tienda__texto > p:not(.lbm-hx-tienda__lead) {
		display: none;
	}

	.lbm-hx-tienda__cta {
		display: none;
	}

	.lbm-hx-datos {
		margin-top: 16px;
	}
}

.lbm-hx-frase p {
	margin-top: 24px;
	font-size: clamp(16.5px, 1.5vw, 19.5px);
	line-height: 1.62;
	color: var(--x-suave);
}

.lbm-hx-datos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(14px, 1.6vw, 20px);
	max-width: var(--x-ancho);
	width: 100%;
	margin: var(--x-bloque) auto 0;
}

.lbm-hx-dato {
	padding: clamp(20px, 2vw, 26px);
	border-radius: var(--x-radio);
	background: var(--x-panel);
}
.lbm-hx-dato--lead {
	display: none;
}

.lbm-hx-dato strong {
	display: block;
	margin-bottom: 10px;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-weight: 400;
	font-size: 12.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--x-naranja);
}

.lbm-hx-dato span,
.lbm-hx-dato a {
	display: block;
	font-size: 15.5px;
	line-height: 1.5;
	color: var(--x-tinta);
}

/* 06C-P9: tel/mail visibles; caja ≥24px (LH target-size). */
body.home a[href^="tel:"],
body.home a[href^="mailto:"] {
	min-height: 24px;
	min-width: 24px;
	display: inline-flex;
	align-items: center;
}
.lbm-hx-dato a[href^="tel:"],
.lbm-hx-dato a[href^="mailto:"] {
	display: flex;
}

.lbm-hx-dato a:hover {
	color: var(--x-naranja);
}

/* Visita virtual / Cómo llegar: compactos al final de la home, solo movil. */
.lbm-hx-ir-movil {
	display: none;
}

@media (max-width: 900px) {
	.lbm-hx-ir-movil {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		gap: 10px;
		width: 100%;
		max-width: var(--x-ancho);
		margin: 28px auto 0;
		box-sizing: border-box;
	}

	.lbm-hx-ir-movil__btn,
	.et-db #et-boc .et-l .lbm-hx-ir-movil a.lbm-hx-ir-movil__btn {
		flex: 1 1 0;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 11px 14px;
		border-radius: 999px;
		background: var(--x-naranja);
		color: #fff;
		font-family: "Futura Bold", "Futura", sans-serif;
		font-size: 13.5px;
		letter-spacing: .02em;
		line-height: 1.2;
		text-align: center;
		text-decoration: none;
		box-sizing: border-box;
	}

	.lbm-hx-ir-movil__btn--maps,
	.et-db #et-boc .et-l .lbm-hx-ir-movil a.lbm-hx-ir-movil__btn--maps {
		background: transparent;
		color: var(--x-grafito);
		box-shadow: inset 0 0 0 1.5px var(--x-naranja);
	}
}

/* ---------- Preguntas frecuentes ---------- */
.lbm-hx-faq {
	padding-top: var(--x-bloque);
}

.lbm-hx-faq h2 {
	max-width: var(--x-ancho);
	width: 100%;
	margin: 0 auto var(--x-aire);
	font-size: clamp(26px, 3vw, 38px);
	text-align: left;
}

.lbm-hx-faq__lista {
	max-width: var(--x-ancho);
	width: 100%;
	margin: 0 auto;
}

.lbm-hx-faq__item {
	border-bottom: 1px solid var(--x-linea);
}

.lbm-hx-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 21px 0;
	cursor: pointer;
	list-style: none;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: clamp(15.5px, 1.4vw, 18.5px);
	line-height: 1.35;
	color: var(--x-grafito);
}

.lbm-hx-faq__item summary::-webkit-details-marker {
	display: none;
}

.lbm-hx-faq__item summary::after {
	content: "+";
	flex: 0 0 auto;
	font-size: 24px;
	line-height: 1;
	color: var(--x-naranja);
	transition: transform .25s ease;
}

.lbm-hx-faq__item[open] summary::after {
	transform: rotate(45deg);
}

.lbm-hx-faq__item p {
	padding: 0 0 22px;
	max-width: 92%;
	font-size: 16px;
	line-height: 1.65;
	color: var(--x-suave);
}

/* ---------- Tableta ---------- */
@media (max-width: 980px) {
	/*
	 * Carril táctil: como mucho dos pastillas a la vista. El resto
	 * se alcanza arrastrando. La destacada deja de ocupar 2×2.
	 */
	.lbm-hx-cats {
		overflow-x: hidden;
	}

	.lbm-hx-cats .lbm-hx-head,
	.lbm-hx-cats .lbm-hx-head h2,
	.lbm-hx-cats .lbm-hx-head__sub,
	.lbm-hx-cats__pie {
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.lbm-hx-cats__carril {
		position: relative;
	}

	.lbm-hx-cats__grid {
		display: flex;
		flex-wrap: nowrap;
		gap: 12px;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 0;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		touch-action: pan-x pan-y;
		scrollbar-width: none;
	}

	.lbm-hx-cats__grid::-webkit-scrollbar {
		display: none;
	}

	.lbm-hx-cats__grid > .lbm-hx-cat {
		flex: 0 0 calc((100% - 12px - 56px) / 2);
		width: calc((100% - 12px - 56px) / 2);
		max-width: none;
		min-width: 0;
		min-height: 168px;
		padding: 14px 12px 16px;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.lbm-hx-cats__grid > .lbm-hx-cat:not(.lbm-hx-cat--destacada) {
		justify-content: flex-end;
	}

	.lbm-hx-cats__grid > .lbm-hx-cat:not(.lbm-hx-cat--destacada) .lbm-hx-cat__icono {
		margin-bottom: auto;
	}

	.lbm-hx-cats__grid > .lbm-hx-cat h3 {
		margin-top: 10px;
		font-size: 15px;
		line-height: 1.2;
		hyphens: auto;
		overflow-wrap: break-word;
	}

	.lbm-hx-cats__carril::after {
		content: none;
	}

	.lbm-hx .lbm-hx-cats__carril > .lbm-hx-cats__flecha {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		right: 6px;
		top: 50%;
		transform: translateY(-50%);
		z-index: 5;
		width: 38px;
		height: 38px;
		border-radius: 50%;
		background: var(--x-naranja);
		color: #fff;
		box-shadow: 0 8px 20px rgba(239, 125, 0, .38);
		pointer-events: none;
	}

	.lbm-hx .lbm-hx-cats__carril > .lbm-hx-cats__flecha::before {
		content: "";
		width: 9px;
		height: 9px;
		border-right: 2.5px solid #fff;
		border-top: 2.5px solid #fff;
		transform: rotate(45deg);
		margin-left: -3px;
	}

	.lbm-hx-cat--destacada {
		grid-column: auto;
		grid-row: auto;
	}

	.lbm-hx-cat h3 {
		margin-top: 14px;
		font-size: 16px;
	}

	.lbm-hx-cat--destacada h3 {
		font-size: 17px;
	}

	.lbm-hx-cat--destacada .lbm-hx-cat__icono {
		margin-bottom: 10px;
	}

	.lbm-hx-cat__n {
		font-size: 13px;
	}

	.lbm-hx-head h2 {
		font-size: clamp(26px, 7vw, 34px);
		overflow-wrap: break-word;
		word-break: break-word;
	}

	.lbm-hx-head__sub {
		font-size: 15px;
		overflow-wrap: break-word;
	}

	.lbm-hx .lbm-hx-cats__pie {
		text-align: left;
		font-size: 14px;
		overflow-wrap: break-word;
		margin-top: var(--x-aire);
	}

	.lbm-hx-cat--destacada .lbm-hx-cat__n {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.lbm-hx-tema__caja {
		grid-template-columns: 1fr;
	}

	/* Con una sola columna la foto va primero: entra por la imagen. */
	.lbm-hx-tema__visual {
		order: -1;
	}

	.lbm-hx-tienda__lead {
		display: none;
	}

	.lbm-hx-dato--lead {
		display: block;
	}

	.lbm-hx-datos {
		display: flex;
		flex-wrap: nowrap;
		gap: 12px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--x-gutter, 18px);
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		overscroll-behavior-y: auto;
		touch-action: pan-x pan-y;
		scrollbar-width: none;
		margin-inline: calc(50% - 50vw);
		padding-inline: 0;
		max-width: none;
		width: auto;
	}

	.lbm-hx-datos::-webkit-scrollbar {
		display: none;
	}

	/* En iOS el padding de un carril con overflow no empuja el primer item. */
	.lbm-hx-datos::before,
	.lbm-hx-datos::after {
		content: "";
		flex: 0 0 var(--x-gutter, 18px);
		height: 1px;
		pointer-events: none;
	}

	.lbm-hx-datos > .lbm-hx-dato {
		flex: 0 0 min(72vw, 260px);
		scroll-snap-align: start;
		scroll-snap-stop: always;
		padding: 16px 18px;
	}
}

/**
 * El bloque de semillas se inyecta DENTRO de la columna de Divi (sustituye a
 * un modulo, no a una seccion entera), asi que hereda su ancho: 351 de 390.
 * Los demas bloques ocupan la pantalla completa y se notaba el escalon.
 * A sangre completa, como el resto.
 */
.et-db #et-boc .et-l .lbm-hx-prods--panel {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* ---------- Movil ---------- */
@media (max-width: 767px) {
	.lbm-hx {
		--x-bloque: 56px;
		--x-aire: 22px;
		padding: var(--x-bloque) var(--x-gutter);
	}

	body.home {
		--x-bloque: 56px;
	}

	.lbm-hx.lbm-hx-tienda {
		padding-top: var(--x-bloque);
	}

	.lbm-hx.lbm-hx-tema--grafito {
		padding-top: var(--x-bloque);
	}

	.lbm-hx-head h2 {
		font-size: 28px;
	}

	.lbm-hx-kits .lbm-hx-head {
		max-width: 100%;
	}

	/* Tres cifras en dos columnas dejan una huerfana: en movil van en fila. */
	.lbm-hx-cifras__tira {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.lbm-hx-head--fila {
		display: block;
	}

	.lbm-hx-head__todo {
		display: inline-block;
		margin-top: 20px;
	}

	.lbm-hx-faq__item p {
		max-width: 100%;
	}

	.et-db #et-boc .et-l .lbm-hx-manual h3,
	.lbm-hx-manual h3 {
		margin: 12px 0 10px;
		font-size: 15px;
	}

	.lbm-hx-manual__btn {
		padding: 9px 14px;
		font-size: 13px;
	}
}

/**
 * Divi carga despues del tema hijo. Estas tres reglas pisan estilos suyos,
 * asi que necesitan su prefijo para ganar.
 */
.et-db #et-boc .et-l .lbm-hx h2,
.et-db #et-boc .et-l .lbm-hx h3 {
	padding: 0;
	font-weight: 400;
}

.et-db #et-boc .et-l .lbm-hx p {
	padding: 0;
	line-height: inherit;
}

.et-db #et-boc .et-l .lbm-hx a {
	text-decoration: none;
}

/* ---------- Reseñas Google (4,9 + marca) ---------- */
.lbm-hx-resenas {
	--x-grafito: #445055;
	--x-naranja: #ef7d00;
	--x-tinta: #1e2528;
	--x-suave: #6d7a80;
	--x-radio: 22px;
	font-family: "Futura Book", "Futura", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
	color: var(--x-tinta);
	text-align: center;
	max-width: var(--x-ancho, min(2560px, 90vw));
	margin: 0 auto;
	padding: 0 0 8px;
}

.et-db #et-boc .et-l .lbm-hx-resenas h2,
.lbm-hx-resenas h2 {
	font-family: "Futura Bold", "Futura", sans-serif;
	font-weight: 400;
	font-size: clamp(28px, 3.6vw, 48px);
	line-height: 1.12;
	letter-spacing: -.02em;
	color: var(--x-grafito);
	margin: 18px 0 28px;
	padding: 0;
	max-width: none;
	text-align: center;
	text-transform: none;
}

.lbm-hx-resenas .lbm-hx-eyebrow {
	margin-bottom: 18px !important;
	text-align: center;
}

.lbm-hx-resenas__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 16px 28px;
	width: 100%;
	max-width: none;
	margin: 0 0 32px;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.et-db #et-boc .et-l .lbm-hx-resenas__nota,
.lbm-hx-resenas__nota {
	font-family: "Futura Bold", "Futura", sans-serif;
	font-weight: 400;
	font-size: clamp(56px, 6vw, 80px);
	line-height: .9;
	letter-spacing: -.05em;
	color: var(--x-grafito);
	margin: 0;
	padding: 0;
}

.lbm-hx-resenas__marca {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}

.lbm-hx-resenas__gog {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 17px;
	letter-spacing: -.01em;
	color: #202124;
}

.lbm-hx-resenas__g {
	width: 22px;
	height: 22px;
	display: block;
	flex: 0 0 22px;
}

.lbm-hx-resenas__stars {
	display: flex;
	align-items: center;
	gap: 2px;
	margin: 0;
}

.lbm-hx-resenas__stars svg {
	width: 20px;
	height: 20px;
	display: block;
}

.et-db #et-boc .et-l .lbm-hx-resenas__count,
.lbm-hx-resenas__count {
	font-size: 14.5px;
	color: #1a73e8;
	text-decoration: none;
}

.lbm-hx-resenas__count:hover {
	text-decoration: underline;
}

.et-db #et-boc .et-l .lbm-hx-resenas__txt,
.lbm-hx-resenas__txt {
	margin: 0 0 16px;
	padding: 0;
	max-width: 42em;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	font-size: clamp(16.5px, 1.5vw, 20px);
	line-height: 1.55;
	color: var(--x-suave);
	text-align: center;
}

html body.home.et-db #et-boc .et-l .et_pb_section:has(.lbm-home-reviews) .et_pb_row,
body.home .et_pb_section:has(.lbm-home-reviews) .et_pb_row {
	max-width: var(--x-ancho, min(2560px, 90vw)) !important;
	width: 100% !important;
}

html body.home.et-db #et-boc .et-l .et_pb_section:has(.lbm-home-reviews) .et_pb_text,
body.home .et_pb_section:has(.lbm-home-reviews) .et_pb_text {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

@media (max-width: 620px) {
	.lbm-hx-resenas__badge {
		width: 100%;
		padding: 0;
		gap: 12px 20px;
	}

	.et-db #et-boc .et-l .lbm-hx-resenas__nota,
	.lbm-hx-resenas__nota {
		font-size: 52px;
	}
}

.et-db #et-boc .et-l .lbm-hx-kit {
	background: var(--x-panel, #f2f4f4);
	color: var(--x-grafito);
}

.et-db #et-boc .et-l .lbm-hx-kit h3 {
	color: var(--x-grafito);
}

.et-db #et-boc .et-l .lbm-hx-kit__ir {
	color: #fff;
}

/* Lumatek: morado de marca, no el verde OASIS. */
.lbm-hx-kit--lumatek {
	--kit-color: #5d2c91;
}

.lbm-hx-kit--lumatek .lbm-hx-kit__ir,
.et-db #et-boc .et-l .lbm-hx-kit--lumatek .lbm-hx-kit__ir {
	background: #5d2c91;
	color: #fff;
}

.lbm-hx-kit__lumatek {
	color: #5d2c91;
}

.et-db #et-boc .et-l .lbm-hx-kit__lista strong {
	color: var(--x-tinta);
}

/* ------------------------------------------------------------------ *
 * Salas a medida (asociaciones y profesionales).
 *
 * Tras los kits: el armario es para casa; esto es la sala. Fondo gris
 * de catalogo para que el visor blanco y las pastillas de pasos se
 * lean como el resto de la portada.
 * ------------------------------------------------------------------ */

.lbm-hx.lbm-hx-salas {
	background: var(--x-panel, #f2f4f4);
}

.lbm-hx-salas__cuerpo {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(280px, 0.88fr);
	gap: clamp(28px, 3.2vw, 56px);
	max-width: var(--x-ancho);
	margin: 0 auto;
	align-items: start;
}

.lbm-hx-salas__marco {
	position: relative;
	background: #fff;
	border-radius: var(--x-radio, 22px);
	aspect-ratio: 5 / 4;
	overflow: hidden;
	touch-action: pan-y;
}

.lbm-hx-salas__fig {
	position: absolute;
	inset: 0;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px 44px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .28s ease;
}

.lbm-hx-salas__fig.is-on {
	opacity: 1;
	pointer-events: auto;
	z-index: 1;
}

.lbm-hx-salas__fig[hidden] {
	display: flex !important;
}

.et-db #et-boc .et-l .lbm-hx-salas__fig img,
.lbm-hx-salas__fig img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain !important;
	object-position: center center;
}

.lbm-hx-salas__flecha {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 42px;
	height: 42px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--x-grafito, #445055);
	color: #fff;
	cursor: pointer;
	transform: translateY(-50%);
	transition: background .2s ease, transform .2s ease;
}

.lbm-hx-salas__flecha::before {
	content: "";
	display: block;
	width: 9px;
	height: 9px;
	margin: 0 auto;
	border-right: 2.5px solid #fff;
	border-top: 2.5px solid #fff;
}

.lbm-hx-salas__flecha--prev {
	left: 10px;
}

.lbm-hx-salas__flecha--prev::before {
	transform: rotate(-135deg);
	margin-left: 4px;
}

.lbm-hx-salas__flecha--next {
	right: 10px;
}

.lbm-hx-salas__flecha--next::before {
	transform: rotate(45deg);
	margin-right: 4px;
}

.lbm-hx-salas__flecha:hover {
	background: var(--x-naranja, #ef7d00);
}

.et-db #et-boc .et-l .lbm-hx-salas__cap,
.lbm-hx-salas__cap {
	margin: 14px 2px 0 !important;
	font-size: 15px;
	line-height: 1.45;
	color: var(--x-suave, #6d7a80);
	min-height: 2.2em;
}

.lbm-hx-salas__vistas {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

.lbm-hx-salas__vista {
	margin: 0;
	padding: 8px 16px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: var(--x-grafito, #445055);
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 13.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: inset 0 0 0 1px var(--x-linea, rgba(68, 80, 85, .14));
	transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.lbm-hx-salas__vista.is-on,
.lbm-hx-salas__vista:hover {
	background: var(--x-naranja, #ef7d00);
	color: #fff;
	box-shadow: none;
}

.lbm-hx-salas__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 16px;
}

.lbm-hx-salas__dot {
	width: 8px;
	height: 8px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(68, 80, 85, .28);
	cursor: pointer;
}

.lbm-hx-salas__dot.is-on {
	background: var(--x-naranja, #ef7d00);
	width: 22px;
	border-radius: 999px;
}

.lbm-hx-salas__pasos {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.lbm-hx-salas__pasos li {
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 14px;
	align-items: start;
	background: #fff;
	border-radius: var(--x-radio, 22px);
	padding: 16px 18px 16px 16px;
}

.lbm-hx-salas__n {
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 15px;
	letter-spacing: .08em;
	color: var(--x-naranja, #ef7d00);
	padding-top: 2px;
}

.et-db #et-boc .et-l .lbm-hx-salas__pasos strong,
.lbm-hx-salas__pasos strong {
	display: block;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 16.5px;
	font-weight: 400;
	letter-spacing: -.01em;
	color: var(--x-grafito, #445055);
	margin: 0 0 4px;
}

.et-db #et-boc .et-l .lbm-hx-salas__pasos span,
.lbm-hx-salas__pasos li div span {
	display: block;
	font-size: 14.5px;
	line-height: 1.45;
	color: var(--x-suave, #6d7a80);
}

.lbm-hx-salas__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 22px;
}

.et-db #et-boc .et-l .lbm-hx-salas__pie,
.lbm-hx-salas__pie {
	margin-top: 16px !important;
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--x-suave, #6d7a80);
}

.lbm-hx-salas__pie a {
	color: var(--x-grafito, #445055);
	border-bottom: 1.5px solid var(--x-naranja, #ef7d00);
}

.lbm-hx-salas__pie a:hover {
	color: var(--x-naranja, #ef7d00);
}

@media (max-width: 1100px) {
	.lbm-hx-salas__cuerpo {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.lbm-hx-salas__marco {
		aspect-ratio: 4 / 3;
	}
}

@media (max-width: 767px) {
	.lbm-hx-salas__fig {
		padding: 12px 38px;
	}

	.lbm-hx-salas__flecha {
		width: 36px;
		height: 36px;
	}

	.lbm-hx-salas__pasos li {
		padding: 14px 14px 14px 12px;
		gap: 10px;
		grid-template-columns: 34px 1fr;
	}

	.lbm-hx-salas__cta {
		flex-direction: column;
	}

	.lbm-hx-salas__cta .lbm-hx-btn {
		text-align: center;
	}

	.lbm-hx-salas__cap {
		font-size: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lbm-hx-salas__fig {
		transition: none;
	}
}

/* ------------------------------------------------------------------ *
 * Tablas de cultivo a medida.
 *
 * Tras las salas. HTML de verdad, no capturas: el ciclo entero en
 * escritorio, receta de la semana en el movil. La columna 12/12 es
 * el gozne del cultivo, pintada de naranja.
 * ------------------------------------------------------------------ */

.lbm-hx.lbm-hx-tablas {
	background: var(--x-papel, #fff);
}

.lbm-hx-tablas .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.et-db #et-boc .et-l .lbm-hx-tablas ul.lbm-hx-tablas__chips,
.et-db #et-boc .et-l .lbm-hx-tablas ul.lbm-hx-tablas__puntos,
.et-db #et-boc .et-l .lbm-hx-tablas ul.lbm-hx-mix,
.et-db #et-boc .et-l .lbm-hx-tablas ul.lbm-hx-feed__fijo,
.et-db #et-boc .et-l .lbm-hx-tablas ul.lbm-hx-tablas__notas,
.lbm-hx-tablas__chips,
.lbm-hx-tablas__puntos,
.lbm-hx-mix,
.lbm-hx-feed__fijo,
.lbm-hx-tablas__notas {
	list-style: none !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
}

.lbm-hx-tablas__chips li,
.lbm-hx-tablas__puntos li,
.lbm-hx-mix li,
.lbm-hx-feed__fijo li,
.lbm-hx-tablas__notas li {
	list-style: none !important;
}

.lbm-hx-tablas__chips li::marker,
.lbm-hx-tablas__puntos li::marker,
.lbm-hx-mix li::marker,
.lbm-hx-feed__fijo li::marker,
.lbm-hx-tablas__notas li::marker {
	content: none;
}

.lbm-hx-tablas__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.lbm-hx-tablas__chips li {
	flex: 0 0 auto;
	white-space: nowrap;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--x-panel, #f2f4f4);
	color: var(--x-grafito, #445055);
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 13px;
	letter-spacing: .04em;
}

.lbm-hx-tablas__puntos-wrap {
	max-width: var(--x-ancho);
	width: 100%;
	margin: 0 auto var(--x-aire, 36px);
}

.lbm-hx-tablas__puntos-marco {
	position: relative;
}

.et-db #et-boc .et-l ul.lbm-hx-tablas__puntos,
.lbm-hx-tablas__puntos {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(12px, 1.6vw, 20px);
	max-width: none;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lbm-hx-tablas__puntos li {
	min-width: 0;
	min-height: 148px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	background: var(--x-panel, #f2f4f4);
	border-radius: var(--x-radio, 22px);
	padding: 22px 22px;
}

@media (max-width: 900px) {
	.et-db #et-boc .et-l ul.lbm-hx-tablas__puntos,
	.lbm-hx-tablas__puntos {
		display: flex !important;
		flex-wrap: nowrap;
		gap: 12px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 0;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		touch-action: pan-x pan-y;
		scrollbar-width: none;
	}

	.lbm-hx-tablas__puntos::-webkit-scrollbar {
		display: none;
	}

	.lbm-hx-tablas__puntos li {
		flex: 0 0 100%;
		width: 100%;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.lbm-hx-tablas__puntos-dots {
		display: flex !important;
	}
}

.lbm-hx-tablas__puntos-flecha {
	display: none;
}

.lbm-hx-tablas__puntos-flecha::before {
	content: "";
	display: block;
	width: 9px;
	height: 9px;
	margin: 0 auto;
	border-right: 2.5px solid #fff;
	border-top: 2.5px solid #fff;
}

.lbm-hx-tablas__puntos-flecha--prev {
	left: 10px;
}

.lbm-hx-tablas__puntos-flecha--prev::before {
	transform: rotate(-135deg);
	margin-left: 4px;
}

.lbm-hx-tablas__puntos-flecha--next {
	right: 10px;
}

.lbm-hx-tablas__puntos-flecha--next::before {
	transform: rotate(45deg);
	margin-right: 4px;
}

.lbm-hx-tablas__puntos-flecha:hover {
	background: var(--x-naranja, #ef7d00);
}

.lbm-hx-tablas__puntos-flecha:focus-visible {
	outline: 2px solid var(--x-naranja, #ef7d00);
	outline-offset: 2px;
}

.lbm-hx-tablas__puntos-dots {
	display: none;
	justify-content: center;
	gap: 8px;
	margin-top: 14px;
}

.lbm-hx-tablas__puntos-dot {
	width: 8px;
	height: 8px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(68, 80, 85, .28);
	cursor: pointer;
}

.lbm-hx-tablas__puntos-dot.is-on {
	background: var(--x-naranja, #ef7d00);
	width: 22px;
	border-radius: 999px;
}

.lbm-hx-tablas__puntos-dot:focus-visible {
	outline: 2px solid var(--x-naranja, #ef7d00);
	outline-offset: 2px;
}

.et-db #et-boc .et-l .lbm-hx-tablas__puntos strong,
.lbm-hx-tablas__puntos strong {
	display: block;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 16.5px;
	font-weight: 400;
	color: var(--x-grafito, #445055);
	margin: 0 0 6px;
}

.et-db #et-boc .et-l .lbm-hx-tablas__puntos span,
.lbm-hx-tablas__puntos span {
	display: block;
	font-size: 14.5px;
	line-height: 1.45;
	color: var(--x-suave, #6d7a80);
}

.lbm-hx-tablas__visor {
	max-width: var(--x-ancho);
	width: 100%;
	margin: 0 auto;
}

.et-db #et-boc .et-l .lbm-hx-tablas__ej,
.lbm-hx-tablas__ej {
	max-width: none;
	margin: 0 0 12px !important;
	padding-inline: 0;
	box-sizing: border-box;
}

.lbm-hx-tablas__fan {
	margin: 8px 0 0;
	width: 100%;
	overflow: hidden;
	border-radius: var(--x-radio, 22px);
}

.lbm-hx-tablas__fan picture,
.lbm-hx-tablas__fan img {
	display: block;
	width: 100%;
	height: auto;
}

.et-db #et-boc .et-l .lbm-hx-tablas__ej,
.lbm-hx-tablas__ej {
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 13.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--x-naranja, #ef7d00);
}

.lbm-hx-tablas__vistas {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 18px;
}

.lbm-hx-tablas__fig {
	margin: 0;
	display: none;
}

.lbm-hx-tablas__fig.is-on {
	display: block;
}

.lbm-hx-tablas__fig[hidden] {
	display: none !important;
}

.et-db #et-boc .et-l .lbm-hx-tablas__cap,
.lbm-hx-tablas__cap {
	margin: 14px 2px 0 !important;
	font-size: 15px;
	line-height: 1.45;
	color: var(--x-suave, #6d7a80);
	min-height: 2.2em;
}

.lbm-hx-tablas__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	max-width: var(--x-ancho);
	margin: 28px auto 0;
}

/* --- Meta de cada ejemplo --- */

.lbm-hx-feed__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 14px;
}

.lbm-hx-feed__meta span {
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--x-panel, #f2f4f4);
	color: var(--x-grafito, #445055);
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 12.5px;
	letter-spacing: .04em;
}

.lbm-hx-feed__meta span.is-unidad {
	background: var(--x-naranja, #ef7d00);
	color: #fff;
}

/* --- Tabla de ciclo (escritorio) --- */

.lbm-hx-feed {
	background: var(--x-panel, #f2f4f4);
	border-radius: var(--x-radio, 22px);
	padding: 14px;
}

.lbm-hx-feed__scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-x pan-y;
	background: #fff;
	border-radius: 14px;
}

.et-db #et-boc .et-l table.lbm-hx-feed__tabla,
table.lbm-hx-feed__tabla {
	width: 100%;
	min-width: 880px;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
}

.et-db #et-boc .et-l .lbm-hx-feed__tabla th,
.et-db #et-boc .et-l .lbm-hx-feed__tabla td,
.lbm-hx-feed__tabla th,
.lbm-hx-feed__tabla td {
	border: 0 !important;
	padding: 8px 6px !important;
	text-align: center;
	vertical-align: middle;
	font-size: 12.5px;
	line-height: 1.25;
	color: var(--x-grafito, #445055);
	font-variant-numeric: tabular-nums;
}

.et-db #et-boc .et-l .lbm-hx-feed__tabla th.lbm-hx-feed__abono-h,
.et-db #et-boc .et-l .lbm-hx-feed__tabla th.lbm-hx-feed__abono,
.lbm-hx-feed__abono-h,
.lbm-hx-feed__abono {
	position: sticky;
	left: 0;
	z-index: 2;
	text-align: left;
	padding: 8px 14px 8px 12px !important;
	min-width: 128px;
	max-width: 168px;
	background: #fff;
	box-shadow: 6px 0 10px rgba(68, 80, 85, .06);
	white-space: nowrap;
}

.lbm-hx-feed__abono-h {
	z-index: 4;
	background: var(--x-grafito, #445055) !important;
	color: #fff !important;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	border-top-left-radius: 14px;
}

.et-db #et-boc .et-l .lbm-hx-feed__fase,
.lbm-hx-feed__fase {
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 11.5px;
	font-weight: 400;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff !important;
	padding: 9px 8px !important;
}

.lbm-hx-feed__fase--crec {
	background: var(--x-grafito, #445055);
}

.lbm-hx-feed__fase--cambio {
	background: var(--x-naranja, #ef7d00);
}

.lbm-hx-feed__fase--flor {
	background: var(--x-grafito-osc, #333d41);
}

.et-db #et-boc .et-l .lbm-hx-feed__sem,
.lbm-hx-feed__sem {
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 12px;
	font-weight: 400;
	color: var(--x-suave, #6d7a80) !important;
	background: #fff;
	border-bottom: 1px solid rgba(68, 80, 85, .1) !important;
	min-width: 58px;
}

.lbm-hx-feed__sem--cambio {
	color: var(--x-naranja, #ef7d00) !important;
	background: rgba(239, 125, 0, .08);
}

.et-db #et-boc .et-l .lbm-hx-feed__abono strong,
.lbm-hx-feed__abono strong {
	display: block;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 13.5px;
	font-weight: 400;
	color: var(--x-grafito, #445055);
	margin: 0;
}

.et-db #et-boc .et-l .lbm-hx-feed__abono em,
.lbm-hx-feed__abono em {
	display: block;
	font-style: normal;
	font-size: 10.5px;
	letter-spacing: .04em;
	color: var(--x-naranja, #ef7d00);
}

.et-db #et-boc .et-l .lbm-hx-feed__abono small,
.lbm-hx-feed__abono small {
	display: block;
	font-size: 11px;
	color: var(--x-suave, #6d7a80);
}

.lbm-hx-feed__td {
	background: #fff;
}

.lbm-hx-feed__tabla tbody tr:nth-child(even) .lbm-hx-feed__td,
.lbm-hx-feed__tabla tbody tr:nth-child(even) .lbm-hx-feed__abono {
	background: #f7f8f8;
}

.lbm-hx-feed__td--cambio {
	background: rgba(239, 125, 0, .07);
}

.lbm-hx-feed__tabla tbody tr:nth-child(even) .lbm-hx-feed__td--cambio {
	background: rgba(239, 125, 0, .11);
}

.lbm-hx-feed__td.is-vacio {
	background: #fafbfb;
}

.lbm-hx-feed__td--cambio.is-vacio {
	background: rgba(239, 125, 0, .04);
}

.et-db #et-boc .et-l .lbm-hx-feed__td span,
.lbm-hx-feed__td span {
	display: inline-block;
	font-size: 12.5px;
	color: var(--x-grafito, #445055);
}

.lbm-hx-feed__tabla sup {
	color: var(--x-naranja, #ef7d00);
	font-size: 9px;
	font-weight: 700;
	margin-left: 1px;
}

.lbm-hx-feed__siempre td {
	text-align: left !important;
	font-size: 13px !important;
	color: var(--x-suave, #6d7a80) !important;
	padding: 10px 14px !important;
	background: #fff;
}

.lbm-hx-feed__clima {
	border-top: 2px solid rgba(68, 80, 85, .12);
}

.lbm-hx-feed__clima .lbm-hx-feed__td,
.lbm-hx-feed__clima .lbm-hx-feed__abono {
	background: var(--x-panel, #f2f4f4) !important;
}

.lbm-hx-feed__clima .lbm-hx-feed__td--cambio {
	background: rgba(239, 125, 0, .1) !important;
}

.lbm-hx-feed__clima .lbm-hx-feed__td span {
	font-size: 11.5px;
	color: var(--x-grafito, #445055);
}

.et-db #et-boc .et-l .lbm-hx-feed__leyenda,
.lbm-hx-feed__leyenda {
	margin: 10px 4px 2px !important;
	font-size: 12.5px;
	line-height: 1.4;
	color: var(--x-suave, #6d7a80);
}

.et-db #et-boc .et-l ul.lbm-hx-feed__fijo,
.lbm-hx-feed__fijo {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0 0 !important;
	padding: 0;
}

.lbm-hx-feed__fijo li {
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--x-panel, #f2f4f4);
	font-size: 13.5px;
	color: var(--x-grafito, #445055);
}

.et-db #et-boc .et-l .lbm-hx-feed__fijo strong,
.lbm-hx-feed__fijo strong {
	font-family: "Futura Bold", "Futura", sans-serif;
	font-weight: 400;
	margin-right: 6px;
}

.et-db #et-boc .et-l ul.lbm-hx-tablas__notas,
.lbm-hx-tablas__notas {
	margin: 16px 0 0 !important;
	padding: 0;
	display: grid;
	gap: 8px;
}

.lbm-hx-tablas__notas li {
	padding: 12px 16px;
	border-radius: 14px;
	background: var(--x-panel, #f2f4f4);
	font-size: 14px;
	line-height: 1.45;
	color: var(--x-grafito, #445055);
}

.et-db #et-boc .et-l .lbm-hx-tablas__notas b,
.lbm-hx-tablas__notas b {
	display: inline-block;
	min-width: 1.6em;
	margin-right: 8px;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-weight: 400;
	color: var(--x-naranja, #ef7d00);
}

/* --- Receta por semana (movil) --- */

.lbm-hx-feed-mov {
	display: none;
}

.et-db #et-boc .et-l .lbm-hx-feed-mov__hint,
.lbm-hx-feed-mov__hint {
	margin: 0 0 10px !important;
	font-size: 14px;
	color: var(--x-suave, #6d7a80);
}

.lbm-hx-feed-mov__sems {
	display: flex;
	flex-wrap: nowrap;
	gap: 6px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-x pan-y;
	padding: 2px 0 12px;
	scrollbar-width: none;
}

.lbm-hx-feed-mov__sems::-webkit-scrollbar {
	display: none;
}

.lbm-hx-feed-mov__chip {
	flex: 0 0 auto;
	margin: 0;
	padding: 8px 12px;
	border: 0;
	border-radius: 999px;
	background: var(--x-panel, #f2f4f4);
	color: var(--x-grafito, #445055);
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 13px;
	letter-spacing: .04em;
	cursor: pointer;
	box-shadow: inset 0 0 0 1px rgba(68, 80, 85, .1);
}

.lbm-hx-feed-mov__chip--cambio {
	box-shadow: inset 0 0 0 1.5px var(--x-naranja, #ef7d00);
	color: var(--x-naranja, #ef7d00);
}

.lbm-hx-feed-mov__chip.is-on,
.lbm-hx-feed-mov__chip:hover {
	background: var(--x-grafito, #445055);
	color: #fff;
	box-shadow: none;
}

.lbm-hx-feed-mov__chip--cambio.is-on,
.lbm-hx-feed-mov__chip--cambio:hover {
	background: var(--x-naranja, #ef7d00);
	color: #fff;
}

.lbm-hx-feed-mov__receta {
	display: none;
	background: var(--x-panel, #f2f4f4);
	border-radius: var(--x-radio, 22px);
	padding: 18px 16px 16px;
}

.lbm-hx-feed-mov__receta.is-on {
	display: block;
}

.lbm-hx-feed-mov__receta[hidden] {
	display: none !important;
}

.et-db #et-boc .et-l .lbm-hx-feed-mov__receta h3,
.lbm-hx-feed-mov__receta h3 {
	margin: 0 0 12px !important;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 18px;
	font-weight: 400;
	color: var(--x-grafito, #445055);
}

.et-db #et-boc .et-l ul.lbm-hx-mix,
.lbm-hx-mix {
	margin: 0 !important;
	padding: 0;
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
}

.lbm-hx-mix li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 12px 16px;
	border-bottom: 1px solid rgba(68, 80, 85, .08);
}

.lbm-hx-mix li:last-child {
	border-bottom: 0;
}

.et-db #et-boc .et-l .lbm-hx-mix strong,
.lbm-hx-mix strong {
	font-family: "Futura Bold", "Futura", sans-serif;
	font-weight: 400;
	font-size: 15.5px;
	color: var(--x-grafito, #445055);
}

.et-db #et-boc .et-l .lbm-hx-mix em,
.lbm-hx-mix em {
	display: inline;
	margin-left: 6px;
	font-style: normal;
	font-size: 11px;
	color: var(--x-naranja, #ef7d00);
}

.et-db #et-boc .et-l .lbm-hx-mix span,
.lbm-hx-mix span {
	font-variant-numeric: tabular-nums;
	font-size: 16px;
	color: var(--x-grafito, #445055);
	white-space: nowrap;
}

.et-db #et-boc .et-l .lbm-hx-mix small,
.lbm-hx-mix small {
	font-size: 12px;
	color: var(--x-suave, #6d7a80);
}

.et-db #et-boc .et-l .lbm-hx-mix-vacio,
.lbm-hx-mix-vacio {
	margin: 0 !important;
	padding: 16px;
	background: #fff;
	border-radius: 16px;
	font-size: 15px;
	color: var(--x-suave, #6d7a80);
}

.lbm-hx-clima {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin: 12px 0 0;
}

.lbm-hx-clima div {
	background: #fff;
	border-radius: 14px;
	padding: 10px 12px;
}

.et-db #et-boc .et-l .lbm-hx-clima dt,
.lbm-hx-clima dt {
	margin: 0;
	font-size: 11.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--x-suave, #6d7a80);
}

.et-db #et-boc .et-l .lbm-hx-clima dd,
.lbm-hx-clima dd {
	margin: 4px 0 0;
	font-family: "Futura Bold", "Futura", sans-serif;
	font-size: 14.5px;
	color: var(--x-grafito, #445055);
}

.lbm-hx-tablas .lbm-hx-salas__vista:focus-visible,
.lbm-hx-feed-mov__chip:focus-visible {
	outline: 2px solid var(--x-naranja, #ef7d00);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.lbm-hx-tablas .lbm-hx-salas__vista,
	.lbm-hx-feed-mov__chip,
	.lbm-hx-tablas__cta .lbm-hx-btn,
	.lbm-hx-tablas__puntos-flecha,
	.lbm-hx-tablas__puntos-dot {
		transition: none;
	}
}

.et-db #et-boc .et-l ul.lbm-hx-feed__fijo.is-mov,
.lbm-hx-feed__fijo.is-mov {
	display: none !important;
}

@media (max-width: 900px) {
	.lbm-hx-feed {
		display: none;
	}

	.lbm-hx-feed-mov {
		display: block;
	}

	.lbm-hx-feed__siempre {
		display: none;
	}

	.et-db #et-boc .et-l ul.lbm-hx-feed__fijo.is-mov,
	.lbm-hx-feed__fijo.is-mov {
		display: flex !important;
	}
}

@media (max-width: 480px) {
	.lbm-hx-tablas__puntos li {
		padding: 22px 18px;
		min-height: 136px;
	}
}

@media (max-width: 767px) {
	.lbm-hx-tablas__cta {
		flex-direction: column;
	}

	.lbm-hx-tablas__cta .lbm-hx-btn {
		text-align: center;
	}

	.lbm-hx-tablas__cap {
		font-size: 14px;
	}

	.lbm-hx-clima {
		grid-template-columns: 1fr 1fr;
	}
}
