/* ============================================================
   HOME — SECCIONES  ·  Haciendas Horizonte
   Estilo enganchado por ID (import fiable) + clases como respaldo.
   Paleta:  verde #1d3535 · dorado #d4a574 · crema #F5F0E8
   ============================================================ */

/* ============================================================
WHATSAPP BY POWERE
============================================================== */
.joinchat__powered {
	display: none !important;
}
/* ============================================================
   SECCIÓN 1 — OPCIONES DE PAGO	
   ============================================================ */
#hho-pago { background: #F5F0E8 !important; }
#hho-pago, #hho-pago > .e-con-inner { padding: 96px clamp(20px, 5vw, 40px) !important; }

#hho-pago-inner, #hho-pago-inner > .e-con-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto !important;
}
#hho-pago-inner > * { width: 100%; }

/* Eyebrow "Flexibilidad financiera" (ID #hho-eyebrow o clase .hh-eyebrow) */
#hho-eyebrow, #hho-pago-inner .hh-eyebrow {
	align-self: center;
	width: -moz-fit-content !important;
	width: fit-content !important;
	background: rgba(212, 165, 116, .15) !important;
	border-radius: 9999px !important;
	padding: 8px 20px !important;
	margin: 0 auto 20px !important;
}
#hho-eyebrow .elementor-heading-title {
	color: #b88b5a !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	margin: 0 !important;
}

/* Título */
#hho-pago-title .elementor-heading-title {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-weight: 700 !important;
	font-size: clamp(30px, 4vw, 50px) !important;
	line-height: 1.15 !important;
	color: #1d3535 !important;
	max-width: 900px;
	margin: 0 auto 16px !important;
	text-align: center !important;
}

/* Subtítulo */
#hho-pago-sub, #hho-pago-sub p {
	font-family: 'Poppins', sans-serif !important;
	font-size: clamp(16px, 1.6vw, 19px) !important;
	color: rgba(29, 53, 53, .7) !important;
	max-width: 620px;
	margin: 0 auto 56px !important;
	text-align: center !important;
}

/* Fila de tarjetas */
#hho-cards, #hho-cards > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 28px !important;
	align-items: stretch;
	width: 100%;
}

/* Tarjetas (ID #hho-c1..c3 o clase .hho-card) */
#hho-c1, #hho-c2, #hho-c3, .hho-card {
	border-radius: 22px !important;
	padding: 32px !important;
	min-height: 250px;
	transition: transform .3s ease, box-shadow .3s ease;
}
#hho-c1, #hho-c1 > .e-con-inner,
#hho-c2, #hho-c2 > .e-con-inner,
#hho-c3, #hho-c3 > .e-con-inner,
.hho-card, .hho-card > .e-con-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	height: 100%;
	text-align: left;
}
#hho-c1:hover, #hho-c2:hover, #hho-c3:hover, .hho-card:hover { transform: translateY(-6px); }
#hho-c1, #hho-c3, .hho-gold { background: linear-gradient(150deg, #d6ad7e, #c19a63) !important; box-shadow: 0 16px 40px rgba(189, 144, 89, .28); }
#hho-c2, .hho-green { background: #1d3535 !important; box-shadow: 0 16px 40px rgba(29, 53, 53, .32); }

/* Chip del icono */
#hho-c1 .elementor-widget-icon, #hho-c2 .elementor-widget-icon, #hho-c3 .elementor-widget-icon,
.hho-card .elementor-widget-icon { margin-bottom: auto !important; }
#hho-c1 .elementor-icon, #hho-c2 .elementor-icon, #hho-c3 .elementor-icon,
.hho-card .elementor-icon {
	width: 56px !important;
	height: 56px !important;
	border-radius: 16px !important;
	background: rgba(255, 255, 255, .18) !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	color: #fff !important;
}
#hho-c1 .elementor-icon svg, #hho-c2 .elementor-icon svg, #hho-c3 .elementor-icon svg,
#hho-c1 .elementor-icon i, #hho-c2 .elementor-icon i, #hho-c3 .elementor-icon i,
.hho-card .elementor-icon svg, .hho-card .elementor-icon i { width: 26px; height: 26px; font-size: 24px; color: #fff !important; }

/* Label */
#hho-c1-label .elementor-heading-title, #hho-c2-label .elementor-heading-title, #hho-c3-label .elementor-heading-title,
.hho-label .elementor-heading-title {
	font-family: 'Poppins', sans-serif !important;
	font-size: 15px !important; font-weight: 400 !important;
	color: rgba(255, 255, 255, .8) !important; margin: 24px 0 0 !important;
}
/* Value */
#hho-c1-value .elementor-heading-title, #hho-c2-value .elementor-heading-title, #hho-c3-value .elementor-heading-title,
.hho-value .elementor-heading-title {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-weight: 700 !important; font-size: 34px !important; line-height: 1.1 !important;
	color: #fff !important; margin: 6px 0 8px !important;
}
/* Desc */
#hho-c1-desc, #hho-c1-desc p, #hho-c2-desc, #hho-c2-desc p, #hho-c3-desc, #hho-c3-desc p,
.hho-desc, .hho-desc p {
	font-family: 'Poppins', sans-serif !important;
	font-size: 14px !important; color: rgba(255, 255, 255, .7) !important; margin: 0 !important;
}
#hho-c1-label, #hho-c1-value, #hho-c1-desc,
#hho-c2-label, #hho-c2-value, #hho-c2-desc,
#hho-c3-label, #hho-c3-value, #hho-c3-desc,
.hho-card .hho-label, .hho-card .hho-value, .hho-card .hho-desc { width: 100%; }

/* Barra "Aceptamos pagos…" (ID #hho-note) */
#hho-note, #hho-note > .e-con-inner {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center;
	gap: 12px;
	width: -moz-fit-content !important;
	width: fit-content !important;
	max-width: 100%;
}
#hho-note {
	align-self: center;
	margin-top: 40px !important;
	background: #fff !important;
	border-radius: 9999px !important;
	padding: 16px 28px !important;
	box-shadow: 0 8px 30px rgba(29, 53, 53, .08);
}
#hho-note .elementor-icon { color: #d4a574 !important; }
#hho-note .elementor-icon svg, #hho-note .elementor-icon i { width: 20px; height: 20px; font-size: 18px; color: #d4a574 !important; }
#hho-note .elementor-heading-title, #hho-note p {
	color: #1d3535 !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 15px !important; font-weight: 500 !important; margin: 0 !important;
}

/* Responsive */
@media (max-width: 900px) {
	#hho-cards, #hho-cards > .e-con-inner { grid-template-columns: 1fr !important; gap: 20px !important; }
	#hho-pago, #hho-pago > .e-con-inner { padding: 72px clamp(18px, 5vw, 32px) !important; }
	#hho-c1, #hho-c2, #hho-c3, .hho-card { min-height: auto; }
}



/* ============================================================
   SECCIÓN 2 — COMIENZA CON SOLO 10% INICIAL
   Robusto: funciona con o SIN el wrapper .e-con-inner del frontend.
   ============================================================ */
#hho-inicial { background-color: #1d3535 !important; background-image: radial-gradient(115% 90% at 36% 44%, rgba(212,165,116,.07) 0%, rgba(212,165,116,0) 46%) !important; overflow: hidden; }
#hho-inicial, #hho-inicial > .e-con-inner { padding: 96px clamp(20px, 5vw, 40px) !important; }
/* Blindaje: que la animación de entrada de Elementor NUNCA deje elementos invisibles en el frontend */
#hho-inicial .elementor-invisible { opacity: 1 !important; }

/* 2 columnas (fila, haya o no .e-con-inner) */
#hho-inicial-inner { display: flex !important; flex-direction: row !important; gap: 56px !important; align-items: center; max-width: 1200px; width: 100%; margin: 0 auto !important; }
#hho-inicial-inner > .e-con-inner { display: flex !important; flex-direction: row !important; gap: 56px !important; align-items: center; flex: 1 1 100%; width: 100%; }
#hho-inicial-left, #hho-inicial-right { flex: 1 1 0 !important; min-width: 0 !important; }

/* --- Izquierda: 10% --- */
#hho-inicial-left, #hho-inicial-left > .e-con-inner { display: flex !important; flex-direction: column !important; align-items: flex-start; justify-content: center; gap: 0 !important; row-gap: 0 !important; --gap: 0px !important; --row-gap: 0px !important; --column-gap: 0px !important; }
#hho-10-num .elementor-heading-title {
	font-family: 'Playfair Display', Georgia, serif !important; font-weight: 700 !important;
	font-size: clamp(150px, 20vw, 300px) !important; line-height: .9 !important; margin: 0 !important;
	white-space: nowrap;
	filter: drop-shadow(0 0 55px rgba(212,165,116,.30));   /* iluminación dorada */
	/* "Botella que se llena": empieza blanco y el dorado sube desde abajo */
	background-image: linear-gradient(to top, #d4a574 50%, #ffffff 50%) !important;
	background-size: 100% 200% !important;
	background-repeat: no-repeat !important;
	background-position: 0 top;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
}
#hho-10-num.hho-fill-go .elementor-heading-title { animation: hho-liquid-fill 2.4s cubic-bezier(.65, 0, .35, 1) forwards; }
@keyframes hho-liquid-fill { from { background-position: 0 top; } to { background-position: 0 bottom; } }
@media (prefers-reduced-motion: reduce) {
	#hho-10-num .elementor-heading-title { background-position: 0 bottom !important; }
	#hho-10-num.hho-fill-go .elementor-heading-title { animation: none; }
}
#hho-10-cap .elementor-heading-title { font-family: 'Poppins', sans-serif !important; font-size: clamp(18px, 2vw, 26px) !important; color: #d4a574 !important; font-weight: 500 !important; margin: 16px 0 0 !important; }

