/**
 * =========================================================
 * HOME.CSS
 * Proyecto: La Floristería Miriam Franco
 * =========================================================
 *
 * Archivo dedicado a la página Home.
 *
 * Criterios de mantenimiento:
 * - Usar clases propias .lf-* agregadas manualmente en WordPress/Spectra.
 * - Evitar depender de IDs/clases generadas por Astra, Spectra o Gutenberg.
 * - No modificar colores ya establecidos salvo petición explícita.
 * - Mantener los ajustes organizados por sección y breakpoint.
 * - Usar !important únicamente para ganar a estilos estructurales del builder.
 */

/*
 * =========================================================
 * MAPA RÁPIDO DE BREAKPOINTS
 * =========================================================
 *
 * Desktop base: estilos fuera de media query.
 * Laptop / desktop intermedio: <= 1199px.
 * Tablet: 768px - 976px.
 * Tablet y menores: <= 976px, cuando una regla debe seguir viva en mobile.
 * Mobile: <= 767px.
 * Mobile pequeño: <= 544px.
 * Mobile muy estrecho: <= 390px.
 *
 * Nota de cascada:
 * Las media queries con max-width también aplican a tamaños menores.
 * Por eso los bloques de 544px y 390px refinan lo definido antes en 767px.
 */

/* =========================================================
   01. HOME HERO
========================================================= */

.lf-home-hero {
	overflow: hidden;
	min-height: auto !important;
	padding-top: 120px !important;
	padding-bottom: 120px !important;
	padding-left: 32px !important;
	padding-right: 32px !important;
}

