/* Ajustes de la portada

   Cuatro bloques independientes. Cada uno se puede borrar sin tocar
   los demas.

   Nota de especificidad: el CSS original de los bloques .ci2026 viene
   dentro del <body> (en los widgets HTML de Elementor) y este archivo
   se carga en el <head>. A igual especificidad gana el del body, asi
   que aqui se sube un escalon a proposito: .ci2026 .hero .hero__grid
   en vez de .ci2026 .hero__grid, y .ci2026.ci2026 para la tipografia.

   Nota de estados: la clase .ci-nav-arriba va en el <html> y significa
   "estamos arriba del todo". El estado POR DEFECTO (sin esa clase) es
   la barra blanca de siempre. Se hizo asi a proposito: si el
   JavaScript no llegara a correr, la pagina se queda con la barra
   blanca legible de toda la vida, no con una barra transparente sobre
   secciones claras. */


/* ================================================================
   1. BOTONES DEL HERO

   "Solicitar valoracion gratuita" + "Hablar por WhatsApp" necesitan
   495px juntos. Entre 900px y ~1085px de pantalla la columna de texto
   se quedaba en 460px y el segundo boton caia a un segundo renglon,
   pegado a la izquierda: eso es lo que se veia corrido.

   Con minmax() la columna de texto nunca baja de 520px; el diagrama
   de la derecha cede el espacio que haga falta.
   ================================================================ */
.ci2026 .hero .hero__grid {
	grid-template-columns: minmax(min(100%, 520px), 1.05fr) minmax(0, .95fr);
}

/* Cuando el hero se apila, se centra el bloque completo: antetitulo,
   titular, texto, botones, datos y diagrama. Asi nada queda corrido. */
@media (max-width: 900px) {
	.ci2026 .hero .hero__grid { grid-template-columns: 1fr; text-align: center; }
	.ci2026 .hero .eyebrow    { justify-content: center; }
	.ci2026 .hero .hero__lede { margin-inline: auto; }
	.ci2026 .hero .hero__ctas { justify-content: center; }
	.ci2026 .hero .hero__chips{ justify-content: center; }
	.ci2026 .hero .hub        { margin-inline: auto; }
}


/* ================================================================
   2. BARRA DE MENU (solo la portada)

   Arriba del todo la barra se monta sobre el hero y se pone
   transparente, para que el verde corra sin corte. En cuanto se baja,
   vuelve a ser blanca con una sombra suave.

   El alto real de la barra viaja en --ci-nav-h, que pone el JS.

   Los !important son necesarios: Elementor pinta el fondo con
   .elementor-2062 .elementor-element.elementor-element-b9895a4, que
   tiene mas especificidad que cualquier selector razonable de aqui.

   En el resto de las paginas la barra queda como estaba.
   ================================================================ */
body.home .xpro-theme-builder-header {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 999;
}

/* El contenedor de Elementor que envuelve el hero trae 24px de relleno
   arriba. Con la barra transparente encima, esos 24px dejaban ver el
   fondo blanco de la pagina: es la franja blanca del borde superior.
   Solo se quita arriba y solo en ese contenedor; el relleno de abajo y
   el de los demas bloques cae en zonas que ya son blancas y no se ve. */
body.home .e-con.e-parent:has(.ci2026 .hero) > .e-con-inner {
	padding-top: 0;
}

/* El hero cede el alto de la barra, para que el titular no quede debajo */
body.home .ci2026 .hero {
	padding-top: calc(clamp(56px, 8vw, 88px) + var(--ci-nav-h, 99px));
}

/* Los enlaces del menu apuntan a #servicios, #proceso, etc. Sin esto
   la seccion aterriza debajo de la barra fija. */
body.home .ci2026 > section[id] {
	scroll-margin-top: calc(var(--ci-nav-h, 99px) + 12px);
}

/* El tema trae SU PROPIA barra fija, aparte de esta.
   xpro-theme-builder.js escucha el scroll y, al pasar de 220px, le pone
   la clase .xtb-appear al encabezado y un min-height en el atributo
   style. Su CSS entonces fija el <nav> interior por su cuenta y le
   lanza una animacion de entrada de medio segundo: baja desde arriba
   con un fundido (translate3d(0,-100%,0) -> none).

   Como aqui la barra ya esta fija desde el primer momento, a media
   pagina se veia como si se recargara y volviera a entrar. Medido: el
   <nav> saltaba a top:-88px y volvia a bajar.

   Se neutraliza solo en la portada. En el resto del sitio la barra fija
   del tema sigue funcionando como siempre. */
body.home .xtb-header-sticky.xtb-appear .xpro-theme-builder-header-nav {
	position: relative;
	animation: none;
	box-shadow: none;
}

/* El min-height lo escribe su JavaScript en el atributo style, por eso
   hace falta !important para ganarle. */
body.home .xtb-header-sticky {
	min-height: 0 !important;
}

/* Estado por defecto = bajado: blanca con sombra. La linea gris de 1px
   que trae Elementor se queda y hace de separador. */
body.home .elementor-element-b9895a4 {
	transition: background-color .25s ease, box-shadow .25s ease, border-color .25s ease;
	box-shadow: 0 1px 0 rgba(3,39,32,.08), 0 10px 28px rgba(3,39,32,.07) !important;
}

/* Arriba del todo: transparente.

   El borde inferior de 1px gris claro tambien se apaga: con la barra
   transparente esa linea quedaba flotando sobre el verde del hero, que
   es la "linea fija" del menu. Se apaga con el color y no con
   border:none, para no mover 1px el alto de la barra al cambiar. */
html.ci-nav-arriba body.home .elementor-element-b9895a4 {
	background-color: transparent !important;
	box-shadow: none !important;
	border-bottom-color: transparent !important;
}

