/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/*@import url('https://fonts.cdnfonts.com/css/steps');*/

/*Header*/

a:hover, a:active {
	color: var(--e-global-color-primary) !important;
	text-decoration-color: ar(--e-global-color-primary) !important; 
}

.header-desktop-container .elementor-element.elementor-widget-button {
	position: absolute;
	right: 20px;
}

.header-desktop-container .e-con-inner {
	position: relative;
}

html {
	margin-top: 0 !important;
}

.header-wpml-boton .wpml-ls-statics-shortcode_actions.wpml-ls {
	padding: 0 !important;
	border-style: none;
}

.header-wpml-boton {
	position: absolute !important;
	top: 40px !important;
	right: 10px !important;
	z-index: 11;
}

.header-wpml-boton .wpml-ls-item * {
	border-radius: 3px !important;
}


@media (min-width: 1025px) {
	header .wpml-ls-link {
		font-size: 18px;
	}
	
	.header-wpml-boton {
		position: absolute !important;
		top: 25px !important;
		right: 3% !important;
		z-index: 11;
	}

	.logotipo-sitio {
		position: absolute !important;
		top: 15px !important;
		left: 3% !important;
	}
}

.otgs-development-site-front-end {
	display: none !important;
}

@media (max-width: 1024px) {
	.header-menu-botton {
		position: absolute;
		right: 0;
		top: 22px;
		width: 100%;
		z-index: 10;
	}

	.header-desktop-container .elementor-element.elementor-widget-button {
		position: absolute;
		right: 10px;
		top: 32px;
	}

	.header-menu-botton .elementor-menu-toggle {
		margin-right: 80px !important;
	}

	.elementor-button-icon svg {
		max-width: 12px !important;
	}

	.header-wpml-boton {
		top: 31px !important;
	}
}

@media (max-width: 520px) {
	.header-desktop-container .elementor-widget-theme-site-logo.elementor-widget-image {
		max-width: 160px !important;
	}

	.header-desktop-container {
		min-height: 90px;
	}
}


/*Home Banner*/
.elementor-button-icon svg {
	max-width: 14px;
}

@media (min-width: 1300px) {
	.home-hero-container .elementor-widget.elementor-widget-image {
		max-width: fit-content !important;
	}
}

@media (max-width: 767px) {
	.home-banner-sello {
		position: absolute;
		right: 10px;
		top: -6px;
		max-width: 92px !important;
		z-index: 2;
	}

	.home-entidades-container .home-entidades-separador {
		transform: rotate(90deg);
	}
}

@media (max-width: 365px) {
	.home-banner-big-title * {
		font-size: 48px !important;
	}
}


/**
 * Estilos para la sección "Lo que hacemos"
 * Agregar estos estilos en el CSS del child theme o en Elementor > Custom CSS
 */

/* Contenedor principal */
.home-hacemos-container {
	display: flex;
	gap: 40px;
	align-items: stretch;
}

/* Columna izquierda - Menú */
.home-hacemos-menu-wrapper {
	flex: 0 0 auto;
	min-width: 300px;
}

/* Items del menú */
.home-hacemos-menu {
	font-family: "Cormorant Garamond", Sans-serif;
	font-size: 48px;
	font-weight: 300;
	letter-spacing: -0.03em;
	color: var(--e-global-color-4f2f347);
	cursor: pointer;
	transition: all 0.3s ease;
	margin-bottom: 10px;
	display: block;
	opacity: 0.3;
}

.home-hacemos-menu:hover {
	opacity: 1;
}

.home-hacemos-menu-active {
	opacity: 1;
}

/* Columna derecha - Bloques de contenido */
.home-hacemos-bloques-wrapper {
	flex: 1;
	position: relative;
	min-height: 400px;
}

.home-hacemos-bloque {
	display: none;
	opacity: 0;
	transition: opacity 0.4s ease;
}

.home-hacemos-bloque-active {
	display: block;
	opacity: 1;
}

/* Animaciones opcionales */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.home-hacemos-bloque-active {
	animation: fadeInUp 0.5s ease forwards;
}

/* Responsive */
@media (max-width: 768px) {
	.home-hacemos-container {
		flex-direction: column;
	}

	.home-hacemos-menu-wrapper {
		min-width: auto;
		width: 100%;
	}

	.home-hacemos-bloques-wrapper {
		min-height: auto;
	}
}

.home-hacemos-menu-texts p {
	max-width: 490px;
}

