/* ============================================================
 * THC Premium Layer — refinamiento estético The Home Cake
 * Capa aditiva sobre WPRentals child. NO cambia layout ni marca.
 * Desactivable: comentar el enqueue thc_enqueue_premium_css
 * en functions.php. Creado 02/07/2026.
 * ============================================================ */

/* ---------- 1. Design tokens (identidad THC existente) ---------- */
:root {
	--thc-ink: #232323;
	--thc-heading: #111111;
	--thc-muted: #6b6b6b;
	--thc-brand: #e54584;
	--thc-brand-dark: #c83a72;
	--thc-brand-tint: #fff3f8;
	--thc-border: #eaeaea;
	--thc-surface: #ffffff;
	--thc-surface-alt: #f7f7f7;

	/* Escala única de sombras (sustituye a los 12 valores dispersos) */
	--thc-shadow-xs: 0 1px 3px rgba(35, 35, 35, 0.05);
	--thc-shadow-sm: 0 4px 14px rgba(35, 35, 35, 0.06);
	--thc-shadow-md: 0 14px 34px rgba(35, 35, 35, 0.08);
	--thc-shadow-lg: 0 20px 44px rgba(35, 35, 35, 0.12);
	--thc-shadow-brand: 0 12px 26px rgba(229, 69, 132, 0.22);

	/* Escala única de radios */
	--thc-radius-sm: 10px;
	--thc-radius-md: 16px;
	--thc-radius-pill: 999px;

	/* Movimiento unificado */
	--thc-ease: cubic-bezier(0.2, 0.6, 0.3, 1);
	--thc-t-fast: 160ms;
	--thc-t-base: 220ms;
}

/* ---------- 2. Detalles globales de percepción ---------- */
::selection {
	background: var(--thc-brand);
	color: #fff;
}

html {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Foco visible y coherente para navegación con teclado */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
	outline: 2px solid var(--thc-brand) !important;
	outline-offset: 2px;
	border-radius: 4px;
}

/* ---------- 3. Ritmo tipográfico ---------- */
h1, h2, h3,
.elementor-heading-title {
	letter-spacing: -0.015em;
	text-wrap: balance;
}

h1 { line-height: 1.15; }
h2 { line-height: 1.2; }
h3 { line-height: 1.3; }

p, li {
	text-wrap: pretty;
}

/* Intro de ciudad: lectura cómoda y jerarquía clara */
.thc-city-intro {
	max-width: 68ch;
	line-height: 1.65;
	color: var(--thc-ink);
}

.thc-city-microcopy {
	color: var(--thc-muted);
	letter-spacing: 0.01em;
}

/* Título de ficha */
.listing_title_unit,
.listing_title_unit a {
	color: var(--thc-heading);
	transition: color var(--thc-t-fast) var(--thc-ease);
}

.listing_title_unit a:hover {
	color: var(--thc-brand);
}

/* Precio: cifras tabulares, sin bailes de layout */
.price_unit,
.thc-price-from,
.mvp-membership-plans__price {
	font-variant-numeric: tabular-nums;
}

/* ---------- 5. Botones — estados y jerarquía unificados ---------- */
.elementor-button,
.wpb_btn-info,
.wpb_button,
.wpestate_vc_button,
.thc-card-view-btn,
.mvp-membership-plans__button {
	transition: background-color var(--thc-t-fast) var(--thc-ease),
		color var(--thc-t-fast) var(--thc-ease),
		border-color var(--thc-t-fast) var(--thc-ease),
		box-shadow var(--thc-t-base) var(--thc-ease),
		transform var(--thc-t-fast) var(--thc-ease);
	cursor: pointer;
}

.elementor-button:hover,
.wpb_btn-info:hover,
.thc-card-view-btn:hover,
.mvp-membership-plans__button:hover {
	transform: translateY(-1px);
	box-shadow: var(--thc-shadow-brand);
}

.elementor-button:active,
.wpb_btn-info:active,
.thc-card-view-btn:active,
.mvp-membership-plans__button:active {
	transform: translateY(0) scale(0.98);
	box-shadow: none;
	transition-duration: 80ms;
}