/* --- Derecha --- */
#hho-inicial-right, #hho-inicial-right > .e-con-inner { display: flex !important; flex-direction: column !important; align-items: flex-start; gap: 0 !important; row-gap: 0 !important; --gap: 0px !important; --row-gap: 0px !important; --column-gap: 0px !important; }
#hho-inicial-eyebrow { align-self: flex-start; width: -moz-fit-content !important; width: fit-content !important; background: rgba(212,165,116,.15) !important; border-radius: 9999px !important; padding: 8px 20px !important; margin: 0 0 20px !important; }
#hho-inicial-eyebrow .elementor-heading-title { color: #d4a574 !important; font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 500 !important; margin: 0 !important; }
#hho-inicial-title .elementor-heading-title { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 700 !important; font-size: clamp(30px, 3.4vw, 46px) !important; line-height: 1.15 !important; color: #fff !important; margin: 0 0 18px !important; }
#hho-inicial-p, #hho-inicial-p p { font-family: 'Poppins', sans-serif !important; font-size: clamp(15px, 1.4vw, 17px) !important; color: rgba(255,255,255,.72) !important; line-height: 1.6 !important; margin: 0 0 10px !important; max-width: 560px; }

/* --- Lista de 3 tarjetas (por .e-con, robusto al wrapper) --- */
#hho-inicial-list, #hho-inicial-list > .e-con-inner { display: flex !important; flex-direction: column !important; gap: 16px !important; width: 100%; }
/* cada tarjeta = cualquier .e-con dentro de la lista */
#hho-inicial-list .e-con {
	background: rgba(255,255,255,.04) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	border-radius: 16px !important;
	padding: 20px 22px !important;
	display: flex !important; flex-direction: row !important; align-items: center !important; gap: 18px !important;
	transition: background .25s ease, border-color .25s ease;
}
#hho-inicial-list .e-con:hover { background: rgba(255,255,255,.06) !important; border-color: rgba(212,165,116,.3) !important; }
/* el bloque de texto anidado se resetea a columna sin caja */
#hho-inicial-list .e-con .e-con {
	background: transparent !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important;
	flex-direction: column !important; align-items: flex-start !important; gap: 3px !important;
	flex: 1 1 auto !important; min-width: 0 !important;
}
/* chip del icono */
#hho-inicial-list .elementor-widget-icon { flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; }
#hho-inicial-list .elementor-icon { width: 48px !important; height: 48px !important; border-radius: 12px !important; background: rgba(212,165,116,.14) !important; display: flex !important; align-items: center; justify-content: center; flex: 0 0 auto; }
#hho-inicial-list .elementor-icon svg, #hho-inicial-list .elementor-icon i { width: 22px; height: 22px; font-size: 20px; color: #d4a574 !important; }
/* textos */
#hho-inicial-list .elementor-widget-heading .elementor-heading-title { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 600 !important; font-size: 19px !important; color: #fff !important; margin: 0 !important; }
#hho-inicial-list .elementor-widget-text-editor, #hho-inicial-list .elementor-widget-text-editor p { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; color: rgba(255,255,255,.6) !important; margin: 0 !important; }

/* --- Checks (por .e-con, robusto al wrapper) --- */
#hho-checks { margin-top: 24px !important; }
#hho-checks, #hho-checks > .e-con-inner { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 32px !important; align-items: center; }
#hho-checks .e-con { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 10px !important; flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; background: transparent !important; border: 0 !important; padding: 0 !important; }
#hho-checks .e-con + .e-con { border-left: 1px solid rgba(255,255,255,.2) !important; padding-left: 32px !important; }
#hho-checks .elementor-widget-icon, #hho-checks .elementor-widget-heading { flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; }
#hho-checks .elementor-icon svg, #hho-checks .elementor-icon i { width: 18px; height: 18px; font-size: 16px; color: #d4a574 !important; }
#hho-checks .elementor-heading-title { color: rgba(255,255,255,.85) !important; font-family: 'Poppins', sans-serif !important; font-size: 15px !important; font-weight: 500 !important; margin: 0 !important; }

@media (max-width: 900px) {
	#hho-inicial-inner, #hho-inicial-inner > .e-con-inner { flex-direction: column !important; gap: 32px !important; align-items: stretch; }
	#hho-inicial-left, #hho-inicial-right { flex: 1 1 auto !important; }
	#hho-inicial, #hho-inicial > .e-con-inner { padding: 72px clamp(18px, 5vw, 32px) !important; }
	#hho-10-num .elementor-heading-title { font-size: clamp(90px, 30vw, 150px) !important; }
}
@media (max-width: 600px) {
	#hho-checks, #hho-checks > .e-con-inner { gap: 14px !important; flex-wrap: nowrap !important; }
	#hho-checks .e-con { gap: 8px !important; }
	#hho-checks .e-con + .e-con { padding-left: 14px !important; }
	#hho-checks .elementor-heading-title { font-size: 13px !important; }
	#hho-checks .elementor-icon svg, #hho-checks .elementor-icon i { width: 15px; height: 15px; font-size: 14px; }
}



/* ============================================================
   SECCIÓN 3 — UBICACIÓN (Cupey, Puerto Plata)  [match al original]
   ============================================================ */
#hho-ubicacion { background-color: #F5F0E8 !important; }
#hho-ubicacion, #hho-ubicacion > .e-con-inner { padding: 96px clamp(20px, 5vw, 40px) !important; }
#hho-ubicacion .elementor-invisible { opacity: 1 !important; }
#hho-ubicacion-inner, #hho-ubicacion-inner > .e-con-inner { max-width: 1280px !important; width: 100% !important; margin: 0 auto !important; display: flex !important; flex-direction: column !important; align-items: center; gap: 0 !important; }

/* Header */
#hho-ubic-eyebrow { align-self: center; width: -moz-fit-content !important; width: fit-content !important; background: rgba(212,165,116,.1) !important; border-radius: 9999px !important; padding: 8px 16px !important; margin: 0 0 16px !important; }
#hho-ubic-eyebrow .elementor-heading-title { color: #B88B5A !important; font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 500 !important; margin: 0 !important; }
#hho-ubic-title .elementor-heading-title { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 700 !important; font-size: clamp(34px, 5vw, 60px) !important; line-height: 1.1 !important; color: #1d3535 !important; text-align: center !important; margin: 0 0 24px !important; }
#hho-ubic-title .hho-txt-gold { color: #d4a574 !important; }
#hho-ubic-sub, #hho-ubic-sub p { font-family: 'Poppins', sans-serif !important; font-size: 18px !important; color: #4b5563 !important; line-height: 1.6 !important; text-align: center !important; max-width: 672px; margin: 0 auto 64px !important; }

/* Body 2 columnas — stretch para que el mapa iguale el alto de las tarjetas */
#hho-ubic-body, #hho-ubic-body > .e-con-inner { display: flex !important; flex-direction: row !important; gap: 48px !important; width: 100%; align-items: stretch !important; }
#hho-ubic-left { flex: 1 1 0 !important; min-width: 0 !important; }
#hho-ubic-left, #hho-ubic-left > .e-con-inner { display: flex !important; flex-direction: column !important; gap: 16px !important; }
/* quitar padding por defecto de contenedores internos (Elementor) */
#hho-ubic-c1-txt, #hho-ubic-c2-txt, #hho-ubic-c3-txt, [id^="hho-ubic-c"][id$="-top"], [id^="hho-ubic-c"][id$="-tags"] { padding: 0 !important; }

/* Tarjetas */
#hho-ubic-c1, #hho-ubic-c2, #hho-ubic-c3 { border-radius: 24px !important; padding: 24px !important; }
#hho-ubic-c1, #hho-ubic-c1 > .e-con-inner, #hho-ubic-c2, #hho-ubic-c2 > .e-con-inner, #hho-ubic-c3, #hho-ubic-c3 > .e-con-inner { display: flex !important; flex-direction: row !important; align-items: flex-start !important; gap: 16px !important; }
#hho-ubic-c1, #hho-ubic-c2, #hho-ubic-c3 { background: #fff !important; box-shadow: 0 10px 30px rgba(29,53,53,.08) !important; cursor: pointer; transition: background .35s ease, box-shadow .35s ease; }

/* Icono (SVG inline dentro de widget HTML) */
[id^="hho-ubic-c"] .elementor-widget-html { flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; }
.hho-ic { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; transition: background .35s ease; }
.hho-ic svg { width: 24px; height: 24px; transition: stroke .35s ease; }
#hho-ubic-c1 .hho-ic, #hho-ubic-c2 .hho-ic, #hho-ubic-c3 .hho-ic { background: rgba(212,165,116,.1); }
#hho-ubic-c1 .hho-ic svg, #hho-ubic-c2 .hho-ic svg, #hho-ubic-c3 .hho-ic svg { stroke: #B88B5A; }

/* Columna de texto */
#hho-ubic-c1-txt, #hho-ubic-c2-txt, #hho-ubic-c3-txt { flex: 1 1 auto !important; min-width: 0 !important; }
#hho-ubic-c1-txt, #hho-ubic-c1-txt > .e-con-inner, #hho-ubic-c2-txt, #hho-ubic-c2-txt > .e-con-inner, #hho-ubic-c3-txt, #hho-ubic-c3-txt > .e-con-inner { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 0 !important; }