.home-hacemos-html {
	max-width: 550px !important;
}

.home-hacemos-menu-texts {
	align-items: start;
	padding-left: 100px;
}

.home-hacemos-bloque-texts {
	position: absolute;
	z-index: 5;
	left: 65px;
	top: 60px;
	max-width: 240px;
}

.home-hacemos-bloque,
.home-hacemos-imagen,
.home-hacemos-imagen img {
	min-width: 100%;
	width: 100% !important;
	max-width: 100% !important;
	height: 100%;
	object-fit: cover;
}

.home-hacemos-bloque-pre-title * {
	font-family: "Cormorant Garamond", Sans-serif !important;
	font-size: 140px;
	font-weight: 400 !important;
	letter-spacing: -0.05em;
	font-style: italic;
}

.home-hacemos-bloque-title * {
	font-family: "Cormorant Garamond", Sans-serif !important;
	font-size: 42px;
	font-weight: 400 !important;
	letter-spacing: -0.04em;
}

.home-hacemos-bloque-text p {
	font-family: "Archivo", Sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2em;
}

@media (max-width: 1300px) {
	.home-hacemos-menu-texts {
		padding-left: 0 !important;
	}
}

@media (min-width: 1301px) {
	.home-hacemos-bloque-title * {
		white-space: nowrap;
	}
}

@media (max-width: 767px) {
	.home-hacemos-menu-texts {
		padding-left: 32px !important;
	}

	.home-hacemos-menu {
		font-size: 31px;
		margin-bottom: 5px;
		font-style: italic;
	}

	.home-hacemos-bloque-texts {
		position: absolute;
		z-index: 5;
		left: 20px;
		top: 40px;
		max-width: 240px;
	}

	.home-hacemos-bloque-pre-title * {
		font-size: 70px;
		line-height: 0.3;
		margin-bottom: 10px;
	}

	.home-hacemos-bloque-title * {
		font-size: 32px;
	}

	.home-hacemos-pictures {
		min-height: 425px;
		max-height: 425px;
	}
}


/*Home Asesorar*/

.home-asesorar-bloque .elementor-button-text {
	text-align: left !important;
}

.home-asesorar-bloque {
	transition: all 0.4s ease-in-out;
	z-index: 0;
}

.home-asesorar-bloque-activo {
	margin-top: 30px;
	margin-bottom: 40px;
	scale: 1.2;
	z-index: 2;
	cursor: pointer;
}

.home-asesorar-bloque-image,
.home-asesorar-bloque-image img {
	min-width: 322px !important;
	max-width: 322px !important;
	max-height: 525px;
	min-height: 525px;
	object-fit: cover;
}


.home-asesorar-bloque-texts {
	position: absolute;
	top: 40px;
	z-index: 5;
	left: 40px;
	max-width: 250px;
	height: 100%;
}

.home-asesorar-bloque-activo .home-asesorar-bloque-image,
.home-asesorar-bloque-activo .home-asesorar-bloque-image img {
	max-height: 440px;
	min-height: 440px;
}

/*.home-asesorar-container-activo-2 .home-asesorar-bloque.home-asesorar-bloque-2.home-asesorar-bloque-activo {
	position: absolute;
}*/

.home-asesorar-bloque-1 .elementor-button-icon,
.home-asesorar-bloque-3 .elementor-button-icon,
.home-asesorar-bloque-4 .elementor-button-icon {
	display: none !important;
}

@media (min-width: 1371px) {
	.home-asesorar-bloque-4 .elementor-button-text {
		white-space: nowrap;
	}
}

@media (max-width: 1370px) {
	.home-asesorar-bloque-texts {
		top: 20px;
		left: 20px;
	}

	.home-asesorar-bloque-image,
	.home-asesorar-bloque-image img {
		min-width: 100% !important;
		max-width: 100% !important;
		max-height: 525px;
		min-height: 525px;
		object-fit: cover;
	}

	.home-asesorar-bloque-activo .home-asesorar-bloque-image,
	.home-asesorar-bloque-activo .home-asesorar-bloque-image img {
		max-height: fit-content !important;
		min-height: fit-content !important;
	}

	.home-asesorar-bloque-texts {
		max-width: 190px !important;
	}

	.home-asesorar-bloque-texts .elementor-button {
		font-size: 26px !important;
	}
}