/* ---------- 6. Planes de suscripción (home) ---------- */
.mvp-membership-plans__card {
	border-radius: var(--thc-radius-md);
	box-shadow: var(--thc-shadow-sm);
	transition: box-shadow var(--thc-t-base) var(--thc-ease),
		transform var(--thc-t-base) var(--thc-ease),
		border-color var(--thc-t-base) var(--thc-ease);
}

.mvp-membership-plans__card:hover {
	box-shadow: var(--thc-shadow-lg);
	transform: translateY(-4px);
	border-color: rgba(229, 69, 132, 0.35);
}

/* ---------- 7. Filtros, dropdowns y modales ---------- */
.filter_menu_trigger {
	border-radius: var(--thc-radius-sm);
	transition: border-color var(--thc-t-fast) var(--thc-ease),
		box-shadow var(--thc-t-fast) var(--thc-ease),
		background-color var(--thc-t-fast) var(--thc-ease);
}

.filter_menu_trigger:hover {
	border-color: var(--thc-brand);
	background-color: var(--thc-brand-tint);
}

.dropdown-menu {
	border-radius: var(--thc-radius-sm) !important;
	border: 1px solid var(--thc-border) !important;
	box-shadow: var(--thc-shadow-md) !important;
}

.modal-content {
	border-radius: var(--thc-radius-md);
	box-shadow: var(--thc-shadow-lg);
}

/* ---------- 8. Formularios ---------- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
select,
textarea {
	transition: border-color var(--thc-t-fast) var(--thc-ease),
		box-shadow var(--thc-t-fast) var(--thc-ease);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus {
	border-color: var(--thc-brand);
	box-shadow: 0 0 0 3px rgba(229, 69, 132, 0.12);
}

/* ---------- 9. Navegación y footer ---------- */
.menu-item-link,
.menu-item a {
	transition: color var(--thc-t-fast) var(--thc-ease),
		background-color var(--thc-t-fast) var(--thc-ease);
}

#colophon a,
.footer_wrapper a {
	transition: color var(--thc-t-fast) var(--thc-ease);
}

#colophon a:hover,
.footer_wrapper a:hover {
	color: var(--thc-brand);
}

/* ---------- 10b. Adaptación táctil: sin efectos hover en móvil ---------- */
/* En pantallas táctiles el hover "se queda pegado" tras tocar; se anulan
   las elevaciones y zooms, dejando solo el feedback de pulsación. */
@media (hover: none) {
	.property_unit_v3:hover,
	.property_listing:hover,
	.mvp-membership-plans__card:hover {
		transform: none;
		box-shadow: var(--thc-shadow-xs);
	}

	.property_unit_v3:hover .listing-unit-img-wrapper img,
	.property_listing:hover .listing-unit-img-wrapper img {
		transform: none;
	}

	.elementor-button:hover,
	.wpb_btn-info:hover,
	.thc-card-view-btn:hover,
	.mvp-membership-plans__button:hover {
		transform: none;
		box-shadow: none;
	}

	/* Iconos: en táctil el hover se queda pegado — se anula ring y salto */
	.elementor-widget-icon-box .elementor-icon:hover {
		box-shadow: none !important;
		transform: none !important;
	}

	/* El feedback táctil útil es el de pulsación (:active), se conserva */
	.elementor-button:active,
	.wpb_btn-info:active,
	.thc-card-view-btn:active,
	.mvp-membership-plans__button:active {
		transform: scale(0.97);
	}
}

/* ---------- 9c. Animaciones de entrada por scroll (funcionan en móvil) ---------- */
/* Se disparan al entrar en pantalla, sin hover ni click: el visitante móvil
   ve la animación al hacer scroll. Usa scroll-driven animations (CSS puro).
   Solo se aplican en la landing viajeros (.thc-landing) para no alterar
   el resto de la web. Progresivo: navegadores sin soporte muestran el
   contenido estático (visible por defecto). */
/* Reveal por scroll vía JS (.thc-anim → .thc-in). Funciona en TODOS los
   navegadores, incl. iOS Safari. Sin JS, los elementos quedan visibles. */
/* Reveal por scroll GLOBAL (toda la web). El JS solo marca .thc-anim en
   elementos por debajo del pliegue; al entrar en pantalla reciben .thc-in. */