/* Mientras la barra esta transparente el texto va claro, o se pierde
   contra el verde. Solo cuando el menu esta en horizontal: el panel de
   la hamburguesa tiene fondo blanco propio y conserva su color. */
html.ci-nav-arriba body.home.ci-nav-inline .xpro-elementor-horizontal-navbar a {
	color: #F4FAF3 !important;
}

html.ci-nav-arriba body.home .xpro-elementor-horizontal-menu-toggler {
	background-color: rgba(244,250,243,.14) !important;
	color: #F4FAF3 !important;
}


/* ================================================================
   3. TIPOGRAFIA EN CELULAR

   El tema encoge la base de 16px a 14,59px por debajo de 900px. Como
   el diseno esta escrito en rem, todo el cuerpo de texto se reducia
   un 8,8%: los parrafos de servicios quedaban en 12,8px y los textos
   de la franja de confianza en 11,9px.

   Aqui se fijan en px para que en celular se lean igual o un poco
   mejor que en escritorio. Entre parentesis, el tamano en escritorio.
   ================================================================ */
@media (max-width: 900px) {
	.ci2026.ci2026 .process-item p,
	.ci2026.ci2026 .ledger-item p,
	.ci2026.ci2026 .listings-card p { font-size: 15px; }   /* antes 12,8 (escritorio 14) */

	.ci2026.ci2026 .faq-item .faq-a { font-size: 15px; }   /* antes 13,1 (escritorio 14,4) */

	.ci2026.ci2026 .section-head p,
	.ci2026.ci2026 .diag-head p     { font-size: 15.5px; }  /* antes 14,3 */

	.ci2026.ci2026 .hero__chip      { font-size: 14.5px; }  /* antes 12,8 */

	.ci2026.ci2026 .trust-item span { font-size: 13.5px; }  /* antes 11,9 (escritorio 13) */

	.ci2026.ci2026 .hub-node span   { font-size: 10.5px; }  /* antes 9,1 */
}


/* ================================================================
   4. LOGO DE LA BARRA

   El archivo original era negro sobre un fondo blanco solido, sin
   transparencia: sobre la barra transparente se veia un rectangulo
   blanco encima del verde.

   De ese mismo archivo se sacaron dos versiones con fondo
   transparente, usando la luminancia como canal alfa (bordes suaves,
   sin dientes de sierra):

     logo-cambio-inmobiliario-oscuro.png  verde #13362C, barra blanca
     logo-cambio-inmobiliario-claro.png   blanco, barra transparente

   El cambio se hace con content:url() y no con JavaScript, para que
   sea instantaneo y no parpadee. Las rutas van relativas a este
   archivo, asi que no hay dominio escrito a mano.

   El aspect-ratio le da caja a la imagen antes de que cargue.
   ================================================================ */
.xpro-theme-builder-header .elementor-element-286ac5e img {
	aspect-ratio: 707 / 227;
	content: url('../uploads/2026/08/logo-cambio-inmobiliario-oscuro.png');
}

/* Tamano del logo.

   La columna que lo aloja va a un porcentaje fijo y el logo tenia
   max-width:100%: entre los dos lo estrujaban hasta 56px de ancho. Con
   un ancho explicito se rompe esa dependencia circular.

   El tope de 19vw es lo que cabe antes de chocar con el menu (o con la
   hamburguesa, segun el ancho). Medido: a 768px quedan 36px de aire, a
   1024px quedan 58px, y de 1440px en adelante 9px. */
@media (min-width: 768px) {
	.xpro-theme-builder-header .elementor-element-286ac5e img {
		max-width: none;
		width: min(170px, 19vw);
		height: auto !important;
	}
}

/* En celular la columna del logo mide 35% del ancho y la comparte con
   la hamburguesa, que ocupa esos 113px enteros: no queda sitio para el
   logotipo. Antes tampoco se veia (la imagen media 0px), asi que se
   deja oculto en vez de dejar un manchon de 24x8px.

   Si se quiere el logo tambien en celular hay que rehacer la
   distribucion movil de la cabecera en Elementor. */
@media (max-width: 767px) {
	.xpro-theme-builder-header .elementor-element-286ac5e {
		display: none;
	}
}

html.ci-nav-arriba .xpro-theme-builder-header .elementor-element-286ac5e img {
	content: url('../uploads/2026/08/logo-cambio-inmobiliario-claro.png');
}


/* ================================================================
   5. BARRITA DEL MENU

   Cada enlace del menu lleva un ::before de 4px de alto que se estira
   al pasar el cursor. Venia en verde oscuro (#023B3B) que, sobre la
   barra transparente —verde tambien—, no se distingue.

   Arriba pasa a blanco. Cuando la barra es blanca se queda en el verde
   original, que ahi si contrasta.

   Aparte: "Contacto" es un enlace personalizado a #contacto y WordPress
   le pone la clase current_page_item. Su barrita nacia ya estirada y
   quedaba fija desde que cargaba la pagina. Se devuelve a 0 y solo
   aparece al pasar el cursor, igual que las demas.

   Ojo al medir esto en el navegador: el ::before tiene una transicion
   de .3s, asi que getComputedStyle devuelve el color ANTERIOR si no se
   desactivan antes las transiciones.
   ================================================================ */
html.ci-nav-arriba body.home .xpro-elementor-horizontal-navbar .xpro-elementor-nav-link::before {
	background-color: #F4FAF3 !important;
}

/* La linea fija de "Contacto" */
body.home .xpro-elementor-horizontal-navbar .current_page_item > .xpro-elementor-nav-link::before {
	width: 0 !important;
}

body.home .xpro-elementor-horizontal-navbar .current_page_item > .xpro-elementor-nav-link:hover::before {
	width: 100% !important;
}