/* Fila título + pill */
[id^="hho-ubic-c"][id$="-top"], [id^="hho-ubic-c"][id$="-top"] > .e-con-inner { display: flex !important; flex-direction: row !important; align-items: center; justify-content: space-between; gap: 10px !important; margin-bottom: 8px !important; }
[id^="hho-ubic-c"][id$="-title"] .elementor-heading-title { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 600 !important; font-size: 20px !important; margin: 0 !important; color: #1d3535 !important; transition: color .35s ease; }
[id^="hho-ubic-c"][id$="-pill"] { flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; }
[id^="hho-ubic-c"][id$="-pill"] .elementor-heading-title { display: inline-block; border-radius: 9999px !important; padding: 4px 12px !important; font-family: 'Poppins', sans-serif !important; font-size: 12px !important; font-weight: 600 !important; margin: 0 !important; white-space: nowrap; background: rgba(212,165,116,.15) !important; color: #B88B5A !important; transition: background .35s ease, color .35s ease; }

/* Subtítulo */
[id^="hho-ubic-c"][id$="-sub"], [id^="hho-ubic-c"][id$="-sub"] p { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; margin: 0 0 12px !important; color: #6b7280 !important; transition: color .35s ease; }

/* Tags */
[id^="hho-ubic-c"][id$="-tags"], [id^="hho-ubic-c"][id$="-tags"] > .e-con-inner { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 8px !important; }
[id^="hho-ubic-c"][id$="-tags"] .elementor-widget-heading { flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; }
[id^="hho-ubic-c"][id$="-tags"] .elementor-heading-title { border-radius: 9999px !important; padding: 4px 8px !important; font-family: 'Poppins', sans-serif !important; font-size: 12px !important; font-weight: 500 !important; margin: 0 !important; background: #F5F0E8 !important; color: #4b5563 !important; transition: background .35s ease, color .35s ease; }

/* ---- Tarjeta ACTIVA (verde) — la clase la pone el JS al hacer click ---- */
#hho-ubic-c1.hho-ubic-active, #hho-ubic-c2.hho-ubic-active, #hho-ubic-c3.hho-ubic-active { background: #1d3535 !important; box-shadow: 0 20px 40px rgba(29,53,53,.25) !important; }
.hho-ubic-active .hho-ic { background: rgba(212,165,116,.2) !important; }
.hho-ubic-active .hho-ic svg { stroke: #d4a574 !important; }
.hho-ubic-active [id$="-title"] .elementor-heading-title { color: #fff !important; }
.hho-ubic-active [id$="-pill"] .elementor-heading-title { background: #d4a574 !important; color: #1d3535 !important; }
.hho-ubic-active [id$="-sub"], .hho-ubic-active [id$="-sub"] p { color: rgba(255,255,255,.7) !important; }
.hho-ubic-active [id$="-tags"] .elementor-heading-title { background: rgba(255,255,255,.1) !important; color: rgba(255,255,255,.8) !important; }

/* Mini stats (por ID) */
#hho-ubic-stats, #hho-ubic-stats > .e-con-inner { display: flex !important; flex-direction: row !important; gap: 16px !important; width: 100%; margin-top: 16px; }
#hho-ubic-s1, #hho-ubic-s2, #hho-ubic-s3 { flex: 1 1 0 !important; min-width: 0 !important; background: #fff !important; border-radius: 16px !important; padding: 16px 12px !important; box-shadow: 0 10px 30px rgba(29,53,53,.08) !important; }
#hho-ubic-s1, #hho-ubic-s1 > .e-con-inner, #hho-ubic-s2, #hho-ubic-s2 > .e-con-inner, #hho-ubic-s3, #hho-ubic-s3 > .e-con-inner { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 6px !important; text-align: center; }
#hho-ubic-stats .elementor-widget-html { width: -moz-fit-content !important; width: fit-content !important; margin: 0 auto; }
.hho-ic-plain svg { width: 26px; height: 26px; stroke: #d4a574; }
[id^="hho-ubic-s"][id$="-val"] .elementor-heading-title { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 700 !important; font-size: 24px !important; color: #1d3535 !important; margin: 0 !important; text-align: center; }
[id^="hho-ubic-s"][id$="-lbl"], [id^="hho-ubic-s"][id$="-lbl"] p { font-family: 'Poppins', sans-serif !important; font-size: 12px !important; color: #6b7280 !important; margin: 0 !important; text-align: center; }

/* Mapa — llena el alto de la columna (que se estira al alto de las tarjetas) */
#hho-ubic-mapwrap { flex: 1 1 0 !important; min-width: 0 !important; min-height: 420px; position: relative !important; border-radius: 24px !important; overflow: hidden !important; box-shadow: 0 25px 50px rgba(29,53,53,.15) !important; background: #e8eef0 !important; }
#hho-ubic-mapwrap .elementor-widget-html { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
#hho-ubic-mapwrap .elementor-widget-container { height: 100% !important; }
.hho-map { position: absolute; inset: 0; width: 100%; height: 100%; }
.hho-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
.hho-map-tint { position: absolute; inset: 0; background: rgba(29,53,53,.12); pointer-events: none; }
.hho-map-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); pointer-events: none; }
.hho-map-glow { position: absolute; inset: -14px; border-radius: 9999px; background: rgba(212,165,116,.35); filter: blur(14px); }
.hho-map-dot { position: relative; width: 48px; height: 48px; border-radius: 9999px; background: #fff; border: 1px solid rgba(212,165,116,.4); box-shadow: 0 10px 30px rgba(0,0,0,.25); display: flex; align-items: center; justify-content: center; }
.hho-map-dot svg { width: 24px; height: 24px; stroke: #d4a574; }
.hho-map-bot { position: absolute; left: 16px; right: 16px; bottom: 16px; background: rgba(255,255,255,.92); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); border-radius: 16px; padding: 16px; display: flex; align-items: center; gap: 12px; pointer-events: none; }
.hho-map-pin { width: 40px; height: 40px; border-radius: 9999px; background: rgba(212,165,116,.2); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.hho-map-pin svg { width: 20px; height: 20px; stroke: #d4a574; }
.hho-map-bot .bname { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 15px; color: #1d3535; }
.hho-map-bot .baddr { font-family: 'Poppins', sans-serif; font-size: 13px; color: #6b7280; }

@media (max-width: 900px) {
	#hho-ubicacion, #hho-ubicacion > .e-con-inner { padding: 64px clamp(18px, 5vw, 28px) !important; }
	#hho-ubic-body, #hho-ubic-body > .e-con-inner { flex-direction: column !important; gap: 32px !important; align-items: stretch; }
}
@media (max-width: 560px) {
	#hho-ubic-stats, #hho-ubic-stats > .e-con-inner { gap: 10px !important; }
	#hho-ubic-s1, #hho-ubic-s2, #hho-ubic-s3 { padding: 14px 8px !important; }
	[id^="hho-ubic-s"][id$="-val"] .elementor-heading-title { font-size: 20px !important; }
}

/* ============================================================
   SECCIÓN 4 — CARACTERÍSTICAS ("Nuestros proyectos cuentan con")
   ============================================================ */
#hho-carac { position: relative; background-color: #1d3535 !important; background-image: radial-gradient(600px circle at 25% -5%, rgba(212,165,116,.12), transparent 60%), radial-gradient(600px circle at 75% 105%, rgba(212,165,116,.06), transparent 60%), radial-gradient(circle at 2px 2px, rgba(212,165,116,.05) 1px, transparent 0); background-size: auto, auto, 32px 32px; overflow: hidden; }
#hho-carac, #hho-carac > .e-con-inner { padding: 96px clamp(20px,5vw,40px) !important; }
#hho-carac .elementor-invisible { opacity: 1 !important; }
#hho-carac-inner, #hho-carac-inner > .e-con-inner { max-width: 1280px !important; width: 100% !important; margin: 0 auto !important; display: flex !important; flex-direction: column !important; align-items: center; gap: 0 !important; }

/* Header */
#hho-carac-eyebrow { align-self: center; width: -moz-fit-content !important; width: fit-content !important; background: rgba(212,165,116,.2) !important; border-radius: 9999px !important; padding: 8px 16px !important; margin: 0 0 16px !important; }
#hho-carac-eyebrow .elementor-heading-title { color: #d4a574 !important; font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 500 !important; margin: 0 !important; }
#hho-carac-title .elementor-heading-title { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 700 !important; font-size: clamp(34px,5vw,60px) !important; line-height: 1.1 !important; color: #fff !important; text-align: center !important; margin: 0 0 24px !important; }
#hho-carac-sub, #hho-carac-sub p { font-family: 'Poppins', sans-serif !important; font-size: 18px !important; color: rgba(255,255,255,.7) !important; line-height: 1.6 !important; text-align: center !important; max-width: 672px; margin: 0 auto 64px !important; }

/* Grid de tarjetas */
#hho-carac-grid, #hho-carac-grid > .e-con-inner { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 24px !important; width: 100%; align-items: stretch; }
#hho-carac-c1, #hho-carac-c2, #hho-carac-c3, #hho-carac-c4, #hho-carac-c5, #hho-carac-c6 { flex: 1 1 100% !important; min-width: 0 !important; padding: 32px !important; border-radius: 24px !important; background: rgba(255,255,255,.05) !important; border: 1px solid rgba(255,255,255,.1) !important; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); transition: background .4s ease, transform .4s ease; }
#hho-carac-c1, #hho-carac-c1 > .e-con-inner, #hho-carac-c2, #hho-carac-c2 > .e-con-inner, #hho-carac-c3, #hho-carac-c3 > .e-con-inner, #hho-carac-c4, #hho-carac-c4 > .e-con-inner, #hho-carac-c5, #hho-carac-c5 > .e-con-inner, #hho-carac-c6, #hho-carac-c6 > .e-con-inner { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 0 !important; }
[id^="hho-carac-c"]:hover { transform: translateY(-4px); }

/* Icono chip (SVG inline) */
[id^="hho-carac-c"] .elementor-widget-html { align-self: flex-start; flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; }
.hho-fic { width: 64px; height: 64px; border-radius: 16px; background: rgba(212,165,116,.2); display: flex; align-items: center; justify-content: center; margin-bottom: 24px; transition: transform .3s ease; }
.hho-fic svg { width: 32px; height: 32px; stroke: #d4a574; }
[id^="hho-carac-c"]:hover .hho-fic { transform: scale(1.1); }

/* Título y descripción */
[id^="hho-carac-c"][id$="-title"] .elementor-heading-title { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 600 !important; font-size: 20px !important; color: #fff !important; margin: 0 0 12px !important; text-align: left; }
[id^="hho-carac-c"][id$="-desc"], [id^="hho-carac-c"][id$="-desc"] p { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; color: rgba(255,255,255,.6) !important; line-height: 1.6 !important; margin: 0 !important; text-align: left; }

/* CTA inferior */
#hho-carac-cta { margin-top: 64px !important; }
#hho-carac-cta, #hho-carac-cta p { font-family: 'Poppins', sans-serif !important; font-size: 18px !important; color: rgba(255,255,255,.6) !important; text-align: center !important; margin: 0 !important; }
#hho-carac-cta a { color: #d4a574 !important; text-decoration: underline; text-underline-offset: 4px; transition: color .3s ease; }
#hho-carac-cta a:hover { color: #e3c39c !important; }

/* Responsive: 2 col ≥640, 3 col ≥1024 */
@media (min-width: 640px) {
	#hho-carac-c1, #hho-carac-c2, #hho-carac-c3, #hho-carac-c4, #hho-carac-c5, #hho-carac-c6 { flex: 1 1 calc(50% - 12px) !important; max-width: calc(50% - 12px); }
}
@media (min-width: 1024px) {
	#hho-carac-c1, #hho-carac-c2, #hho-carac-c3, #hho-carac-c4, #hho-carac-c5, #hho-carac-c6 { flex: 1 1 calc(33.333% - 16px) !important; max-width: calc(33.333% - 16px); }
}
@media (max-width: 900px) {
	#hho-carac, #hho-carac > .e-con-inner { padding: 64px clamp(18px,5vw,28px) !important; }
}

/* ============================================================
   SECCIÓN 4 — CARACTERÍSTICAS ("Nuestros proyectos cuentan con")
   ============================================================ */
#hho-caracteristicas { background-color: #1d3535 !important; background-image: radial-gradient(circle at 25% 0%, rgba(212,165,116,.10), transparent 42%), radial-gradient(circle at 75% 100%, rgba(212,165,116,.06), transparent 42%), radial-gradient(circle at 2px 2px, rgba(212,165,116,.06) 1px, transparent 0) !important; background-size: auto, auto, 32px 32px !important; position: relative; overflow: hidden; }
#hho-caracteristicas, #hho-caracteristicas > .e-con-inner { padding: 96px clamp(20px, 5vw, 40px) !important; }
#hho-caracteristicas .elementor-invisible { opacity: 1 !important; }
#hho-carac-inner, #hho-carac-inner > .e-con-inner { max-width: 1280px !important; width: 100% !important; margin: 0 auto !important; display: flex !important; flex-direction: column !important; align-items: center; gap: 0 !important; }

/* Header */
#hho-carac-eyebrow { align-self: center; width: -moz-fit-content !important; width: fit-content !important; background: rgba(212,165,116,.2) !important; border-radius: 9999px !important; padding: 8px 16px !important; margin: 0 0 16px !important; }
#hho-carac-eyebrow .elementor-heading-title { color: #d4a574 !important; font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 500 !important; margin: 0 !important; }
#hho-carac-title .elementor-heading-title { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 700 !important; font-size: clamp(34px, 5vw, 60px) !important; line-height: 1.1 !important; color: #fff !important; text-align: center !important; margin: 0 0 24px !important; }
#hho-carac-sub, #hho-carac-sub p { font-family: 'Poppins', sans-serif !important; font-size: 18px !important; color: rgba(255,255,255,.7) !important; line-height: 1.6 !important; text-align: center !important; max-width: 672px; margin: 0 auto 64px !important; }

/* Grid de 6 tarjetas (3 columnas) */
#hho-carac-grid, #hho-carac-grid > .e-con-inner { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 24px !important; width: 100%; align-items: stretch; }
#hho-carac-c1, #hho-carac-c2, #hho-carac-c3, #hho-carac-c4, #hho-carac-c5, #hho-carac-c6 { flex: 0 0 auto !important; width: calc(33.333% - 16px) !important; box-sizing: border-box !important; min-width: 0 !important; padding: 32px !important; border-radius: 24px !important; background: rgba(255,255,255,.05) !important; border: 1px solid rgba(255,255,255,.1) !important; transition: background .3s ease, transform .3s ease; }
#hho-carac-c1, #hho-carac-c1 > .e-con-inner, #hho-carac-c2, #hho-carac-c2 > .e-con-inner, #hho-carac-c3, #hho-carac-c3 > .e-con-inner, #hho-carac-c4, #hho-carac-c4 > .e-con-inner, #hho-carac-c5, #hho-carac-c5 > .e-con-inner, #hho-carac-c6, #hho-carac-c6 > .e-con-inner { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 0 !important; }
#hho-carac-c1:hover, #hho-carac-c2:hover, #hho-carac-c3:hover, #hho-carac-c4:hover, #hho-carac-c5:hover, #hho-carac-c6:hover { background: rgba(255,255,255,.1) !important; transform: translateY(-4px); }

/* Icono (SVG inline en widget HTML) */
#hho-carac-grid .elementor-widget-html { flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; margin-bottom: 24px; }
.hho-carac-ic { width: 64px; height: 64px; border-radius: 16px; background: rgba(212,165,116,.2); display: flex; align-items: center; justify-content: center; }
.hho-carac-ic svg { width: 32px; height: 32px; stroke: #d4a574; }

/* Título + texto de tarjeta */
[id^="hho-carac-c"][id$="-title"] .elementor-heading-title { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 600 !important; font-size: 20px !important; color: #fff !important; margin: 0 0 12px !important; }
[id^="hho-carac-c"][id$="-sub"], [id^="hho-carac-c"][id$="-sub"] p { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; color: rgba(255,255,255,.6) !important; line-height: 1.65 !important; margin: 0 !important; }

/* Pie */
#hho-carac-foot, #hho-carac-foot p { font-family: 'Poppins', sans-serif !important; font-size: 18px !important; color: rgba(255,255,255,.6) !important; text-align: center !important; margin: 64px auto 0 !important; }
#hho-carac-foot a { color: #d4a574 !important; text-decoration: underline; text-underline-offset: 4px; transition: color .3s ease; }
#hho-carac-foot a:hover { color: #e0bd94 !important; }

@media (max-width: 900px) {
	#hho-caracteristicas, #hho-caracteristicas > .e-con-inner { padding: 64px clamp(18px, 5vw, 28px) !important; }
	#hho-carac-c1, #hho-carac-c2, #hho-carac-c3, #hho-carac-c4, #hho-carac-c5, #hho-carac-c6 { width: calc(50% - 12px) !important; }
}
@media (max-width: 560px) {
	#hho-carac-c1, #hho-carac-c2, #hho-carac-c3, #hho-carac-c4, #hho-carac-c5, #hho-carac-c6 { width: 100% !important; }
}

/* ============================================================
   SECCIÓN 5 — SEPARACIÓN ("Separa tu solar con solo RD$30,000")
   ============================================================ */
#hho-separacion { background-color: #d4a574 !important; background-image: radial-gradient(circle at 20% 22%, rgba(255,255,255,.14), transparent 32%), radial-gradient(circle at 85% 78%, rgba(255,255,255,.10), transparent 32%), radial-gradient(circle at 2px 2px, rgba(255,255,255,.14) 1px, transparent 0), linear-gradient(135deg, #d4a574 0%, #e6d0ac 50%, #B88B5A 100%) !important; background-size: auto, auto, 24px 24px, auto !important; position: relative; overflow: hidden; }
#hho-separacion, #hho-separacion > .e-con-inner { padding: 96px clamp(20px, 5vw, 40px) !important; }
#hho-separacion .elementor-invisible { opacity: 1 !important; }
#hho-sep-inner, #hho-sep-inner > .e-con-inner { max-width: 896px !important; width: 100% !important; margin: 0 auto !important; display: flex !important; flex-direction: column !important; align-items: center; gap: 0 !important; text-align: center; }

/* Eyebrow pill (con escudo) */
#hho-sep-eyebrow { align-self: center; width: -moz-fit-content !important; width: fit-content !important; }
#hho-sep-eyebrow, #hho-sep-eyebrow > .e-con-inner { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 8px !important; background: rgba(255,255,255,.2) !important; border-radius: 9999px !important; padding: 8px 16px !important; margin: 0 0 32px !important; }
#hho-sep-eyebrow .elementor-widget-html { flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; }
#hho-sep-eyebrow .elementor-heading-title { color: #1d3535 !important; font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 500 !important; margin: 0 !important; }
.hho-sep-ic16 svg { width: 16px; height: 16px; stroke: #1d3535; display: block; }

/* Título */
#hho-sep-title .elementor-heading-title { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 700 !important; font-size: clamp(38px, 6vw, 72px) !important; line-height: 1.1 !important; color: #1d3535 !important; margin: 0 0 24px !important; text-align: center !important; }
#hho-sep-title .hho-sep-white { display: block; color: #fff !important; margin-top: 8px; }

/* Subtítulo */
#hho-sep-sub, #hho-sep-sub p { font-family: 'Poppins', sans-serif !important; font-size: clamp(18px, 2vw, 20px) !important; color: rgba(29,53,53,.8) !important; line-height: 1.6 !important; max-width: 672px; margin: 0 auto 40px !important; text-align: center !important; }

/* Píldoras de features */
#hho-sep-feats, #hho-sep-feats > .e-con-inner { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: center !important; gap: 24px !important; margin: 0 0 40px !important; width: 100%; }
#hho-sep-f1, #hho-sep-f2, #hho-sep-f3 { flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; }
#hho-sep-f1, #hho-sep-f1 > .e-con-inner, #hho-sep-f2, #hho-sep-f2 > .e-con-inner, #hho-sep-f3, #hho-sep-f3 > .e-con-inner { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 8px !important; background: rgba(255,255,255,.2) !important; border-radius: 9999px !important; padding: 8px 16px !important; }
#hho-sep-f1 .elementor-widget-html, #hho-sep-f2 .elementor-widget-html, #hho-sep-f3 .elementor-widget-html { flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; }
#hho-sep-f1 .elementor-heading-title, #hho-sep-f2 .elementor-heading-title, #hho-sep-f3 .elementor-heading-title { color: #1d3535 !important; font-family: 'Poppins', sans-serif !important; font-size: 16px !important; font-weight: 500 !important; margin: 0 !important; white-space: nowrap; }
.hho-sep-ic20 svg { width: 20px; height: 20px; stroke: #1d3535; display: block; }

/* Botón CTA */
#hho-sep-cta, #hho-sep-cta > .e-con-inner { display: flex !important; justify-content: center !important; margin: 0 0 48px !important; }
#hho-sep-cta .elementor-widget-html { width: -moz-fit-content !important; width: fit-content !important; margin: 0 auto; }
.hho-sep-btn { display: inline-flex; align-items: center; gap: 10px; background: #1d3535; color: #fff; border-radius: 9999px; padding: 20px 40px; font-family: 'Poppins', sans-serif; font-size: 18px; font-weight: 500; text-decoration: none; box-shadow: 0 20px 40px rgba(29,53,53,.3); animation: hhoSepPulse 2.6s ease-in-out infinite; transition: background .3s ease, transform .3s ease; }
.hho-sep-btn:hover { background: #274545; color:#fff; transform: translateY(-2px); }
.hho-sep-btn svg { width: 20px; height: 20px; stroke: #fff; transition: transform .3s ease; }
.hho-sep-btn:hover svg { transform: translateX(4px); }
@keyframes hhoSepPulse { 0%, 100% { box-shadow: 0 20px 40px rgba(29,53,53,.30); } 50% { box-shadow: 0 22px 55px rgba(29,53,53,.50); } }

/* Stats */
#hho-sep-stats, #hho-sep-stats > .e-con-inner { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important; gap: 32px !important; width: 100%; }
#hho-sep-s1, #hho-sep-s2, #hho-sep-s3 { flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; }
#hho-sep-s1, #hho-sep-s1 > .e-con-inner, #hho-sep-s2, #hho-sep-s2 > .e-con-inner, #hho-sep-s3, #hho-sep-s3 > .e-con-inner { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 2px !important; }
[id^="hho-sep-s"][id$="-num"] .elementor-heading-title { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 700 !important; font-size: 30px !important; color: #1d3535 !important; margin: 0 !important; }
[id^="hho-sep-s"][id$="-lbl"], [id^="hho-sep-s"][id$="-lbl"] p { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; color: rgba(29,53,53,.7) !important; margin: 0 !important; }
.hho-sep-div { width: 1px; height: 48px; background: rgba(29,53,53,.2); display: block; }

@media (max-width: 900px) {
	#hho-separacion, #hho-separacion > .e-con-inner { padding: 64px clamp(18px, 5vw, 28px) !important; }
}
@media (max-width: 560px) {
	#hho-sep-d1, #hho-sep-d2 { display: none !important; }
	#hho-sep-stats, #hho-sep-stats > .e-con-inner { gap: 24px !important; }
}

/* ============================================================
   SECCIÓN 6 — CONTACTO ("Contáctanos Hoy") + Contact Form 7
   ============================================================ */
#hho-contacto { background-color: #F5F0E8 !important; position: relative; overflow: hidden; }
#hho-contacto, #hho-contacto > .e-con-inner { padding: 96px clamp(20px, 5vw, 40px) !important; }
#hho-contacto .elementor-invisible { opacity: 1 !important; }
#hho-cont-inner, #hho-cont-inner > .e-con-inner { max-width: 1280px !important; width: 100% !important; margin: 0 auto !important; display: flex !important; flex-direction: column !important; align-items: center; gap: 0 !important; }

/* Header */
#hho-cont-eyebrow { align-self: center; width: -moz-fit-content !important; width: fit-content !important; background: rgba(212,165,116,.1) !important; border-radius: 9999px !important; padding: 8px 16px !important; margin: 0 0 16px !important; }
#hho-cont-eyebrow .elementor-heading-title { color: #B88B5A !important; font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 500 !important; margin: 0 !important; }
#hho-cont-title .elementor-heading-title { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 700 !important; font-size: clamp(34px, 5vw, 60px) !important; line-height: 1.1 !important; color: #1d3535 !important; text-align: center !important; margin: 0 0 24px !important; }
#hho-cont-title .hho-txt-gold { color: #d4a574 !important; }
#hho-cont-sub, #hho-cont-sub p { font-family: 'Poppins', sans-serif !important; font-size: 18px !important; color: #4b5563 !important; line-height: 1.6 !important; text-align: center !important; max-width: 672px; margin: 0 auto 64px !important; }

/* Body 2 columnas (40 / 60) */
#hho-cont-body, #hho-cont-body > .e-con-inner { display: flex !important; flex-direction: row !important; gap: 48px !important; width: 100%; align-items: stretch; }
#hho-cont-left { flex: 2 1 0 !important; min-width: 0 !important; }
#hho-cont-left, #hho-cont-left > .e-con-inner { display: flex !important; flex-direction: column !important; gap: 24px !important; }
#hho-cont-right { flex: 3 1 0 !important; min-width: 0 !important; }
#hho-cont-right, #hho-cont-right > .e-con-inner { display: flex !important; flex-direction: column !important; }

/* Tarjetas de info */
#hho-cont-info1, #hho-cont-info2, #hho-cont-info3, #hho-cont-info4 { background: #fff !important; border-radius: 16px !important; padding: 20px !important; box-shadow: 0 10px 30px rgba(29,53,53,.06) !important; }
#hho-cont-info1, #hho-cont-info1 > .e-con-inner, #hho-cont-info2, #hho-cont-info2 > .e-con-inner, #hho-cont-info3, #hho-cont-info3 > .e-con-inner, #hho-cont-info4, #hho-cont-info4 > .e-con-inner { display: flex !important; flex-direction: row !important; align-items: flex-start !important; gap: 16px !important; }
[id^="hho-cont-info"] .elementor-widget-html { flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; }
.hho-cont-ic { width: 48px; height: 48px; border-radius: 12px; background: rgba(212,165,116,.1); display: flex; align-items: center; justify-content: center; }
.hho-cont-ic svg { width: 24px; height: 24px; stroke: #d4a574; }
[id^="hho-cont-info"][id$="-txt"] { flex: 1 1 auto !important; min-width: 0 !important; }
[id^="hho-cont-info"][id$="-txt"], [id^="hho-cont-info"][id$="-txt"] > .e-con-inner { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 2px !important; }
[id^="hho-cont-info"][id$="-title"] .elementor-heading-title { font-family: 'Poppins', sans-serif !important; font-weight: 600 !important; font-size: 16px !important; color: #1d3535 !important; margin: 0 0 2px !important; }
[id^="hho-cont-info"][id$="-val"], [id^="hho-cont-info"][id$="-val"] p { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; color: #4b5563 !important; margin: 0 !important; line-height: 1.5; }

/* Tarjeta WhatsApp (link) */
.hho-cont-wa { display: flex; align-items: center; gap: 16px; background: #1d3535; border-radius: 16px; padding: 20px; text-decoration: none; transition: background .3s ease; }
.hho-cont-wa:hover { background: #274545; }
.hho-cont-wa-ic { width: 48px; height: 48px; border-radius: 12px; background: rgba(255,255,255,.2); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.hho-cont-wa-ic svg { width: 24px; height: 24px; fill: #fff; }
.hho-cont-wa-txt { display: flex; flex-direction: column; }
.hho-cont-wa-txt .t1 { color: #fff; font-weight: 600; font-size: 16px; font-family: 'Poppins', sans-serif; }
.hho-cont-wa-txt .t2 { color: rgba(255,255,255,.8); font-size: 14px; font-family: 'Poppins', sans-serif; }

/* Tarjeta del formulario */
#hho-cont-formcard { background: #fff !important; border-radius: 24px !important; padding: clamp(24px, 4vw, 40px) !important; box-shadow: 0 20px 50px rgba(29,53,53,.10) !important; height: 100%; }
#hho-cont-formcard, #hho-cont-formcard > .e-con-inner { display: flex !important; flex-direction: column !important; }

/* ---- Contact Form 7 (estilo del formulario) ---- */
.hho-cf7 .hho-cf7-row { display: flex; gap: 24px; }
.hho-cf7 .hho-cf7-row .hho-cf7-field { flex: 1 1 0; min-width: 0; }
.hho-cf7 .hho-cf7-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 18px; }
.hho-cf7 .hho-cf7-field label { color: #1d3535; font-weight: 500; font-size: 13px; font-family: 'Poppins', sans-serif; }
.hho-cf7 .wpcf7-form-control-wrap { display: block; width: 100%; }
.hho-cf7 input.wpcf7-form-control, .hho-cf7 textarea.wpcf7-form-control { width: 100%; box-sizing: border-box; border: 1px solid #e5e7eb; border-radius: 10px; padding: 9px 13px; font-size: 14px; font-family: 'Poppins', sans-serif; color: #1d3535; background: #fff; transition: border-color .2s ease, box-shadow .2s ease; }
.hho-cf7 input.wpcf7-form-control::placeholder, .hho-cf7 textarea.wpcf7-form-control::placeholder { color: #9ca3af; }
.hho-cf7 input.wpcf7-form-control:focus, .hho-cf7 textarea.wpcf7-form-control:focus { outline: none; border-color: #d4a574; box-shadow: 0 0 0 3px rgba(212,165,116,.2); }
.hho-cf7 textarea.wpcf7-form-control { height: 118px; min-height: 118px; max-height: 118px; resize: none; }
.hho-cf7 input.wpcf7-submit, .hho-cf7 button.wpcf7-submit { -webkit-appearance: none; -moz-appearance: none; appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; background: #d4a574; color: #fff; border: none; border-radius: 12px; padding: 15px 24px; font-size: 17px; font-weight: 500; font-family: 'Poppins', sans-serif; cursor: pointer; box-shadow: 0 10px 28px rgba(212,165,116,.45); transition: background .3s ease, transform .3s ease, box-shadow .3s ease; margin-top: 6px; }
.hho-cf7 input.wpcf7-submit:hover, .hho-cf7 button.wpcf7-submit:hover { background: #B88B5A; transform: translateY(-2px); box-shadow: 0 16px 40px rgba(212,165,116,.6); }
.hho-cf7 .wpcf7-submit .hho-cf7-send { width: 20px; height: 20px; stroke: #fff; transition: transform .3s ease; }
.hho-cf7 .wpcf7-submit:hover .hho-cf7-send { transform: translateX(3px); }
.hho-cf7 .hho-cf7-note { text-align: center; color: #6b7280; font-size: 14px; font-family: 'Poppins', sans-serif; margin: 16px 0 0 !important; }
.hho-cf7 .wpcf7-spinner { margin: 8px auto 0; display: block; }
.hho-cf7 .wpcf7-not-valid-tip { color: #dc2626; font-size: 12px; font-family: 'Poppins', sans-serif; margin-top: 4px; }
.hho-cf7 .wpcf7-response-output { border-radius: 12px !important; font-family: 'Poppins', sans-serif; font-size: 14px; margin: 16px 0 0 !important; padding: 12px 16px !important; }

@media (max-width: 900px) {
	#hho-contacto, #hho-contacto > .e-con-inner { padding: 64px clamp(18px, 5vw, 28px) !important; }
	#hho-cont-body, #hho-cont-body > .e-con-inner { flex-direction: column !important; }
	#hho-cont-left, #hho-cont-right { flex: 1 1 auto !important; }
}
@media (max-width: 560px) {
	.hho-cf7 .hho-cf7-row { flex-direction: column; gap: 0; }
}

/* ============================================================
   HERO — "Invierte donde comienza el verdadero valor"
   ============================================================ */
#hh-hero { position: relative !important; min-height: 100vh; min-height: 100svh; overflow: hidden !important; background-color: #1d3535 !important;
	background-image:
		linear-gradient(to top, #F5F0E8, rgba(245,240,232,0) 160px),
		linear-gradient(to right, rgba(29,53,53,.92), rgba(29,53,53,.72) 50%, rgba(29,53,53,.34) 100%),
		url('https://haciendashorizonte.com/wp-content/uploads/2026/06/photo-1500382017468-9049fed747ef-6.jpg') !important;
	background-repeat: no-repeat !important; background-position: center !important; background-size: auto, auto, cover !important; }
#hh-hero, #hh-hero > .e-con-inner { min-height: 100vh; min-height: 100svh; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; padding: 128px clamp(20px, 5vw, 48px) !important; }
#hh-hero .elementor-invisible { opacity: 1 !important; }

#hh-hero-inner, #hh-hero-inner > .e-con-inner { max-width: 1280px !important; width: 100% !important; margin: 0 auto !important; display: flex !important; flex-direction: row !important; align-items: center !important; gap: 48px !important; }
#hh-hero-left { flex: 1 1 0 !important; min-width: 0 !important; }
#hh-hero-left, #hh-hero-left > .e-con-inner { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 26px !important; }
#hh-hero-right { flex: 1 1 0 !important; min-width: 0 !important; }
#hh-hero-right, #hh-hero-right > .e-con-inner { display: flex !important; flex-direction: column !important; align-items: center !important; }

/* Badge */
#hh-hero-badge { width: -moz-fit-content !important; width: fit-content !important; }
#hh-hero-badge, #hh-hero-badge > .e-con-inner { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 8px !important; background: rgba(212,165,116,.2) !important; border: 1px solid rgba(212,165,116,.3) !important; border-radius: 9999px !important; padding: 8px 16px !important; }
#hh-hero-badge .elementor-widget-html { flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; }
.hh-hero-ic16 svg { width: 16px; height: 16px; stroke: #d4a574; display: block; }
#hh-hero-badge .elementor-heading-title { color: #E7D2AC !important; font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 500 !important; margin: 0 !important; }

/* Título */
#hh-hero-title .elementor-heading-title { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 700 !important; font-size: clamp(32px, 4.4vw, 54px) !important; line-height: 1.12 !important; color: #fff !important; margin: 0 !important; text-align: left !important; }
#hh-hero-title .hh-hero-gold { display: block; color: #d4a574 !important; }

/* Subtítulo */
#hh-hero-sub, #hh-hero-sub p { font-family: 'Poppins', sans-serif !important; font-size: clamp(17px, 1.6vw, 21px) !important; font-weight: 300 !important; color: rgba(255,255,255,.8) !important; line-height: 1.5 !important; max-width: 460px; margin: -10px 0 0 !important; text-align: left !important; }

/* Píldoras de features */
#hh-hero-feats, #hh-hero-feats > .e-con-inner { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 16px !important; }
#hh-hero-f1, #hh-hero-f2, #hh-hero-f3, #hh-hero-f4, #hh-hero-f5 { flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; }
#hh-hero-f1, #hh-hero-f1 > .e-con-inner, #hh-hero-f2, #hh-hero-f2 > .e-con-inner, #hh-hero-f3, #hh-hero-f3 > .e-con-inner, #hh-hero-f4, #hh-hero-f4 > .e-con-inner, #hh-hero-f5, #hh-hero-f5 > .e-con-inner { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 8px !important; background: rgba(255,255,255,.1) !important; border-radius: 9999px !important; padding: 8px 16px !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
#hh-hero-f1 .elementor-widget-html, #hh-hero-f2 .elementor-widget-html, #hh-hero-f3 .elementor-widget-html, #hh-hero-f4 .elementor-widget-html, #hh-hero-f5 .elementor-widget-html { flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; }
#hh-hero-f1 .elementor-heading-title, #hh-hero-f2 .elementor-heading-title, #hh-hero-f3 .elementor-heading-title, #hh-hero-f4 .elementor-heading-title, #hh-hero-f5 .elementor-heading-title { color: #fff !important; font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 400 !important; margin: 0 !important; white-space: nowrap; }
.hh-hero-icchk svg { width: 16px; height: 16px; stroke: #d4a574; display: block; }

/* CTAs */
#hh-hero-ctas, #hh-hero-ctas > .e-con-inner { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 16px !important; }
#hh-hero-ctas .elementor-widget-html { flex: 0 0 auto !important; width: -moz-fit-content !important; width: fit-content !important; }
.hh-hero-btn { display: inline-flex; align-items: center; gap: 8px; border-radius: 9999px; padding: 13px 28px; font-family: 'Poppins', sans-serif; font-size: 16px; font-weight: 500; text-decoration: none; transition: all .3s ease; }
.hh-hero-btn svg { width: 18px; height: 18px; transition: transform .3s ease; }
.hh-hero-btn-primary { background: #d4a574; color: #fff; box-shadow: 0 8px 32px rgba(212,165,116,.65), 0 0 22px rgba(212,165,116,.45); animation: hhHeroGlow 2.6s ease-in-out infinite; }
.hh-hero-btn-primary:hover { background: #B88B5A; box-shadow: 0 14px 46px rgba(212,165,116,.75), 0 0 30px rgba(212,165,116,.55); }
.hh-hero-btn-primary svg { stroke: #fff; }
.hh-hero-btn-primary:hover svg { transform: translateX(4px); }
.hh-hero-btn-outline { background: rgba(255,255,255,.1); color: #fff; border: 1px solid rgba(255,255,255,.4); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: 0 6px 24px rgba(255,255,255,.12); }
.hh-hero-btn-outline:hover { background: rgba(255,255,255,.2); box-shadow: 0 8px 30px rgba(255,255,255,.2); }
@keyframes hhHeroGlow { 0%,100% { box-shadow: 0 8px 32px rgba(212,165,116,.6), 0 0 20px rgba(212,165,116,.4); } 50% { box-shadow: 0 10px 40px rgba(212,165,116,.8), 0 0 30px rgba(212,165,116,.6); } }

/* Tarjeta de stats (derecha) */
#hh-hero-card { position: relative; background: rgba(255,255,255,.12) !important; -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px); border: 1px solid rgba(255,255,255,.22) !important; border-radius: 24px !important; padding: 32px !important; width: 100% !important; max-width: none !important; }
#hh-hero-stats, #hh-hero-stats > .e-con-inner { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 24px !important; }
#hh-hero-s1, #hh-hero-s2, #hh-hero-s3, #hh-hero-s4 { text-align: center; }
#hh-hero-s1, #hh-hero-s1 > .e-con-inner, #hh-hero-s2, #hh-hero-s2 > .e-con-inner, #hh-hero-s3, #hh-hero-s3 > .e-con-inner, #hh-hero-s4, #hh-hero-s4 > .e-con-inner { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 4px !important; padding: 16px !important; }
[id^="hh-hero-s"][id$="-num"] .elementor-heading-title { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 700 !important; font-size: 36px !important; color: #d4a574 !important; margin: 0 !important; line-height: 1; text-shadow: 0 2px 8px rgba(29,53,53,.45); }
[id^="hh-hero-s"][id$="-lbl"], [id^="hh-hero-s"][id$="-lbl"] p { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; color: rgba(255,255,255,.85) !important; margin: 0 !important; text-shadow: 0 1px 6px rgba(29,53,53,.5); }

/* Indicador de scroll */
#hh-hero-scroll { position: absolute !important; bottom: 32px; left: 50%; transform: translateX(-50%); z-index: 5; }
.hh-hero-scroll { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.hh-hero-scroll .hh-hero-scroll-txt { color: rgba(255,255,255,.5); font-size: 14px; font-family: 'Poppins', sans-serif; }
.hh-hero-scroll .hh-hero-mouse { width: 24px; height: 40px; border-radius: 9999px; border: 2px solid rgba(255,255,255,.3); display: flex; align-items: flex-start; justify-content: center; padding-top: 8px; }
.hh-hero-scroll .hh-hero-dot { width: 6px; height: 12px; background: #d4a574; border-radius: 9999px; animation: hhHeroBounce 1.2s infinite; }
@keyframes hhHeroBounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(6px); } }

@media (max-width: 1024px) {
	#hh-hero-right { display: none !important; }
	#hh-hero-left { flex: 1 1 100% !important; }
}

/* ============================================================
   NAVEGACIÓN POR ANCLAS — scroll suave + offset del header fijo
   ============================================================ */
html { scroll-behavior: smooth; }
#hho-pago, #hho-inicial, #hho-ubicacion, #hho-caracteristicas, #hho-separacion, #hho-contacto { scroll-margin-top: 96px; }
#hh-hero { scroll-margin-top: 0; }


/* Phase 1 — responsive hero completion */
#hh-hero-f4,#hh-hero-f5{max-width:100%!important}
#hh-hero-f4 .elementor-heading-title,#hh-hero-f5 .elementor-heading-title{white-space:normal!important;overflow-wrap:anywhere}
#hh-hero-s1,#hh-hero-s1>.e-con-inner,#hh-hero-s2,#hh-hero-s2>.e-con-inner,#hh-hero-s3,#hh-hero-s3>.e-con-inner,#hh-hero-s4,#hh-hero-s4>.e-con-inner{display:grid!important;grid-template-rows:minmax(72px,auto) auto!important;align-content:start!important;align-items:end!important;justify-items:center!important;row-gap:4px!important}
#hh-hero-s1-num,#hh-hero-s2-num,#hh-hero-s3-num,#hh-hero-s4-num{align-self:end!important;width:100%!important;text-align:center!important}
#hh-hero-s1-lbl,#hh-hero-s2-lbl,#hh-hero-s3-lbl,#hh-hero-s4-lbl{align-self:start!important;margin-top:0!important;line-height:1.35!important}
@media(max-width:1024px){
#hh-hero{height:auto!important;min-height:100svh!important}
#hh-hero-inner,#hh-hero-inner>.e-con-inner{flex-direction:column!important;align-items:stretch!important;gap:28px!important}
#hh-hero-left{order:1!important;flex:1 1 100%!important;width:100%!important;min-width:0!important}
#hh-hero-right{display:flex!important;order:2!important;flex:0 1 auto!important;width:min(100%,680px)!important;max-width:680px!important;margin-inline:auto!important}
#hh-hero-card{width:100%!important;max-width:680px!important;padding:24px!important;box-sizing:border-box!important}
#hh-hero-stats,#hh-hero-stats>.e-con-inner{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;width:100%!important;min-width:0!important}
#hh-hero-s1,#hh-hero-s1>.e-con-inner,#hh-hero-s2,#hh-hero-s2>.e-con-inner,#hh-hero-s3,#hh-hero-s3>.e-con-inner,#hh-hero-s4,#hh-hero-s4>.e-con-inner{grid-template-rows:minmax(62px,auto) auto!important;padding:12px 8px!important;min-width:0!important}
[id^="hh-hero-s"][id$="-num"] .elementor-heading-title{font-size:30px!important}
[id^="hh-hero-s"][id$="-lbl"],[id^="hh-hero-s"][id$="-lbl"] p{font-size:13px!important;line-height:1.35!important}
#hh-hero-scroll{position:static!important;order:3!important;transform:none!important;margin:12px auto 0!important}
#hh-hero-feats,#hh-hero-feats>.e-con-inner{width:100%!important;max-width:100%!important}
#hh-hero-f1,#hh-hero-f2,#hh-hero-f3,#hh-hero-f4,#hh-hero-f5,#hh-hero-f1>.e-con-inner,#hh-hero-f2>.e-con-inner,#hh-hero-f3>.e-con-inner,#hh-hero-f4>.e-con-inner,#hh-hero-f5>.e-con-inner{display:grid!important;grid-template-columns:16px minmax(0,1fr)!important;align-items:start!important;column-gap:10px!important;max-width:100%!important;box-sizing:border-box!important}
#hh-hero-f1 .elementor-widget-html,#hh-hero-f2 .elementor-widget-html,#hh-hero-f3 .elementor-widget-html,#hh-hero-f4 .elementor-widget-html,#hh-hero-f5 .elementor-widget-html{width:16px!important;min-width:16px!important;margin-top:.1em!important}
#hh-hero-f1 .elementor-heading-title,#hh-hero-f2 .elementor-heading-title,#hh-hero-f3 .elementor-heading-title,#hh-hero-f4 .elementor-heading-title,#hh-hero-f5 .elementor-heading-title{white-space:normal!important;text-align:left!important;line-height:1.45!important;overflow-wrap:anywhere}
#hh-hero-badge,#hh-hero-badge>.e-con-inner{display:grid!important;grid-template-columns:16px minmax(0,1fr)!important;align-items:center!important;column-gap:8px!important;max-width:100%!important;box-sizing:border-box!important}
#hh-hero-badge .elementor-widget-html{width:16px!important;min-width:16px!important}
#hh-hero-badge .elementor-heading-title{white-space:normal!important;text-align:left!important;line-height:1.4!important}
}
@media(max-width:767px){
#hh-hero{padding-bottom:96px!important}
#hh-hero-inner,#hh-hero-inner>.e-con-inner{gap:22px!important}
#hh-hero-feats,#hh-hero-feats>.e-con-inner{gap:12px!important}
#hh-hero-f1,#hh-hero-f2,#hh-hero-f3,#hh-hero-f4,#hh-hero-f5{flex:1 1 100%!important;width:100%!important;max-width:100%!important}
#hh-hero-f1,#hh-hero-f2,#hh-hero-f3,#hh-hero-f4,#hh-hero-f5,#hh-hero-f1>.e-con-inner,#hh-hero-f2>.e-con-inner,#hh-hero-f3>.e-con-inner,#hh-hero-f4>.e-con-inner,#hh-hero-f5>.e-con-inner{padding:10px 14px!important}
#hh-hero-badge{width:100%!important;max-width:100%!important}
#hh-hero-ctas,#hh-hero-ctas>.e-con-inner{flex-direction:column!important;align-items:flex-start!important;padding-right:72px!important;box-sizing:border-box!important}
#hh-hero-card{padding:14px!important;border-radius:20px!important}
#hh-hero-stats,#hh-hero-stats>.e-con-inner{gap:8px!important}
#hh-hero-s1,#hh-hero-s1>.e-con-inner,#hh-hero-s2,#hh-hero-s2>.e-con-inner,#hh-hero-s3,#hh-hero-s3>.e-con-inner,#hh-hero-s4,#hh-hero-s4>.e-con-inner{grid-template-rows:minmax(48px,auto) auto!important;padding:8px 4px!important}
[id^="hh-hero-s"][id$="-num"] .elementor-heading-title,#hh-hero-s1-num .elementor-heading-title{font-size:22px!important}
[id^="hh-hero-s"][id$="-lbl"],[id^="hh-hero-s"][id$="-lbl"] p{font-size:11.5px!important;line-height:1.3!important}
#hh-hero-scroll{margin-bottom:18px!important}
}
@media(max-width:400px){
#hh-hero-card{padding:10px!important}
#hh-hero-stats,#hh-hero-stats>.e-con-inner{gap:6px!important}
#hh-hero-s1,#hh-hero-s1>.e-con-inner,#hh-hero-s2,#hh-hero-s2>.e-con-inner,#hh-hero-s3,#hh-hero-s3>.e-con-inner,#hh-hero-s4,#hh-hero-s4>.e-con-inner{padding:6px 2px!important}
[id^="hh-hero-s"][id$="-num"] .elementor-heading-title{font-size:20px!important}
#hh-hero-s1-num .elementor-heading-title{font-size:19px!important}
}


/* ============================================================
   PHASE 1.1 — MOBILE CONTAINMENT + ACCESSIBILITY CLEANUP
   Staged only; no global html/body overflow suppression.
   ============================================================ */
@media (max-width: 1024px) {
  .hh-header-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .hh-nav-desktop,
  .hh-lang-select,
  .hh-reserve {
    display: none !important;
  }
  .hh-actions {
    min-width: 0 !important;
    margin-left: auto !important;
  }
  .hh-burger {
    display: flex !important;
  }
}

@media (max-width: 900px) {
  #hho-ubicacion,
  #hho-ubicacion > .e-con-inner,
  #hho-ubicacion-inner,
  #hho-ubic-body,
  #hho-ubic-body > .e-con-inner,
  #hho-ubic-left {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Existing three cards become one contained, two-up tablet carousel. */
  #hho-ubic-left {
    display: grid !important;
    grid-template-columns: none !important;
    grid-auto-flow: column !important;
    grid-auto-columns: calc((100% - 16px) / 2) !important;
    grid-template-rows: auto auto !important;
    column-gap: 16px !important;
    row-gap: 16px !important;
    align-items: stretch !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0 0 6px !important;
    flex: 0 0 auto !important;
    height: auto !important;
  }
  #hho-ubic-left::-webkit-scrollbar {
    display: none;
  }
  #hho-ubic-c1 { grid-column: 1; grid-row: 1; }
  #hho-ubic-c2 { grid-column: 2; grid-row: 1; }
  #hho-ubic-c3 { grid-column: 3; grid-row: 1; }
  #hho-ubic-c1,
  #hho-ubic-c2,
  #hho-ubic-c3 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  #hho-ubic-stats {
    grid-column: 1 / span 2;
    grid-row: 2;
    position: sticky !important;
    left: 0;
    z-index: 2;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Payment note: fixed icon column + flexible text column. */
  #hho-pago #hho-note {
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr) !important;
    align-items: start !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  #hho-note .elementor-widget-icon,
  #hho-note .elementor-element-9b0f1f5 {
    grid-column: 1;
    width: 20px !important;
    min-width: 20px !important;
    margin-top: 2px !important;
  }
  #hho-note .elementor-element-54c3cd19 {
    grid-column: 2;
    width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
  }
  #hho-note .elementor-heading-title {
    display: block !important;
    width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-align: left !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 560px) {
  /* Single-card mobile snap track with a controlled next-card preview. */
  #hho-ubic-left {
    grid-template-columns: none !important;
    grid-auto-columns: calc(100% - 52px) !important;
  }

  [id^="hho-ubic-c"][id$="-pill"] .elementor-heading-title {
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  #hho-ubic-stats {
    grid-column: 1;
    width: calc(100% + 52px) !important;
    max-width: none !important;
  }
  [id^="hho-ubic-c"][id$="-top"],
  [id^="hho-ubic-c"][id$="-top"] > .e-con-inner {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  /* Prevent the two approval checks from pushing beyond their container. */
  #hho-checks,
  #hho-checks > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-wrap: wrap !important;
  }
  #hho-check1,
  #hho-check2 {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  #hho-check1 .elementor-widget-heading,
  #hho-check2 .elementor-widget-heading {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
  }
  #hho-check1 .elementor-heading-title,
  #hho-check2 .elementor-heading-title {
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  /* Footer legal row wraps within the real content width. */
  .hh-footer-bottom,
  .hh-footer-bottom > *,
  .hh-foot-legal {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .hh-footer-bottom > span:not(.hh-foot-legal) {
    display: block;
    width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  .hh-foot-legal {
    width: 100%;
    flex-wrap: wrap !important;
    gap: 12px 20px !important;
  }
  .hh-legal-open {
    max-width: 100% !important;
    white-space: normal !important;
    text-align: left !important;
  }
}

@media (max-width: 390px) {
  /* Content-side safe areas for the unchanged floating Joinchat button. */
  #hh-hero-feats,
  #hh-hero-feats > .e-con-inner {
    padding-right: 40px !important;
    box-sizing: border-box !important;
  }
  #hh-hero-right {
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }
  #hho-note {
    width: calc(100% - 52px) !important;
    max-width: calc(100% - 52px) !important;
    align-self: flex-start !important;
  }
}

@media (max-width: 359px) {
  /* The custom Master Plan preview has a fixed 300px image by default. */
  #hho-master-plan,
  #hho-master-plan > .e-con-inner,
  #hho-master-plan #hho-ubicacion-inner,
  #hho-master-plan .elementor-widget-ppc_pdf_preview_card,
  #hho-master-plan .elementor-widget-container,
  #hho-master-plan .ppc-wrapper,
  #hho-master-plan .ppc-card,
  #hho-master-plan .ppc-card-text,
  #hho-master-plan .ppc-card-title,
  #hho-master-plan .ppc-card-actions,
  #hho-master-plan .ppc-card-image,
  #hho-master-plan .ppc-card-image img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  #hho-master-plan #hho-ubicacion-inner {
    padding-inline: 18px !important;
  }
  #hho-master-plan .ppc-card {
    flex-direction: column !important;
    padding: 20px !important;
  }
  #hho-master-plan .ppc-card-actions {
    flex-wrap: wrap !important;
  }
  #hho-master-plan .ppc-card-image img {
    height: auto !important;
    object-fit: contain !important;
  }
}


/* HH PHASE 2A PAYMENT PLANS — START */

#hho-cards,
#hho-cards > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: clamp(24px, 3vw, 38px) !important;
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

#hho-c1,
#hho-c2 {
  --hh-plan-accent: #2f6b4f;
  --hh-plan-accent-rgb: 47, 107, 79;
  position: relative !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(var(--hh-plan-accent-rgb), 0.18) !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 38px rgba(24, 45, 35, 0.12) !important;
  box-sizing: border-box !important;
}

#hho-c2 {
  --hh-plan-accent: #c9a43b;
  --hh-plan-accent-rgb: 201, 164, 59;
}

#hho-c1 > .e-con-inner,
#hho-c2 > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: 100% !important;
  padding: 0 !important;
  gap: 0 !important;
}

#hho-c1 .elementor-widget-icon,
#hho-c2 .elementor-widget-icon {
  position: absolute !important;
  z-index: 2 !important;
  top: 24px !important;
  right: 24px !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
}

#hho-c1 .elementor-widget-icon .elementor-icon,
#hho-c2 .elementor-widget-icon .elementor-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.16) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 50% !important;
}

#hho-c1-label,
#hho-c2-label {
  order: -10 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(24px, 3vw, 32px) 82px clamp(22px, 2.5vw, 28px) clamp(22px, 3vw, 32px) !important;
  background: var(--hh-plan-accent) !important;
  box-sizing: border-box !important;
}

#hho-c1-label .elementor-heading-title,
#hho-c2-label .elementor-heading-title {
  margin: 0 !important;
  color: #ffffff !important;
  text-align: left !important;
  line-height: 1.2 !important;
}

#hho-c2-label .elementor-heading-title {
  color: #18382b !important;
}

.hh-plan-kicker,
.hh-plan-name {
  display: block !important;
  min-width: 0 !important;
}

.hh-plan-kicker {
  margin: 0 0 8px !important;
  font-family: "Poppins", sans-serif !important;
  font-size: clamp(13px, 1.3vw, 16px) !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.hh-plan-name {
  font-family: "Playfair Display", serif !important;
  font-size: clamp(25px, 2.6vw, 36px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  overflow-wrap: anywhere !important;
}

#hho-c1-value,
#hho-c2-value {
  width: auto !important;
  margin: clamp(20px, 2.5vw, 28px) clamp(20px, 3vw, 30px) 0 !important;
  padding: clamp(18px, 2.2vw, 24px) !important;
  background: rgba(var(--hh-plan-accent-rgb), 0.09) !important;
  border: 1px solid rgba(var(--hh-plan-accent-rgb), 0.18) !important;
  border-left: 5px solid var(--hh-plan-accent) !important;
  border-radius: 15px !important;
  box-sizing: border-box !important;
}

#hho-c1-value .elementor-heading-title,
#hho-c2-value .elementor-heading-title {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 7px !important;
  margin: 0 !important;
  color: #18382b !important;
  text-align: left !important;
}

.hh-plan-res-label,
.hh-plan-res-value {
  display: block !important;
  max-width: 100% !important;
}

.hh-plan-res-label {
  font-family: "Poppins", sans-serif !important;
  font-size: clamp(12px, 1.2vw, 15px) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.hh-plan-res-value {
  font-family: "Playfair Display", serif !important;
  font-size: clamp(26px, 3vw, 38px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}

#hho-c1-desc,
#hho-c2-desc {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(20px, 2.8vw, 30px) !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}

#hho-c1-desc .elementor-widget-container,
#hho-c2-desc .elementor-widget-container {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: 100% !important;
}

.hh-plan-rows {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  width: 100% !important;
}

.hh-plan-row {
  display: grid !important;
  grid-template-columns: minmax(54px, 0.22fr) minmax(0, 1fr);
  align-items: start !important;
  column-gap: clamp(12px, 2vw, 18px);
  min-width: 0 !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(24, 56, 43, 0.12) !important;
  box-sizing: border-box !important;
}

.hh-plan-row:first-child {
  padding-top: 0 !important;
}

.hh-plan-row:last-child {
  border-bottom: 0 !important;
}

.hh-plan-percent,
.hh-plan-detail {
  display: block !important;
  min-width: 0;
}

.hh-plan-percent {
  color: var(--hh-plan-accent) !important;
  font-family: "Playfair Display", serif !important;
  font-size: clamp(20px, 2.2vw, 27px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.hh-plan-detail {
  color: #30483d !important;
  font-family: "Poppins", sans-serif !important;
  font-size: clamp(14px, 1.25vw, 16px) !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere;
}

.hh-plan-row-interest {
  grid-template-columns: minmax(0, 1fr) !important;
}

.hh-plan-row-interest .hh-plan-detail {
  color: var(--hh-plan-accent) !important;
  font-weight: 800 !important;
  white-space: nowrap;
}

.hh-plan-benefit {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  min-width: 0 !important;
  width: 100% !important;
  margin-top: auto !important;
  padding: 18px clamp(16px, 2vw, 22px) !important;
  color: #18382b !important;
  background: rgba(var(--hh-plan-accent-rgb), 0.12) !important;
  border: 1px solid rgba(var(--hh-plan-accent-rgb), 0.2) !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
}

.hh-plan-benefit-label,
.hh-plan-benefit-text {
  display: block !important;
  min-width: 0 !important;
  font-family: "Poppins", sans-serif !important;
  line-height: 1.45 !important;
}

.hh-plan-benefit-label {
  flex: 0 0 auto !important;
  font-weight: 800 !important;
}

.hh-plan-benefit-label::after {
  content: ":" !important;
}

.hh-plan-benefit-text {
  flex: 1 1 auto !important;
  font-weight: 600 !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 900px) {
  #hho-cards,
  #hho-cards > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(100%, 720px) !important;
    max-width: 720px !important;
    margin-inline: auto !important;
  }

  #hho-c1,
  #hho-c2 {
    width: 100% !important;
    max-width: 720px !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 430px) {
  #hho-cards,
  #hho-cards > .e-con-inner {
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #hho-c1,
  #hho-c2 {
    min-width: 0 !important;
    max-width: 100% !important;
    border-radius: 18px !important;
  }

  #hho-c1-label,
  #hho-c2-label {
    padding: 22px 70px 21px 20px !important;
  }

  #hho-c1 .elementor-widget-icon,
  #hho-c2 .elementor-widget-icon {
    top: 20px !important;
    right: 18px !important;
    width: 38px !important;
    height: 38px !important;
  }

  #hho-c1 .elementor-widget-icon .elementor-icon,
  #hho-c2 .elementor-widget-icon .elementor-icon {
    width: 38px !important;
    height: 38px !important;
  }

  #hho-c1-value,
  #hho-c2-value {
    margin: 18px 16px 0 !important;
    padding: 17px 16px !important;
  }

  #hho-c1-desc,
  #hho-c2-desc {
    padding: 20px 16px !important;
  }

  .hh-plan-row {
    grid-template-columns: minmax(48px, 0.2fr) minmax(0, 1fr);
    column-gap: 11px;
    padding: 13px 0 !important;
  }

  .hh-plan-benefit {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 16px !important;
  }

  #hho-c2 {
    margin-bottom: clamp(78px, 22vw, 94px) !important;
  }
}

@media (max-width: 340px) {
  .hh-plan-name {
    font-size: 24px !important;
  }

  .hh-plan-res-value {
    font-size: 26px !important;
  }

  .hh-plan-row {
    grid-template-columns: minmax(45px, 0.19fr) minmax(0, 1fr);
    column-gap: 9px;
  }

  .hh-plan-detail {
    font-size: 13px !important;
  }
}

/* HH PHASE 2A PAYMENT PLANS — END */


.hh-plan-row {
  display: grid;
  grid-template-columns: 70px 1fr;
  column-gap: 18px;
  align-items: start;
}

.hh-plan-percent {
  min-width: 0;
}

.hh-plan-detail {
  min-width: 0;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}

.hh-plan-fallback-space {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}