.thc-anim {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .6s var(--thc-ease), transform .6s var(--thc-ease);
	will-change: opacity, transform;
}
.thc-anim.thc-in {
	opacity: 1;
	transform: none;
}
@media (prefers-reduced-motion: reduce) {
	.thc-anim { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Latido sutil e infinito de los iconos de beneficios en móvil (no en pasos),
   para que "se luzcan" sin requerir interacción. Los SVG de WPRentals se
   renderizan como <img>, por eso se incluye img además de svg. */
@media (hover: none) and (prefers-reduced-motion: no-preference) {
	.thc-landing .elementor-widget-icon-box:not(.thc-steps) .elementor-icon img,
	.thc-landing .elementor-widget-icon-box:not(.thc-steps) .elementor-icon svg {
		animation: thc-float 3.4s ease-in-out infinite;
	}
}

@keyframes thc-float {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-5px); }
}

/* ---------- 10a2. Hero: píldora de confianza legible + ancho de copy ---------- */
.thc-trust-pill { text-align: center; }
.thc-trust-pill .elementor-widget-container > * ,
.thc-trust-pill p {
	display: inline-block;
	background: var(--thc-brand);
	color: #FFFFFF !important;
	padding: 9px 20px;
	border-radius: var(--thc-radius-pill);
	box-shadow: var(--thc-shadow-sm);
	margin: 0;
}
.thc-hero-sub { max-width: 720px; margin-left: auto; margin-right: auto; }

/* Botones CTA del hero: sombra suave para despegar de la foto */
.thc-landing .thc-hero .elementor-widget-button .elementor-button {
	box-shadow: 0 8px 22px rgba(35, 35, 35, 0.16);
}

/* ---------- 10b2. Cifras espectaculares (count-up + entrada) ---------- */
.thc-countup {
	line-height: 1;
	letter-spacing: -0.02em;
}
/* No partir el número + relleno degradado animado (shimmer premium) */
.thc-countup .elementor-heading-title {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	background: linear-gradient(100deg, #C83A72 0%, #E54584 30%, #F06AA0 50%, #E54584 70%, #C83A72 100%);
	background-size: 220% auto;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	animation: thc-shimmer 5s linear infinite;
}
@keyframes thc-shimmer {
	to { background-position: -220% center; }
}
@media (prefers-reduced-motion: reduce) {
	.thc-countup .elementor-heading-title { animation: none; background-position: 0 center; }
}

/* ---------- 10b3. Cifras: NUEVA presentación en tarjetas (via #id, sí renderiza) ---------- */
#thc-stats-band { row-gap: 16px !important; }
/* Cada cifra en su tarjeta elegante con barra de acento superior */
#thc-stats-band > .e-con-inner > .e-con,
#thc-stats-band > .e-con {
	position: relative;
	background: #FFFFFF;
	border: 1px solid #F2E3EA;
	border-radius: var(--thc-radius-md);
	padding: 30px 16px 26px !important;
	box-shadow: 0 10px 30px rgba(229, 69, 132, 0.07);
	overflow: hidden;
	transition: transform .3s var(--thc-ease), box-shadow .3s var(--thc-ease);
}
#thc-stats-band > .e-con-inner > .e-con::before,
#thc-stats-band > .e-con::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, #E54584, #F06AA0);
}
#thc-stats-band > .e-con-inner > .e-con:hover,
#thc-stats-band > .e-con:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(229, 69, 132, 0.14);
}
/* Móvil: tarjetas en 1 columna, cómodas, sin apreturas */
@media (max-width: 767px) {
	#thc-stats-band > .e-con-inner > .e-con,
	#thc-stats-band > .e-con {
		padding: 22px 20px !important;
		min-width: 0;
	}
	#thc-stats-band .thc-countup .elementor-heading-title { font-size: 46px !important; }
}
/* Número: posición para el destello + acento inferior */
.thc-countup .elementor-heading-title {
	position: relative;
	display: inline-block;
	padding-bottom: 10px;
}
.thc-countup .elementor-heading-title::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 30px;
	height: 3px;
	border-radius: 3px;
	background: var(--thc-brand);
	transform: translateX(-50%) scaleX(0);
	transition: transform .6s var(--thc-ease) .25s;
}
.thc-countup.thc-in .elementor-heading-title::after {
	transform: translateX(-50%) scaleX(1);
}
/* Etiqueta refinada bajo la cifra */
#thc-stats-band .elementor-widget-text-editor p {
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: var(--thc-muted) !important;
}
/* Efecto "landed": rebote marcado + estallido de luz (scope a .thc-countup, sí renderiza) */
.thc-countup .elementor-heading-title.thc-counted {
	animation: thc-count-pop .85s cubic-bezier(.18,.9,.3,1.5), thc-shimmer 5s linear infinite;
}
/* THC 06/07/2026: circulo magenta detras de los numeros eliminado a peticion de Jose. Se mantiene el shimmer del texto y el pop de entrada. */
@keyframes thc-count-pop {
	0% { transform: scale(0.85); }
	45% { transform: scale(1.32); }
	68% { transform: scale(0.95); }
	100% { transform: scale(1); }
}
/* ---------- 10c. Hero landing: piscina visible y foto vertical en móvil ---------- */
/* Escritorio: anclar abajo para que se vea la piscina */
.thc-landing .thc-hero {
	background-position: center 78% !important;
}
/* Móvil: foto recortada en vertical (villa + piscina), más nítida */
@media (max-width: 767px) {
	.thc-landing .thc-hero {
		background-image: url('/wp-content/uploads/2026/07/villa-ibicenca-piscina-javea-movil.jpg') !important;
		background-position: center center !important;
		background-size: cover !important;
	}
}

