/*
 * LibraInmo — claro y ordenado.
 *
 * Fondo blanco y un cálido muy suave para las zonas de búsqueda; tarjetas blancas con borde fino
 * y esquinas redondeadas; el color de marca en el precio, las solapas y los íconos; el verde
 * reservado para WhatsApp. Todos los colores salen de theme.json: cada inmobiliaria los cambia
 * desde el editor.
 */

:root {
	--lt-marca: var(--wp--preset--color--marca);
	--lt-marca-hondo: var(--wp--preset--color--marca-hondo);
	--lt-marca-suave: var(--wp--preset--color--marca-suave);
	--lt-fondo: var(--wp--preset--color--fondo);
	--lt-borde: var(--wp--preset--color--borde);
	--lt-tinta: var(--wp--preset--color--tinta);
	--lt-suave: var(--wp--preset--color--texto-suave);
	--lt-accion: var(--wp--preset--color--accion);
	--lt-blanco: var(--wp--preset--color--blanco);
	--lt-radio: var(--wp--custom--radio);
	--lt-radio-grande: var(--wp--custom--radio-grande);
	--lt-sombra: var(--wp--custom--sombra);
	--lt-sombra-flota: 0 18px 40px -18px rgb(30 20 10 / 35%);
	--lt-sale: cubic-bezier(0.16, 1, 0.3, 1);
	--lt-campo-alto: 3rem;
	--lt-flecha: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236E655C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

/* ------------------------------------------------------------ base */

*, *::before, *::after { box-sizing: border-box; }
.wp-site-blocks > * { margin-block-start: 0; }
::selection { background: var(--lt-marca); color: var(--lt-blanco); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(a, button, input, select, textarea, summary, label):focus-visible { outline: 2px solid var(--lt-marca); outline-offset: 2px; }
a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
h1, h2, h3 { text-wrap: balance; word-spacing: 0.08em; }
p { text-wrap: pretty; }
img { max-width: 100%; height: auto; }
.li-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.li-ico { width: 1.15em; height: 1.15em; flex: none; }

/* ------------------------------------------------------------ botones */

.li-boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 2.75rem;
	padding: 0 1.15rem;
	border: 1.5px solid var(--lt-borde);
	border-radius: 8px;
	background: var(--lt-blanco);
	color: var(--lt-tinta);
	font: inherit;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.18s ease-out, border-color 0.18s ease-out, color 0.18s ease-out;
}
.li-boton:hover { border-color: var(--lt-tinta); color: var(--lt-tinta); }
.li-boton--marca { background: var(--lt-marca); border-color: var(--lt-marca); color: var(--lt-blanco); }
.li-boton--marca:hover { background: var(--lt-marca-hondo); border-color: var(--lt-marca-hondo); color: var(--lt-blanco); }
.li-boton--accion { background: var(--lt-accion); border-color: var(--lt-accion); color: var(--lt-blanco); }
.li-boton--accion:hover { background: color-mix(in srgb, var(--lt-accion) 84%, black); border-color: color-mix(in srgb, var(--lt-accion) 84%, black); color: var(--lt-blanco); }
.li-boton--ancho { width: 100%; }
.li-boton .li-ico { width: 1.1rem; height: 1.1rem; }
.wp-element-button { transition: background-color 0.18s ease-out; }

/* ------------------------------------------------------------ campos */

.li-campo { display: grid; gap: 0.35rem; min-width: 0; }
.li-campo label { font-size: 0.85rem; font-weight: 600; color: var(--lt-suave); }
.li-campo :is(input, select, textarea) {
	width: 100%;
	min-height: var(--lt-campo-alto);
	padding: 0 0.9rem;
	border: 1.5px solid var(--lt-borde);
	border-radius: 10px;
	background-color: var(--lt-blanco);
	color: var(--lt-tinta);
	font: inherit;
	font-size: 1rem;
}
.li-campo textarea { padding-block: 0.7rem; min-height: 8rem; resize: vertical; }
.li-campo select, .li-buscador select {
	appearance: none;
	padding-right: 2.2rem;
	background-image: var(--lt-flecha);
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 1rem;
	cursor: pointer;
}
.li-campo :is(input, select, textarea):focus { border-color: var(--lt-marca); outline: none; }
.li-campo :is(input, select, textarea):focus-visible { outline: 2px solid var(--lt-marca); outline-offset: 1px; }
.li-campo input::placeholder, .li-campo textarea::placeholder { color: var(--lt-suave); opacity: 1; }
.li-campo__junto { display: grid; grid-template-columns: 5.25rem minmax(0, 1fr); }
.li-campo__junto select { border-right-width: 0; border-radius: 10px 0 0 10px; }
.li-campo__junto input { border-radius: 0 10px 10px 0; }

/* ------------------------------------------------------------ cabecera */

.lt-cabecera { background: var(--lt-blanco); border-bottom: 1px solid var(--lt-borde); padding-block: 0.85rem; position: relative; z-index: 40; }
.lt-cabecera__fila { gap: 2rem; }
.lt-cabecera__logo img { width: auto; max-height: 64px; }
.lt-cabecera__menu { flex: 1; font-weight: 600; font-size: 0.95rem; }
.lt-cabecera__menu .wp-block-navigation__container { gap: 0.15rem; }
.lt-cabecera__menu .wp-block-navigation-item__content { padding: 0.5rem 0.85rem; border-radius: 8px; text-decoration: none; transition: background-color 0.18s ease-out, color 0.18s ease-out; }
.lt-cabecera__menu .wp-block-navigation-item__content:hover,
.lt-cabecera__menu .current-menu-item > .wp-block-navigation-item__content { background: var(--lt-marca-suave); color: var(--lt-marca); }
.lt-cabecera__menu .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.lt-cabecera__menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; }
/* Contacto dentro del menú abierto (functions.php); cerrado o en escritorio no se ve. */
.lt-menu-contacto, .lt-menu-logo { display: none; }
.lt-cabecera__menu .is-menu-open .lt-menu-logo { order: -1; display: block; align-self: flex-start; margin: -4.4rem 0 2.25rem; } /* a la altura de la cruz de cerrar */
.lt-cabecera__menu .is-menu-open .lt-menu-logo img { display: block; width: auto; max-height: 46px; }
.lt-cabecera__menu .is-menu-open .lt-menu-contacto { order: 99; display: grid; gap: 0.75rem; width: 100%; max-width: 26rem; margin-top: 2rem; padding-top: 1.75rem; border-top: 1.5px solid var(--lt-borde); }
.lt-cabecera__menu .is-menu-open .lt-menu-contacto .li-boton { font-size: 1rem; }
.lt-menu-contacto__horario { margin: 0.25rem 0 0; font-size: 0.9rem; line-height: 1.5; color: var(--lt-suave); }
.lt-cabecera__fila .li-contacto-botones { display: flex; gap: 0.6rem; flex: none; }
/* Tablet y notebook chica: el menú entero en un renglón; «Llamar» queda sólo con el ícono.
   Hasta 1279 px: con el menú de NA (seis secciones) a 1200-1240 px ya se partía en dos renglones. */