@media (max-width: 1024px) {

	.home-asesorar-bloque-texts {
		height: auto;
	}
	.home-asesorar-bloque-text {
		position: unset !important;
	}

	.home-asesorar-bloque-3 .home-asesorar-bloque-image,
	.home-asesorar-bloque-4 .home-asesorar-bloque-image img {
		min-width: 100% !important;
		max-width: 100% !important;
		max-height: 90px !important;
		min-height: 90px !important;
		object-fit: cover;
	}


	.home-asesorar-bloque-2 .elementor-button-icon {
		margin-top: 7px;
	}

	.home-asesorar-bloque {
		max-height: 85px;
		overflow: hidden;
		/*justify-content: flex-end;*/
		margin-top: -3px;
		margin-bottom: -3px;
	}

	.home-asesorar-bloque-activo .home-asesorar-bloque-image,
	.home-asesorar-bloque-activo .home-asesorar-bloque-image img,
	.home-asesorar-bloque-activo {
		max-height: 420px !important;
		min-height: 420px !important;
	}

	.home-asesorar-bloque-activo {
		margin-top: 0;
		margin-bottom: 0;
		scale: unset;
		z-index: 2;
	}

	.home-asesorar-bloque-texts {
		max-width: 270px !important;
	}

	.home-asesorar-bloque-texts .elementor-button {
		font-size: 35px !important;
		line-height: 28px !important;
		letter-spacing: -0.04em !important;
	}

	.home-asesorar-bloque-texts a.elementor-button {
		padding: 0 !important;
	}



	.home-asesorar-bloque.home-asesorar-bloque-4:not(.home-asesorar-bloque.home-asesorar-bloque-4.home-asesorar-bloque-activo) .home-asesorar-bloque-texts {
		opacity: 0;
		display: none;
	}

	.home-asesorar-bloque.home-asesorar-bloque-4:not(.home-asesorar-bloque.home-asesorar-bloque-4.home-asesorar-bloque-activo) .home-asesorar-bloque-texts a {
		pointer-events: none;
	}

	.home-asesorar-bloque.home-asesorar-bloque-3:not(.home-asesorar-bloque.home-asesorar-bloque-3.home-asesorar-bloque-activo) .home-asesorar-bloque-texts {
		opacity: 0;
		display: none;
	}
}

/*Acordeon*/

.acordeon-faqs-content summary.e-n-accordion-item-title[aria-expanded="true"] {
	border-style: none !important;
	padding-bottom: 10px;
}

/*Hipotecas*/
.hipotecas-hero-grid .e-con-inner {
	position: relative;
}

@media (max-width: 767px) {

	.hipotecas-hero-grid-imagen,
	.hipotecas-hero-grid-imagen img {
		height: 100% !important;
		object-fit: cover;
	}
}

/*Contacta con nosotros*/
.contacta-nosotros-letter-light .elementor-heading-title,
.contacta-nosotros-letter-light .elementor-widget-text-editor p {
	color: var(--e-global-color-4f2f347) !important;
}

.franja-logo-white {
	display: none !important;
}

.contacta-nosotros-letter-light .franja-logo-white {
	display: block !important;
}

.contacta-nosotros-letter-light .franja-logo-dark {
	display: none !important;
}


/*Proceso*/
.afv-texts-title * {
	hyphens: auto;
	word-break: break-word;
}


.proceso-heading span {
	font-size: 24px !important;
	font-family: "Archivo", Sans-serif !important;
	font-weight: 400 !important;
	line-height: 1.2em !important;
	letter-spacing: 0.3px !important;
}

.proceso-heading .elementor-heading-title {
	display: flex;
	align-items: center;
	gap: 5px;
	flex-wrap: wrap;
}

/*Servicios hero*/
.servicios-hero-imagen-extra {
	bottom: 0;
	left: 50%;
	transform: translate(calc(-50% - 415px), -190px);
}

@media (max-width: 1024px) {
	.servicios-hero-imagen-extra {
		bottom: 0;
		left: 50%;
		transform: translate(calc(-50% - 290px), -110px);
	}
}

@media (max-width: 767px) {
	.servicios-hero-grid {
		position: relative !important;
	}

	.servicios-hero-imagen-extra {
		position: relative !important;
		bottom: unset !important;
		left: unset !important;
		transform: unset !important;
	}

	.servicios-hero-sello {
		position: absolute;
		right: -50px;
		top: 30px;
		z-index: 2;
	}

	.servicios-hero-grid {
		max-width: fit-content !important;
	}

	.faq-hero-sello,
	.faq-hero-grid {
		position: relative !important;
	}

	.contacto-hero-grid {
		position: relative !important;
	}

	.contacto-list-icons ul.elementor-icon-list-items {
		flex-direction: column;
		gap: 10px;
	}
}