/* ---------- 10d. Pasos de reserva: SIN caja/anillo cuadrado. El efecto se
   aplica solo al círculo del número (drop-shadow sigue la forma del SVG) --- */
.thc-steps .elementor-icon,
.thc-steps .elementor-icon:hover {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	transform: none !important;
}
.thc-steps .elementor-icon img,
.thc-steps .elementor-icon svg {
	transition: transform var(--thc-t-base) var(--thc-ease),
		filter var(--thc-t-base) var(--thc-ease);
}
/* Al pasar/tocar la tarjeta del paso, el círculo del número crece con un
   halo circular (drop-shadow respeta el círculo del archivo, nunca un cuadrado) */
.thc-steps:hover .elementor-icon img,
.thc-steps:hover .elementor-icon svg {
	transform: scale(1.09) !important;
	filter: drop-shadow(0 6px 14px rgba(229, 69, 132, 0.4)) !important;
}

/* ---------- 10g. CTAs de la landing: SIEMPRE fucsia corporativo ---------- */
/* Todos los botones fucsia sólido en todos los estados (evita tonos raros en móvil) */
.thc-landing .elementor-widget-button:not(.thc-cta-ghost) .elementor-button,
.thc-landing .elementor-widget-button:not(.thc-cta-ghost) .elementor-button:hover,
.thc-landing .elementor-widget-button:not(.thc-cta-ghost) .elementor-button:focus,
.thc-landing .elementor-widget-button:not(.thc-cta-ghost) .elementor-button:active {
	background-color: var(--thc-brand) !important;
	background-image: none !important;
	color: #FFFFFF !important;
}
/* CTA secundario "Ver destinos": blanco */
.thc-landing .thc-cta-ghost .elementor-button {
	background-color: #FFFFFF !important;
	color: var(--thc-ink) !important;
}
.thc-landing .thc-cta-ghost .elementor-button:hover {
	background-color: var(--thc-brand-tint) !important;
	color: var(--thc-ink) !important;
}

/* ---------- 10f. Ventajas bajo el hero: tarjetas premium y elegantes ---------- */
.thc-benefit-card {
	background: #FFFFFF;
	border: 1px solid #EFE6EA;
	border-radius: var(--thc-radius-md);
	padding: 30px 22px !important;
	box-shadow: var(--thc-shadow-sm);
	transition: transform var(--thc-t-base) var(--thc-ease),
		box-shadow var(--thc-t-base) var(--thc-ease),
		border-color var(--thc-t-base) var(--thc-ease);
	height: 100%;
}
.thc-benefit-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--thc-shadow-lg);
	border-color: rgba(229, 69, 132, 0.35);
}
/* Icono sobre disco de marca (elegante, no estridente) */
.thc-benefit-card .elementor-icon {
	background: var(--thc-brand-tint) !important;
	border: 0 !important;
	border-radius: 50% !important;
	width: 78px !important;
	height: 78px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	transition: background var(--thc-t-base) var(--thc-ease), transform var(--thc-t-base) var(--thc-ease);
}
.thc-benefit-card:hover .elementor-icon {
	background: var(--thc-brand) !important;
	transform: scale(1.06) !important;
	box-shadow: none !important;
}
/* El icono dentro del disco se vuelve blanco al hover para contraste */
.thc-benefit-card:hover .elementor-icon img {
	filter: brightness(0) invert(1);
}
.thc-benefit-card .elementor-icon img,
.thc-benefit-card .elementor-icon svg {
	width: 40px !important;
	height: 40px !important;
	transition: filter var(--thc-t-base) var(--thc-ease);
}