@media (min-width: 960px) and (max-width: 1279px) {
	.lt-cabecera__fila { gap: 1rem; }
	.lt-cabecera__menu { font-size: 0.9rem; }
	.lt-cabecera__menu .wp-block-navigation-item__content { padding-inline: 0.5rem; white-space: nowrap; }
	.lt-cabecera .li-contacto-botones__llamar { padding-inline: 0.75rem; }
	.lt-cabecera .li-contacto-botones__llamar .li-boton__texto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
/* Hasta 959 px el menú no entra en un renglón: va el botón de menú también en tablet (el bloque
   Navegación lo muestra sólo por debajo de 600 px). */
@media (min-width: 600px) and (max-width: 959px) {
	.lt-cabecera__menu .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.lt-cabecera__menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 959px) {
	.lt-cabecera__fila { gap: 0.75rem; }
	.lt-cabecera__logo img { max-height: 46px; }
	.lt-cabecera__menu { flex: none; order: 3; }
	.lt-cabecera__fila .li-contacto-botones { margin-left: auto; }
	.li-contacto-botones__llamar { display: none; }
}

/* ------------------------------------------------------------ portada: héroe */

.lt-heroe { padding-block: clamp(2.25rem, 6vw, 4.5rem); overflow: hidden; }
.lt-heroe__columnas { align-items: stretch !important; margin: 0; }
.lt-heroe__titulo { font-size: var(--wp--preset--font-size--titular); line-height: 1.06; letter-spacing: -0.035em; margin: 0 0 1.1rem; }
.lt-resalte { background: none; color: var(--lt-marca); }
.lt-heroe__bajada { font-size: clamp(1.05rem, 1.4vw, 1.15rem); color: var(--lt-suave); max-width: 38ch; margin: 0 0 2rem; }
.lt-heroe__foto { display: flex; }

.li-buscador--portada .li-buscador__form {
	max-width: 640px;
	background: var(--lt-blanco);
	border: 1.5px solid var(--lt-borde);
	border-radius: var(--lt-radio);
	box-shadow: 0 20px 40px -24px rgb(60 30 0 / 25%);
}
.li-buscador__solapas { display: flex; gap: 0.25rem; padding: 0 0.75rem; border-bottom: 1.5px solid var(--lt-borde); overflow-x: auto; scrollbar-width: none; }
.li-buscador__solapas::-webkit-scrollbar { display: none; }
.li-solapa { position: relative; display: block; flex: none; white-space: nowrap; padding: 1rem 0.9rem; font-weight: 700; color: var(--lt-suave); text-decoration: none; cursor: pointer; transition: color 0.18s ease-out; }
.li-solapa input { position: absolute; opacity: 0; pointer-events: none; }
.li-solapa:hover { color: var(--lt-tinta); }
.li-solapa:has(input:checked) { color: var(--lt-marca); }
.li-solapa:has(input:checked)::after { content: ""; position: absolute; left: 0.6rem; right: 0.6rem; bottom: -1.5px; height: 3px; border-radius: 3px 3px 0 0; background: var(--lt-marca); }
.li-solapa:has(input:focus-visible) { outline: 2px solid var(--lt-marca); outline-offset: -4px; border-radius: 8px; }
.li-solapa--enlace { margin-left: auto; }
.li-buscador__fila { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; padding: 0.9rem 0.9rem 0.9rem 0.4rem; }
.li-buscador__fila .li-campo { gap: 0; padding: 0.1rem 1rem; border-right: 1.5px solid var(--lt-borde); }
.li-buscador__fila .li-campo:nth-child(2) { border-right: 0; }
.li-buscador__fila .li-campo label { font-size: 0.8rem; font-weight: 500; }
.li-buscador__fila .li-campo select { min-height: 0; height: 1.75rem; padding: 0 1.6rem 0 0; border: 0; border-radius: 0; font-weight: 700; background-position: right 0 center; }
.li-buscador__fila .li-campo select:focus-visible { outline-offset: 4px; }
.li-buscador--portada .li-buscador__buscar { min-height: 3rem; padding: 0 1.4rem; }

.li-cifras { list-style: none; display: flex; flex-wrap: wrap; gap: 1.25rem 2.5rem; margin: 2.25rem 0 0; padding: 0; }
.li-cifras li { border-left: 3px solid var(--lt-marca-suave); padding-left: 1rem; }
.li-cifras a { color: inherit; text-decoration: none; display: block; }
.li-cifras b { display: block; font-size: 1.75rem; line-height: 1.2; letter-spacing: -0.02em; color: var(--lt-marca); font-variant-numeric: tabular-nums; }
.li-cifras span { color: var(--lt-suave); font-size: 0.95rem; }
.li-cifras a:hover span { color: var(--lt-tinta); }

.li-vidriera { position: relative; flex: 1; min-height: 500px; }
.li-vidriera__escena { position: absolute; inset: 0; overflow: hidden; border-radius: var(--lt-radio-grande); background: var(--lt-marca-suave); }
.li-vidriera__item { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 0.8s ease-in-out, visibility 0s linear 0.8s; }
.li-vidriera__item.is-activa { opacity: 1; visibility: visible; transition: opacity 0.8s ease-in-out, visibility 0s; }
.li-vidriera__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.li-vidriera__item.is-activa .li-vidriera__img { animation: lt-acercar 6s ease-out both; }
@keyframes lt-acercar { from { transform: scale(1.06); } to { transform: scale(1); } }
.li-vidriera__nuevo { position: absolute; top: 1.25rem; left: 1.25rem; padding: 0.4rem 0.75rem; border-radius: 6px; background: var(--lt-marca); color: var(--lt-blanco); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; pointer-events: none; }
.li-vidriera__puntos { position: absolute; right: 1.25rem; bottom: 1.25rem; display: flex; gap: 0.15rem; padding: 0.3rem 0.4rem; border-radius: 999px; background: rgb(20 12 4 / 45%); backdrop-filter: blur(6px); }
.li-vidriera__punto { width: 1.5rem; height: 1.5rem; padding: 0; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.li-vidriera__punto::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 999px; background: rgb(255 255 255 / 55%); transition: width 0.3s var(--lt-sale), background-color 0.3s ease-out; }
.li-vidriera__punto[aria-current]::before { width: 1.15rem; background: var(--lt-blanco); }
.li-vidriera__punto:focus-visible { outline-color: var(--lt-blanco); outline-offset: 0; border-radius: 999px; }
.li-vidriera--vacia { background: var(--lt-marca-suave); border-radius: var(--lt-radio-grande); }
.li-vidriera__ficha {
	position: absolute;
	top: 1.25rem;
	right: 1.25rem;
	max-width: calc(100% - 2.5rem);
	display: grid;
	grid-template-columns: auto auto;
	align-items: center;
	gap: 0 1rem;
	padding: 0.75rem 1rem;
	background: var(--lt-blanco);
	border-radius: var(--lt-radio);
	box-shadow: var(--lt-sombra-flota);
	color: var(--lt-tinta);
	text-decoration: none;
	transition: transform 0.35s var(--lt-sale);
}
.li-vidriera__ficha:hover { transform: translateY(-2px); color: var(--lt-tinta); }
.li-vidriera__ficha small { grid-column: 1; font-size: 0.8rem; color: var(--lt-suave); }
.li-vidriera__ficha b { grid-column: 1; color: var(--lt-marca); font-size: 1.05rem; }
.li-vidriera__ficha b span { color: var(--lt-suave); font-weight: 500; font-size: 0.85rem; margin-left: 0.15rem; }
.li-vidriera__ficha .li-ico { grid-column: 2; grid-row: 1 / 3; color: var(--lt-marca); }
.li-vidriera__sello { position: absolute; left: -2rem; bottom: 2.5rem; max-width: 300px; margin: 0; padding: 0.9rem 1.15rem; background: var(--lt-blanco); border-radius: var(--lt-radio); box-shadow: var(--lt-sombra-flota); }
.li-vidriera__sello small { display: block; font-size: 0.8rem; color: var(--lt-suave); }
.li-vidriera__sello small:empty { display: none; }
.li-vidriera__sello b { display: block; font-size: 1rem; line-height: 1.35; }

@media (max-width: 781px) {
	.lt-heroe__columnas { gap: 2rem !important; }
	.li-buscador__fila { grid-template-columns: 1fr 1fr; row-gap: 0.9rem; padding-left: 0.9rem; }
	.li-buscador__fila .li-campo { padding: 0 0.75rem 0 0; }
	.li-buscador__fila .li-campo:nth-child(2) { padding-left: 0.75rem; }
	.li-buscador--portada .li-buscador__buscar { grid-column: 1 / -1; }
	.li-buscador__solapas { padding: 0 0.4rem; }
	.li-solapa { padding-inline: 0.55rem; font-size: 0.95rem; }
	.li-cifras { gap: 1rem 1.5rem; margin-top: 1.75rem; }
	.li-cifras b { font-size: 1.4rem; }
	.li-vidriera { min-height: 320px; }
	/* En el celular el lema no entra junto al precio sin encimarse: queda sólo la ficha. */
	.li-vidriera__sello { display: none; }
	.li-vidriera__ficha { top: auto; bottom: 0.75rem; right: 0.75rem; }
	.li-vidriera__nuevo { top: 0.75rem; left: 0.75rem; }
	.li-vidriera__puntos { bottom: auto; top: 0.75rem; right: 0.75rem; }
}

/* Tableta (782-959 px): WordPress todavía pone las columnas lado a lado y quedan angostas. El
   héroe, las cajas de contacto con su formulario y el pie se reacomodan; los pasos, de a dos. */
@media (min-width: 782px) and (max-width: 959px) {
	.lt-heroe__columnas,
	.lt-pagina__contenido .wp-block-columns:has(.lt-caja, .lt-formulario),
	.lt-dos-columnas { flex-wrap: wrap !important; }
	.lt-heroe__columnas > .wp-block-column,
	.lt-pagina__contenido .wp-block-columns:has(.lt-caja, .lt-formulario) > .wp-block-column,
	.lt-dos-columnas > .wp-block-column { flex-basis: 100% !important; }
	.li-vidriera { min-height: 440px; }
	.li-vidriera__sello { left: 1.25rem; bottom: 1.25rem; }
	.lt-pie__columnas { flex-wrap: wrap !important; }
	.lt-pie__columnas > .wp-block-column:first-child { flex-basis: 100% !important; }
	.lt-pie__columnas > .wp-block-column:not(:first-child) { flex-basis: calc(50% - 1.5rem) !important; }
}
@media (min-width: 600px) and (max-width: 959px) {
	.wp-block-list.lt-pasos { grid-template-columns: repeat(2, 1fr); }
}

/* ------------------------------------------------------------ secciones y listados */

.lt-seccion { padding-block: clamp(3rem, 7vw, 5rem) 0; }
.lt-seccion > .li-listado + .li-listado { margin-top: clamp(3.5rem, 7vw, 5rem); }

.li-listado__cabecera { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem 1.5rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.li-listado__titulo { margin: 0; font-size: clamp(1.75rem, 3vw, 2.25rem); }
.li-listado__bajada { margin: 0.35rem 0 0; color: var(--lt-suave); }
.li-listado__total { margin: 0; color: var(--lt-suave); font-weight: 600; font-variant-numeric: tabular-nums; }
.li-listado__grilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: clamp(1.25rem, 2.2vw, 2rem); }
.li-listado__vacio { padding: 3rem 1.5rem; border: 1.5px dashed var(--lt-borde); border-radius: var(--lt-radio); text-align: center; }
.li-listado__vacio p { font-size: 1.15rem; font-weight: 700; margin: 0 0 0.4rem; }
.li-listado__vacio .li-listado__vacio-ayuda { max-width: 32rem; margin: 0 auto 1.25rem; font-size: 1rem; font-weight: 400; color: var(--lt-suave); }
.li-listado__vacio-acciones { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; }

.li-listado__paginas { display: flex; justify-content: center; flex-wrap: wrap; gap: 0.4rem; margin-top: 2.5rem; }
.li-listado__pagina {
	display: inline-grid;
	place-items: center;
	min-width: 2.75rem;
	height: 2.75rem;
	padding: 0 0.6rem;
	border: 1.5px solid var(--lt-borde);
	border-radius: 8px;
	background: var(--lt-blanco);
	color: var(--lt-tinta);
	font-weight: 700;
	text-decoration: none;
	font-variant-numeric: tabular-nums;
}
.li-listado__pagina:hover { border-color: var(--lt-tinta); color: var(--lt-tinta); }
.li-listado__pagina[aria-current] { background: var(--lt-marca); border-color: var(--lt-marca); color: var(--lt-blanco); }
.li-listado__salto { align-self: center; color: var(--lt-suave); }

/* ------------------------------------------------------------ tarjeta */

.li-tarjeta {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--lt-blanco);
	border: 1.5px solid var(--lt-borde);
	border-radius: var(--lt-radio);
	transition: box-shadow 0.3s var(--lt-sale), transform 0.3s var(--lt-sale), border-color 0.2s ease-out;
}
.li-tarjeta:hover { box-shadow: var(--lt-sombra); transform: translateY(-2px); }
.li-tarjeta:focus-within { border-color: var(--lt-marca); }
.li-tarjeta__foto { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: calc(var(--lt-radio) - 1.5px) calc(var(--lt-radio) - 1.5px) 0 0; background: var(--lt-fondo); }
.li-tarjeta__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.li-tarjeta__sin-foto { display: grid; place-content: center; justify-items: center; gap: 0.5rem; height: 100%; background: repeating-linear-gradient(135deg, var(--lt-fondo) 0 12px, #F4EEE6 12px 24px); color: var(--lt-suave); font-size: 0.9rem; font-weight: 600; }
.li-tarjeta__sin-foto .li-ico { width: 2rem; height: 2rem; color: var(--lt-marca); opacity: 0.7; }
.li-tarjeta__cinta {
	position: absolute;
	top: 0.85rem;
	left: 0.85rem;
	padding: 0.35rem 0.7rem;
	border-radius: 6px;
	background: var(--lt-marca);
	color: var(--lt-blanco);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.li-tarjeta__cinta--estado { background: var(--lt-tinta); }
/* Vendida o alquilada: la foto sigue a color, apenas oscurecida, con el estado al centro como un
   sello. Es publicidad (la cartera se mueve), no una tarjeta apagada. */
.li-tarjeta--cerrada .li-tarjeta__img { filter: brightness(0.72) saturate(0.85); }
.li-tarjeta--cerrada .li-tarjeta__cinta--estado {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 0.6rem 1.25rem;
	border: 2px solid var(--lt-blanco);
	border-radius: 8px;
	background: var(--lt-marca);
	font-size: 0.95rem;
	letter-spacing: 0.12em;
	box-shadow: 0 6px 18px rgb(0 0 0 / 25%);
}
/* No se publica a cuánto se cerró: la tarjeta queda con el sello, el título y los datos. */
.li-ficha--cerrada .li-galeria__estado { background: var(--lt-marca); }
.li-tarjeta--cerrada .li-tarjeta__fila { display: none; }
.li-tarjeta__cuerpo { display: flex; flex-direction: column; flex: 1; padding: 1.1rem 1.25rem 1.2rem; }
.li-tarjeta__fila { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.li-tarjeta__precio { margin: 0; font-size: 1.45rem; font-weight: 800; line-height: 1.2; letter-spacing: -0.02em; color: var(--lt-marca); font-variant-numeric: tabular-nums; }
.li-tarjeta__precio span { margin-left: 0.15rem; font-size: 0.9rem; font-weight: 500; letter-spacing: 0; color: var(--lt-suave); }
.li-tarjeta__wa {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	flex: none;
	width: 2.5rem;
	height: 2.5rem;
	border: 1.5px solid var(--lt-borde);
	border-radius: 50%;
	color: var(--lt-accion);
	transition: background-color 0.18s ease-out, color 0.18s ease-out, border-color 0.18s ease-out;
}
.li-tarjeta__wa:hover { background: var(--lt-accion); border-color: var(--lt-accion); color: var(--lt-blanco); }
.li-tarjeta__titulo { margin: 0.35rem 0 0; font-size: 1.15rem; line-height: 1.3; letter-spacing: -0.015em; }
.li-tarjeta__enlace { color: var(--lt-tinta); text-decoration: none; }
.li-tarjeta__enlace:hover { color: var(--lt-tinta); }
.li-tarjeta__enlace::after { content: ""; position: absolute; inset: 0; border-radius: var(--lt-radio); }
.li-tarjeta__enlace:focus-visible { outline: none; }
.li-tarjeta__enlace:focus-visible::after { outline: 2px solid var(--lt-marca); outline-offset: 2px; }
.li-tarjeta__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 0.55rem; margin: 0.35rem 0 0.95rem; font-size: 0.9rem; color: var(--lt-suave); }
.li-datos-cortos { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem 1.15rem; margin: auto 0 0; padding: 0.85rem 0 0; border-top: 1.5px solid var(--lt-borde); font-size: 0.9rem; color: var(--lt-suave); }
.li-datos-cortos li { display: flex; align-items: center; gap: 0.4rem; }
.li-datos-cortos .li-ico { color: var(--lt-marca); width: 1.1rem; height: 1.1rem; }

.li-op { display: inline-flex; align-items: center; padding: 0.18rem 0.5rem; border-radius: 6px; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; background: var(--lt-marca-suave); color: var(--lt-marca); }
.li-op--alquiler, .li-op--otra { background: #EDEBE8; color: #3B3631; }
.li-op--alquiler-temporario { background: #E4F1EA; color: #0F6A3C; }

/* ------------------------------------------------------------ portada: tasación */

.lt-tasa { padding-block: clamp(3.5rem, 8vw, 5.5rem); }
.lt-tasa__caja { gap: 2rem; padding: clamp(2rem, 5vw, 3.5rem); border-radius: var(--lt-radio-grande); }
.lt-tasa__texto { flex: 1 1 26rem; }
.lt-tasa__titulo { margin: 0 0 0.6rem; font-size: clamp(1.75rem, 3vw, 2.25rem); }
.lt-tasa__bajada { margin: 0; color: #D9D1C8; font-size: 1.1rem; }

/* ------------------------------------------------------------ búsqueda: lista con mapa */

.lt-busqueda__filtros { padding-block: 1rem; background: var(--lt-fondo); border-bottom: 1px solid var(--lt-borde); }
.lt-busqueda__resultados { padding-block: clamp(1.75rem, 4vw, 2.75rem) clamp(3rem, 7vw, 5rem); }
.lt-busqueda__resultados .li-listado__titulo { font-size: clamp(1.6rem, 3vw, 2.1rem); }
.lt-busqueda__resultados .li-listado__cabecera { align-items: baseline; }
.li-buscador--barra .li-buscador__form { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; }
.li-buscador--barra .li-campo { position: relative; gap: 0; }
.li-buscador--barra .li-campo select,
.li-buscador--barra .li-campo input { min-height: 2.75rem; border-radius: 999px; font-size: 0.93rem; font-weight: 600; }
.li-buscador--barra .li-campo select { width: 8.25rem; padding-left: 1rem; text-overflow: ellipsis; }
.li-buscador--barra .li-campo--texto { position: relative; flex: 1 1 11rem; min-width: 10.5rem; max-width: 24rem; }
.li-buscador--barra .li-campo--texto .li-ico { position: absolute; left: 0.95rem; top: 50%; transform: translateY(-50%); color: var(--lt-suave); pointer-events: none; }
.li-buscador--barra .li-campo--texto input { padding-left: 2.6rem; background: var(--lt-fondo); font-weight: 500; }
.li-buscador--barra .li-campo__junto { grid-template-columns: 5.4rem 6.5rem; }
.li-buscador--barra .li-campo__junto select { width: auto; }
.li-buscador--barra .li-campo select:is([name=dormitorios_min], [name=orden]) { width: 9.75rem; }
.li-buscador--barra .li-campo__junto select { border-radius: 999px 0 0 999px; }
.li-buscador--barra .li-campo__junto input { border-radius: 0 999px 999px 0; }
.li-buscador--barra .li-buscador__buscar { border-radius: 999px; padding: 0 1.3rem; }
/* Filtro aplicado: borde oscuro. La moneda siempre tiene valor, así que cuenta sólo si hay un precio escrito. */
.li-buscador--barra .li-campo:not(.li-campo--precio):has(select option:checked:not([value=""])) select,
.li-buscador--barra .li-campo__junto:has(input:not(:placeholder-shown)) :is(select, input) { border-color: var(--lt-tinta); }

.li-listado--mapa { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 44%); align-items: start; }
.li-listado__lista { padding: 1.5rem clamp(1rem, 2vw, 1.75rem) 3rem; min-width: 0; }
.li-listado--mapa .li-listado__cabecera { align-items: baseline; margin-bottom: 1.15rem; }
.li-listado--mapa .li-listado__titulo { font-size: clamp(1.35rem, 2vw, 1.65rem); }
.li-listado--mapa .li-listado__grilla { grid-template-columns: 1fr; gap: 1rem; }
.li-listado--mapa .li-tarjeta { flex-direction: row; }
.li-listado--mapa .li-tarjeta:hover { transform: none; }
.li-listado--mapa .li-tarjeta__foto { flex: 0 0 min(38%, 270px); aspect-ratio: auto; min-height: 200px; border-radius: calc(var(--lt-radio) - 1.5px) 0 0 calc(var(--lt-radio) - 1.5px); }
.li-listado--mapa .li-tarjeta__img { position: absolute; inset: 0; }
.li-listado--mapa .li-tarjeta--activa { border-color: var(--lt-marca); box-shadow: var(--lt-sombra); }
.li-listado__mapa { position: sticky; top: 0; height: 100vh; height: 100dvh; border-left: 1px solid var(--lt-borde); background: #ECE8E1; }
.li-listado__lienzo { width: 100%; height: 100%; }
.li-listado__alternar { display: none; }

.li-pin { background: none; border: 0; }
.li-pin span {
	position: absolute;
	transform: translate(-50%, calc(-100% - 7px));
	padding: 0.3rem 0.65rem;
	border: 1.5px solid var(--lt-borde);
	border-radius: 999px;
	background: var(--lt-blanco);
	color: var(--lt-tinta);
	font: 800 0.82rem/1.2 var(--wp--preset--font-family--jakarta);
	white-space: nowrap;
	box-shadow: 0 6px 16px -6px rgb(0 0 0 / 35%);
	cursor: pointer;
	transition: background-color 0.15s ease-out, color 0.15s ease-out, border-color 0.15s ease-out;
}
.li-pin span::after { content: ""; position: absolute; left: 50%; bottom: -6px; width: 10px; height: 10px; background: inherit; border-right: 1.5px solid var(--lt-borde); border-bottom: 1.5px solid var(--lt-borde); transform: translateX(-50%) rotate(45deg); transition: inherit; }
.li-pin:hover span, .li-pin--activo span { background: var(--lt-marca); border-color: var(--lt-marca); color: var(--lt-blanco); }
.li-pin:hover span::after, .li-pin--activo span::after { border-color: var(--lt-marca); }
.li-pin--grupo span { background: var(--lt-tinta); border-color: var(--lt-tinta); color: var(--lt-blanco); }
.li-pin--grupo span::after { border-color: var(--lt-tinta); }
.leaflet-container { font-family: inherit; }
.leaflet-control-zoom a { color: var(--lt-tinta) !important; }

@media (max-width: 899px) {
	.li-listado--mapa { display: block; }
	.li-listado__lista { padding-bottom: 6rem; }
	.li-listado--mapa .li-tarjeta { flex-direction: column; }
	.li-listado--mapa .li-tarjeta__foto { flex: none; aspect-ratio: 16 / 10; min-height: 0; border-radius: calc(var(--lt-radio) - 1.5px) calc(var(--lt-radio) - 1.5px) 0 0; }
	.li-listado__mapa { display: none; }
	.li-listado--viendo-mapa .li-listado__mapa { display: block; position: fixed; inset: 0; z-index: 50; height: 100dvh; border: 0; }
	.li-listado__alternar {
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
		position: fixed;
		left: 50%;
		bottom: max(1.25rem, env(safe-area-inset-bottom));
		z-index: 60;
		transform: translateX(-50%);
		height: 3rem;
		padding: 0 1.4rem;
		border: 0;
		border-radius: 999px;
		background: var(--lt-tinta);
		color: var(--lt-blanco);
		font: inherit;
		font-weight: 700;
		box-shadow: 0 10px 24px -8px rgb(0 0 0 / 50%);
		cursor: pointer;
	}
	.li-listado__alternar span { display: inline-flex; align-items: center; gap: 0.5rem; }
	.li-listado__alternar-lista, .li-listado--viendo-mapa .li-listado__alternar-mapa { display: none !important; }
	.li-listado--viendo-mapa .li-listado__alternar-lista { display: inline-flex !important; }
	.li-buscador--barra .li-buscador__form { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
	.li-buscador--barra .li-buscador__form::-webkit-scrollbar { display: none; }
	.li-buscador--barra .li-campo, .li-buscador--barra .li-buscador__buscar { flex: none; }
	.li-buscador--barra .li-campo--texto { flex: 0 0 14.5rem; }
	/* La barra se desliza de costado: el borde derecho se desvanece para avisar que hay más
	   filtros, y un hueco final deja el botón Buscar fuera del desvanecido al llegar al fondo. */
	.li-buscador--barra .li-buscador__form { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 2.5rem), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 2.5rem), transparent); }
	.li-buscador--barra .li-buscador__form::after { content: ""; flex: 0 0 2rem; }
}

/* ------------------------------------------------------------ ficha */

.lt-ficha { padding-block: 1.5rem 4rem; }
.li-ficha__migas { display: flex; flex-wrap: wrap; gap: 0.4rem; font-size: 0.85rem; color: var(--lt-suave); }
.li-ficha__migas a { color: var(--lt-suave); text-decoration: none; }
.li-ficha__migas a:hover { color: var(--lt-marca); }
.li-ficha__cabecera { margin-block: 0.75rem 1.5rem; }
.li-ficha__titulo { margin: 0; font-size: clamp(1.75rem, 3.2vw, 2.5rem); max-width: 30ch; }
.li-ficha__lugar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.75rem; margin: 0.65rem 0 0; color: var(--lt-suave); }
.li-ficha__direccion { display: inline-flex; align-items: center; gap: 0.35rem; }

.li-ficha__principal { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1.25rem, 2.5vw, 2rem); align-items: start; }
@media (min-width: 1000px) {
	.li-ficha__principal { grid-template-columns: minmax(0, 1fr) 22.5rem; }
	.li-ficha__panel { position: sticky; top: 1.5rem; }
}

.li-galeria__escena {
	position: relative;
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	aspect-ratio: 4 / 3;
	border-radius: var(--lt-radio-grande);
	background: #F1ECE6;
	overscroll-behavior-x: contain;
}
.li-galeria__escena::-webkit-scrollbar { display: none; }
.li-galeria__foto { flex: 0 0 100%; margin: 0; scroll-snap-align: start; display: grid; place-items: center; }
.li-galeria__foto img { width: 100%; height: 100%; object-fit: contain; }
.li-galeria__escena--vacia { display: grid; place-items: center; padding: 1.5rem; background: repeating-linear-gradient(135deg, var(--lt-fondo) 0 14px, #F4EEE6 14px 28px); color: var(--lt-suave); font-weight: 600; text-align: center; }
.li-galeria__escena--vacia span { display: grid; justify-items: center; gap: 0.75rem; max-width: 22rem; }
.li-galeria__escena--vacia .li-ico { width: 2.75rem; height: 2.75rem; color: var(--lt-marca); opacity: 0.7; }
.li-galeria__estado { position: absolute; top: 1rem; left: 1rem; font-size: 0.85rem; }
.li-galeria__cuenta { margin: 0.6rem 0; font-size: 0.85rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--lt-suave); }
.li-galeria__miniaturas { display: flex; gap: 0.5rem; overflow-x: auto; padding: 2px 2px 0.25rem; scrollbar-width: thin; }
.li-galeria__mini { flex: 0 0 5rem; aspect-ratio: 1; display: block; border-radius: 8px; overflow: hidden; opacity: 0.65; transition: opacity 0.2s ease-out; }
.li-galeria__mini img { width: 100%; height: 100%; object-fit: cover; display: block; }
.li-galeria__mini:hover, .li-galeria__mini[aria-current] { opacity: 1; outline: 2px solid var(--lt-marca); outline-offset: -2px; }

/* Visor a pantalla completa (frente.js): fondo casi negro, la foto entera y botones claros. */
.li-ficha__galeria { position: relative; }
.li-galeria__foto img { cursor: zoom-in; }
.li-galeria__ampliar { position: absolute; top: 0.9rem; right: 0.9rem; display: grid; place-items: center; width: 2.6rem; height: 2.6rem; padding: 0; border: 0; border-radius: 999px; background: rgb(255 255 255 / 92%); color: var(--lt-tinta); box-shadow: 0 6px 16px -6px rgb(0 0 0 / 35%); cursor: pointer; transition: transform 0.15s ease-out; }
.li-galeria__ampliar:hover { transform: scale(1.06); }
.li-galeria__ampliar:focus-visible { outline: 3px solid var(--lt-marca); outline-offset: 2px; }
html:has(.li-visor[open]) { overflow: hidden; }
.li-visor { width: 100vw; height: 100vh; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: #12100e; color: #fff; overflow: hidden; }
.li-visor::backdrop { background: #12100e; }
.li-visor__pista { display: flex; height: 100%; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior: contain; }
.li-visor__pista::-webkit-scrollbar { display: none; }
.li-visor__foto { flex: 0 0 100%; display: flex; align-items: center; justify-content: center; min-width: 0; height: 100%; box-sizing: border-box; margin: 0; padding: 4rem 5rem 2rem; overflow: hidden; scroll-snap-align: center; }
.li-visor__foto img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 6px; }
.li-visor__cuenta { position: absolute; top: 1.35rem; left: 1.25rem; margin: 0; font-size: 0.95rem; font-weight: 600; font-variant-numeric: tabular-nums; color: rgb(255 255 255 / 80%); }
.li-visor__boton { position: absolute; display: grid; place-items: center; width: 3rem; height: 3rem; padding: 0; border: 0; border-radius: 999px; background: rgb(255 255 255 / 12%); color: #fff; cursor: pointer; transition: background-color 0.15s ease-out, opacity 0.15s ease-out; }
.li-visor__boton:hover { background: rgb(255 255 255 / 22%); }
.li-visor__boton:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.li-visor__boton:disabled { opacity: 0.25; cursor: default; }
.li-visor__cerrar { top: 0.75rem; right: 0.75rem; }
.li-visor__ant, .li-visor__sig { top: 50%; transform: translateY(-50%); }
.li-visor__ant { left: 1rem; }
.li-visor__sig { right: 1rem; }
/* En el celular se pasa deslizando: las flechas sobran y tapan la foto. */
@media (pointer: coarse) and (max-width: 781px) {
	.li-visor__ant, .li-visor__sig { display: none; }
	.li-visor__foto { padding-inline: 0; }
}

/* Buscando (frente.js): una barrita que corre arriba y el listado atenuado hasta que llega la
   página nueva. */
html.li-buscando body::before { content: ""; position: fixed; z-index: 100; inset: 0 auto auto 0; width: 35%; height: 3px; background: var(--lt-marca); animation: lt-cargando 1.1s ease-in-out infinite; }
html.li-buscando .li-listado__grilla, html.li-buscando .li-listado__vacio { opacity: 0.45; transition: opacity 0.2s ease-out; pointer-events: none; }
.li-buscador__buscar[aria-busy="true"] { opacity: 0.75; cursor: progress; }
@keyframes lt-cargando { from { transform: translateX(-100%); } to { transform: translateX(290%); } }
@media (prefers-reduced-motion: reduce) {
	html.li-buscando body::before { width: 100%; animation: none; }
}

.li-ficha__membrete { display: none; }
/* Impresión de la ficha: una hoja con un encabezado chico (logo y contacto), el título, el precio, los datos y la descripción; sin fotos,
   menú, pie, formularios, mapa ni botones. */
@media print {
	@page { margin: 1.4cm; }
	body { background: #fff !important; color: #000; font-size: 11pt; }
	body > :not(.wp-site-blocks), .lt-cabecera, header.wp-block-template-part, footer.wp-block-template-part, .lt-pie, .li-ficha__migas, .li-ficha__galeria,
	.li-ficha__acciones, .li-ficha__compartir, .li-ficha__barra, .li-ficha__consulta, .li-ficha__similares, .li-ficha__ubicacion, .li-visor { display: none !important; }
	.lt-ficha { padding: 0 !important; }
	.li-ficha__principal { display: block !important; }
	.li-ficha__membrete { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.25rem; padding-bottom: 0.75rem; border-bottom: 1px solid #ccc; }
	.li-ficha__membrete-marca img { display: block; width: auto; max-height: 56px; }
	.li-ficha__membrete-datos { display: grid; gap: 0.1rem; margin: 0; text-align: right; font-size: 8.5pt; line-height: 1.35; color: #333; }
	.li-ficha__panel { position: static !important; box-shadow: none !important; border: 1px solid #ccc; }
	.li-datos > div, .li-ficha__texto li, .li-ficha__texto p { break-inside: avoid; }
	.li-ficha__seccion { margin-top: 1rem !important; }
	.li-ficha__seccion h2 { break-after: avoid; }
	.li-ficha__texto { font-size: 10pt; }
	/* Más compacto que en pantalla: una ficha común entra en una hoja. */
	.li-ficha__titulo { font-size: 19pt !important; }
	.li-ficha__seccion h2 { font-size: 13pt !important; margin-bottom: 0.5rem !important; }
	.li-ficha__panel { padding: 0.75rem 1rem !important; border-radius: 8px; }
	.li-ficha__panel .li-ficha__precio { font-size: 18pt !important; }
	.li-datos > div { padding: 0.45rem 0.7rem !important; }
	a { color: inherit !important; text-decoration: none !important; }
}

.li-ficha__panel { padding: 1.5rem; background: var(--lt-blanco); border: 1.5px solid var(--lt-borde); border-radius: var(--lt-radio-grande); box-shadow: 0 24px 48px -36px rgb(60 30 0 / 40%); }
.li-ficha__codigo { margin: 0; font-size: 0.85rem; color: var(--lt-suave); }
.li-ficha__precio { margin: 0.2rem 0 0; font-size: clamp(1.9rem, 2.6vw, 2.25rem); font-weight: 800; line-height: 1.15; letter-spacing: -0.025em; color: var(--lt-marca); font-variant-numeric: tabular-nums; }
.li-ficha__precio--cerrada { text-transform: uppercase; letter-spacing: 0.06em; font-size: 1.5rem; }
.li-ficha__nota-cierre { margin: 0.5rem 0 0; color: var(--lt-suave); font-size: 0.95rem; line-height: 1.5; }
.li-ficha__precio span { margin-left: 0.2rem; font-size: 1rem; font-weight: 500; letter-spacing: 0; color: var(--lt-suave); }
.li-ficha__expensas { margin: 0.25rem 0 0; color: var(--lt-suave); }
.li-ficha__panel .li-datos-cortos { margin: 1.1rem 0 0; padding-block: 1rem; border-bottom: 1.5px solid var(--lt-borde); font-size: 0.95rem; }
.li-ficha__acciones { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; margin-top: 1.25rem; }
.li-ficha__acciones .li-boton--ancho { grid-column: 1 / -1; min-height: 3.1rem; }
.li-ficha__compartir { display: flex; align-items: center; justify-content: center; gap: 0.45rem; margin-top: 0.9rem; padding: 0.5rem; border-radius: 8px; font-size: 0.9rem; font-weight: 600; color: var(--lt-suave); text-decoration: none; }
.li-ficha__compartir:hover { color: var(--lt-marca); background: var(--lt-fondo); }
.li-ficha__compartir .li-ico { width: 1.1em; height: 1.1em; }
.li-galeria__escena:focus-visible { outline: 3px solid var(--lt-marca); outline-offset: 3px; }

.li-ficha__seccion { margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.li-ficha__seccion > h2 { margin: 0 0 1.25rem; font-size: clamp(1.4rem, 2.2vw, 1.75rem); }
.li-datos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 9.5rem), 1fr)); gap: 0.75rem; margin: 0; }
.li-datos div { padding: 0.85rem 1rem; background: var(--lt-fondo); border: 1.5px solid var(--lt-borde); border-radius: 10px; }
.li-datos dt { font-size: 0.82rem; color: var(--lt-suave); }
.li-datos .li-datos__ancho { grid-column: span 2; }
.li-datos .li-datos__entero { grid-column: 1 / -1; }
.li-datos__entero dd { font-weight: 600; max-width: 60ch; }
@media (max-width: 420px) { .li-datos .li-datos__ancho { grid-column: 1 / -1; } }
.li-datos dd { margin: 0.15rem 0 0; font-weight: 700; font-variant-numeric: tabular-nums; }
/* Descripción: los textos viejos traen h2 y h3 propios; no pueden ganarle al título de la sección. */
.li-ficha__texto :is(h1, h2, h3, h4, h5, h6) { margin: 1.4em 0 0.4em; font-size: 1.125rem; line-height: 1.35; letter-spacing: -0.01em; font-style: normal; }
.li-ficha__texto :is(h1, h2, h3, h4, h5, h6):first-child { margin-top: 0; }
.li-ficha__texto p { margin: 0 0 0.6em; }
.li-ficha__texto ul { margin: 0 0 0.9em; padding-left: 1.2rem; }
.li-ficha__caracteristicas { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1.25rem 0 0; padding: 0; }
.li-ficha__caracteristicas li { padding: 0.4rem 0.85rem; border-radius: 999px; background: var(--lt-marca-suave); color: var(--lt-marca-hondo); font-size: 0.9rem; font-weight: 600; }
.li-ficha__texto { max-width: 70ch; line-height: 1.7; }
.li-ficha__nota { margin: -0.5rem 0 1rem; color: var(--lt-suave); }
.li-ficha__mapa { width: 100%; aspect-ratio: 16 / 9; min-height: 280px; border: 1.5px solid var(--lt-borde); border-radius: var(--lt-radio-grande); background: #ECE8E1; overflow: hidden; z-index: 0; }
.li-ficha__mapa iframe { display: block; width: 100%; height: 100%; border: 0; }
.li-ficha__como-llegar { margin-top: 0.85rem; }
.li-ficha__consulta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, 20rem); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; padding: clamp(1.5rem, 4vw, 2.5rem); background: var(--lt-fondo); border: 1.5px solid var(--lt-borde); border-radius: var(--lt-radio-grande); }
.li-ficha__consulta-form h2 { margin-top: 0; }
.li-ficha__consulta-otros { display: grid; gap: 0.75rem; padding: 1.5rem; background: var(--lt-blanco); border: 1.5px solid var(--lt-borde); border-radius: var(--lt-radio); }
.li-ficha__consulta-otros h3 { margin: 0 0 0.25rem; font-size: 1.15rem; }
.li-ficha__horario { display: flex; gap: 0.6rem; margin: 0.5rem 0 0; font-size: 0.92rem; line-height: 1.5; color: var(--lt-suave); }
.li-ficha__horario .li-ico { flex: none; margin-top: 0.15rem; color: var(--lt-marca); }
@media (max-width: 860px) { .li-ficha__consulta { grid-template-columns: 1fr; } }
.li-ficha__similares .li-listado__grilla { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.li-ficha__barra { display: none; }
@media (max-width: 999px) {
	.lt-ficha { padding-bottom: 6.5rem; }
	.li-galeria__escena { border-radius: var(--lt-radio); }
	.li-ficha__barra { position: fixed; inset: auto 0 0; z-index: 30; display: grid; grid-template-columns: 1.6fr 1fr; gap: 0.6rem; padding: 0.75rem 1rem max(0.75rem, env(safe-area-inset-bottom)); background: var(--lt-blanco); border-top: 1px solid var(--lt-borde); box-shadow: 0 -8px 24px -16px rgb(0 0 0 / 30%); }
	.li-ficha__barra .li-boton { min-height: 3rem; }
	/* Las burbujas de chat conocidas (LibraBot, Chatwoot, Joinchat) suben por encima de la barra. */
	body:has(.li-ficha__barra) :is(.librabot-ayuda, .woot-widget-bubble, .joinchat) { margin-bottom: 4.75rem !important; }
}

/* ------------------------------------------------------------ formulario de consulta */

.li-consulta__titulo { margin: 0 0 1rem; font-size: 1.5rem; }
.li-consulta__form { display: grid; gap: 1rem; }
.li-consulta__campos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 1rem; }
.li-consulta__nota { margin: 0; font-size: 0.875rem; color: var(--lt-suave); }
.li-consulta__form .li-boton--marca { justify-self: start; min-height: 3rem; padding-inline: 1.6rem; }
.li-consulta__trampa { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.li-consulta__aviso { margin: 0 0 1rem; padding: 0.85rem 1rem; border-radius: 10px; font-weight: 600; }
.li-consulta__aviso--ok { background: #E4F1EA; color: #0F5A33; }
.li-consulta__aviso--error { background: #FBE9E4; color: #8A2A12; }

/* ------------------------------------------------------------ boletín */

.li-boletin { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 1rem 2.5rem; align-items: center; padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--lt-blanco); border: 1.5px solid var(--lt-borde); border-radius: var(--lt-radio-grande); }
.li-boletin__titulo { margin: 0; font-size: clamp(1.35rem, 2.2vw, 1.65rem); }
.li-boletin__bajada { margin: 0.35rem 0 0; color: var(--lt-suave); }
.li-boletin__form { display: grid; gap: 0.75rem; }
.li-boletin__form .li-consulta__aviso { margin: 0; }
.li-boletin__fila { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.5rem; }
.li-boletin__fila .li-boton { min-height: var(--lt-campo-alto); padding-inline: 1.4rem; }
.li-boletin__interes { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 1.1rem; margin: 0; padding: 0; border: 0; font-size: 0.92rem; }
.li-boletin__interes legend { float: left; margin-right: 0.35rem; padding: 0; color: var(--lt-suave); font-weight: 600; }
/* En el celular «Me interesa» va arriba y las tres opciones entran en un renglón. */
@media (max-width: 480px) { .li-boletin__interes legend { float: none; width: 100%; margin: 0 0 0.25rem; } }
.li-boletin__interes label { display: inline-flex; align-items: center; gap: 0.35rem; cursor: pointer; }
.li-boletin__interes input { accent-color: var(--lt-marca); width: 1rem; height: 1rem; margin: 0; }
.li-boletin__nota { margin: 0; font-size: 0.82rem; color: var(--lt-suave); }
.lt-pie__boletin { margin-bottom: clamp(2rem, 5vw, 3rem); }
@media (max-width: 781px) { .li-boletin { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .li-boletin__fila { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------ pie */

.lt-pie { padding-block: clamp(2.5rem, 6vw, 4rem) 1.5rem; background: var(--lt-fondo); border-top: 1px solid var(--lt-borde); }
.lt-pie__logo img { width: auto; max-height: 84px; }
.lt-pie__lema { margin-top: 1rem; color: var(--lt-suave); font-weight: 600; }
.lt-pie__titulo { margin: 0 0 1rem; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--lt-suave); }
.li-contacto { list-style: none; display: grid; gap: 0.6rem; margin: 0; padding: 0; }
.li-contacto a, .lt-pie__menu a { color: var(--lt-tinta); text-decoration: none; font-weight: 500; }
.li-contacto a:hover, .lt-pie__menu a:hover { color: var(--lt-marca); text-decoration: underline; }
.lt-pie__menu .wp-block-navigation__container { gap: 0.6rem; }
.lt-pie__base { margin-top: clamp(2rem, 5vw, 3rem); padding-top: 1.25rem; border-top: 1px solid var(--lt-borde); font-size: 0.875rem; color: var(--lt-suave); }
.lt-pie__base p { margin: 0; }
.lt-pie__nombre { font-size: 0.875rem; font-weight: 600; margin: 0; }

/* ------------------------------------------------------------ páginas */

.lt-pagina__cabecera { padding-block: clamp(2.5rem, 6vw, 4rem); border-bottom: 1px solid var(--lt-borde); }
.lt-pagina__titulo { margin: 0; font-size: clamp(2.2rem, 4.5vw, 3.25rem); letter-spacing: -0.035em; }
/* Va dentro de un grupo «constrained», que la centraría: se alinea con el borde del título. */
.lt-pagina__cabecera > .lt-pagina__bajada { max-width: 46rem !important; margin-left: max(0px, calc((100% - 1200px) / 2)) !important; margin-right: auto !important; } /* 1200px: el wideSize de la cabecera en page.html */
.lt-pagina__bajada { margin: 1rem 0 0; font-size: clamp(1.1rem, 1.7vw, 1.3rem); line-height: 1.55; color: var(--lt-suave); text-wrap: pretty; }
.lt-pagina__bajada strong { color: var(--lt-tinta); font-weight: 700; }
.lt-404__codigo { margin: 0 0 0.6rem; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--lt-marca); }
.lt-404__buscador { margin-top: 1.75rem !important; }
/* La bajada ya está en la cabecera. */
.lt-pagina__cabecera:has(.lt-pagina__bajada) + .lt-pagina__contenido > .lt-lead:first-child { display: none; }
.lt-pagina__cabecera:has(.lt-pagina__bajada) + .lt-pagina__contenido > .lt-lead:first-child + * { margin-block-start: 0; }
.lt-pagina__contenido { padding-block: clamp(2.5rem, 6vw, 4rem) clamp(3.5rem, 8vw, 5.5rem); }
.lt-pagina__contenido > * + * { margin-block-start: 1.25rem; }
.lt-pagina__contenido > .lt-seccion-pagina { margin-block-start: clamp(3rem, 7vw, 4.5rem); }
.lt-pagina__contenido > .wp-block-heading { margin-block-start: clamp(2.5rem, 6vw, 3.5rem); }
.lt-pagina__contenido h2 { font-size: clamp(1.6rem, 2.6vw, 2rem); }
.lt-lead { font-size: clamp(1.15rem, 1.8vw, 1.35rem); line-height: 1.5; color: var(--lt-suave); }
.lt-lead strong { color: var(--lt-tinta); }
/* Aire entre el título de una sección y lo que sigue (la bajada va pegada al título). */
.lt-pagina__contenido .lt-seccion-pagina > * + * { margin-block-start: 1.5rem; }
.lt-pagina__contenido .lt-seccion-pagina > details + details { margin-block-start: 0.6rem; }
.lt-bajada-seccion { margin-top: 0.4rem !important; color: var(--lt-suave); }

/* Tarjetas de información: un título y una lista. */
.lt-tarjetas { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1.25rem !important; }
.lt-tarjetas > * { margin: 0 !important; }
.lt-tarjeta-info { padding: 1.5rem; background: var(--lt-blanco); border: 1.5px solid var(--lt-borde); border-radius: var(--lt-radio); }
.lt-tarjeta-info h3 { margin: 0 0 0.85rem; font-size: 1.15rem; }
.lt-tarjeta-info ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.lt-tarjeta-info li { position: relative; padding-left: 1.4rem; }
.lt-tarjeta-info li::before { content: ""; position: absolute; left: 0.1rem; top: 0.55em; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--lt-marca); opacity: 0.85; }

/* Pasos numerados. */
.lt-pasos { list-style: none; counter-reset: paso; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1.25rem; margin: 0; padding: 0; }
.lt-pasos li { counter-increment: paso; position: relative; padding: 1.4rem 1.4rem 1.4rem; background: var(--lt-fondo); border: 1.5px solid var(--lt-borde); border-radius: var(--lt-radio); }
.lt-pasos li::before { content: counter(paso); display: grid; place-items: center; width: 2.25rem; height: 2.25rem; margin-bottom: 0.85rem; border-radius: 50%; background: var(--lt-marca); color: var(--lt-blanco); font-weight: 800; }
.lt-pasos li strong { display: block; margin-bottom: 0.3rem; font-size: 1.05rem; }

/* Cifras de una página. */
.lt-cifras-pagina { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 1rem !important; }
.lt-cifras-pagina > * { margin: 0 !important; padding: 1.25rem 1.4rem; border-left: 3px solid var(--lt-marca); background: var(--lt-fondo); border-radius: 0 var(--lt-radio) var(--lt-radio) 0; }
.lt-cifras-pagina p { margin: 0; color: var(--lt-suave); }
.lt-cifras-pagina p strong { display: block; color: var(--lt-marca); font-size: 1.75rem; line-height: 1.2; letter-spacing: -0.02em; }

/* Foto con epígrafe. */
.lt-foto img { border-radius: var(--lt-radio-grande); width: 100%; height: auto; }
.lt-foto figcaption { margin-top: 0.6rem; font-size: 0.9rem; color: var(--lt-suave); text-align: left; }
.lt-foto--historica img { filter: sepia(0.15); }

/* Personas. */
.lt-personas { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1.5rem !important; }
.lt-personas > * { margin: 0 !important; text-align: center; }
.lt-personas .wp-block-image img { width: 9rem; height: 9rem; object-fit: cover; border-radius: 50%; border: 4px solid var(--lt-blanco); box-shadow: 0 0 0 1.5px var(--lt-borde); }
.lt-personas .wp-block-image { margin: 0 auto 0.85rem; }
.lt-personas h3 { margin: 0; font-size: 1.15rem; }
@media (max-width: 600px) {
	.lt-personas { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem !important; }
	.lt-personas .wp-block-image img, .lt-personas p.lt-persona__inicial { width: 5.5rem; height: 5.5rem; }
	.lt-personas p.lt-persona__inicial { font-size: 1.6rem; }
	.lt-personas h3 { font-size: 0.95rem; }
}
.lt-personas p { margin: 0.2rem 0 0; color: var(--lt-suave); font-size: 0.95rem; }
.lt-personas .lt-persona__inicial { display: grid; place-items: center; width: 9rem; height: 9rem; margin: 0 auto 0.85rem !important; border-radius: 50%; background: var(--lt-marca-suave); color: var(--lt-marca); font-size: 2.5rem; font-weight: 800; }

/* Preguntas frecuentes: acordeón con el bloque «Detalles». */
.lt-preguntas > .wp-block-heading { margin-bottom: 1rem; }
.lt-preguntas > * + * { margin-block-start: 0.65rem; }
.lt-pregunta { background: var(--lt-blanco); border: 1.5px solid var(--lt-borde); border-radius: var(--lt-radio); transition: border-color 0.2s ease-out; }
.lt-pregunta[open] { border-color: color-mix(in srgb, var(--lt-marca) 35%, var(--lt-borde)); }
.lt-pregunta > summary { position: relative; display: block; padding: 1.1rem 3.25rem 1.1rem 1.35rem; font-weight: 700; font-size: 1.05rem; line-height: 1.4; cursor: pointer; list-style: none; border-radius: var(--lt-radio); }
.lt-pregunta > summary::-webkit-details-marker { display: none; }
.lt-pregunta > summary::after { content: ""; position: absolute; right: 1.25rem; top: 50%; width: 1.5rem; height: 1.5rem; margin-top: -0.75rem; border-radius: 50%; background: var(--lt-marca-suave) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E4100' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 7v10M7 12h10'/%3E%3C/svg%3E") center / 1rem no-repeat; transition: transform 0.25s var(--lt-sale); }
.lt-pregunta[open] > summary::after { transform: rotate(45deg); }
.lt-pregunta > summary:hover { color: var(--lt-marca); }
.lt-pregunta > summary:focus-visible { outline-offset: -2px; }
.lt-pregunta > :not(summary) { margin: 0 1.35rem; max-width: 70ch; color: #3B3631; }
.lt-pregunta > :not(summary):last-child { margin-bottom: 1.35rem; }
.lt-pregunta > * + :not(summary) { margin-top: 0.75rem; }
.lt-pregunta ul { padding-left: 1.2rem; display: grid; gap: 0.45rem; }

/* Llamado a la acción. */
.lt-llamado { padding: clamp(1.75rem, 4vw, 2.75rem) !important; border-radius: var(--lt-radio-grande); gap: 1.5rem !important; }
.lt-llamado h2 { margin: 0 0 0.4rem; font-size: clamp(1.5rem, 2.6vw, 1.9rem); }
.lt-llamado p { margin: 0; color: #D9D1C8; }
.lt-llamado .li-contacto-botones .li-boton--borde { background: transparent; color: var(--lt-blanco); border-color: rgb(255 255 255 / 35%); }
.lt-llamado .li-contacto-botones .li-boton--borde:hover { border-color: var(--lt-blanco); }
.lt-llamado .li-contacto-botones__llamar { display: inline-flex !important; }
.lt-llamado .li-contacto-botones { display: flex; flex-wrap: wrap; gap: 0.6rem; }

/* Contacto en una página: la lista grande, en una caja. */
.lt-caja { padding: clamp(1.5rem, 3vw, 2rem); background: var(--lt-blanco); border: 1.5px solid var(--lt-borde); border-radius: var(--lt-radio-grande); }
.lt-caja .li-contacto { gap: 0.9rem; font-size: 1.05rem; }
.lt-caja > h3 { margin: 0 0 1rem; }
.li-contacto li { display: flex; align-items: flex-start; gap: 0.6rem; }
.li-contacto .li-ico { margin-top: 0.2em; color: var(--lt-marca); }
.lt-formulario { padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--lt-fondo); border: 1.5px solid var(--lt-borde); border-radius: var(--lt-radio-grande); }

/* ------------------------------------------------------------ movimiento reducido */

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
	.li-tarjeta:hover, .li-vidriera__ficha:hover { transform: none; }
}