/*Servicio funciona*/

.servicios-funciona-container .elementor-widget-image,
.servicios-funciona-container .elementor-widget-image img {
	min-height: 100%;
	width: 100%;
	object-fit: cover;
}

@media (max-width: 365px) {

	.luxe-title-big * {
		font-size: 42px !important;
	}
}

.contacto-list-icons a {
	color: var(--e-global-color-primary) !important;
}

.contacto-list-icons a:hover {
	opacity: 0.8 !important;
}


/*Formulario de Contacto*/

.cf-form {
	--cf-bg-field: #F1EFEB;
	--cf-bg-field-focus: #F1EFEB;
	--cf-text: var(--e-global-color-primary);
	--cf-label: var(--e-global-color-primary);
	--cf-accent: var(--e-global-color-primary);
	--cf-gap: 20px;
	--cf-radius: 5px;
}

.cf-form .cf-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--cf-gap);
	margin-bottom: var(--cf-gap);
}

.cf-form .cf-row--2 {
	grid-template-columns: 1fr 1fr;
}

@media (max-width: 768px) {
	.cf-form .cf-row--2 {
		grid-template-columns: 1fr;
	}
}

.cf-form .cf-field {
	position: relative;
	background: var(--cf-bg-field);
	border-radius: var(--cf-radius);
	padding: 14px 18px 10px;
	transition: background-color .25s ease;
}

.cf-form .cf-field:focus-within {
	background: var(--cf-bg-field-focus);
}

.cf-form .cf-field label {
	display: block;
	font-size: 14px !important;
	font-weight: 400;
	color: var(--cf-label);
	margin-bottom: 4px;
	font-family: "Cormorant Garamond", Sans-serif;
}

.cf-form .cf-input,
.cf-form .cf-field .wpcf7-form-control {
	width: 100%;
	background: transparent;
	border: 0;
	outline: 0;
	/*padding: 6px 5px 4px;*/
	padding: 0;
	padding-left: 5px;
	font-size: 16px;
	font-family: "Archivo", Sans-serif;
	color: var(--cf-text);
	box-shadow: none;
}

.cf-form textarea.cf-input {
	resize: vertical;
	min-height: fit-content;
	line-height: 1;
}

.cf-form select.cf-input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path fill='%231a1a1a' d='M6 8L0 0h12z'/></svg>");
	background-repeat: no-repeat;
	background-position: right 0 center;
	background-size: 10px;
	padding-right: 22px;
}

.cf-form .cf-note {
	font-size: 16px;
	font-family: "Archivo", Sans-serif;
	color: var(--cf-label);
	margin: 6px 0 var(--cf-gap);
}

.cf-form .cf-row--consent .wpcf7-list-item {
	margin: 0;
}

.cf-form .cf-row--consent .wpcf7-list-item-label {
	font-size: 16px;
	font-family: "Archivo", Sans-serif;
	color: var(--cf-label);
	margin-left: 8px;
}

.cf-form .cf-row--consent a {
	color: var(--cf-accent);
	text-decoration: underline;
}

.cf-form .cf-submit {
	background: var(--cf-accent);
	color: var(--e-global-color-4f2f347);
	border: 0;
	padding: 14px 36px;
	font-size: 16px;
	font-family: "Archivo", Sans-serif;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	cursor: pointer;
	border-radius: var(--cf-radius);
	transition: background-color .25s ease, transform .15s ease;
}

.cf-form .cf-submit:hover {
	background: var(--e-global-color-primary);
}

.cf-form .cf-submit:active {
	transform: translateY(1px);
}

.cf-form .wpcf7-not-valid-tip {
	font-size: 16px;
	font-family: "Archivo", Sans-serif;
	color: #b00020;
	margin-top: 4px;
}

.cf-form .wpcf7-response-output {
	margin: var(--cf-gap) 0 0;
	border-radius: var(--cf-radius);
	font-size: 16px;
	font-family: "Archivo", Sans-serif;
}

.cf-form .cf-field p br {
	display: none !important;
}

.cf-form .cf-field p {
	margin: 0 !important;
}

.cf-form .cf-submit:hover {
	opacity: 0.8;
}