/* (10e retirado: las fichas usan exactamente la misma animación y layout que
   el resto de la web, sin overrides específicos de la landing) */

/* ---------- 10i0. Iconos de ventajas duotono: sobrio y sin recuadro ---------- */
/* Mata el anillo CUADRADO que thc-animaciones.css añade en :hover */
.thc-benefit-icon .elementor-icon,
.thc-benefit-icon .elementor-icon:hover {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	transform: none !important;
}
/* Sombra sutil y CIRCULAR (sigue el disco), sin sobrecargar */
.thc-benefit-icon .elementor-icon svg {
	filter: drop-shadow(0 8px 16px rgba(229, 69, 132, 0.14));
	transition: transform .4s var(--thc-ease), filter .4s var(--thc-ease);
}
.thc-benefit-icon:hover .elementor-icon svg {
	transform: translateY(-3px) scale(1.05);
	filter: drop-shadow(0 14px 22px rgba(229, 69, 132, 0.22));
}

/* ---------- 10i. Ventajas bajo el hero: misma altura y distribución ---------- */
/* Cada ventaja llena su celda de la rejilla → todas la misma altura,
   con el contenido alineado arriba. (Los pasos se excluyen con :not.) */
.thc-landing .elementor-widget-icon-box:not(.thc-steps) {
	height: 100%;
}
.thc-landing .elementor-widget-icon-box:not(.thc-steps) .elementor-icon-box-wrapper {
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
/* Título de ventaja a 2 líneas fijas → todas las descripciones alinean */
.thc-landing .elementor-widget-icon-box:not(.thc-steps) .elementor-icon-box-title {
	min-height: 2.6em;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ---------- 10k. Fichas destacadas de la landing: mismas dimensiones ---------- */
.thc-landing .listing_wrapper { height: 100%; }
.thc-landing .property_unit_v3 {
	height: 100%;
	display: flex;
	flex-direction: column;
}
.thc-landing .property_unit_v3 .listing-unit-img-wrapper {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}
.thc-landing .property_unit_v3 .listing-unit-img-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.thc-landing .property_unit_v3 .listing_title_unit {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.4em;
}

/* ---------- 10h. Precio del cajón de reserva: "Desde" en negro (todas las pantallas) ---------- */
.single-estate_property .listing_main_image_price:not(:has(.thc-price-from))::before {
	content: "Desde ";
	font-weight: 500;
	color: var(--thc-ink);
}
/* "Desde" del precio del título también en negro */
.single-estate_property .listing_main_image_price .thc-price-from {
	color: var(--thc-ink) !important;
}

/* ---------- 10j. Botón "Solicitar una reserva": fucsia corporativo ---------- */
/* Incluye el trigger móvil (#mobile_booking_triger), que es otro elemento */
.single-estate_property .submit_booking_front,
.single-estate_property .submit_booking_front:hover,
.single-estate_property #mobile_booking_triger,
.single-estate_property #mobile_booking_triger:hover,
.single-estate_property #submit_booking_front,
.single-estate_property #submit_booking_front:hover {
	background-color: var(--thc-brand) !important;
	background-image: none !important;
	color: #FFFFFF !important;
	border-color: var(--thc-brand) !important;
}

/* ---------- 11. Ficha de alojamiento en móvil ---------- */
@media (max-width: 767px) {
	/* 11a. Burbuja de WhatsApp: a la izquierda y más arriba para no tapar
	   el botón de reserva (que va a la derecha / ancho completo). */
	.single-estate_property .thc-whatsapp-floating {
		left: 14px;
		right: auto;
		bottom: 20px;
		z-index: 9990;
	}

	/* 11b. Botón "solicitar reserva" a ancho completo y bien separado */
	.single-estate_property .reservation_buttons,
	.single-estate_property .submit_booking_front_wrapper {
		width: 100% !important;
		float: none !important;
		margin-bottom: 20px;
	}
	.single-estate_property .submit_booking_front {
		width: 100% !important;
		display: block !important;
		text-align: center !important;
		padding: 16px 20px !important;
		font-size: 16px !important;
		border-radius: var(--thc-radius-pill) !important;
	}

	/* 11d. El precio del CAJÓN de reserva no lleva "Desde" (el del título sí).
	   Se lo añadimos solo a la instancia sin la etiqueta thc-price-from. */
	.single-estate_property .listing_main_image_price:not(:has(.thc-price-from))::before {
		content: "Desde ";
		font-size: 15px;
		font-weight: 500;
		color: var(--thc-ink);
	}

	/* 11c. Precio "Desde X € por noche" destacado y legible en la ficha */
	.single-estate_property .listing_main_image_price {
		display: block !important;
		font-family: 'Fraunces', serif !important;
		font-size: 22px !important;
		color: var(--thc-ink) !important;
		font-weight: 600 !important;
	}
	.single-estate_property .listing_main_image_price .thc-price-from {
		display: inline !important;
		visibility: visible !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		color: var(--thc-ink) !important;
	}
}

/* 11e. Barra fija movil ancha (480-767px): precio y CTA comparten fila;
   la burbuja de WhatsApp (left:14px, 40px) pisaba el "Desde" del precio.
   Despejamos su zona desplazando el contenido de la fila. */
@media (min-width: 480px) and (max-width: 767px) {
	.single-estate_property .mobile_booking_wrapper .mobile_booking_wrapper_flex {
		padding-left: 64px;
	}
}

/* 11e. Movil estrecho (<=374px): barra en una sola fila -> burbuja elevada. */
@media (max-width: 374px) {
	.single-estate_property .thc-whatsapp-floating {
		bottom: 100px;
	}
}

/* ---------- 10. Accesibilidad de movimiento ---------- */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.property_unit_v3:hover,
	.property_listing:hover,
	.mvp-membership-plans__card:hover,
	.elementor-button:hover {
		transform: none;
	}

	.property_unit_v3:hover .listing-unit-img-wrapper img,
	.property_listing:hover .listing-unit-img-wrapper img {
		transform: none;
	}
}