.lf-home-hero > *,
.lf-home-hero .lf-home-hero-inner {
	width: 100% !important;
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.lf-home-hero .lf-home-hero-inner {
	padding: 0 !important;
}

.lf-home-hero .lf-home-hero-columns {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	margin: 0 !important;
	gap: 72px !important;
}

.lf-home-hero .lf-home-hero-content,
.lf-home-hero .lf-home-hero-media {
	min-width: 0 !important;
	width: 100% !important;
	flex: 1 1 0 !important;
}

.lf-home-hero .lf-home-hero-content {
	max-width: 540px !important;
}

.lf-home-hero .lf-home-hero-media,
.lf-home-hero .lf-home-hero-media-card {
	max-width: 520px !important;
}

.lf-home-hero .lf-home-hero-media-card {
	width: 100% !important;
	padding: 12px !important;
	border: 1px solid #C6A15B33;
	border-radius: 10px;
	background-color: transparent;
}

.lf-home-hero .lf-home-hero-image,
.lf-home-hero .lf-home-hero-image img {
	width: 100% !important;
	max-width: 100% !important;
}

.lf-home-hero .lf-home-hero-image img {
	display: block;
	height: auto !important;
	object-fit: cover;
	border-radius: 8px;
}

.lf-home-hero .lf-home-hero-title,
.lf-home-hero .lf-home-hero-subtitle,
.lf-home-hero .lf-home-hero-microcopy,
.lf-home-hero .lf-home-hero-cta {
	margin: 0 !important;
}

.lf-home-hero .lf-home-hero-title h1 {
	margin-top: 0 !important;
	margin-bottom: 22px !important;
	color: #FFFFFF !important;
	font-family: "Playfair Display", serif;
	font-size: clamp(44px, 4.2vw, 56px) !important;
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -0.02em;
}

.lf-home-hero .lf-home-hero-title mark,
.lf-home-hero .lf-home-hero-subtitle mark {
	background-color: transparent !important;
	color: #C6A15B !important;
	-webkit-text-fill-color: #C6A15B !important;
}

.lf-home-hero .lf-home-hero-subtitle h2 {
	max-width: 500px;
	margin-top: 0 !important;
	margin-bottom: 30px !important;
	color: #FFFFFFD1 !important;
	font-family: "Inter", sans-serif;
	font-size: clamp(18px, 1.35vw, 21px) !important;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: -0.01em;
}

.lf-home-hero .lf-home-hero-microcopy p {
	margin-top: 24px !important;
	margin-bottom: 0 !important;
	color: #A6A6A6 !important;
	font-family: "Inter", sans-serif;
	font-size: 13px !important;
	font-weight: 400;
	line-height: 1.55;
}

.lf-home-hero .lf-home-hero-cta a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 14px 34px !important;
	border: 1px solid #C6A15B !important;
	border-radius: 8px !important;
	background-color: #C6A15B !important;
	color: #1A1A1A !important;
	font-family: "Inter", sans-serif;
	font-size: 14px !important;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.lf-home-hero .lf-home-hero-cta a:hover,
.lf-home-hero .lf-home-hero-cta a:focus {
	background-color: #D6B16C !important;
	border-color: #D6B16C !important;
	color: #1A1A1A !important;
	transform: translateY(-1px);
}



/* ---------------------------------------------------------
   BREAKPOINT: LAPTOP / DESKTOP INTERMEDIO
   Rango: <= 1199px
   Uso: Ajusta proporciones antes de llegar a tablet.
--------------------------------------------------------- */
@media only screen and (max-width: 1199px) {
	.lf-home-hero {
		padding-top: 110px !important;
		padding-bottom: 110px !important;
		padding-left: 32px !important;
		padding-right: 32px !important;
	}

	.lf-home-hero > *,
	.lf-home-hero .lf-home-hero-inner {
		max-width: 1040px !important;
	}

	.lf-home-hero .lf-home-hero-columns {
		gap: 56px !important;
	}

	.lf-home-hero .lf-home-hero-content {
		max-width: 500px !important;
	}

	.lf-home-hero .lf-home-hero-media,
	.lf-home-hero .lf-home-hero-media-card {
		max-width: 460px !important;
	}

	.lf-home-hero .lf-home-hero-title h1 {
		font-size: clamp(42px, 4vw, 52px) !important;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: TABLET Y MENORES
   Rango: <= 976px
   Uso: Base responsive que también hereda mobile.
--------------------------------------------------------- */
@media only screen and (max-width: 976px) {
	.lf-home-hero {
		padding-top: 90px !important;
		padding-bottom: 90px !important;
		padding-left: 32px !important;
		padding-right: 32px !important;
	}

	.lf-home-hero > *,
	.lf-home-hero .lf-home-hero-inner {
		max-width: 640px !important;
	}

	.lf-home-hero .lf-home-hero-columns {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		justify-content: center !important;
		gap: 48px !important;
	}

	.lf-home-hero .lf-home-hero-content,
	.lf-home-hero .lf-home-hero-media {
		width: 100% !important;
		max-width: 640px !important;
		flex: 0 1 auto !important;
		flex-basis: auto !important;
	}

	.lf-home-hero .lf-home-hero-media,
	.lf-home-hero .lf-home-hero-media-card {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.lf-home-hero .lf-home-hero-media-card {
		max-width: 580px !important;
		padding: 12px !important;
	}

	.lf-home-hero .lf-home-hero-title h1 {
		font-size: clamp(40px, 6vw, 52px) !important;
		line-height: 1.1;
		margin-bottom: 20px !important;
	}

	.lf-home-hero .lf-home-hero-subtitle h2 {
		max-width: 560px;
		font-size: 19px !important;
		line-height: 1.45;
		margin-bottom: 28px !important;
	}

	.lf-home-hero .lf-home-hero-microcopy p {
		font-size: 13px !important;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE
   Rango: <= 767px
   Uso: Ajuste principal para móviles.
--------------------------------------------------------- */
@media only screen and (max-width: 767px) {
	.lf-home-hero {
		padding-top: 70px !important;
		padding-bottom: 70px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.lf-home-hero > *,
	.lf-home-hero .lf-home-hero-inner,
	.lf-home-hero .lf-home-hero-content,
	.lf-home-hero .lf-home-hero-media {
		max-width: 100% !important;
	}

	.lf-home-hero .lf-home-hero-columns {
		gap: 36px !important;
	}

	.lf-home-hero .lf-home-hero-title h1 {
		font-size: clamp(34px, 10vw, 42px) !important;
		line-height: 1.08;
		letter-spacing: -0.025em;
		margin-bottom: 18px !important;
	}

	.lf-home-hero .lf-home-hero-subtitle h2 {
		font-size: 18px !important;
		line-height: 1.45;
		margin-bottom: 26px !important;
	}

	.lf-home-hero .lf-home-hero-cta a {
		min-height: 48px;
		padding: 14px 28px !important;
		font-size: 14px !important;
	}

	.lf-home-hero .lf-home-hero-microcopy p {
		margin-top: 22px !important;
		font-size: 13px !important;
		line-height: 1.5;
	}

	.lf-home-hero .lf-home-hero-media-card {
		max-width: 100% !important;
		padding: 10px !important;
		border-radius: 10px;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE PEQUEÑO
   Rango: <= 544px
   Uso: Refinamiento para móviles angostos.
--------------------------------------------------------- */
@media only screen and (max-width: 544px) {
	.lf-home-hero {
		padding-top: 64px !important;
		padding-bottom: 64px !important;
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.lf-home-hero .lf-home-hero-columns {
		gap: 32px !important;
	}

	.lf-home-hero .lf-home-hero-title h1 {
		font-size: clamp(32px, 10.5vw, 38px) !important;
		line-height: 1.08;
		margin-bottom: 16px !important;
	}

	.lf-home-hero .lf-home-hero-subtitle h2 {
		font-size: 17px !important;
		line-height: 1.45;
		margin-bottom: 24px !important;
	}

	.lf-home-hero .lf-home-hero-cta,
	.lf-home-hero .lf-home-hero-cta a {
		width: 100% !important;
	}

	.lf-home-hero .lf-home-hero-cta a {
		min-height: 48px;
		padding-left: 22px !important;
		padding-right: 22px !important;
	}

	.lf-home-hero .lf-home-hero-microcopy p {
		font-size: 12.5px !important;
		line-height: 1.5;
	}

	.lf-home-hero .lf-home-hero-media-card {
		padding: 8px !important;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE MUY ESTRECHO
   Rango: <= 390px
   Uso: Ajuste fino para pantallas muy pequeñas.
--------------------------------------------------------- */
@media only screen and (max-width: 390px) {
	.lf-home-hero {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.lf-home-hero .lf-home-hero-title h1 {
		font-size: clamp(20px, 10.8vw, 36px) !important;
	}

	.lf-home-hero .lf-home-hero-subtitle h2 {
		font-size: 16px !important;
	}

	.lf-home-hero .lf-home-hero-microcopy p {
		font-size: 12px !important;
	}
}


/* =========================================================
   02. HOME OCCASIONS / DECISIÓN GUIADA
========================================================= */



/* ---------------------------------------------------------
   BREAKPOINT: TABLET Y MENORES
   Rango: <= 976px
   Uso: Base responsive que también hereda mobile.
--------------------------------------------------------- */
@media only screen and (max-width: 976px) {
	.lf-home-occasions {
		padding-top: 90px !important;
		padding-bottom: 90px !important;
		padding-left: 32px !important;
		padding-right: 32px !important;
	}

	.lf-home-occasions > *,
	.lf-home-occasions .lf-home-occasions-inner {
		width: 100% !important;
		max-width: 820px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.lf-home-occasions .lf-home-occasions-title h2 {
		font-size: clamp(32px, 5vw, 40px) !important;
		line-height: 1.12;
		margin-bottom: 14px !important;
	}

	.lf-home-occasions .lf-home-occasions-subtitle p {
		max-width: 560px;
		font-size: 15.5px !important;
		line-height: 1.55;
		margin-bottom: 42px !important;
	}

	.lf-home-occasions .lf-home-occasions-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 24px !important;
		width: 100% !important;
	}

	.lf-home-occasions .lf-home-occasion-card {
		width: 100% !important;
		max-width: 100% !important;
	}

	.lf-home-occasions .lf-home-occasion-image img {
		width: 100% !important;
		height: 220px !important;
		object-fit: cover;
		object-position: center;
	}

	.lf-home-occasions .lf-home-occasion-body {
		padding: 26px !important;
	}

	.lf-home-occasions .lf-home-occasion-name h3 {
		font-size: 21px !important;
		line-height: 1.2;
		margin-bottom: 0px !important;
	}

	.lf-home-occasions .lf-home-occasion-copy p {
		font-size: 14px !important;
		line-height: 1.55;
		margin-bottom: 14px !important;
	}

	.lf-home-occasions .lf-home-occasions-help {
		margin-top: 56px !important;
		margin-bottom: 16px !important;
		text-align: center;
	}

	.lf-home-occasions .lf-home-occasions-help p {
		font-size: clamp(18px, 4vw, 18px) !important;
		line-height: 1.18;
	}

	.lf-home-occasions .lf-home-occasions-help-cta {
		display: flex !important;
		justify-content: center !important;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE
   Rango: <= 767px
   Uso: Ajuste principal para móviles.
--------------------------------------------------------- */
@media only screen and (max-width: 767px) {
	.lf-home-occasions {
		padding-top: 70px !important;
		padding-bottom: 70px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.lf-home-occasions > *,
	.lf-home-occasions .lf-home-occasions-inner {
		max-width: 100% !important;
	}

	.lf-home-occasions .lf-home-occasions-title h2 {
		font-size: clamp(28px, 8vw, 34px) !important;
		line-height: 1.12;
		margin-bottom: 12px !important;
	}

	.lf-home-occasions .lf-home-occasions-subtitle p {
		font-size: 14.5px !important;
		line-height: 1.55;
		margin-bottom: 34px !important;
	}

	.lf-home-occasions .lf-home-occasions-grid {
		grid-template-columns: 1fr !important;
		gap: 22px !important;
	}

	.lf-home-occasions .lf-home-occasion-image img {
		height: 210px !important;
	}

	.lf-home-occasions .lf-home-occasion-body {
		padding: 22px !important;
	}

	.lf-home-occasions .lf-home-occasion-name h3 {
		font-size: 20px !important;
		margin-bottom: 0px !important;
	}

	.lf-home-occasions .lf-home-occasion-copy p {
		font-size: 13.5px !important;
		line-height: 1.55;
		margin-bottom: 13px !important;
	}

	.lf-home-occasions .lf-home-occasion-cta a {
		min-height: 42px;
		padding: 12px 18px !important;
		font-size: 13px !important;
	}

	.lf-home-occasions .lf-home-occasions-help {
		margin-top: 48px !important;
		margin-bottom: 16px !important;
	}

	.lf-home-occasions .lf-home-occasions-help p {
		font-size: clamp(16px, 7vw, 18px) !important;
	}

	.lf-home-occasions .lf-home-occasions-help-cta a {
		min-height: 46px;
		padding: 13px 24px !important;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE PEQUEÑO
   Rango: <= 544px
   Uso: Refinamiento para móviles angostos.
--------------------------------------------------------- */
@media only screen and (max-width: 544px) {
	.lf-home-occasions {
		padding-top: 64px !important;
		padding-bottom: 64px !important;
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.lf-home-occasions .lf-home-occasions-subtitle p {
		margin-bottom: 30px !important;
	}

	.lf-home-occasions .lf-home-occasions-grid {
		gap: 20px !important;
	}

	.lf-home-occasions .lf-home-occasion-image img {
		height: 200px !important;
	}

	.lf-home-occasions .lf-home-occasion-body {
		padding: 20px !important;
	}

	.lf-home-occasions .lf-home-occasion-cta,
	.lf-home-occasions .lf-home-occasion-cta a,
	.lf-home-occasions .lf-home-occasions-help-cta,
	.lf-home-occasions .lf-home-occasions-help-cta a {
		width: 100% !important;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE MUY ESTRECHO
   Rango: <= 390px
   Uso: Ajuste fino para pantallas muy pequeñas.
--------------------------------------------------------- */
@media only screen and (max-width: 390px) {
	.lf-home-occasions {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.lf-home-occasions .lf-home-occasions-title h2 {
		font-size: 28px !important;
	}

	.lf-home-occasions .lf-home-occasions-subtitle p {
		font-size: 14px !important;
	}

	.lf-home-occasions .lf-home-occasion-image img {
		height: 190px !important;
	}

	.lf-home-occasions .lf-home-occasion-body {
		padding: 18px !important;
	}

	.lf-home-occasions .lf-home-occasion-copy p {
		font-size: 13px !important;
	}
}


/* =========================================================
   03. HOME FEATURED / FAVORITOS RECOMENDADOS
========================================================= */



/* ---------------------------------------------------------
   BREAKPOINT: TABLET
   Rango: 768px - 976px
   Uso: Ajuste exclusivo para tablets verticales / iPad.
--------------------------------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 976px) {
	.lf-home-featured {
		padding-top: 90px !important;
		padding-bottom: 90px !important;
		padding-left: 32px !important;
		padding-right: 32px !important;
	}

	.lf-home-featured > * {
		width: 100% !important;
		max-width: 760px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.lf-home-featured .lf-home-featured-title h2 {
		max-width: 620px;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 42px !important;
		font-size: clamp(32px, 5vw, 40px) !important;
		line-height: 1.12;
		text-align: center;
	}

	.lf-home-featured .lf-home-featured-grid {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 18px !important;
		width: 100% !important;
	}

	.lf-home-featured .lf-home-featured-card {
		display: flex !important;
		flex-direction: column !important;
		min-width: 0 !important;
		height: 100%;
		overflow: hidden;
	}

	.lf-home-featured .lf-home-featured-image img {
		width: 100% !important;
		max-width: 100% !important;
		height: 150px !important;
		object-fit: cover;
		object-position: center;
	}

	.lf-home-featured .lf-home-featured-body {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		flex: 1 1 auto !important;
		padding: 20px !important;
	}

	.lf-home-featured .lf-home-featured-name h3 {
		font-size: 18px !important;
		line-height: 1.18;
		margin-bottom: 10px !important;
	}

	.lf-home-featured .lf-home-featured-copy p {
		font-size: 12.8px !important;
		line-height: 1.5;
		margin-bottom: 24px !important;
	}

	.lf-home-featured .lf-home-featured-cta {
		margin-top: auto !important;
	}

	.lf-home-featured .lf-home-featured-cta a {
		min-height: 40px;
		padding: 11px 15px !important;
		font-size: 12.5px !important;
		white-space: normal;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE
   Rango: <= 767px
   Uso: Ajuste principal para móviles.
--------------------------------------------------------- */
@media only screen and (max-width: 767px) {
	.lf-home-featured {
		padding-top: 70px !important;
		padding-bottom: 70px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.lf-home-featured > * {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.lf-home-featured .lf-home-featured-title h2 {
		max-width: 320px;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 34px !important;
		font-size: clamp(28px, 8vw, 34px) !important;
		line-height: 1.12;
		text-align: center;
	}

	.lf-home-featured .lf-home-featured-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 22px !important;
		width: 100% !important;
	}

	.lf-home-featured .lf-home-featured-card {
		display: flex !important;
		flex-direction: column !important;
		min-width: 0 !important;
		width: 100% !important;
		overflow: hidden;
	}

	.lf-home-featured .lf-home-featured-image img {
		width: 100% !important;
		max-width: 100% !important;
		height: 210px !important;
		object-fit: cover;
		object-position: center;
	}

	.lf-home-featured .lf-home-featured-body {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		padding: 22px !important;
	}

	.lf-home-featured .lf-home-featured-name h3 {
		font-size: 20px !important;
		line-height: 1.2;
	
	}

	.lf-home-featured .lf-home-featured-copy p {
		font-size: 13.5px !important;
		line-height: 1.55;
		margin-bottom: 26px !important;
	}

	.lf-home-featured .lf-home-featured-cta a {
		min-height: 42px;
		padding: 12px 18px !important;
		font-size: 13px !important;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE PEQUEÑO
   Rango: <= 544px
   Uso: Refinamiento para móviles angostos.
--------------------------------------------------------- */
@media only screen and (max-width: 544px) {
	.lf-home-featured {
		padding-top: 64px !important;
		padding-bottom: 64px !important;
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.lf-home-featured .lf-home-featured-title h2 {
		max-width: 280px;
		margin-bottom: 26px !important;
	}

	.lf-home-featured .lf-home-featured-grid {
		gap: 20px !important;
	}

	.lf-home-featured .lf-home-featured-image img {
		height: 200px !important;
	}

	.lf-home-featured .lf-home-featured-body {
		padding: 18px !important;
	}

	.lf-home-featured .lf-home-featured-cta,
	.lf-home-featured .lf-home-featured-cta a {
		width: 100% !important;
	}

	.lf-home-featured .lf-home-featured-cta a {
		justify-content: center;
	}

	.lf-home-featured .lf-home-featured-copy p {
		margin-bottom: 22px !important;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE MUY ESTRECHO
   Rango: <= 390px
   Uso: Ajuste fino para pantallas muy pequeñas.
--------------------------------------------------------- */
@media only screen and (max-width: 390px) {
	.lf-home-featured {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.lf-home-featured .lf-home-featured-title h2 {
		font-size: 28px !important;
	}

	.lf-home-featured .lf-home-featured-image img {
		height: 190px !important;
	}

	.lf-home-featured .lf-home-featured-body {
		padding: 18px !important;
	}

	.lf-home-featured .lf-home-featured-copy p {
		font-size: 13px !important;
	}
}


/* =========================================================
   04. HOME TRUST / DIFERENCIADORES
========================================================= */



/* ---------------------------------------------------------
   BREAKPOINT: TABLET
   Rango: 768px - 976px
   Uso: Ajuste exclusivo para tablets verticales / iPad.
--------------------------------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 976px) {
	.lf-home-trust {
		padding-top: 90px !important;
		padding-bottom: 90px !important;
		padding-left: 32px !important;
		padding-right: 32px !important;
	}

	.lf-home-trust > * {
		width: 100% !important;
		max-width: 760px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.lf-home-trust .lf-home-trust-title h2 {
		max-width: 680px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 42px !important;
		color: #1E1E1E !important;
		font-family: "Playfair Display", serif;
		font-size: clamp(32px, 4.5vw, 40px) !important;
		font-weight: 600;
		line-height: 1.54 !important;
		letter-spacing: -0.02em;
		text-align: center;
		padding-bottom: 0.1em !important;
	}

	.lf-home-trust .lf-home-trust-title mark {
		background-color: transparent !important;
		overflow: visible !important;
	}

	.lf-home-trust .lf-home-trust-grid {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 20px !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-top: 25px !important;
	}

	.lf-home-trust .lf-home-trust-item {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		min-width: 0 !important;
		padding-left: 6px !important;
		padding-right: 6px !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		text-align: center;
	}

	.lf-home-trust .lf-home-trust-icon {
		margin-bottom: 0 !important;
	}

	.lf-home-trust .lf-home-trust-icon svg {
		width: 30px !important;
		height: 30px !important;
	}
	
	

	.lf-home-trust .lf-home-trust-name h3 {
		margin-top: 0 !important;
		margin-bottom: 10px !important;
		font-family: "Playfair Display", serif;
		font-size: 17px !important;
		font-weight: 500;
		line-height: 1.22;
		text-align: center;
	}

	.lf-home-trust .lf-home-trust-copy p {
		max-width: 190px !important;
		margin-top: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 0 !important;
		font-family: "Inter", sans-serif;
		font-size: 12.8px !important;
		font-weight: 400;
		line-height: 1.5;
		text-align: center;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE
   Rango: <= 767px
   Uso: Ajuste principal para móviles.
--------------------------------------------------------- */
@media only screen and (max-width: 767px) {
	.lf-home-trust {
		padding-top: 52px !important;
		padding-bottom: 52px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.lf-home-trust > * {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.lf-home-trust .lf-home-trust-title h2 {
		max-width: 330px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 26px !important;
		font-family: "Playfair Display", serif;
		font-size: clamp(28px, 8vw, 34px) !important;
		font-weight: 600;
		line-height: 1.2;
		letter-spacing: -0.02em;
		text-align: center;
		padding-bottom: 0.1em !important;
	}

	.lf-home-trust .lf-home-trust-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 22px !important;
		width: 100% !important;
		max-width: 300px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-top: 15px !important;
	}

	.lf-home-trust .lf-home-trust-item {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		width: 100% !important;
		max-width: 280px !important;
		min-width: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 0 !important;
		text-align: center;
	}



	.lf-home-trust .lf-home-trust-icon svg {
		width: 25px !important;
		height: 25px !important;
	}
	
	.lf-home-trust .lf-home-trust-icon div {
		margin-bottom: 0px !important;
	}

	.lf-home-trust .lf-home-trust-name h3 {
		margin-top: 0 !important;
		margin-bottom: 6px !important;
		font-family: "Playfair Display", serif;
		font-size: 17px !important;
		font-weight: 500;
		line-height: 1.2;
		text-align: center;
	}

	.lf-home-trust .lf-home-trust-copy p {
		max-width: 230px !important;
		margin-top: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 0 !important;
		font-family: "Inter", sans-serif;
		font-size: 12.8px !important;
		font-weight: 400;
		line-height: 1.42;
		text-align: center;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE PEQUEÑO
   Rango: <= 544px
   Uso: Refinamiento para móviles angostos.
--------------------------------------------------------- */
@media only screen and (max-width: 544px) {
	.lf-home-trust {
		padding-top: 50px !important;
		padding-bottom: 50px !important;
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.lf-home-trust .lf-home-trust-title h2 {
		max-width: 300px !important;
		margin-bottom: 24px !important;
		font-size: clamp(27px, 8.5vw, 31px) !important;
		line-height: 1.3 !important;
		padding-bottom: 0.1em !important;
	}

	.lf-home-trust .lf-home-trust-grid {
		max-width: 290px !important;
		gap: 20px !important;
	}

	.lf-home-trust .lf-home-trust-item {
		max-width: 270px !important;
		padding: 0 !important;
	}

	.lf-home-trust .lf-home-trust-name h3 {
		font-size: 16.5px !important;
		margin-bottom: 6px !important;
	}

	.lf-home-trust .lf-home-trust-copy p {
		max-width: 220px !important;
		font-size: 12.6px !important;
		line-height: 1.4;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE MUY ESTRECHO
   Rango: <= 390px
   Uso: Ajuste fino para pantallas muy pequeñas.
--------------------------------------------------------- */
@media only screen and (max-width: 390px) {
	.lf-home-trust {
		padding-top: 48px !important;
		padding-bottom: 48px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.lf-home-trust .lf-home-trust-title h2 {
		max-width: 285px !important;
		margin-bottom: 22px !important;
		font-size: 27px !important;
	}

	.lf-home-trust .lf-home-trust-grid {
		max-width: 275px !important;
		gap: 18px !important;
	}

	.lf-home-trust .lf-home-trust-copy p {
		max-width: 215px !important;
		font-size: 12.5px !important;
	}
}


/* =========================================================
   05. HOME FINAL CTA
========================================================= */



/* ---------------------------------------------------------
   BREAKPOINT: TABLET
   Rango: 768px - 976px
   Uso: Ajuste exclusivo para tablets verticales / iPad.
--------------------------------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 976px) {
	.lf-home-final-cta {
		padding-top: 78px !important;
		padding-bottom: 78px !important;
		padding-left: 32px !important;
		padding-right: 32px !important;
	}

	.lf-home-final-cta > *,
	.lf-home-final-cta .lf-home-final-cta-inner {
		width: 100% !important;
		max-width: 720px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.lf-home-final-cta .lf-home-final-cta-title h2 {
		max-width: 600px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 16px !important;
		font-family: "Playfair Display", serif;
		font-size: clamp(30px, 3.8vw, 36px) !important;
		font-weight: 600;
		line-height: 1.16;
		letter-spacing: -0.02em;
		text-align: center;
	}

	.lf-home-final-cta .lf-home-final-cta-copy p {
		max-width: 520px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 22px !important;
		font-family: "Inter", sans-serif;
		font-size: 15px !important;
		line-height: 1.55;
		text-align: center;
	}

	.lf-home-final-cta .lf-home-final-cta-button {
		display: flex !important;
		justify-content: center !important;
		margin-bottom: 16px !important;
	}

	.lf-home-final-cta .lf-home-final-cta-button a {
		min-height: 46px !important;
		padding: 13px 24px !important;
		font-family: "Inter", sans-serif;
		font-size: 13.5px !important;
		font-weight: 500;
		line-height: 1;
		text-align: center;
	}

	.lf-home-final-cta .lf-home-final-cta-microcopy p {
		max-width: 520px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 0 !important;
		font-family: "Inter", sans-serif;
		font-size: 12.5px !important;
		line-height: 1.5;
		text-align: center;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE
   Rango: <= 767px
   Uso: Ajuste principal para móviles.
--------------------------------------------------------- */
@media only screen and (max-width: 767px) {
	.lf-home-final-cta {
		padding-top: 54px !important;
		padding-bottom: 54px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.lf-home-final-cta > *,
	.lf-home-final-cta .lf-home-final-cta-inner {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.lf-home-final-cta .lf-home-final-cta-title h2 {
		max-width: 310px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 14px !important;
		font-family: "Playfair Display", serif;
		font-size: clamp(27px, 7.7vw, 31px) !important;
		font-weight: 600;
		line-height: 1.14;
		letter-spacing: -0.02em;
		text-align: center;
	}

	.lf-home-final-cta .lf-home-final-cta-copy p {
		max-width: 280px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 20px !important;
		font-family: "Inter", sans-serif;
		font-size: 13.5px !important;
		line-height: 1.45;
		text-align: center;
	}

	.lf-home-final-cta .lf-home-final-cta-button {
		display: flex !important;
		justify-content: center !important;
		margin-bottom: 14px !important;
	}

	.lf-home-final-cta .lf-home-final-cta-button a {
		min-height: 44px !important;
		padding: 12px 22px !important;
		font-family: "Inter", sans-serif;
		font-size: 13px !important;
		font-weight: 500;
		line-height: 1;
		text-align: center;
	}

	.lf-home-final-cta .lf-home-final-cta-microcopy p {
		max-width: 260px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 0 !important;
		font-family: "Inter", sans-serif;
		font-size: 11.6px !important;
		line-height: 1.45;
		text-align: center;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE PEQUEÑO
   Rango: <= 544px
   Uso: Refinamiento para móviles angostos.
--------------------------------------------------------- */
@media only screen and (max-width: 544px) {
	.lf-home-final-cta {
		padding-top: 54px !important;
		padding-bottom: 54px !important;
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.lf-home-final-cta .lf-home-final-cta-title h2 {
		max-width: 300px !important;
		margin-bottom: 14px !important;
		font-size: clamp(27px, 8.4vw, 31px) !important;
		line-height: 1.13;
	}

	.lf-home-final-cta .lf-home-final-cta-copy p {
		max-width: 275px !important;
		margin-bottom: 20px !important;
		font-size: 13.5px !important;
		line-height: 1.45;
	}

	.lf-home-final-cta .lf-home-final-cta-button {
		width: 100%;
		margin-bottom: 14px !important;
	}

	.lf-home-final-cta .lf-home-final-cta-button a {
		width: 100% !important;
		max-width: 260px !important;
		min-height: 44px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.lf-home-final-cta .lf-home-final-cta-microcopy p {
		max-width: 260px !important;
		font-size: 11.6px !important;
		line-height: 1.45;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE MUY ESTRECHO
   Rango: <= 390px
   Uso: Ajuste fino para pantallas muy pequeñas.
--------------------------------------------------------- */
@media only screen and (max-width: 390px) {
	.lf-home-final-cta {
		padding-top: 50px !important;
		padding-bottom: 50px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.lf-home-final-cta .lf-home-final-cta-title h2 {
		max-width: 280px !important;
		font-size: 26px !important;
	}

	.lf-home-final-cta .lf-home-final-cta-copy p {
		max-width: 250px !important;
		font-size: 13px !important;
	}

	.lf-home-final-cta .lf-home-final-cta-microcopy p {
		max-width: 245px !important;
		font-size: 11.5px !important;
	}
}


/* =========================================================
   06. HOME ASSURANCE / GARANTÍAS FINALES
========================================================= */



/* ---------------------------------------------------------
   BREAKPOINT: TABLET
   Rango: 768px - 976px
   Uso: Ajuste exclusivo para tablets verticales / iPad.
--------------------------------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 976px) {
	.lf-home-assurance {
		padding-top: 82px !important;
		padding-bottom: 82px !important;
		padding-left: 32px !important;
		padding-right: 32px !important;
	}

	.lf-home-assurance > * {
		width: 100% !important;
		max-width: 760px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.lf-home-assurance .lf-home-assurance-title h2 {
		max-width: 660px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 44px !important;
		font-family: "Playfair Display", serif;
		font-size: clamp(32px, 4.5vw, 40px) !important;
		font-weight: 600;
		line-height: 1.16;
		letter-spacing: -0.02em;
		text-align: center;
	}

	.lf-home-assurance .lf-home-assurance-title,
	.lf-home-assurance .lf-home-assurance-title h2,
	.lf-home-assurance .lf-home-assurance-title mark {
		overflow: visible !important;
	}

	.lf-home-assurance .lf-home-assurance-grid {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 22px !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-top: 15px !important;
	}

	.lf-home-assurance .lf-home-assurance-item {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		min-width: 0 !important;
		padding: 0 !important;
		text-align: center;
	}

	.lf-home-assurance .lf-home-assurance-icon svg {
		width: 30px !important;
		height: 30px !important;
	}

	.lf-home-assurance .lf-home-assurance-name h3 {
		max-width: 190px !important;
		margin-top: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 10px !important;
		font-family: "Playfair Display", serif;
		font-size: 17px !important;
		font-weight: 500;
		line-height: 1.22;
		text-align: center;
	}

	.lf-home-assurance .lf-home-assurance-copy p {
		max-width: 190px !important;
		margin-top: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 0 !important;
		font-family: "Inter", sans-serif;
		font-size: 12.8px !important;
		font-weight: 400;
		line-height: 1.5;
		text-align: center;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE
   Rango: <= 767px
   Uso: Ajuste principal para móviles.
--------------------------------------------------------- */
@media only screen and (max-width: 767px) {
	.lf-home-assurance {
		padding-top: 60px !important;
		padding-bottom: 60px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.lf-home-assurance > * {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.lf-home-assurance .lf-home-assurance-title h2 {
		max-width: 320px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 32px !important;
		font-family: "Playfair Display", serif;
		font-size: clamp(28px, 8vw, 34px) !important;
		font-weight: 600;
		line-height: 1.14;
		letter-spacing: -0.02em;
		text-align: center;
	}

	.lf-home-assurance .lf-home-assurance-title,
	.lf-home-assurance .lf-home-assurance-title h2,
	.lf-home-assurance .lf-home-assurance-title mark {
		overflow: visible !important;
	}

	.lf-home-assurance .lf-home-assurance-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 26px !important;
		width: 100% !important;
		max-width: 300px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-top: 15px !important;
	}

	.lf-home-assurance .lf-home-assurance-item {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		width: 100% !important;
		max-width: 280px !important;
		min-width: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 0 !important;
		text-align: center;
	}

	.lf-home-assurance .lf-home-assurance-icon svg {
		width: 25px !important;
		height: 25px !important;

	}
	
	.lf-home-assurance .lf-home-assurance-icon div {
		margin-bottom: 0px !important;

	}

	.lf-home-assurance .lf-home-assurance-name h3 {
		max-width: 250px !important;
		margin-top: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 7px !important;
		font-family: "Playfair Display", serif;
		font-size: 17px !important;
		font-weight: 500;
		line-height: 1.22;
		text-align: center;
	}

	.lf-home-assurance .lf-home-assurance-copy p {
		max-width: 230px !important;
		margin-top: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 0 !important;
		font-family: "Inter", sans-serif;
		font-size: 12.8px !important;
		font-weight: 400;
		line-height: 1.45;
		text-align: center;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE PEQUEÑO
   Rango: <= 544px
   Uso: Refinamiento para móviles angostos.
--------------------------------------------------------- */
@media only screen and (max-width: 544px) {
	.lf-home-assurance {
		padding-top: 56px !important;
		padding-bottom: 56px !important;
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.lf-home-assurance .lf-home-assurance-title h2 {
		max-width: 300px !important;
		margin-bottom: 30px !important;
		font-size: clamp(27px, 8.4vw, 31px) !important;
		line-height: 1.13;
	}

	.lf-home-assurance .lf-home-assurance-grid {
		max-width: 290px !important;
		gap: 24px !important;
		margin-top: 15px !important;
	}

	.lf-home-assurance .lf-home-assurance-item {
		max-width: 270px !important;
		padding: 0 !important;
	}

	.lf-home-assurance .lf-home-assurance-name h3 {
		font-size: 16.5px !important;
		margin-bottom: 6px !important;
	}

	.lf-home-assurance .lf-home-assurance-copy p {
		max-width: 220px !important;
		font-size: 12.6px !important;
		line-height: 1.4;
	}
}



/* ---------------------------------------------------------
   BREAKPOINT: MOBILE MUY ESTRECHO
   Rango: <= 390px
   Uso: Ajuste fino para pantallas muy pequeñas.
--------------------------------------------------------- */
@media only screen and (max-width: 390px) {
	.lf-home-assurance {
		padding-top: 52px !important;
		padding-bottom: 52px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.lf-home-assurance .lf-home-assurance-title h2 {
		max-width: 280px !important;
		margin-bottom: 28px !important;
		font-size: 27px !important;
	}

	.lf-home-assurance .lf-home-assurance-grid {
		max-width: 275px !important;
		gap: 22px !important;
		margin-top: 15px !important;
	}

	.lf-home-assurance .lf-home-assurance-copy p {
		max-width: 215px !important;
		font-size: 12.5px !important;
	}
}


/* =========================================================
   HOME - Corrección móvil de imágenes en cards dinámicas

   Objetivo:
   - Forzar que las imágenes de las cards ocupen todo el ancho disponible
     en móvil, igual que en el dashboard de Myriam.
   - Corregir wrappers internos de Gutenberg/Spectra que pueden centrar la
     imagen o dejarla con su tamaño natural después de cambiarla por JS.

   Alcance:
   - Solo afecta móvil/tablet angosto.
   - No modifica desktop.
   - Mantiene object-fit: cover para conservar una composición premium.
========================================================= */
@media only screen and (max-width: 767px) {
	.lf-home-occasions .lf-home-occasion-card,
	.lf-home-featured .lf-home-featured-card {
		overflow: hidden !important;
	}

	.lf-home-occasions .lf-home-occasion-image,
	.lf-home-occasions .lf-home-occasion-image > *,
	.lf-home-occasions .lf-home-occasion-image figure,
	.lf-home-occasions .lf-home-occasion-image picture,
	.lf-home-occasions .lf-home-occasion-image .wp-block-image,
	.lf-home-featured .lf-home-featured-image,
	.lf-home-featured .lf-home-featured-image > *,
	.lf-home-featured .lf-home-featured-image figure,
	.lf-home-featured .lf-home-featured-image picture,
	.lf-home-featured .lf-home-featured-image .wp-block-image {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: 210px !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	.lf-home-occasions .lf-home-occasion-image img,
	.lf-home-featured .lf-home-featured-image img {
		display: block !important;
		width: 100% !important;
		min-width: 100% !important;
		max-width: none !important;
		height: 100% !important;
		min-height: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		object-fit: cover !important;
		object-position: center !important;
	}
}

@media only screen and (max-width: 544px) {
	.lf-home-occasions .lf-home-occasion-image,
	.lf-home-occasions .lf-home-occasion-image > *,
	.lf-home-occasions .lf-home-occasion-image figure,
	.lf-home-occasions .lf-home-occasion-image picture,
	.lf-home-occasions .lf-home-occasion-image .wp-block-image,
	.lf-home-featured .lf-home-featured-image,
	.lf-home-featured .lf-home-featured-image > *,
	.lf-home-featured .lf-home-featured-image figure,
	.lf-home-featured .lf-home-featured-image picture,
	.lf-home-featured .lf-home-featured-image .wp-block-image {
		height: 200px !important;
	}
}

@media only screen and (max-width: 390px) {
	.lf-home-occasions .lf-home-occasion-image,
	.lf-home-occasions .lf-home-occasion-image > *,
	.lf-home-occasions .lf-home-occasion-image figure,
	.lf-home-occasions .lf-home-occasion-image picture,
	.lf-home-occasions .lf-home-occasion-image .wp-block-image,
	.lf-home-featured .lf-home-featured-image,
	.lf-home-featured .lf-home-featured-image > *,
	.lf-home-featured .lf-home-featured-image figure,
	.lf-home-featured .lf-home-featured-image picture,
	.lf-home-featured .lf-home-featured-image .wp-block-image {
		height: 190px !important;
	}
}


/* =========================================================
   08. HOME OPTIMIZED PRODUCT IMAGE SLOTS
========================================================= */

/**
 * Clases requeridas:
 * - .lf-home-product-image-slot
 * - .lf-home-product-image
 * - .lf-home-product-image-link
 * - .lf-home-product-cta
 *
 * Uso:
 * - Reemplazar el bloque Image de Spectra por un bloque Shortcode.
 * - Ejemplo: [lf_home_image key="cumpleanos"]
 *
 * Objetivo técnico:
 * - Reservar el espacio de imagen desde el primer render.
 * - Evitar que JavaScript inyecte imágenes después del DOMContentLoaded.
 * - Reducir riesgo de CLS y mejorar la elección de recurso responsive.
 */
.lf-home-product-image-slot {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 !important;
	overflow: hidden;
	background: #F0F0ED;
	line-height: 0;
	contain: layout paint;
}

.lf-home-product-image-link {
	display: block;
	width: 100%;
	height: 100%;
	line-height: 0;
}

.lf-home-product-image-slot .lf-home-product-image,
.lf-home-product-image-slot img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	object-fit: cover;
	object-position: center;
}

.lf-home-occasions .lf-home-product-image-slot {
	height: 240px;
	aspect-ratio: 16 / 10;
}

.lf-home-featured .lf-home-product-image-slot {
	height: 260px;
	aspect-ratio: 4 / 3;
}

.lf-home-product-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 12px 18px;
	border-radius: 8px;
	background: #C6A15B;
	color: #1A1A1A;
	font-family: Inter, sans-serif;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none !important;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.lf-home-product-cta:hover,
.lf-home-product-cta:focus {
	background: #B08E4F;
	color: #1A1A1A;
	transform: translateY(-2px);
}

@media only screen and (min-width: 768px) and (max-width: 976px) {
	.lf-home-occasions .lf-home-product-image-slot {
		height: 220px;
	}

	.lf-home-featured .lf-home-product-image-slot {
		height: 150px;
	}
}

@media only screen and (max-width: 767px) {
	.lf-home-occasions .lf-home-product-image-slot {
		height: 220px;
	}

	.lf-home-featured .lf-home-product-image-slot {
		height: 210px;
	}
}

@media only screen and (max-width: 544px) {
	.lf-home-occasions .lf-home-product-image-slot,
	.lf-home-featured .lf-home-product-image-slot {
		height: 200px;
	}

	.lf-home-product-cta {
		width: 100%;
	}
}

@media only screen and (max-width: 390px) {
	.lf-home-occasions .lf-home-product-image-slot,
	.lf-home-featured .lf-home-product-image-slot {
		height: 190px;
	}
}

/* =========================================================
   09. HOME SHORTCODE IMAGE SLOTS - COMPATIBILIDAD VISUAL V1.2

   Contexto:
   - Los bloques Image de Spectra fueron reemplazados por shortcodes PHP.
   - El shortcode imprime el <figure> con las clases visuales originales:
     .lf-home-occasion-image y .lf-home-featured-image.
   - Algunos estilos previos apuntaban directamente al <img> del bloque Image
     de Spectra y podían dejar la imagen más baja de lo esperado.

   Objetivo:
   - Mantener el estilo visual aprobado de las cards.
   - Reservar altura estable para evitar CLS.
   - Dar prioridad a la imagen servida desde PHP, sin depender de JavaScript.
========================================================= */

/* Contenedor base del shortcode dentro de las cards. */
.lf-home-occasions .lf-home-occasion-image.lf-home-product-image-slot,
.lf-home-featured .lf-home-featured-image.lf-home-product-image-slot {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	line-height: 0 !important;
	background: #F0F0ED !important;
}

/* Fuerza que la imagen del shortcode llene el slot, aunque existan reglas viejas del bloque Image. */
.lf-home-occasions .lf-home-occasion-image.lf-home-product-image-slot img.lf-home-product-image,
.lf-home-featured .lf-home-featured-image.lf-home-product-image-slot img.lf-home-product-image,
.lf-home-occasions .lf-home-occasion-image.lf-home-product-image-slot img,
.lf-home-featured .lf-home-featured-image.lf-home-product-image-slot img {
	display: block !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
}

/* Sección: Elige la situación. */
.lf-home-occasions .lf-home-occasion-image.lf-home-product-image-slot {
	height: 240px !important;
	aspect-ratio: 16 / 10 !important;
}

/* Sección: Opciones probadas. Se sube la altura para recuperar presencia visual. */
.lf-home-featured .lf-home-featured-image.lf-home-product-image-slot {
	height: 260px !important;
	aspect-ratio: 4 / 3 !important;
}

/* En caso de que la imagen sea clicable, el enlace también debe ocupar todo el slot. */
.lf-home-occasions .lf-home-product-image-link,
.lf-home-featured .lf-home-product-image-link {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	line-height: 0 !important;
	text-decoration: none !important;
}

@media only screen and (min-width: 768px) and (max-width: 976px) {
	.lf-home-occasions .lf-home-occasion-image.lf-home-product-image-slot {
		height: 220px !important;
	}

	.lf-home-featured .lf-home-featured-image.lf-home-product-image-slot {
		height: 220px !important;
	}
}

@media only screen and (max-width: 767px) {
	.lf-home-occasions .lf-home-occasion-image.lf-home-product-image-slot,
	.lf-home-featured .lf-home-featured-image.lf-home-product-image-slot {
		height: 210px !important;
	}
}

@media only screen and (max-width: 544px) {
	.lf-home-occasions .lf-home-occasion-image.lf-home-product-image-slot,
	.lf-home-featured .lf-home-featured-image.lf-home-product-image-slot {
		height: 200px !important;
	}
}

@media only screen and (max-width: 390px) {
	.lf-home-occasions .lf-home-occasion-image.lf-home-product-image-slot,
	.lf-home-featured .lf-home-featured-image.lf-home-product-image-slot {
		height: 190px !important;
	}
}

/* =========================================================
   10. HOME SHORTCODE IMAGE SLOTS - SPECTRA DESKTOP PARITY V1.3

   Contexto:
   - Las capturas del bloque Image de Spectra muestran una imagen con
     dimensiones 819x1024, object-fit: cover y radio superior de 12px.
   - En desktop, Spectra estaba controlando visualmente la imagen.
   - Al reemplazar el bloque Image por shortcode, Astra Child debe asumir
     ese estilo base para que la card conserve la proporción aprobada.

   Reglas migradas desde Spectra:
   - Width visual: 100% del contenedor de la card.
   - Proporción: 819 / 1024.
   - Object-fit: cover.
   - Border-radius: 12px 12px 0 0.
   - Sin margin/padding internos.

   Nota de performance:
   - aspect-ratio reserva altura desde el primer render y ayuda a reducir CLS.
   - No se usa JavaScript para insertar ni redimensionar imágenes.
========================================================= */

/* Desktop base: replica el bloque Image de Spectra que fue reemplazado por shortcode. */
.lf-home-product-image-slot.lf-home-occasion-image,
.lf-home-product-image-slot.lf-home-featured-image,
.lf-home-product-image-slot--ocasiones,
.lf-home-product-image-slot--opciones_probadas {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	aspect-ratio: 819 / 1024 !important;
	overflow: hidden !important;
	background: #F0F0ED !important;
	border-radius: 12px 12px 0 0 !important;
	line-height: 0 !important;
}

/* Asegura que la imagen PHP se comporte como la imagen anterior de Spectra. */
.lf-home-product-image-slot.lf-home-occasion-image img,
.lf-home-product-image-slot.lf-home-featured-image img,
.lf-home-product-image-slot--ocasiones img,
.lf-home-product-image-slot--opciones_probadas img {
	display: block !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
	border-radius: 0 !important;
}

/* Si el shortcode se usa con link="true", el enlace no debe alterar dimensiones. */
.lf-home-product-image-slot .lf-home-product-image-link {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
	text-decoration: none !important;
}

/*
 * Responsive: se conserva la lógica que ya estaba en Astra Child.
 * En desktop usamos la proporción de Spectra; en tablet/mobile usamos alturas
 * controladas para evitar cards excesivamente largas en pantallas angostas.
 */
@media only screen and (min-width: 768px) and (max-width: 976px) {
	.lf-home-product-image-slot.lf-home-occasion-image,
	.lf-home-product-image-slot--ocasiones {
		height: 220px !important;
		aspect-ratio: auto !important;
	}

	.lf-home-product-image-slot.lf-home-featured-image,
	.lf-home-product-image-slot--opciones_probadas {
		height: 150px !important;
		aspect-ratio: auto !important;
	}
}

@media only screen and (max-width: 767px) {
	.lf-home-product-image-slot.lf-home-occasion-image,
	.lf-home-product-image-slot.lf-home-featured-image,
	.lf-home-product-image-slot--ocasiones,
	.lf-home-product-image-slot--opciones_probadas {
		height: 210px !important;
		aspect-ratio: auto !important;
	}
}

@media only screen and (max-width: 544px) {
	.lf-home-product-image-slot.lf-home-occasion-image,
	.lf-home-product-image-slot.lf-home-featured-image,
	.lf-home-product-image-slot--ocasiones,
	.lf-home-product-image-slot--opciones_probadas {
		height: 200px !important;
	}
}

@media only screen and (max-width: 390px) {
	.lf-home-product-image-slot.lf-home-occasion-image,
	.lf-home-product-image-slot.lf-home-featured-image,
	.lf-home-product-image-slot--ocasiones,
	.lf-home-product-image-slot--opciones_probadas {
		height: 190px !important;
	}
}

/* =========================================================
   10.1 HOME SHORTCODE IMAGE SLOTS - FORCE ASPECT RATIO V1.4

   Diagnóstico:
   - El figure del shortcode sí recibía la clase correcta, pero el <img> seguía
     aportando su proporción intrínseca cuando la imagen original era horizontal.
   - Al usar height:auto + aspect-ratio, el contenido interno podía ganar y dejar
     el slot demasiado bajo.

   Solución:
   - El figure reserva el espacio visual con aspect-ratio.
   - La imagen se posiciona absoluta dentro del slot y rellena el espacio con
     object-fit: cover, igual que el bloque Image de Spectra.
   - Esto evita que la proporción real del archivo altere la altura de la card.
========================================================= */

.lf-home-product-image-slot.lf-home-occasion-image,
.lf-home-product-image-slot.lf-home-featured-image,
.lf-home-product-image-slot--ocasiones,
.lf-home-product-image-slot--opciones_probadas {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	aspect-ratio: 819 / 1024 !important;
	overflow: hidden !important;
	background: #F0F0ED !important;
	border-radius: 12px 12px 0 0 !important;
	line-height: 0 !important;
	box-sizing: border-box !important;
	flex: 0 0 auto !important;
}

.lf-home-product-image-slot.lf-home-occasion-image > img,
.lf-home-product-image-slot.lf-home-featured-image > img,
.lf-home-product-image-slot--ocasiones > img,
.lf-home-product-image-slot--opciones_probadas > img,
.lf-home-product-image-slot.lf-home-occasion-image > .lf-home-product-image-link,
.lf-home-product-image-slot.lf-home-featured-image > .lf-home-product-image-link,
.lf-home-product-image-slot--ocasiones > .lf-home-product-image-link,
.lf-home-product-image-slot--opciones_probadas > .lf-home-product-image-link {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
	box-sizing: border-box !important;
}

.lf-home-product-image-slot.lf-home-occasion-image > img,
.lf-home-product-image-slot.lf-home-featured-image > img,
.lf-home-product-image-slot--ocasiones > img,
.lf-home-product-image-slot--opciones_probadas > img,
.lf-home-product-image-slot.lf-home-occasion-image > .lf-home-product-image-link > img,
.lf-home-product-image-slot.lf-home-featured-image > .lf-home-product-image-link > img,
.lf-home-product-image-slot--ocasiones > .lf-home-product-image-link > img,
.lf-home-product-image-slot--opciones_probadas > .lf-home-product-image-link > img {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 100% !important;
	min-height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
	border-radius: 0 !important;
}

/* Tablet: altura controlada para no generar cards demasiado largas. */
@media only screen and (min-width: 768px) and (max-width: 976px) {
	.lf-home-product-image-slot.lf-home-occasion-image,
	.lf-home-product-image-slot--ocasiones {
		height: 220px !important;
		aspect-ratio: auto !important;
	}

	.lf-home-product-image-slot.lf-home-featured-image,
	.lf-home-product-image-slot--opciones_probadas {
		height: 240px !important;
		aspect-ratio: auto !important;
	}
}

/* Mobile: mantiene una altura estable sin depender de la proporción del archivo. */
@media only screen and (max-width: 767px) {
	.lf-home-product-image-slot.lf-home-occasion-image,
	.lf-home-product-image-slot.lf-home-featured-image,
	.lf-home-product-image-slot--ocasiones,
	.lf-home-product-image-slot--opciones_probadas {
		height: 230px !important;
		aspect-ratio: auto !important;
	}
}

@media only screen and (max-width: 544px) {
	.lf-home-product-image-slot.lf-home-occasion-image,
	.lf-home-product-image-slot.lf-home-featured-image,
	.lf-home-product-image-slot--ocasiones,
	.lf-home-product-image-slot--opciones_probadas {
		height: 220px !important;
	}
}

@media only screen and (max-width: 390px) {
	.lf-home-product-image-slot.lf-home-occasion-image,
	.lf-home-product-image-slot.lf-home-featured-image,
	.lf-home-product-image-slot--ocasiones,
	.lf-home-product-image-slot--opciones_probadas {
		height: 210px !important;
	}
}

/* =========================================================
   10.2 HOME SHORTCODE IMAGE SLOTS - SPECIFICITY OVERRIDE V1.5

   Motivo:
   - Algunos estilos generados por Spectra/Gutenberg pueden imprimirse después
     del CSS del child theme o aplicar reglas más específicas al bloque anterior.
   - Estas reglas fuerzan el comportamiento del nuevo shortcode sin depender del
     HTML interno del bloque Image de Spectra.

   Alcance:
   - Solo afecta imágenes renderizadas por [lf_home_image].
   - No modifica cards, textos, botones ni otras imágenes del sitio.
========================================================= */

body.home .entry-content figure.lf-home-product-image-slot.lf-home-occasion-image,
body.home .entry-content figure.lf-home-product-image-slot--ocasiones,
body.home .entry-content .lf-home-occasions figure.lf-home-product-image-slot,
body.home .entry-content .lf-home-occasion-card figure.lf-home-product-image-slot {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: clamp(260px, 24vw, 360px) !important;
	min-height: clamp(260px, 24vw, 360px) !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	aspect-ratio: auto !important;
	overflow: hidden !important;
	background: #F0F0ED !important;
	border-radius: 12px 12px 0 0 !important;
	line-height: 0 !important;
	box-sizing: border-box !important;
	flex: 0 0 auto !important;
}

body.home .entry-content figure.lf-home-product-image-slot.lf-home-featured-image,
body.home .entry-content figure.lf-home-product-image-slot--opciones_probadas,
body.home .entry-content .lf-home-featured figure.lf-home-product-image-slot,
body.home .entry-content .lf-home-featured-card figure.lf-home-product-image-slot {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: clamp(260px, 24vw, 360px) !important;
	min-height: clamp(260px, 24vw, 360px) !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	aspect-ratio: auto !important;
	overflow: hidden !important;
	background: #F0F0ED !important;
	border-radius: 12px 12px 0 0 !important;
	line-height: 0 !important;
	box-sizing: border-box !important;
	flex: 0 0 auto !important;
}

body.home .entry-content figure.lf-home-product-image-slot > img,
body.home .entry-content figure.lf-home-product-image-slot > a,
body.home .entry-content figure.lf-home-product-image-slot > a > img {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 100% !important;
	min-height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
	border-radius: 0 !important;
	line-height: 0 !important;
	box-sizing: border-box !important;
}

@media only screen and (min-width: 768px) and (max-width: 976px) {
	body.home .entry-content figure.lf-home-product-image-slot.lf-home-occasion-image,
	body.home .entry-content figure.lf-home-product-image-slot--ocasiones,
	body.home .entry-content .lf-home-occasions figure.lf-home-product-image-slot,
	body.home .entry-content .lf-home-occasion-card figure.lf-home-product-image-slot,
	body.home .entry-content figure.lf-home-product-image-slot.lf-home-featured-image,
	body.home .entry-content figure.lf-home-product-image-slot--opciones_probadas,
	body.home .entry-content .lf-home-featured figure.lf-home-product-image-slot,
	body.home .entry-content .lf-home-featured-card figure.lf-home-product-image-slot {
		height: 240px !important;
		min-height: 240px !important;
	}
}

@media only screen and (max-width: 767px) {
	body.home .entry-content figure.lf-home-product-image-slot.lf-home-occasion-image,
	body.home .entry-content figure.lf-home-product-image-slot--ocasiones,
	body.home .entry-content .lf-home-occasions figure.lf-home-product-image-slot,
	body.home .entry-content .lf-home-occasion-card figure.lf-home-product-image-slot,
	body.home .entry-content figure.lf-home-product-image-slot.lf-home-featured-image,
	body.home .entry-content figure.lf-home-product-image-slot--opciones_probadas,
	body.home .entry-content .lf-home-featured figure.lf-home-product-image-slot,
	body.home .entry-content .lf-home-featured-card figure.lf-home-product-image-slot {
		height: 220px !important;
		min-height: 220px !important;
	}
}

@media only screen and (max-width: 390px) {
	body.home .entry-content figure.lf-home-product-image-slot.lf-home-occasion-image,
	body.home .entry-content figure.lf-home-product-image-slot--ocasiones,
	body.home .entry-content .lf-home-occasions figure.lf-home-product-image-slot,
	body.home .entry-content .lf-home-occasion-card figure.lf-home-product-image-slot,
	body.home .entry-content figure.lf-home-product-image-slot.lf-home-featured-image,
	body.home .entry-content figure.lf-home-product-image-slot--opciones_probadas,
	body.home .entry-content .lf-home-featured figure.lf-home-product-image-slot,
	body.home .entry-content .lf-home-featured-card figure.lf-home-product-image-slot {
		height: 205px !important;
		min-height: 205px !important;
	}
}

/**
 * ============================================================
 * Anti-CLS Hero Desktop - La Floristería Miriam Franco
 * ============================================================
 *
 * Motivo:
 * PageSpeed Desktop detectó cambio de layout en el contenedor visual
 * principal del hero: `.lf-home-hero-media-card`.
 *
 * Objetivo:
 * Reservar espacio estable antes de que carguen imagen, fuentes y contenido
 * interno, evitando que el bloque derecho del hero se desplace durante la
 * carga inicial.
 *
 * Alcance:
 * - Solo Home.
 * - Solo desktop/tablet amplio.
 * - No modifica accesibilidad, ARIA ni estructura HTML.
 */
@media (min-width: 977px) {
	.lf-home-hero-media-card {
		min-height: 620px;
		contain: layout paint;
	}

	.lf-home-hero-media-card img {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 850 / 1024;
	}
}



/**
 * Home Mobile - Colores accesibles en cards de ocasiones
 * La Floristería Miriam Franco
 *
 * Objetivo:
 * - Aplicar estilos a todas las cards de ocasiones, no solo a la primera.
 * - Mantener títulos en dorado de marca.
 * - Asegurar texto descriptivo en negro editorial para mejor lectura.
 * - Limitar el ajuste a mobile para no alterar desktop aprobado.
 *
 * Nota técnica:
 * - No todas las cards tienen la clase .lf-home-occasion-card.
 * - Todas sí viven dentro de .lf-home-occasions-grid y usan data-lf-home-slot.
 */

@media (max-width: 767px) {
  body.home .lf-home-occasions-grid [data-lf-home-slot] .lf-home-occasion-name .uagb-heading-text,
  body.home .lf-home-occasions-grid [data-lf-home-slot] h3.uagb-heading-text {
    color: #7A5A24  !important;
  }

  body.home .lf-home-occasions-grid [data-lf-home-slot] .lf-home-occasion-copy .uagb-heading-text,
  body.home .lf-home-occasions-grid [data-lf-home-slot] p.uagb-heading-text {
    color: #1A1A1A !important;
  }
}
/**
 * ============================================================
 * Home Hero - Imagen responsiva por shortcode
 * ============================================================
 *
 * Objetivo:
 * - Permitir que el hero cargue un tamaño distinto por dispositivo.
 * - Mantener la imagen administrable por ID de adjunto en WordPress.
 * - Evitar depender del HTML interno de Spectra o de URLs hardcodeadas.
 *
 * Uso:
 * [lf_home_hero_image id="ID_DEL_ADJUNTO"]
 */
body.home .lf-home-hero-picture {
	display: block;
	width: 100%;
	max-width: 100%;
}

body.home .lf-home-hero-image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
	object-fit: cover;
	aspect-ratio: 1062 / 1280;
}

body.home .lf-home-hero-media-card .lf-home-hero-picture,
body.home .lf-home-hero-media-card .lf-home-hero-image {
	margin: 0;
}

@media (max-width: 767px) {
	body.home .lf-home-hero-image {
		border-radius: 10px;
	}
}

/* =========================================================
   11. HOME MOBILE HORIZONTAL / LANDSCAPE
   Página: Inicio

   Objetivo:
   - Optimizar la Home cuando el celular está en horizontal.
   - Mantener intacto el mobile vertical aprobado.
   - Usar selectores completos contra el HTML real de Gutenberg/Spectra.

   Nota técnica:
   - El hero imprime <img class="lf-home-hero-image"> directamente.
     Por eso NO se usa `.lf-home-hero-image img`.
   - La sección de opciones probadas imprime:
     section.lf-home-featured > div.lf-home-featured-grid > div.lf-home-featured-card
     Por eso se apunta al contenedor real `.lf-home-featured-grid.uagb-block-3c52024a`.
========================================================= */
@media only screen and (max-width: 767px) and (orientation: landscape) and (max-height: 500px) {

	/* ---------------------------------------------------------
	   00. Base general
	   Reduce aire vertical solo en celular horizontal.
	--------------------------------------------------------- */
	body.home .entry-content section.lf-home-hero,
	body.home .entry-content section.lf-home-occasions,
	body.home .entry-content section.lf-home-featured,
	body.home .entry-content section.lf-home-trust,
	body.home .entry-content section.lf-home-final-cta,
	body.home .entry-content section.lf-home-assurance {
		padding-left: 28px !important;
		padding-right: 28px !important;
	}

	body.home .entry-content section.lf-home-occasions,
	body.home .entry-content section.lf-home-featured,
	body.home .entry-content section.lf-home-trust,
	body.home .entry-content section.lf-home-final-cta,
	body.home .entry-content section.lf-home-assurance {
		padding-top: 46px !important;
		padding-bottom: 46px !important;
	}

	body.home .entry-content section.lf-home-occasions > *,
	body.home .entry-content section.lf-home-featured > *,
	body.home .entry-content section.lf-home-trust > *,
	body.home .entry-content section.lf-home-final-cta > *,
	body.home .entry-content section.lf-home-assurance > *,
	body.home .entry-content section.lf-home-occasions > .uagb-container-inner-blocks-wrap,
	body.home .entry-content section.lf-home-featured > .uagb-container-inner-blocks-wrap,
	body.home .entry-content section.lf-home-trust > .uagb-container-inner-blocks-wrap,
	body.home .entry-content section.lf-home-final-cta > .uagb-container-inner-blocks-wrap,
	body.home .entry-content section.lf-home-assurance > .uagb-container-inner-blocks-wrap {
		width: 100% !important;
		max-width: 650px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	/* ---------------------------------------------------------
	   01. Hero
	   Selector corregido: el img trae la clase `.lf-home-hero-image`.
	--------------------------------------------------------- */
	body.home .entry-content section.lf-home-hero.uagb-block-8925228a {
		padding-top: 38px !important;
		padding-bottom: 38px !important;
	}

	body.home .entry-content section.lf-home-hero.uagb-block-8925228a > .uagb-container-inner-blocks-wrap,
	body.home .entry-content section.lf-home-hero.uagb-block-8925228a .lf-home-hero-inner.uagb-block-553643ab {
		width: 100% !important;
		max-width: 690px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.home .entry-content section.lf-home-hero.uagb-block-8925228a .lf-home-hero-columns.wp-block-columns {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 28px !important;
		width: 100% !important;
		margin: 0 !important;
	}

	body.home .entry-content section.lf-home-hero.uagb-block-8925228a .lf-home-hero-content.wp-block-column {
		flex: 1 1 58% !important;
		max-width: 360px !important;
		min-width: 0 !important;
	}

	body.home .entry-content section.lf-home-hero.uagb-block-8925228a .lf-home-hero-media.wp-block-column {
		flex: 0 0 275px !important;
		width: 275px !important;
		max-width: 275px !important;
		min-width: 0 !important;
	}

	body.home .entry-content section.lf-home-hero.uagb-block-8925228a .lf-home-hero-media-card.uagb-block-c9f98152 {
		width: 100% !important;
		max-width: 275px !important;
		min-height: 0 !important;
		padding: 8px !important;
		border-radius: 10px !important;
	}

	body.home .entry-content section.lf-home-hero.uagb-block-8925228a .lf-home-hero-picture {
		display: block !important;
		width: 100% !important;
		height: 250px !important;
		min-height: 250px !important;
		max-height: 250px !important;
		margin: 0 !important;
		overflow: hidden !important;
		border-radius: 8px !important;
		line-height: 0 !important;
	}

	body.home .entry-content section.lf-home-hero.uagb-block-8925228a img.lf-home-hero-image {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		aspect-ratio: auto !important;
		object-fit: cover !important;
		object-position: center center !important;
		border-radius: 8px !important;
	}

	body.home .entry-content section.lf-home-hero.uagb-block-8925228a .lf-home-hero-title h1 {
		font-size: clamp(28px, 5vw, 34px) !important;
		line-height: 1.06 !important;
		margin-bottom: 12px !important;
	}

	body.home .entry-content section.lf-home-hero.uagb-block-8925228a .lf-home-hero-subtitle h2 {
		max-width: 340px !important;
		font-size: 14px !important;
		line-height: 1.35 !important;
		margin-bottom: 18px !important;
	}

	body.home .entry-content section.lf-home-hero.uagb-block-8925228a .lf-home-hero-cta a {
		min-height: 42px !important;
		padding: 12px 24px !important;
		font-size: 13px !important;
	}

	body.home .entry-content section.lf-home-hero.uagb-block-8925228a .lf-home-hero-microcopy p {
		margin-top: 14px !important;
		font-size: 11.5px !important;
		line-height: 1.4 !important;
	}

	/* ---------------------------------------------------------
	   02. Ocasiones
	--------------------------------------------------------- */
	body.home .entry-content section.lf-home-occasions .lf-home-occasions-title h2,
	body.home .entry-content section.lf-home-featured .lf-home-featured-title h2,
	body.home .entry-content section.lf-home-trust .lf-home-trust-title h2,
	body.home .entry-content section.lf-home-final-cta .lf-home-final-cta-title h2,
	body.home .entry-content section.lf-home-assurance .lf-home-assurance-title h2 {
		font-size: 26px !important;
		line-height: 1.12 !important;
		margin-bottom: 22px !important;
	}

	body.home .entry-content section.lf-home-occasions .lf-home-occasions-subtitle p {
		max-width: 520px !important;
		font-size: 12.5px !important;
		line-height: 1.45 !important;
		margin-bottom: 24px !important;
	}

	body.home .entry-content section.lf-home-occasions .lf-home-occasions-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px !important;
		width: 100% !important;
		max-width: 620px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.home .entry-content section.lf-home-occasions .lf-home-occasions-grid > .wp-block-uagb-container {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		border-radius: 10px !important;
		overflow: hidden !important;
	}

	body.home .entry-content section.lf-home-occasions figure.lf-home-product-image-slot.lf-home-occasion-image {
		height: 105px !important;
		min-height: 105px !important;
		max-height: 105px !important;
	}

	body.home .entry-content section.lf-home-occasions .lf-home-occasion-body {
		padding: 14px 14px 16px !important;
	}

	body.home .entry-content section.lf-home-occasions .lf-home-occasion-name h3,
	body.home .entry-content section.lf-home-occasions .lf-home-occasion-body h3.uagb-heading-text {
		font-size: 17px !important;
		line-height: 1.15 !important;
		margin-bottom: 6px !important;
	}

	body.home .entry-content section.lf-home-occasions .lf-home-occasion-copy p {
		font-size: 11.5px !important;
		line-height: 1.35 !important;
		margin-bottom: 12px !important;
	}

	body.home .entry-content section.lf-home-occasions .lf-home-occasion-cta a,
	body.home .entry-content section.lf-home-occasions .lf-home-product-cta {
		min-height: 36px !important;
		padding: 10px 14px !important;
		font-size: 11.5px !important;
	}

	/* ---------------------------------------------------------
	   03. Opciones probadas
	   Selectores completos según el HTML real compartido.

	   Ajustes V5:
	   - Mantiene 3 cards en una sola fila en celular horizontal.
	   - Alinea "Confirmar selección" a la izquierda de cada card.
	   - Da más aire entre título, texto y botón sin romper el alto disponible.
	   - Evita depender de wrappers ambiguos de Spectra.
	--------------------------------------------------------- */
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 {
		padding-top: 44px !important;
		padding-bottom: 44px !important;
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	/* Título principal de la sección. */
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 > .lf-home-featured-title.uagb-block-89f02bed .uagb-heading-text {
		max-width: 100% !important;
		margin-top: 0 !important;
		margin-bottom: 24px !important;
		font-size: 24px !important;
		line-height: 1.12 !important;
		text-align: center !important;
	}

	/* Fila real de cards: 3 columnas forzadas en landscape. */
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 > .lf-home-featured-grid.uagb-block-3c52024a.uagb-layout-flex {
		--lf-featured-landscape-gap: 12px;

		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		justify-content: center !important;

		column-gap: var(--lf-featured-landscape-gap) !important;
		row-gap: 0 !important;
		gap: 0 var(--lf-featured-landscape-gap) !important;

		width: calc(100vw - 36px) !important;
		max-width: 650px !important;
		min-width: 0 !important;

		margin: 0 auto !important;
		padding: 0 !important;

		position: relative !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
	}

	/* Card individual. */
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 > .lf-home-featured-grid.uagb-block-3c52024a.uagb-layout-flex > .wp-block-uagb-container.lf-home-featured-card,
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 > .lf-home-featured-grid.uagb-block-3c52024a.uagb-layout-flex > .wp-block-uagb-container[data-lf-home-slot] {
		display: flex !important;
		flex-direction: column !important;

		flex: 0 0 calc((100% - (var(--lf-featured-landscape-gap) * 2)) / 3) !important;
		width: calc((100% - (var(--lf-featured-landscape-gap) * 2)) / 3) !important;
		min-width: 0 !important;
		max-width: calc((100% - (var(--lf-featured-landscape-gap) * 2)) / 3) !important;

		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;

		box-sizing: border-box !important;
		overflow: hidden !important;
		border-radius: 9px !important;
	}

	/* Imagen superior de la card. */
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 > .lf-home-featured-grid.uagb-block-3c52024a.uagb-layout-flex > .wp-block-uagb-container.lf-home-featured-card > figure.lf-home-product-image-slot.lf-home-featured-image,
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 figure.lf-home-product-image-slot--opciones_probadas {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		height: 132px !important;
		min-height: 132px !important;
		max-height: 132px !important;
		margin: 0 !important;
		padding: 0 !important;
		aspect-ratio: auto !important;
		overflow: hidden !important;
		line-height: 0 !important;
		border-radius: 9px 9px 0 0 !important;
	}

	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 figure.lf-home-product-image-slot--opciones_probadas > picture.lf-home-product-picture,
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 figure.lf-home-product-image-slot--opciones_probadas > a,
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 figure.lf-home-product-image-slot--opciones_probadas > a > picture {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		line-height: 0 !important;
	}

	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 figure.lf-home-product-image-slot--opciones_probadas img.lf-home-product-image,
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 figure.lf-home-product-image-slot--opciones_probadas picture.lf-home-product-picture > img {
		position: absolute !important;
		inset: 0 !important;
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		min-width: 100% !important;
		min-height: 100% !important;
		max-width: none !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		object-fit: cover !important;
		object-position: center center !important;
		border-radius: 0 !important;
	}

	/* Cuerpo de la card: compacto, pero con mejor respiración entre elementos. */
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 .lf-home-featured-card > .lf-home-featured-body.wp-block-uagb-container {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 0 !important;
		row-gap: 0 !important;
		padding: 10px 8px 10px !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	/* Neutraliza márgenes generados por Spectra para que manden los márgenes finos de abajo. */
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 .lf-home-featured-body .lf-home-featured-name,
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 .lf-home-featured-body .lf-home-featured-copy,
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 .lf-home-featured-body .wp-block-uagb-buttons {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 .lf-home-featured-name h3.uagb-heading-text {
		font-size: 11.5px !important;
		line-height: 1.12 !important;
		margin: 0 0 5px !important;
	}

	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 .lf-home-featured-copy p.uagb-heading-text {
		font-size: 8.8px !important;
		line-height: 1.25 !important;
		margin: 0 0 9px !important;
	}

	/* Wrapper real del botón: queda alineado a la izquierda de la card. */
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 .lf-home-featured-body > .wp-block-uagb-buttons,
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 .lf-home-featured-body > .wp-block-uagb-buttons > .uagb-buttons__wrap {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 .lf-home-featured-cta,
	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 .lf-home-featured-cta .uagb-button__wrapper {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: auto !important;
		max-width: 100% !important;
		margin: 0 auto 0 0 !important;
		padding: 0 !important;
	}

	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 .lf-home-featured-cta a.uagb-buttons-repeater.wp-block-button__link {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: auto !important;
		max-width: 100% !important;
		min-height: 26px !important;
		height: auto !important;
		padding: 6px 8px !important;
		border-radius: 6px !important;
		font-size: 8.4px !important;
		font-weight: 500 !important;
		line-height: 1 !important;
		letter-spacing: 0 !important;
		white-space: nowrap !important;
		text-align: center !important;
		margin-left: 0 !important;
		margin-right: auto !important;
	}

	body.home .entry-content section.lf-home-featured.uagb-block-048504f7 .lf-home-featured-cta a.uagb-buttons-repeater.wp-block-button__link .uagb-button__link {
		font-size: inherit !important;
		font-weight: inherit !important;
		line-height: inherit !important;
		letter-spacing: inherit !important;
		white-space: nowrap !important;
	}

	/* ---------------------------------------------------------
	   04. Diferenciadores y garantías
	--------------------------------------------------------- */
	body.home .entry-content section.lf-home-trust .lf-home-trust-grid,
	body.home .entry-content section.lf-home-assurance .lf-home-assurance-grid {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 14px !important;
		max-width: 620px !important;
		margin-top: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.home .entry-content section.lf-home-trust .lf-home-trust-item,
	body.home .entry-content section.lf-home-assurance .lf-home-assurance-item {
		max-width: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	body.home .entry-content section.lf-home-trust .lf-home-trust-icon svg,
	body.home .entry-content section.lf-home-assurance .lf-home-assurance-icon svg {
		width: 22px !important;
		height: 22px !important;
	}

	body.home .entry-content section.lf-home-trust .lf-home-trust-name h3,
	body.home .entry-content section.lf-home-assurance .lf-home-assurance-name h3 {
		font-size: 13px !important;
		line-height: 1.15 !important;
		margin: 0 0 5px !important;
	}

	body.home .entry-content section.lf-home-trust .lf-home-trust-copy p,
	body.home .entry-content section.lf-home-assurance .lf-home-assurance-copy p {
		font-size: 9.5px !important;
		line-height: 1.25 !important;
		margin: 0 !important;
	}

	/* ---------------------------------------------------------
	   05. CTA final
	--------------------------------------------------------- */
	body.home .entry-content section.lf-home-final-cta .lf-home-final-cta-title h2 {
		max-width: 430px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	body.home .entry-content section.lf-home-final-cta .lf-home-final-cta-copy p {
		max-width: 430px !important;
		font-size: 12.5px !important;
		line-height: 1.4 !important;
		margin-bottom: 18px !important;
	}

	body.home .entry-content section.lf-home-final-cta .lf-home-final-cta-button a {
		min-height: 40px !important;
		padding: 11px 22px !important;
		font-size: 12px !important;
	}

	body.home .entry-content section.lf-home-final-cta .lf-home-final-cta-microcopy p {
		font-size: 11px !important;
		line-height: 1.35 !important;
	}
}