/*Hero mercado inmobiliario*/
@media (min-width: 1025px) {
	.mercado-inmobiliario-hero-imagen-top {
		position: absolute;
		top: 50%;
		right: calc(50% + 560px);
		transform: translate(-50%, -100px);
		min-width: 230px !important;
	}

	.mercado-inmobiliario-hero-grid-imagen img {
		min-width: 152px;
	}

	.mercado-inmobiliario-hero-imagen-boton {
		position: absolute;
        top: 50%;
        left: calc(50% + 420px);
        transform: translate(-50%, -45px);
        min-width: 230px !important;
	}
	
	.mercado-inmobiliario-hero-container .servicios-hero-grid-bottom {
		position: unset!important;
	}
}

@media (max-width: 1024px) {
	.mercado-inmobiliario-hero-container .servicios-hero-grid {
		position: unset!important;
	}
	
	.mercado-inmobiliario-hero-grid-imagen {
		position: absolute;
		top: 30px;
		right: 50px;
		max-width: 92px;
		min-width: 92px;
		z-index: 10;
	}
	
	.mercado-inmobiliario-hero-grid-imagen img {
		max-width: 92px;
		min-width: 92px;
		z-index: 10;
	}
	
	/*.mercado-inmobiliario-hero-imagen-boton {
		position: absolute;
		bottom: 20px;
		right: 20px;
	}*/
	
	.mercado-inmobiliario-hero-imagen-boton {
		margin-bottom: -30px !important;
	}
}

@media (max-width: 400px) {
	.mercado-inmobiliario-hero-container .home-banner-big-title * {
		font-size: 42px !important;
	}
}

.title-number-style span {
    /*font-family: "Archivo", Sans-serif;*/
	font-weight: 500;
    font-variant-numeric: lining-nums;
    /*font-style: italic;*/
    margin-right: 10px;
}


/*datos-fiscales*/

.datos-fiscales {
    border: 1px solid #2b3a4a;
    padding: 20px 20px;
    display: inline-block;
	font-family: "Archivo", Sans-serif;
}

.datos-fiscales__fila {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 10px;
}

.datos-fiscales__label {
    flex: 0 0 auto;
    min-width: 48px;
    font-size: 16px;
    color: #2b3a4a;
	font-family: "Archivo", Sans-serif;
}

.datos-fiscales__separador {
    flex: 0 0 110px;
    height: 1px;
    background-color: #2b3a4a;
}

.datos-fiscales__valor {
    flex: 0 0 auto;
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    color: #2b3a4a;
	font-family: "Archivo", Sans-serif;
}

.datos-fiscales__nota {
    font-size: 17px;
    /*color: #6b7783;*/
}

.datos-fiscales__pie {
    margin: 5px 0 0;
    max-width: 300px;
    font-size: 15px;
    line-height: 1.4;
    color: #2b3a4a;
}

.datos-fiscales__light .datos-fiscales{
    border-color: var(--e-global-color-4f2f347) !important;
}

.datos-fiscales__light .datos-fiscales * {
    color: var(--e-global-color-4f2f347) !important;
}

.datos-fiscales__light .datos-fiscales__separador {

    background-color: var(--e-global-color-4f2f347) !important;
}

.altavista-table-mercado-inmobiliario .altavista-table tbody td {
    font-variant-numeric: lining-nums; font-variant: lining-nums;
}

.altavista-table-full-width .altavista-table-wrapper .altavista-table {
    max-width: 100%;
}

@media (max-width: 590px) {
	.datos-fiscales__separador {
		flex: 0 0 14px;
	}
	.datos-fiscales__fila {
		gap: 5px;
	}
}

/*Extras Feedback 2026-07-27*/

@media (min-width: 1400px) {
	.home-asesorar-bloque-activo .home-asesorar-bloque-image, .home-asesorar-bloque-activo .home-asesorar-bloque-image img {
		max-height: 525px;
		min-height: 525px;
	}
}

.first-colum-black tr td:first-child {
    font-weight: 700;
}

.hide-table-last-items tr td:last-child, .hide-table-last-items thead tr th:last-child {
    display: none !important;
}


@media (min-width: 1025px) {
	.prestamo-lombardo-hero-imagen-extra {
		bottom: 0;
		left: 50%;
		transform: translate(calc(-50% - 560px), -40px);
	}
}

.altavista-blue-cards a {
	color: var(--e-global-color-primary) !important;
}