/* ============================================================
   THC 06/07/2026 — pulidos UI (José)
   ============================================================ */

/* (1) HERO: halo blanco tras el titulo para contraste sobre foto.
   Multicapa suave = premium, no un contorno duro. Solo en heros. */
.thc-page-hero .elementor-widget-heading .elementor-heading-title,
.thc-hero .elementor-widget-heading .elementor-heading-title,
.thc-page-hero h1.elementor-heading-title,
.thc-page-hero h2.elementor-heading-title{
  text-shadow:
    0 1px 1px rgba(255,255,255,.55),
    0 0 14px rgba(255,255,255,.50),
    0 0 34px rgba(255,255,255,.34),
    0 0 60px rgba(255,255,255,.22);
}
/* subtitulo hero: halo mas leve (jerarquia) */
.thc-page-hero .thc-hero-sub,
.thc-hero .thc-hero-sub{
  text-shadow: 0 1px 1px rgba(255,255,255,.5), 0 0 12px rgba(255,255,255,.35);
}

/* (2) FAQ + foto (pagina Hazte anfitrion): al abrir un desplegable la fila
   crecia y la columna-foto (background cover, sin min-height propia) se estiraba
   -> la foto "escalaba". Desktop: la fila deja de estirar columnas y la foto
   mantiene altura fija; solo crece la columna de texto. */
@media (min-width:1025px){
  .elementor-element-e0dbfe2{ align-items:flex-start !important; }
  .elementor-element-39f2062{ min-height:660px !important; align-self:flex-start !important; position:sticky; top:96px; }
}


/* THC 08/07 a11y: contraste AA en descripciones y botones (antes gris ~4.0:1) */
.elementor-icon-box-description{ color:#5f6368 !important; }
