/**
 * =========================================================
 * 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: 190px !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: 12px !important;
	}

	.lf-home-occasions .lf-home-occasion-copy p {
		font-size: 14px !important;
		line-height: 1.55;
		margin-bottom: 28px !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: 190px !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: 12px !important;
	}

	.lf-home-occasions .lf-home-occasion-copy p {
		font-size: 13.5px !important;
		line-height: 1.55;
		margin-bottom: 26px !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: 165px !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: 155px !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: 190px !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;
		margin-bottom: 12px !important;
	}

	.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: 150px !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: 155px !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 {
		margin-bottom: 0 !important;
	}

	.lf-home-trust .lf-home-trust-icon svg {
		width: 25px !important;
		height: 25px !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-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;
	}
}
