/* Montserrat alojada en el propio servidor (variable 400-800, licencia SIL OFL): sin peticiones a Google. */
@font-face{
	font-family:"Montserrat";
	font-style:normal;
	font-weight:400 800;
	font-display:swap;
	src:url("fonts/montserrat-latin-ext.woff2") format("woff2");
	unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face{
	font-family:"Montserrat";
	font-style:normal;
	font-weight:400 800;
	font-display:swap;
	src:url("fonts/montserrat-latin.woff2") format("woff2");
	unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Radios de esquina de la marca: tarjetas, paneles e imágenes con esquinas apenas redondeadas.
 * Los círculos y los botones en píldora no se tocan. Se carga el último para ganar al tema y al plugin. */
:root{
	--remax-radius:4px;
	--remax-radius-sm:3px;
}

.inmovilla-wrap{
	--inmovilla-radius:var(--remax-radius);
}

.inmovilla-type-button{
	border-radius:var(--remax-radius);
}

.inmovilla-field select, .inmovilla-field input[type="number"]{
	border-radius:var(--remax-radius);
}

.inmovilla-zona-input{
	border-radius:var(--remax-radius);
}

.inmovilla-zona-suggestions{
	border-radius:var(--remax-radius);
}

.inmovilla-zona-option{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-property-detail__card{
	border-radius:var(--remax-radius);
}

.inmovilla-property-detail__hero{
	border-radius:var(--remax-radius) var(--remax-radius) 0 0;
}

.inmovilla-property-detail__fact{
	border-radius:var(--remax-radius);
}

.inmovilla-property-detail__info{
	border-radius:var(--remax-radius);
}

.inmovilla-property-detail__gallery{
	border-radius:var(--remax-radius);
}

.inmovilla-property-detail__gallery-image{
	border-radius:var(--remax-radius);
}

.inmovilla-property-detail__map{
	border-radius:var(--remax-radius);
}

.inmovilla-property-detail__summary{
	border-radius:var(--remax-radius);
}

.inmovilla-property-detail__agent{
	border-radius:var(--remax-radius);
}

.inmovilla-lightbox__thumb{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-agent-form__field input[type="text"], .inmovilla-agent-form__field input[type="email"], .inmovilla-agent-form__field input[type="tel"], .inmovilla-agent-form__field textarea{
	border-radius:var(--remax-radius);
}

.inmovilla-agent-form__dropzone{
	border-radius:var(--remax-radius);
}

.inmovilla-property-contact-modal__dialog{
	border-radius:var(--remax-radius);
}

.inmovilla-popup-form__field input[type="text"], .inmovilla-popup-form__field input[type="email"], .inmovilla-popup-form__field input[type="tel"], .inmovilla-popup-form__field textarea{
	border-radius:var(--remax-radius);
}

.inmovilla-property-contact-modal .wpcf7-response-output{
	border-radius:var(--remax-radius);
}

.inmovilla-lead-modal__error{
	border-radius:var(--remax-radius);
}

.inmovilla-hero__tabs{
	border-radius:var(--remax-radius-sm) var(--remax-radius-sm) 0 0;
}

.inmovilla-hero__form-wrap{
	border-radius:0 0 var(--remax-radius) var(--remax-radius);
}

.inmovilla-hero__field select{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-hero__field--location input[type="text"]{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-hero__location-suggestions{
	border-radius:var(--remax-radius);
}

.inmovilla-hero__location-option{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-hero__submit{
	border-radius:0 0 var(--remax-radius) var(--remax-radius);
}

.inmovilla-property-card__inner{
	border-radius:var(--remax-radius);
}

.inmovilla-property-card__image{
	border-radius:var(--remax-radius) var(--remax-radius) 0 0;
}

.inmovilla-share-menu{
	border-radius:var(--remax-radius);
}

.inmovilla-cities::before{
	border-radius:var(--remax-radius);
}

.inmovilla-cities__card-inner{
	border-radius:var(--remax-radius);
}

.inmovilla-team-card__inner{
	border-radius:var(--remax-radius);
}

.inmovilla-about-us__color-shape{
	border-radius:var(--remax-radius);
}

.inmovilla-about-us__photo{
	border-radius:var(--remax-radius);
}

.inmovilla-about-us__badge{
	border-radius:var(--remax-radius);
}

.inmovilla-about-us__tab-btn{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-service__card{
	border-radius:var(--remax-radius);
}

.inmovilla-service__card-icon{
	border-radius:var(--remax-radius);
}

.inmovilla-testimonials-carousel__image{
	border-radius:var(--remax-radius);
}

.inmovilla-toast{
	border-radius:var(--remax-radius);
}

.inmovilla-account__notice, .inmovilla-account__errors{
	border-radius:var(--remax-radius);
}

.inmovilla-account__card{
	border-radius:var(--remax-radius);
}

.inmovilla-account__form .inmovilla-popup-form__field input[type="password"]{
	border-radius:var(--remax-radius);
}

.inmovilla-account__benefits{
	border-radius:var(--remax-radius);
}

.inmovilla-account__empty{
	border-radius:var(--remax-radius);
}

.inmovilla-wishlist-signup{
	border-radius:var(--remax-radius);
}

.banner-one_image{
	border-radius:var(--remax-radius);
}

.banner-tabs .tab-btns{
	border-radius:var(--remax-radius-sm) var(--remax-radius-sm) 0px 0px;
}

.banner-tabs .tabs-content{
	border-radius:var(--remax-radius) var(--remax-radius) var(--remax-radius) var(--remax-radius);
}

.default-form form button{
	border-radius:var(--remax-radius-sm);
}

.default-form .form-group input[type="text"], .default-form .form-group input[type="password"], .default-form .form-group input[type="tel"], .default-form .form-group input[type="email"], .default-form .form-group .ui-selectmenu-button.ui-button{
	border-radius:var(--remax-radius-sm);
}

.story-one_image{
	border-radius:var(--remax-radius);
}

.story-one_experiance{
	border-radius:var(--remax-radius);
}

.cities-one:before{
	border-radius:var(--remax-radius);
}

.city-block_one-inner{
	border-radius:var(--remax-radius);
}

.app-one_experiance{
	border-radius:var(--remax-radius);
}

.property-one:before{
	border-radius:var(--remax-radius);
}

.property-block_one-inner{
	border-radius:var(--remax-radius);
}

.property-block_one-image{
	border-radius:var(--remax-radius);
}

.team-block_one-inner{
	border-radius:var(--remax-radius);
}

.contact-one_image{
	border-radius:var(--remax-radius);
}

.contact-one_form-outer{
	border-radius:var(--remax-radius);
}

.contact-form .form-group input[type="text"], .contact-form .form-group input[type="password"], .contact-form .form-group input[type="tel"], .contact-form .form-group input[type="email"], .contact-form .form-group textarea, .contact-form .form-group select, .contact-form .form-group .ui-selectmenu-button.ui-button{
	border-radius:var(--remax-radius-sm);
}

.testimonial-block_one-image{
	border-radius:var(--remax-radius);
}

.blog-one .inner-container{
	border-radius:var(--remax-radius);
}

.news-block_one.style-two .news-block_one-inner{
	border-radius:var(--remax-radius);
}

.services-one.style-two::before{
	border-radius:var(--remax-radius);
}

.service-block_one-inner{
	border-radius:var(--remax-radius);
}

.service-block_one-icon{
	border-radius:var(--remax-radius);
}

.story-two_image{
	border-radius:var(--remax-radius);
}

.story-two_image-two{
	border-radius:var(--remax-radius);
}

.story-two_image-two img{
	border-radius:var(--remax-radius) !important;
}

.faq-one_image{
	border-radius:var(--remax-radius);
}

.accordion-box .block{
	border-radius:var(--remax-radius);
}

.accordion-box .block .content{
	border-radius:var(--remax-radius);
}

.testimonial-two_image{
	border-radius:var(--remax-radius);
}

.testimonial-block_two-inner{
	border-radius:var(--remax-radius);
}

.testimonial-block_two-image{
	border-radius:var(--remax-radius);
}

.contact-two:before{
	border-radius:var(--remax-radius);
}

.contact-two_image img{
	border-radius:var(--remax-radius);
}

.contact-two_image-content{
	border-radius:var(--remax-radius);
}

.contact-two_phone{
	border-radius:var(--remax-radius);
}

.cta-one_inner-container{
	border-radius:var(--remax-radius);
}

.slider-one_review-box{
	border-radius:var(--remax-radius);
}

.story-three_image{
	border-radius:var(--remax-radius);
}

.story-three_color{
	border-radius:var(--remax-radius);
}

.story-three_inner{
	border-radius:var(--remax-radius);
}

.story-tabs .tab-btns .tab-btn{
	border-radius:var(--remax-radius-sm);
}

.company-tabs .content-box{
	border-radius:var(--remax-radius);
}

.company-tabs .content{
	border-radius:var(--remax-radius);
}

.company-one_discover span{
	border-radius:var(--remax-radius-sm);
}

.video-one_bg{
	border-radius:var(--remax-radius);
}

.testimonial-three .inner-container{
	border-radius:var(--remax-radius);
}

.testimonial-block_three-inner{
	border-radius:var(--remax-radius);
}

.blog-two:before{
	border-radius:var(--remax-radius);
}

.sidebar-page-container .sidebar-inner{
	border-radius:var(--remax-radius);
}

.sidebar .search-box .form-group input[type="text"], .sidebar .search-box .form-group input[type="search"]{
	border-radius:var(--remax-radius);
}

.sidebar .search-box .form-group button{
	border-radius:0px var(--remax-radius) var(--remax-radius) 0px;
}

.post-widget .post .thumb{
	border-radius:var(--remax-radius-sm);
}

.service-list li a{
	border-radius:var(--remax-radius);
}

.news-block_two-inner{
	border-radius:var(--remax-radius);
}

.blog-detail_inner{
	border-radius:var(--remax-radius);
}

.blog-detail blockquote{
	border-radius:var(--remax-radius);
}

.blog-detail .middle-image{
	border-radius:var(--remax-radius);
}

.blog-more_posts .prev-post i{
	border-radius:var(--remax-radius-sm);
}

.blog-more_posts .next-post i{
	border-radius:var(--remax-radius-sm);
}

.comment-form_outer .comment-form{
	border-radius:var(--remax-radius);
}

.comment-form .form-group input[type="text"], .comment-form .form-group input[type="password"], .comment-form .form-group input[type="tel"], .comment-form .form-group input[type="email"], .comment-form .form-group select{
	border-radius:var(--remax-radius-sm);
}

.comment-form .form-group textarea{
	border-radius:var(--remax-radius-sm);
}

.property-detail_inner{
	border-radius:var(--remax-radius);
}

.property-detail_image{
	border-radius:var(--remax-radius);
}

.property-detail .propert-info{
	border-radius:var(--remax-radius);
}

.property-block_two-inner{
	border-radius:var(--remax-radius);
}

.property-detail .gallery-box{
	border-radius:var(--remax-radius);
}

.property-detail_checks{
	border-radius:var(--remax-radius);
}

.property-detail .map-box{
	border-radius:var(--remax-radius);
}

.video-box{
	border-radius:var(--remax-radius);
}

.about-widget .widget-content{
	border-radius:var(--remax-radius);
}

.message-form .form-group input[type="text"], .message-form .form-group input[type="password"], .message-form .form-group input[type="tel"], .message-form .form-group input[type="email"], .message-form .form-group textarea, .message-form .form-group select{
	border-radius:var(--remax-radius-sm);
}

.team-detail_image-outer{
	border-radius:var(--remax-radius);
}

.team-detail_info-outer{
	border-radius:var(--remax-radius);
}

.service-detail_inner{
	border-radius:var(--remax-radius);
}

.service-detail_image{
	border-radius:var(--remax-radius);
}

.service-detail_graph{
	border-radius:var(--remax-radius);
}

.service-detail .accordion-box{
	border-radius:var(--remax-radius);
}

.services-widget .widget-content{
	border-radius:var(--remax-radius);
}

.service-list_two li a{
	border-radius:var(--remax-radius);
}

.service-list_two li a span{
	border-radius:var(--remax-radius-sm);
}

.subscribe-widget .widget-content{
	border-radius:var(--remax-radius);
}

.map-one_map iframe{
	border-radius:var(--remax-radius);
}

.main-header.header-style-three .main-menu{
	border-radius:var(--remax-radius-sm);
}

.lang-switcher__menu{
	border-radius:var(--remax-radius);
}

.lang-switcher__item a{
	border-radius:var(--remax-radius);
}

/* Botones, etiquetas y paginación: esquinas casi rectas (los iconos redondos se mantienen). */
:root{
	--remax-radius-xs:2px;
}

.inmovilla-button{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-sort__select{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-property-detail__map-link{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-property-detail__media-link{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-property-detail__agent-contact{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-property-detail__contact-btn{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-popup-form__submit-btn{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-property-grid__btn, .inmovilla-property-grid__btn:link, .inmovilla-property-grid__btn:visited, .inmovilla-property-grid__btn:hover, .inmovilla-property-grid__btn:focus, .inmovilla-property-grid__btn:active{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-testimonials-carousel__google-cta-btn{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-toast__cta, .inmovilla-toast__cta:visited{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-account__tabs{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-account__tabs a{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-account__logout{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-account__btn, .inmovilla-account__btn:visited{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-account__delete-btn{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-team-single__btn, .inmovilla-team-single__btn:link, .inmovilla-team-single__btn:visited, .inmovilla-team-single__btn:hover, .inmovilla-team-single__btn:focus, .inmovilla-team-single__btn:active{
	border-radius:var(--remax-radius-sm);
}

.property-block_one-btn a{
	border-radius:var(--remax-radius-sm);
}

.contact-form .form-group button{
	border-radius:var(--remax-radius-sm);
}

.cta-one_btn a{
	border-radius:var(--remax-radius-sm);
}

.news-block_two-more{
	border-radius:var(--remax-radius-sm);
}

.message-form .form-group button{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-form-submit-btn, .inmovilla-form-submit-btn:link, .inmovilla-form-submit-btn:visited, .inmovilla-form-submit-btn:hover, .inmovilla-form-submit-btn:focus, .inmovilla-form-submit-btn:active{
	border-radius:var(--remax-radius-sm);
}

.btn-style-one{
	border-radius:var(--remax-radius-sm);
}

.btn-style-two{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-pagination .page-numbers{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-badge{
	border-radius:var(--remax-radius-xs);
}

.inmovilla-property-card__badge{
	border-radius:var(--remax-radius-xs);
}

.inmovilla-cities__badge{
	border-radius:var(--remax-radius-xs);
}

.city-block_one-title{
	border-radius:var(--remax-radius-xs);
}

.property-block_one-title{
	border-radius:var(--remax-radius-xs);
}

.property-block_one-off{
	border-radius:var(--remax-radius-xs);
}

.popular-tags a{
	border-radius:var(--remax-radius-xs);
}

.post-share-options .post-tags a{
	border-radius:var(--remax-radius-xs);
}

/* Sombras blandas de las tarjetas -> borde fino; solo se eleva un poco al pasar el ratón. */

.inmovilla-about-us__checklist li{
	box-shadow:0 0 0 1px rgba(23,27,42,0.09);
}

/* Borde real (no sombra): el carrusel recorta el exterior de la primera y la última tarjeta. */
.inmovilla-service__card{
	box-shadow:none;
	border:1px solid rgba(0,14,53,0.18);
	background:#fff;
}

.inmovilla-account__card{
	box-shadow:0 0 0 1px rgba(23,27,42,0.09);
}

.story-one_experiance{
	box-shadow:0 0 0 1px rgba(23,27,42,0.09);
}

.app-one_experiance{
	box-shadow:0 0 0 1px rgba(23,27,42,0.09);
}

.contact-one_form-outer{
	box-shadow:0 0 0 1px rgba(23,27,42,0.09);
}

.service-block_one-inner{
	box-shadow:0 0 0 1px rgba(23,27,42,0.09);
}

.contact-two_image-content{
	box-shadow:0 0 0 1px rgba(23,27,42,0.09);
}

.contact-two_phone{
	box-shadow:0 0 0 1px rgba(23,27,42,0.09);
}

.property-two .inner-container{
	box-shadow:0 0 0 1px rgba(23,27,42,0.09);
}

.story-three_checklist li{
	box-shadow:0 0 0 1px rgba(23,27,42,0.09);
}

.testimonial-three.style-two .inner-container{
	box-shadow:0 0 0 1px rgba(23,27,42,0.09);
}

.inmovilla-property-card__inner:hover,
.property-block_one-inner:hover{
	box-shadow:0 0 0 1px rgba(23,27,42,0.14), 0 8px 22px rgba(0,0,0,0.06);
}

/* ===== Tipografía de marca: Montserrat (la fuente web oficial de RE/MAX) + titulares en negrita con mayúscula solo inicial ===== */
:root{
	--remax-font:"Montserrat", "Helvetica Neue", Arial, sans-serif;
}

.elementor-kit-7{
	--e-global-typography-primary-font-family:"Montserrat";
	--e-global-typography-secondary-font-family:"Montserrat";
	--e-global-typography-text-font-family:"Montserrat";
	--e-global-typography-accent-font-family:"Montserrat";
}

body,
.elementor-kit-7,
.elementor-kit-7 h1,
.elementor-kit-7 h2,
.elementor-kit-7 h3,
.elementor-kit-7 h4,
.elementor-kit-7 h5,
.elementor-kit-7 h6,
h1, h2, h3, h4, h5, h6,
input, select, textarea, button{
	font-family:var(--remax-font);
}

.banner-two .default-form button,
.property-two .default-form button,
.contact-three .default-form form button,
.inmovilla-hero,
.inmovilla-hero__title,
.inmovilla-hero__tab,
.inmovilla-hero__field select,
.inmovilla-hero__field--location input[type="text"],
.inmovilla-hero__submit-label,
.inmovilla-property-grid,
.inmovilla-property-grid__empty,
.inmovilla-cities,
.inmovilla-cities__empty,
.inmovilla-about-us,
.inmovilla-service,
.inmovilla-testimonials-carousel,
.inmovilla-toast{
	font-family:var(--remax-font);
}

h1, h2, h3, h4, h5, h6,
.elementor-kit-7 h1, .elementor-kit-7 h2, .elementor-kit-7 h3, .elementor-kit-7 h4, .elementor-kit-7 h5, .elementor-kit-7 h6{
	font-weight:700;
	line-height:1.2;
	letter-spacing:-0.01em;
	text-transform:none;
}

/* Sin mayúsculas forzadas ni "Capitalizar Cada Palabra": frase normal en titulares, menús, etiquetas y botones. */
.banner-one_heading,
.banner-tabs .tab-btns .tab-btn,
.city-block_one-heading,
.city-block_one-more,
.property-block_one-heading,
.team-block_one-heading,
.contact-one_form-title,
.clients-one .title-box,
.news-block_one-title,
.banner-two_title,
.banner-two_heading,
.service-block_one-heading,
.story-two_play,
.cta-one_title,
.slider-one_title,
.slider-one_heading,
.slider-one_text,
.story-tabs .tab-btns .tab-btn,
.company-tabs .tab-btns .tab-btn,
.company-one_title,
.company-one_next,
.video-one_heading,
.page-title h2,
.page-title .bread-crumb li,
.styled-pagination li a,
.styled-pagination a,
.styled-pagination li span,
.post-widget .post .post-date,
.popular-tags a,
.news-block_two-meta li,
.news-block_two-heading,
.news-block_two-more,
.blog-detail h3,
.post-share-options .post-tags a,
.blog-author_box h5,
.property-detail_meta,
.property-detail_heading,
.property-detail_subheading,
.message-form .form-group button,
.team-detail_subtitle,
.team-detail_title,
.team-detail_info,
.default-skills .default-skill-title,
.service-detail_heading,
.service-detail_subheading,
.subscribe-widget .title,
.subscribe-widget h2,
.contact-three_form-column h3,
.inmovilla-form-submit-btn, .inmovilla-form-submit-btn:link, .inmovilla-form-submit-btn:visited, .inmovilla-form-submit-btn:hover, .inmovilla-form-submit-btn:focus, .inmovilla-form-submit-btn:active,
.contact-form label.error,
.error-one h2,
.footer-cta_subtitle,
.btn-style-one,
.btn-style-two,
.sec-title_title,
.sec-title_heading,
.main-header .main-menu .navigation > li > a,
.main-header .main-menu .navigation > li > a > span,
.main-header .main-menu .navigation > li > ul > li > a,
.main-header .main-menu .navigation > li > ul > li > ul > li > a,
.mobile-menu__title,
.mobile-menu__wishlist a,
.main-header .mobile-menu .navigation li > a,
.search-popup .form-group input[type="text"], .search-popup .form-group input[type="search"],
.sidebar-info-contents .content-inner h5,
.post-block .inner-box .bag-btn,
.inmovilla-button,
.inmovilla-filters__actions .inmovilla-button,
.inmovilla-property-detail__page-title h1, .inmovilla-banner h1,
.inmovilla-property-detail__breadcrumb li, .inmovilla-banner__breadcrumb li,
.inmovilla-property-detail__hero-quicknav-item, .inmovilla-property-detail__hero-quicknav-item:link, .inmovilla-property-detail__hero-quicknav-item:visited,
.inmovilla-property-detail__heading,
.inmovilla-property-detail__subheading,
.inmovilla-property-detail__agent-link,
.inmovilla-contact-box__agent-label,
.inmovilla-hero__title,
.inmovilla-hero__tab,
.inmovilla-hero__submit-label,
.inmovilla-property-grid__subtitle,
.inmovilla-property-grid__title,
.inmovilla-property-card__heading,
.inmovilla-property-grid__btn, .inmovilla-property-grid__btn:link, .inmovilla-property-grid__btn:visited, .inmovilla-property-grid__btn:hover, .inmovilla-property-grid__btn:focus, .inmovilla-property-grid__btn:active,
.inmovilla-cities__subtitle,
.inmovilla-cities__title,
.inmovilla-cities__city-heading,
.inmovilla-cities__more,
.inmovilla-team-card__heading,
.inmovilla-team-carousel__subtitle,
.inmovilla-team-carousel__title,
.inmovilla-about-us__subtitle,
.inmovilla-about-us__title,
.inmovilla-about-us__tab-btn,
.inmovilla-service__subtitle,
.inmovilla-service__title,
.inmovilla-service__card-heading,
.inmovilla-testimonials-carousel__subtitle,
.inmovilla-testimonials-carousel__title,
.inmovilla-team-single__title,
.inmovilla-team-single__experience-title,
.inmovilla-team-single__eyebrow,
.inmovilla-team-single__properties-title,
.inmovilla-quick-search__submit{
	text-transform:none;
	letter-spacing:normal;
}

/* El plugin define su propia variable de fuente: se alinea con la de marca. */
.inmovilla-wrap,
.inmovilla-lead-modal,
.inmovilla-property-contact-modal{
	--inmovilla-font:var(--remax-font);
}

/* Banner de la portada a pantalla completa (vídeo/foto ocupan todo el alto de la ventana), en todos los idiomas.
 * El contenido se centra en vertical; la cabecera va superpuesta, así que se deja hueco arriba. */
.inmovilla-hero{
	min-height:100vh;
	min-height:100svh;
	display:flex;
	align-items:center;
}

.inmovilla-hero__container{
	width:100%;
}

.inmovilla-hero__content-inner{
	padding-top:140px;
	padding-bottom:70px;
}

@media (max-width:1024px){
	.inmovilla-hero__content-inner{
		padding-top:120px;
		padding-bottom:60px;
	}
}

@media (max-width:767px){
	.inmovilla-hero__content-inner{
		padding-top:110px;
		padding-bottom:40px;
	}
}

/* En móvil la cabecera no flota sobre el banner (va arriba, en blanco, de 112px): el banner ocupa el resto de la pantalla. */
@media (max-width:767px){
	.inmovilla-hero{
		min-height:calc(100vh - 112px);
		min-height:calc(100svh - 112px);
	}
}

/* Icono del botón flotante de WhatsApp: en las páginas que cargan frontend.css (p. ej. /mi-cuenta/) la regla
 * ".inmovilla-icon svg{1em}" le ganaba por orden de carga y se veía de 14px. */
.inmovilla-whatsapp-float .inmovilla-icon svg{
	width:30px;
	height:30px;
}

/* Flecha "bajar" del banner de la portada. */
.inmovilla-hero__scroll{
	position:absolute;
	left:50%;
	bottom:24px;
	z-index:2;
	display:flex;
	align-items:center;
	justify-content:center;
	width:46px;
	height:46px;
	margin-left:-23px;
	padding:0;
	color:#fff;
	background:rgba(255,255,255,0.08);
	border:1px solid rgba(255,255,255,0.75);
	border-radius:50%;
	cursor:pointer;
	transition:background-color 0.25s ease, border-color 0.25s ease;
	animation:inmovilla-hero-scroll-nudge 2.4s ease-in-out infinite;
}

.inmovilla-hero__scroll:hover,
.inmovilla-hero__scroll:focus-visible{
	background:rgba(255,255,255,0.22);
	border-color:#fff;
	color:#fff;
}

.inmovilla-hero__scroll:focus-visible{
	outline:2px solid #fff;
	outline-offset:3px;
}

@keyframes inmovilla-hero-scroll-nudge{
	0%, 70%, 100%{ transform:translateY(0); }
	35%{ transform:translateY(6px); }
}

@media (prefers-reduced-motion:reduce){
	.inmovilla-hero__scroll{
		animation:none;
	}
}

.inmovilla-hero__content-inner{
	padding-bottom:100px;
}

@media (max-width:767px){
	.inmovilla-hero__scroll{
		bottom:14px;
		width:40px;
		height:40px;
		margin-left:-20px;
	}

	.inmovilla-hero__content-inner{
		padding-bottom:64px;
	}
}

/* Cabecera y pie: sin esquinas redondeadas (menú en píldora, botones circulares, barra inferior, iconos). */

.header_socials a{
	border-radius:var(--remax-radius-sm);
}

.main-header .main-menu{
	border-radius:var(--remax-radius);
}

.main-header .main-menu .navigation > li > a > span{
	border-radius:var(--remax-radius-sm);
}

.main-header.header-style-three .main-menu{
	border-radius:var(--remax-radius);
}

.mobile-menu__socials a{
	border-radius:var(--remax-radius-sm);
}

.main-header .search-box-btn{
	border-radius:var(--remax-radius-sm);
}

.main-header .search-box-btn::before, .wishlist-btn::before{
	border-radius:var(--remax-radius-sm);
}

.wishlist-btn{
	border-radius:var(--remax-radius-sm);
}

.lang-switcher__toggle{
	border-radius:var(--remax-radius-sm);
}

.lang-switcher__toggle::before{
	border-radius:var(--remax-radius-sm);
}

.lang-switcher__flag{
	border-radius:var(--remax-radius-sm);
}

.lang-switcher__menu{
	border-radius:var(--remax-radius-sm);
}

.lang-switcher__item a{
	border-radius:var(--remax-radius-sm);
}

.footer_socials a{
	border-radius:var(--remax-radius-sm);
}

.newsletter-box .form-group input[type="text"], .newsletter-box .form-group input[type="email"]{
	border-radius:var(--remax-radius-sm);
}

.newsletter-box .form-group button{
	border-radius:var(--remax-radius-sm);
}

.footer-contact_list li span{
	border-radius:var(--remax-radius-sm);
}

.main-footer .footer-bottom:before{
	border-radius:var(--remax-radius);
}

.footer-location{
	border-radius:var(--remax-radius-sm);
}

.newsletter-box_two .form-group button{
	border-radius:var(--remax-radius-sm);
}

.gallery-widget .image-box{
	border-radius:var(--remax-radius-sm);
}

.gallery-widget .image-box img{
	border-radius:var(--remax-radius-sm);
}

.lang-switcher__flag{
	border-radius:var(--remax-radius-xs);
}

.main-footer .footer-bottom::before{
	border-radius:var(--remax-radius);
}

/* Flecha "bajar" más discreta: solo el trazo, sin círculo ni relleno, pegada al borde inferior del banner. */
.inmovilla-hero__scroll{
	bottom:14px;
	width:44px;
	height:44px;
	margin-left:-22px;
	background:transparent;
	border:0;
	border-radius:0;
	color:rgba(255,255,255,0.75);
	transition:color 0.25s ease;
}

.inmovilla-hero__scroll svg{
	width:26px;
	height:26px;
}

.inmovilla-hero__scroll:hover,
.inmovilla-hero__scroll:focus-visible{
	background:transparent;
	border-color:transparent;
	color:#fff;
}

.inmovilla-hero__scroll:focus-visible{
	outline:1px solid rgba(255,255,255,0.8);
	outline-offset:0;
}

@media (max-width:767px){
	.inmovilla-hero__scroll{
		bottom:8px;
		width:40px;
		height:40px;
		margin-left:-20px;
	}
}

/* Banderas de idioma siempre redondas (selector del header y su desplegable). */
.lang-switcher__flag{
	border-radius:50%;
	object-fit:cover;
}

/* Mi cuenta (iniciar sesión / crear cuenta): cabecera de página más baja y menos aire,
 * para que el formulario se vea sin tener que hacer scroll. */
body:has(.inmovilla-account) .page-title{
	padding:150px 0 36px;
}

body:has(.inmovilla-account) .inmovilla-account{
	padding-top:16px;
}

body:has(.inmovilla-account) .inmovilla-account .inmovilla-container{
	padding-top:16px;
}

@media (max-width:767px){
	body:has(.inmovilla-account) .page-title{
		padding:44px 0 28px;
	}
}

/* Flechas de los carruseles y del visor de fotos: cuadradas (esquinas casi rectas). */

.inmovilla-cities__prev, .inmovilla-cities__next{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-team-carousel__prev, .inmovilla-team-carousel__next{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-service__nav{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-testimonials-carousel__prev, .inmovilla-testimonials-carousel__next{
	border-radius:var(--remax-radius-sm);
}

.cities-one .four-items_slider-prev{
	border-radius:var(--remax-radius-sm);
}

.cities-one .four-items_slider-next{
	border-radius:var(--remax-radius-sm);
}

.property-one .three-items_slider-prev{
	border-radius:var(--remax-radius-sm);
}

.property-one .three-items_slider-next{
	border-radius:var(--remax-radius-sm);
}

.team-one .four-items_slider-prev{
	border-radius:var(--remax-radius-sm);
}

.team-one .four-items_slider-next{
	border-radius:var(--remax-radius-sm);
}

.testimonial-one .single-item_slider-prev{
	border-radius:var(--remax-radius-sm);
}

.testimonial-one .single-item_slider-next{
	border-radius:var(--remax-radius-sm);
}

.testimonial-two .three-items_slider-prev{
	border-radius:var(--remax-radius-sm);
}

.testimonial-two .three-items_slider-next{
	border-radius:var(--remax-radius-sm);
}

.slider-one .main-slider-prev{
	border-radius:var(--remax-radius-sm);
}

.slider-one .main-slider-next{
	border-radius:var(--remax-radius-sm);
}

.testimonial-three .two-items_slider-prev{
	border-radius:var(--remax-radius-sm);
}

.testimonial-three .two-items_slider-next{
	border-radius:var(--remax-radius-sm);
}

.blog-two .three-items_slider-prev{
	border-radius:var(--remax-radius-sm);
}

.blog-two .three-items_slider-next{
	border-radius:var(--remax-radius-sm);
}

.property-detail .gallery-box .single-item_slider-prev{
	border-radius:var(--remax-radius-sm);
}

.property-detail .gallery-box .single-item_slider-next{
	border-radius:var(--remax-radius-sm);
}

.property-detail .carousel-box .single-item_slider-prev{
	border-radius:var(--remax-radius-sm);
}

.property-detail .carousel-box .single-item_slider-next{
	border-radius:var(--remax-radius-sm);
}

.inmovilla-lightbox__prev,
.inmovilla-lightbox__next{
	border-radius:var(--remax-radius-sm);
}

/* Móvil: cabecera más baja (antes 112px) y texto del banner de portada más arriba. */
@media (max-width:767px){
	/* Se reserva el alto exacto de la cabecera (64px): cuando el script la fija al hacer scroll (clase
	 * "fixed-header"), sale del flujo; si el contenedor se quedara en 0 el script nunca la soltaría al volver
	 * arriba y taparía el banner. */
	.main-header:not(#x){
		min-height:64px !important;
	}

	.main-header.fixed-header .header-lower .logo-box{
		padding:10px 0;
	}

	.main-header .header-lower .logo-box{
		padding:10px 0;
	}

	.main-header .logo img{
		width:auto !important;
		height:44px !important;
	}

	.main-header .search-box-btn,
	.main-header .wishlist-btn,
	.main-header .lang-switcher__toggle{
		width:40px;
		height:40px;
	}

	.inmovilla-hero{
		min-height:calc(100vh - 64px);
		min-height:calc(100svh - 64px);
		align-items:flex-start;
	}

	.inmovilla-hero__content-inner{
		padding-top:28px;
		padding-bottom:64px;
	}
}

/* ==========================================================================
 * Móvil: banner de portada rediseñado, más sobrio y en azul de marca, y barra de navegación inferior.
 * Paleta (guía de marca): azul oscuro #000E35, azul puente #0C2749, azul primario #0C2749, azul cielo #A3D4F2.
 * ========================================================================== */
:root{
	--remax-blue-dark:#000E35;
	--remax-blue-bridge:#0C2749;
	--remax-blue:#0C2749;
	--remax-sky:#A3D4F2;
	--remax-bottomnav-h:60px;
}

/* Elementos solo-móvil: ocultos en escritorio. */
.inmovilla-hero__search-toggle,
.inmovilla-hero__search-close,
.inmovilla-hero__search-backdrop,
.remax-bottom-nav{
	display:none;
}

@media (max-width:767px){
	/* --- Banner --- */
	.inmovilla-hero::after{
		background:linear-gradient(180deg, rgba(0,14,53,0.62) 0%, rgba(0,14,53,0.22) 42%, rgba(0,14,53,0.72) 100%);
	}

	.inmovilla-hero{
		align-items:stretch;
	}

	.inmovilla-hero__container{
		display:flex;
		flex:1 1 auto;
		padding:0 22px;
	}

	.inmovilla-hero__content{
		display:flex;
		flex:1 1 auto;
		max-width:none;
	}

	.inmovilla-hero__content-inner{
		display:flex;
		flex-direction:column;
		flex:1 1 auto;
		width:100%;
		padding:30px 0 calc(var(--remax-bottomnav-h) + 22px + env(safe-area-inset-bottom, 0px));
	}

	.inmovilla-hero__title{
		margin:0;
		font-size:32px;
		line-height:1.18;
		font-weight:700;
		letter-spacing:-0.015em;
		color:#fff;
	}

	/* Sin subrayado a mano ni rojo: la palabra destacada va en azul cielo. */
	.inmovilla-hero__title span{
		color:var(--remax-sky);
		padding-bottom:0;
	}

	.inmovilla-hero__title span::before{
		display:none;
	}

	/* Flecha de bajar: sobra en móvil (el botón de búsqueda y la barra inferior ocupan ese sitio). */
	.inmovilla-hero__scroll{
		display:none;
	}

	/* Botón que abre el buscador. */
	.inmovilla-hero__search-toggle{
		display:flex;
		align-items:center;
		gap:12px;
		width:100%;
		margin-top:auto;
		padding:0 18px;
		height:54px;
		color:#fff;
		font-size:15px;
		font-weight:500;
		text-align:left;
		background:rgba(0,14,53,0.45);
		-webkit-backdrop-filter:blur(10px);
		backdrop-filter:blur(10px);
		border:1px solid rgba(255,255,255,0.4);
		border-radius:var(--remax-radius);
		cursor:pointer;
	}

	.inmovilla-hero__search-toggle svg{
		width:20px;
		height:20px;
		fill:none;
		stroke:currentColor;
	}

	/* Panel del buscador: cerrado por defecto; se abre como hoja inferior. */
	.inmovilla-hero__search{
		display:none;
		margin:0;
	}

	.inmovilla-hero.is-search-open .inmovilla-hero__search{
		display:block;
		position:fixed;
		left:0;
		right:0;
		bottom:0;
		z-index:100001;
		max-height:88vh;
		max-height:88svh;
		overflow-y:auto;
		padding:66px 18px calc(22px + env(safe-area-inset-bottom, 0px));
		background:var(--remax-blue-dark);
		border-radius:var(--remax-radius) var(--remax-radius) 0 0;
		box-shadow:0 -1px 0 rgba(255,255,255,0.12);
	}

	.inmovilla-hero__search-backdrop{
		position:fixed;
		inset:0;
		z-index:100000;
		background:rgba(0,14,53,0.55);
	}

	.inmovilla-hero.is-search-open .inmovilla-hero__search-backdrop{
		display:block;
	}

	html.inmovilla-search-open{
		overflow:hidden;
	}

	.inmovilla-hero__search-close{
		position:absolute;
		top:10px;
		right:10px;
		display:flex;
		align-items:center;
		justify-content:center;
		width:44px;
		height:44px;
		padding:0;
		color:#fff;
		background:transparent;
		border:0;
		cursor:pointer;
	}

	/* Cambia entre Comprar / Alquilar. */
	.inmovilla-hero__tabs{
		position:absolute;
		top:12px;
		left:18px;
		right:64px;
		display:flex;
		width:auto;
		margin:0;
		border-radius:var(--remax-radius-sm);
		background:rgba(255,255,255,0.08);
		overflow:hidden;
	}

	.inmovilla-hero__tab{
		flex:1 1 0;
		height:38px;
		padding:0 12px;
		font-size:14px;
		font-weight:500;
		color:rgba(255,255,255,0.7);
		background:transparent;
	}

	.inmovilla-hero__tab.is-active{
		color:var(--remax-blue-dark);
		background:#fff;
	}

	.inmovilla-hero__form-wrap{
		padding:0;
		background:transparent;
		box-shadow:none;
		border-radius:0;
	}

	.inmovilla-hero__form{
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:12px;
		padding:0;
		border:0;
	}

	.inmovilla-hero__field{
		margin:0;
		padding:0;
		border:0;
		min-width:0;
	}

	.inmovilla-hero__field--location,
	.inmovilla-hero__field:nth-of-type(2){
		grid-column:1 / -1;
	}

	.inmovilla-hero__field label{
		display:block;
		margin:0 0 5px;
		font-size:12px;
		font-weight:500;
		color:rgba(255,255,255,0.7);
	}

	.inmovilla-hero__field input[type="text"],
	.inmovilla-hero__field select{
		width:100%;
		height:46px;
		padding:0 12px;
		font-size:15px;
		color:#fff;
		background-color:rgba(255,255,255,0.08);
		border:1px solid rgba(255,255,255,0.22);
		border-radius:var(--remax-radius-sm);
	}

	.inmovilla-hero__field input::placeholder{
		color:rgba(255,255,255,0.55);
	}

	.inmovilla-hero__field select option{
		color:var(--remax-blue-dark);
		background:#fff;
	}

	.inmovilla-hero__submit{
		grid-column:1 / -1;
		display:flex;
		align-items:center;
		justify-content:center;
		gap:8px;
		width:100%;
		height:50px;
		margin-top:4px;
		color:#fff;
		background:var(--remax-blue);
		border:0;
		border-radius:var(--remax-radius-sm);
	}

	.inmovilla-hero__submit .inmovilla-hero__submit-label{
		display:inline;
		font-size:15px;
		font-weight:600;
		text-transform:none;
	}

	/* --- Barra de navegación inferior --- */
	.remax-bottom-nav{
		position:fixed;
		left:0;
		right:0;
		bottom:0;
		z-index:9000;
		display:grid;
		grid-template-columns:repeat(5, 1fr);
		align-items:end;
		height:calc(var(--remax-bottomnav-h) + env(safe-area-inset-bottom, 0px));
		padding-bottom:env(safe-area-inset-bottom, 0px);
		background:#fff;
		border-top:1px solid rgba(0,14,53,0.12);
	}

	.remax-bottom-nav__item{
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		gap:4px;
		height:var(--remax-bottomnav-h);
		color:var(--remax-blue-bridge);
		font-size:10.5px;
		font-weight:600;
		line-height:1;
		text-decoration:none;
		-webkit-tap-highlight-color:transparent;
	}

	.remax-bottom-nav__item:hover,
	.remax-bottom-nav__item:focus-visible{
		color:var(--remax-blue);
	}

	.remax-bottom-nav__item.is-active{
		color:var(--remax-blue);
	}

	.remax-bottom-nav__item--home img{
		display:block;
		width:34px;
		height:34px;
		object-fit:contain;
	}

	body{
		padding-bottom:calc(var(--remax-bottomnav-h) + env(safe-area-inset-bottom, 0px));
	}

	/* Botones flotantes por encima de la barra. */
	.inmovilla-whatsapp-float{
		bottom:calc(var(--remax-bottomnav-h) + 16px + env(safe-area-inset-bottom, 0px));
	}

	body .progress-wrap{
		bottom:calc(var(--remax-bottomnav-h) + 84px + env(safe-area-inset-bottom, 0px));
	}
}

@media (max-width:767px){
	/* Deja sitio al botón flotante de WhatsApp a la derecha del botón de búsqueda. */
	.inmovilla-hero__search-toggle{
		width:calc(100% - 64px);
	}
}

@media (max-width:767px){
	/* El panel abierto va por encima de la barra inferior (el contenedor del banner creaba su propio nivel de apilado). */
	.inmovilla-hero.is-search-open .inmovilla-hero__container{
		z-index:auto;
	}

	/* Etiquetas visibles en el panel (en el diseño anterior se ocultaban). */
	.inmovilla-hero .inmovilla-hero__field label{
		position:static;
		width:auto;
		height:auto;
		margin:0 0 5px;
		overflow:visible;
		clip:auto;
		white-space:normal;
		font-size:12px;
		font-weight:500;
		color:rgba(255,255,255,0.72);
	}

	.inmovilla-hero .inmovilla-hero__field input[type="text"],
	.inmovilla-hero .inmovilla-hero__field--location input[type="text"],
	.inmovilla-hero .inmovilla-hero__field select{
		display:block;
		width:100%;
		height:46px;
		padding:0 12px;
		font-size:15px;
		font-weight:500;
		color:#fff;
		background-color:rgba(255,255,255,0.08);
		border:1px solid rgba(255,255,255,0.22);
		border-radius:var(--remax-radius-sm);
	}

	.inmovilla-hero .inmovilla-hero__field select{
		padding-right:34px;
		background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
		background-repeat:no-repeat;
		background-position:right 10px center;
		background-size:16px;
	}

	.inmovilla-hero .inmovilla-hero__field--location input[type="text"]::placeholder{
		color:rgba(255,255,255,0.55);
		opacity:1;
		font-weight:400;
	}
}

/* Móvil: la barra inferior solo aparece al bajar; la cabecera se oculta al bajar y vuelve al subir. */
@media (max-width:767px){
	.remax-bottom-nav{
		transform:translateY(calc(100% + 2px));
		transition:transform 0.32s ease;
		will-change:transform;
	}

	html.remax-scroll-down .remax-bottom-nav{
		transform:translateY(0);
	}

	.main-header .header-lower{
		transition:transform 0.32s ease;
	}

	/* La animación de entrada del tema (fadeInDown, con "forwards") pisaba el transform de ocultar/mostrar. */
	.main-header.fixed-header .header-lower{
		-webkit-animation:none !important;
		animation:none !important;
	}

	html.remax-scroll-down .main-header.fixed-header .header-lower{
		transform:translateY(-110%);
		box-shadow:none;
	}

	/* Botones flotantes: pegados al borde cuando no hay barra; suben cuando aparece. */
	.inmovilla-whatsapp-float{
		bottom:calc(16px + env(safe-area-inset-bottom, 0px));
		transition:bottom 0.32s ease, transform 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
	}

	body .progress-wrap{
		bottom:calc(84px + env(safe-area-inset-bottom, 0px));
		transition:bottom 0.32s ease;
	}

	html.remax-scroll-down .inmovilla-whatsapp-float{
		bottom:calc(var(--remax-bottomnav-h) + 16px + env(safe-area-inset-bottom, 0px));
	}

	html.remax-scroll-down body .progress-wrap{
		bottom:calc(var(--remax-bottomnav-h) + 84px + env(safe-area-inset-bottom, 0px));
	}
}

/* ==========================================================================
 * Rediseño de color: azul de marca como color principal; el rojo (#FF1200) solo en corazones de favoritos y errores.
 * Colores de la guía de marca: azul oscuro #000E35, azul puente #0C2749, azul primario #0C2749, azul cielo #A3D4F2, rojo #FF1200.
 * ========================================================================== */

.property-block_one-heart{
	color:#FF1200;
	border:1px solid rgba(255,18,0, 0.10);
}

.property-block_one-heart:hover{
	border-color:#FF1200;
	background-color:#FF1200;
}

.news-block_two-meta li .icon{
	color:#0C2749;
}

.contact-form input.error, .contact-form select.error, .contact-form textarea.error{
	border-color:#FF1200 !important;
}

.contact-form label.error{
	color:#FF1200;
}

.inmovilla-field--zona.has-error .inmovilla-zona-input{
	border-color:#FF1200;
}

.inmovilla-zona-error{
	color:#FF1200;
}

.inmovilla-property-detail__fact-icon{
	background-color:rgba(12,39,73, 0.10);
}

.inmovilla-hero__title span::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 24'%3E%3Cpath d='M4,18 Q110,2 216,14' stroke='%230C2749' stroke-width='5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
}

.inmovilla-hero__field--location.has-error input[type="text"]{
	box-shadow:inset 0 0 0 1px #FF1200;
}

.inmovilla-hero__location-error{
	color:#FF1200;
}

.inmovilla-property-card__heart{
	color:#FF1200;
	border:1px solid rgba(255,18,0, 0.10);
}

.inmovilla-property-card__heart::before{
	background-color:#FF1200;
}

.inmovilla-property-card__heart.is-active{
	border-color:#FF1200;
}

.inmovilla-cities__card-inner::before{
	background:linear-gradient(to top, rgb(54, 59, 61) 0%, rgba(12,39,73, 0) 100%);
}

.inmovilla-team-card__socials a:hover, .inmovilla-team-card__socials a:focus{
	border-color:#0C2749;
	background-color:#0C2749;
}

.inmovilla-team-card__heading a:hover{
	color:#0C2749;
}

.inmovilla-team-grid__pagination a.page-numbers:hover, .inmovilla-team-grid__pagination .page-numbers.current{
	border-color:#0C2749;
	background-color:#0C2749;
}

.inmovilla-team-carousel__subtitle{
	color:#0C2749;
}

.inmovilla-team-carousel__prev:hover, .inmovilla-team-carousel__next:hover{
	border-color:#0C2749;
	background-color:#0C2749;
}

.inmovilla-team-carousel__pagination .swiper-pagination-bullet:hover, .inmovilla-team-carousel__pagination .swiper-pagination-bullet-active{
	background-color:#0C2749;
}

.inmovilla-team-carousel__pagination .swiper-pagination-bullet:hover::before, .inmovilla-team-carousel__pagination .swiper-pagination-bullet-active::before{
	border-color:#0C2749;
}

.inmovilla-testimonials-carousel__subtitle{
	color:#0C2749;
}

.inmovilla-testimonials-carousel__image::before{
	background:linear-gradient(to top, rgb(54, 59, 61) 0%, rgba(12,39,73, 0) 100%);
}

.inmovilla-testimonials-carousel__play:hover{
	color:#0C2749;
}

.inmovilla-testimonials-carousel__quote{
	color:rgba(12,39,73, 0.12);
}

.inmovilla-testimonials-carousel__google-badge:hover{
	color:#0C2749;
}

.inmovilla-testimonials-carousel__pagination .swiper-pagination-bullet:hover, .inmovilla-testimonials-carousel__pagination .swiper-pagination-bullet-active{
	background-color:#0C2749;
}

.inmovilla-testimonials-carousel__pagination .swiper-pagination-bullet:hover::before, .inmovilla-testimonials-carousel__pagination .swiper-pagination-bullet-active::before{
	border-color:#0C2749;
}

.inmovilla-testimonials-carousel__prev:hover, .inmovilla-testimonials-carousel__next:hover{
	border-color:#0C2749;
	background-color:#0C2749;
}

.account-btn.is-logged-in::after{
	background:#0C2749;
}

.inmovilla-toast{
	border-left:4px solid #0C2749;
}

.inmovilla-toast__cta, .inmovilla-toast__cta:visited{
	background:#0C2749;
}

.inmovilla-account__btn, .inmovilla-account__btn:visited{
	border:1px solid var(--inmovilla-primary, #0C2749);
	background:var(--inmovilla-primary, #0C2749);
}

.inmovilla-account__btn--ghost, .inmovilla-account__btn--ghost:visited{
	color:var(--inmovilla-primary, #0C2749);
}

.inmovilla-wishlist-signup{
	border-left:4px solid #0C2749;
}

/* Variables de color del tema y del plugin -> paleta de marca. */
:root{
	--main-color:rgb(12,39,73);
	--main-color-rgb:12,39,73;
	--color-two:rgb(0,14,53);
	--color-two-rgb:0,14,53;
	--color-seven:rgb(163,212,242);
	--color-seven-rgb:163,212,242;
	--color-nine:rgb(12,39,73);
	--color-nine-rgb:12,39,73;
	--remax-red:#FF1200;
}

.inmovilla-wrap,
.inmovilla-hero,
.inmovilla-property-grid,
.inmovilla-cities,
.inmovilla-about-us,
.inmovilla-service,
.inmovilla-agent-form,
.inmovilla-property-contact-modal{
	--inmovilla-primary:#0C2749;
	--inmovilla-text:#000E35;
	--inmovilla-muted:rgba(0,14,53,0.7);
	--inmovilla-badge-secondary-bg:#A3D4F2;
}

.elementor-kit-7{
	--e-global-color-primary:#0C2749;
	--e-global-color-secondary:#0C2749;
	--e-global-color-text:#000E35;
	--e-global-color-accent:#0C2749;
}

/* Zonas oscuras: el acento pasa a azul cielo para que se lea sobre el azul oscuro. */
.main-footer{
	--main-color:rgb(163,212,242);
	--main-color-rgb:163,212,242;
}

/* Título del banner (escritorio): palabra destacada y trazo en azul cielo en lugar de rojo. */
.inmovilla-hero__title span{
	color:#A3D4F2;
}

.inmovilla-hero__title span::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 24'%3E%3Cpath d='M4,18 Q110,2 216,14' stroke='%23A3D4F2' stroke-width='5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
}

/* ==========================================================================
 * Ajustes: azul oscuro de marca como color principal (en lugar del azul primario, más brillante).
 * Fondos y acentos en azul puente #0C2749; texto y estados activos en azul oscuro #000E35.
 * ========================================================================== */
@media (max-width:767px){
	.remax-bottom-nav__item{
		color:rgba(12,39,73,0.6);
	}

	.remax-bottom-nav__item:hover,
	.remax-bottom-nav__item:focus-visible,
	.remax-bottom-nav__item.is-active{
		color:#000E35;
	}

	.remax-bottom-nav__item.is-active{
		box-shadow:inset 0 2px 0 #000E35;
	}
}

.inmovilla-property-card__heading:not(#x){
	display:-webkit-box !important;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:3;
	overflow:hidden;
	min-height:calc(1.3em * 3);
	font-size:18px;
	line-height:1.3;
	text-transform:none;
	overflow-wrap:anywhere;
}

@media (max-width:767px){
	.inmovilla-property-card__heading:not(#x){
		min-height:0;
	}
}

/* ==========================================================================
 * Tipografía: escala y detalles (Montserrat).
 * ========================================================================== */
html{
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	text-rendering:optimizeLegibility;
}

body{
	font-size:16px;
	line-height:1.65;
	color:var(--color-two);
}

p{
	line-height:1.7;
	text-wrap:pretty;
}

h1, h2, h3, h4, h5, h6{
	text-wrap:balance;
	color:var(--color-two);
}

/* Escala de titulares para los títulos sin estilo propio (cada componente conserva el suyo). */
h1{ font-size:clamp(2rem, 1.2rem + 2.6vw, 3.25rem); line-height:1.12; }
h2{ font-size:clamp(1.75rem, 1.1rem + 1.8vw, 2.5rem); line-height:1.18; }
h3{ font-size:clamp(1.375rem, 1rem + 1vw, 1.75rem); line-height:1.25; }
h4{ font-size:1.25rem; line-height:1.3; }
h5{ font-size:1.0625rem; line-height:1.35; }
h6{ font-size:1rem; line-height:1.4; }

/* Cifras (precios, superficies, referencias) alineadas y legibles. */
.inmovilla-property-card__price,
.inmovilla-property-card__info,
.inmovilla-property-card__ref,
.inmovilla-property-detail__price,
.inmovilla-property-detail__fact{
	font-variant-numeric:lining-nums tabular-nums;
}

.inmovilla-property-card__price{
	font-weight:700;
	letter-spacing:-0.01em;
}

/* Texto secundario con más contraste que el gris anterior. */
.inmovilla-property-card__ref{
	color:rgba(0,14,53,0.62);
}

/* Páginas de contenido: el texto ocupa todo el ancho del contenedor (centrado, mismo margen a izquierda y derecha), sin tope de caracteres por línea. */
.elementor-widget-text-editor p,
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol{
	max-width:none;
}

/* Noticias: la columna de texto va centrada bajo la imagen, con una medida cómoda y sin hueco a la derecha. */
.blog-detail_content{
	max-width:none;
	padding-left:40px;
	padding-right:40px;
}

@media (max-width:767px){
	.blog-detail_content{
		padding-left:20px;
		padding-right:20px;
	}
}

.blog-detail_content .text p,
.blog-detail_content .text ul,
.blog-detail_content .text ol,
.blog-detail_content .text blockquote{
	max-width:none;
}

/* ==========================================================================
 * Pie de página: columnas alineadas en escritorio; compacto y plegable en móvil.
 * ========================================================================== */
.main-footer .widgets-section{
	padding:72px 0 36px;
}

.main-footer .big-column > .row{
	display:grid;
	grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);
	column-gap:56px;
	row-gap:0;
	margin:0;
	align-items:start;
}

.main-footer .big-column > .row::before,
.main-footer .big-column > .row::after{
	display:none;
}

.main-footer .footer-column{
	width:auto;
	max-width:none;
	flex:none;
	float:none;
	padding:0;
}

.main-footer .footer-widget{
	margin-bottom:0;
}

.main-footer .footer-logo{
	margin:0 0 22px;
}

.main-footer .footer-logo img{
	display:block;
	width:100%;
	max-width:200px;
	height:auto;
}

.main-footer .footer-text{
	max-width:32ch;
	margin:0;
	font-size:15px;
	line-height:1.7;
	opacity:0.78;
}

.main-footer .footer-title{
	margin:0 0 20px;
	font-size:17px;
	line-height:1.3;
	text-transform:none;
}

.main-footer .widget_nav_menu ul{
	margin:0;
	padding:0;
	list-style:none;
}

.main-footer .widget_nav_menu li{
	margin:0;
}

.main-footer .widget_nav_menu li > a{
	display:inline-block;
	padding:7px 0;
	font-size:15px;
	line-height:1.4;
}

.main-footer .footer-contact_list li{
	align-items:flex-start;
	gap:14px;
	margin-bottom:16px;
	font-size:15px;
	line-height:1.55;
}

.main-footer .footer-contact_list li span{
	flex:0 0 auto;
	margin-top:-2px;
}

/* Barra inferior: legal a la izquierda, redes a la derecha, todo en una línea de base común. */
.main-footer .footer-bottom{
	margin-bottom:20px;
	padding:18px 0;
}

.main-footer .footer-bottom .copyright{
	font-size:14px;
	line-height:1.5;
}

.main-footer .footer-bottom_nav{
	display:flex;
	flex-wrap:wrap;
	gap:6px 22px;
	margin:0;
	padding:0;
	list-style:none;
}

.main-footer .footer-bottom_nav li{
	margin:0;
	padding:0;
	border:0;
}

.main-footer .footer-bottom_nav li a{
	font-size:14px;
}

.main-footer .footer_socials{
	display:flex;
	gap:8px;
}

.main-footer .footer_socials a{
	margin:0;
}

/* Tablet: dos columnas. */
@media (max-width:991px){
	.main-footer .big-column > .row{
		grid-template-columns:1fr 1fr;
		column-gap:40px;
		row-gap:36px;
	}

	.main-footer .footer-column:first-child{
		grid-column:1 / -1;
	}
}

/* Móvil: compacto y plegable. */
@media (max-width:767px){
	.main-footer .widgets-section{
		padding:36px 0 8px;
	}

	.main-footer .big-column > .row{
		grid-template-columns:1fr;
		row-gap:0;
	}

	.main-footer .footer-column:first-child{
		padding-bottom:22px;
	}

	.main-footer .footer-logo{
		margin-bottom:14px;
	}

	.main-footer .footer-logo img{
		max-width:132px;
	}

	.main-footer .footer-text{
		max-width:none;
		font-size:14px;
		line-height:1.6;
	}

	/* Acordeón de los dos bloques de enlaces. */
	.main-footer .widget_nav_menu{
		border-top:1px solid rgba(255,255,255,0.14);
	}

	.main-footer .widget_nav_menu .footer-title{
		position:relative;
		margin:0;
		padding:16px 34px 16px 0;
		font-size:16px;
		cursor:pointer;
	}

	.main-footer .widget_nav_menu .footer-title::after{
		content:'';
		position:absolute;
		right:4px;
		top:50%;
		width:8px;
		height:8px;
		margin-top:-6px;
		border-right:1.5px solid currentColor;
		border-bottom:1.5px solid currentColor;
		transform:rotate(45deg);
		transition:transform 0.25s ease;
	}

	.main-footer .widget_nav_menu.remax-open .footer-title::after{
		margin-top:-2px;
		transform:rotate(225deg);
	}

	.main-footer .widget_nav_menu > div[class^="menu-"]{
		display:none;
		padding:0 0 14px;
	}

	.main-footer .widget_nav_menu.remax-open > div[class^="menu-"]{
		display:block;
	}

	/* Contacto: siempre visible y compacto. */
	.main-footer .contact-widget{
		padding:18px 0 4px;
		border-top:1px solid rgba(255,255,255,0.14);
	}

	.main-footer .contact-widget .footer-title{
		margin-bottom:14px;
	}

	.main-footer .footer-contact_list li{
		margin-bottom:12px;
		font-size:14px;
	}

	/* Barra inferior apilada y centrada en el margen izquierdo. */
	.main-footer .footer-bottom{
		padding:6px 0 4px;
	}

	.main-footer .footer-bottom .auto-container > div{
		flex-direction:column;
		align-items:flex-start !important;
		gap:14px;
	}

	.main-footer .footer-bottom .copyright{
		order:3;
		font-size:12px;
		opacity:0.8;
	}

	.main-footer .footer-bottom_nav{
		order:2;
		gap:4px 18px;
	}

	.main-footer .footer-bottom_nav li a{
		font-size:13px;
	}

	.main-footer .footer_socials{
		order:1;
	}
}

.main-footer .footer-widget{
	width:100%;
	max-width:none;
	margin-left:0;
	margin-right:0;
}

/* Barra inferior (escritorio/tablet): fila 1 = copyright + redes; fila 2 = enlaces legales. */
@media (min-width:768px){
	.main-footer .footer-bottom .auto-container > div{
		flex-wrap:wrap;
		row-gap:10px;
		column-gap:24px;
	}

	.main-footer .footer-bottom .copyright{
		flex:1 1 auto;
		min-width:0;
	}

	.main-footer .footer_socials{
		flex:0 0 auto;
	}

	.main-footer .footer-bottom_nav{
		flex:0 0 100%;
		order:3;
	}
}

/* Móvil: el hueco para la barra inferior va dentro del pie (fondo oscuro), no como franja blanca bajo la página. */
@media (max-width:767px){
	body{
		padding-bottom:0;
	}

	.main-footer{
		padding-bottom:calc(var(--remax-bottomnav-h) + env(safe-area-inset-bottom, 0px) + 6px);
	}
}

@media (max-width:767px){
	/* El botón de volver arriba no tapa el texto del copyright. */
	.main-footer .footer-bottom .copyright{
		padding-right:56px;
	}
}

/* ==========================================================================
 * Ajustes móviles: acordeón del pie animado, texto de la barra inferior sin recortes, sin botones flotantes.
 * ========================================================================== */

/* Submenús del pie (Vendedores, Compradores, Sobre RE/MAX): se despliegan con animación en todas las pantallas. */
.main-footer .widget_nav_menu .sub-menu{
	display:block !important;
	max-height:0;
	overflow:hidden;
	opacity:0;
	transition:max-height 0.32s ease, opacity 0.25s ease;
}

.main-footer .widget_nav_menu li.inm-open > .sub-menu{
	max-height:420px;
	opacity:1;
}

@media (max-width:767px){
	/* Bloques "Enlaces principales" y "Servicios": mismo despliegue suave que el menú móvil. */
	.main-footer .widget_nav_menu > div[class^="menu-"],
	.main-footer .widget_nav_menu.remax-open > div[class^="menu-"]{
		display:grid;
		grid-template-rows:0fr;
		padding:0;
		transition:grid-template-rows 0.32s ease;
	}

	.main-footer .widget_nav_menu.remax-open > div[class^="menu-"]{
		grid-template-rows:1fr;
	}

	.main-footer .widget_nav_menu > div[class^="menu-"] > ul{
		min-height:0;
		overflow:hidden;
		opacity:0;
		padding-bottom:0;
		transition:opacity 0.25s ease, padding-bottom 0.32s ease;
	}

	.main-footer .widget_nav_menu.remax-open > div[class^="menu-"] > ul{
		opacity:1;
		padding-bottom:14px;
	}

	/* Barra inferior: texto más compacto y márgenes laterales para las esquinas redondeadas del móvil. */
	.remax-bottom-nav{
		grid-template-columns:1.1fr 1fr 0.8fr 1fr 1.1fr;
		padding-left:max(10px, env(safe-area-inset-left, 0px));
		padding-right:max(10px, env(safe-area-inset-right, 0px));
	}

	.remax-bottom-nav__item{
		min-width:0;
		font-size:10px;
		letter-spacing:-0.01em;
		white-space:nowrap;
	}

	.remax-bottom-nav__item span{
		max-width:100%;
		overflow:hidden;
		text-overflow:ellipsis;
	}

	/* Sin WhatsApp flotante ni flecha de volver arriba en móvil. */
	.inmovilla-whatsapp-float,
	body .progress-wrap{
		display:none !important;
	}
}

/* ==========================================================================
 * Barra inferior con WhatsApp (2 accesos a la izquierda, 3 a la derecha, globo siempre centrado)
 * y buscador del banner que baja desde arriba con animación (y sube al cerrarse).
 * ========================================================================== */
@media (max-width:767px){
	.remax-bottom-nav{
		display:flex;
		align-items:stretch;
		grid-template-columns:none;
	}

	.remax-bottom-nav__group{
		display:flex;
		flex:1 1 0;
		min-width:0;
	}

	.remax-bottom-nav__group > .remax-bottom-nav__item{
		flex:1 1 0;
		min-width:0;
	}

	.remax-bottom-nav__item--home{
		flex:0 0 66px;
	}

	/* WhatsApp: mismo trazo que el resto, con el verde de WhatsApp solo en el icono. */
	.remax-bottom-nav__item--whatsapp svg{
		color:#128C4A;
	}

	/* --- Buscador del banner: panel que baja desde arriba --- */
	.inmovilla-hero .inmovilla-hero__search{
		display:block;
		position:fixed;
		top:0;
		left:0;
		right:0;
		bottom:auto;
		z-index:100001;
		max-height:90vh;
		max-height:90svh;
		overflow-y:auto;
		margin:0;
		padding:calc(66px + env(safe-area-inset-top, 0px)) 18px 24px;
		background:var(--remax-blue-dark);
		border-radius:0 0 var(--remax-radius) var(--remax-radius);
		box-shadow:0 12px 30px rgba(0,14,53,0.35);
		transform:translateY(-104%);
		visibility:hidden;
		transition:transform 0.4s cubic-bezier(0.22,0.8,0.3,1), visibility 0s linear 0.4s;
	}

	.inmovilla-hero.is-search-open .inmovilla-hero__search{
		position:fixed;
		top:0;
		bottom:auto;
		transform:translateY(0);
		visibility:visible;
		transition:transform 0.4s cubic-bezier(0.22,0.8,0.3,1), visibility 0s linear 0s;
	}

	.inmovilla-hero__search-backdrop{
		display:block;
		opacity:0;
		visibility:hidden;
		transition:opacity 0.35s ease, visibility 0s linear 0.35s;
	}

	.inmovilla-hero.is-search-open .inmovilla-hero__search-backdrop{
		opacity:1;
		visibility:visible;
		transition:opacity 0.35s ease, visibility 0s linear 0s;
	}

	.inmovilla-hero__search-close{
		top:calc(10px + env(safe-area-inset-top, 0px));
	}

	.inmovilla-hero__tabs{
		top:calc(12px + env(safe-area-inset-top, 0px));
	}
}

@media (prefers-reduced-motion:reduce){
	.inmovilla-hero .inmovilla-hero__search,
	.inmovilla-hero__search-backdrop{
		transition:none !important;
	}
}

/* ==========================================================================
 * Buscador del banner: el panel sube desde abajo (y baja al cerrarse). Barra inferior sin WhatsApp.
 * ========================================================================== */
@media (max-width:767px){
	.inmovilla-hero .inmovilla-hero__search{
		top:auto;
		bottom:0;
		padding:66px 18px calc(24px + env(safe-area-inset-bottom, 0px));
		border-radius:var(--remax-radius) var(--remax-radius) 0 0;
		box-shadow:0 -12px 30px rgba(0,14,53,0.35);
		transform:translateY(104%);
	}

	.inmovilla-hero.is-search-open .inmovilla-hero__search{
		top:auto;
		bottom:0;
		transform:translateY(0);
	}

	.inmovilla-hero__search-close{
		top:10px;
	}

	.inmovilla-hero__tabs{
		top:12px;
	}
}

/* Barra inferior fija e integrada: siempre visible en móvil (ya no aparece/desaparece al hacer scroll). */
@media (max-width:767px){
	.remax-bottom-nav,
	html.remax-scroll-down .remax-bottom-nav{
		transform:none;
	}
}

/* ==========================================================================
 * Tarjetas de propiedad: más sobrias y elegantes (referencia: Engel & Völkers).
 * Foto grande, acciones (compartir/favorito) sobre la foto, ubicación discreta, título, datos en una línea
 * separada por puntos, precio destacado y contacto en iconos finos.
 * ========================================================================== */
.inmovilla-property-detail__fact-icon:has(i + i){
	width:auto;
	padding:0 18px;
	gap:12px;
}

.inmovilla-property-card .inmovilla-property-card__inner{
	position:relative;
	display:flex;
	flex-direction:column;
	height:100%;
	background:#fff;
	border:0;
	border-radius:var(--remax-radius);
	box-shadow:0 0 0 1px rgba(0,14,53,0.08);
	overflow:hidden;
	transition:box-shadow 0.25s ease;
}

.inmovilla-property-card .inmovilla-property-card__inner:hover{
	box-shadow:0 0 0 1px rgba(0,14,53,0.16), 0 10px 26px rgba(0,14,53,0.08);
}

.inmovilla-property-card .inmovilla-property-card__image{
	border-radius:0;
}

.inmovilla-property-card .inmovilla-property-card__image img{
	display:block;
	width:100%;
	aspect-ratio:4 / 3;
	object-fit:cover;
	transition:transform 0.6s ease;
}

.inmovilla-property-card .inmovilla-property-card__inner:hover .inmovilla-property-card__image img{
	transform:scale(1.03);
}

/* Etiqueta discreta sobre la foto. */
.inmovilla-property-card .inmovilla-property-card__badge{
	top:12px;
	left:12px;
	padding:5px 10px;
	font-size:11px;
	font-weight:600;
	letter-spacing:0.02em;
	background:rgba(255,255,255,0.94);
	color:var(--color-two);
	border-radius:var(--remax-radius-xs);
}

/* Contenido en cuadrícula: precio a la izquierda, contacto a la derecha. */
.inmovilla-property-card .inmovilla-property-card__content{
	display:grid;
	grid-template-columns:1fr auto;
	align-content:start;
	flex:1 1 auto;
	padding:18px 20px 16px;
}

.inmovilla-property-card .inmovilla-property-card__content > *{
	grid-column:1 / -1;
}

.inmovilla-property-card .inmovilla-property-card__location{
	min-height:0;
	margin:0;
	font-size:13px;
	line-height:1.4;
	color:rgba(0,14,53,0.6);
}

.inmovilla-property-card .inmovilla-property-card__location .inmovilla-pf-icon{
	display:none;
}

.inmovilla-property-card .inmovilla-property-card__location-text{
	-webkit-line-clamp:1;
	line-height:1.4;
}

.inmovilla-property-card .inmovilla-property-card__heading:not(#x){
	margin:8px 0 0;
	min-height:calc(1.35em * 2);
	-webkit-line-clamp:2;
	font-size:17px;
	font-weight:600;
	line-height:1.35;
	letter-spacing:-0.005em;
}

.inmovilla-property-card .inmovilla-property-card__heading a{
	color:var(--color-two);
}

.inmovilla-property-card .inmovilla-property-card__ref{
	margin:6px 0 0;
	font-size:12px;
	color:rgba(0,14,53,0.5);
}

/* Datos clave: una línea de texto separada por puntos, sin iconos. */
.inmovilla-property-card .inmovilla-property-card__info{
	display:flex;
	flex-wrap:wrap;
	gap:2px 0;
	margin:14px 0 0;
	padding:14px 0 0;
	border-top:1px solid rgba(0,14,53,0.08);
	list-style:none;
	font-size:13.5px;
	color:rgba(0,14,53,0.78);
}

.inmovilla-property-card .inmovilla-property-card__info li{
	display:inline-flex;
	align-items:center;
	margin:0;
	padding:0;
	border:0;
	white-space:nowrap;
}

.inmovilla-property-card .inmovilla-property-card__info li + li::before{
	content:'·';
	margin:0 9px;
	color:rgba(0,14,53,0.35);
}

.inmovilla-property-card .inmovilla-property-card__info .inmovilla-pf-icon,
.inmovilla-property-card .inmovilla-property-card__info .inmovilla-icon{
	display:none;
}

/* Precio. */
.inmovilla-property-card .inmovilla-property-card__bottom{
	display:contents;
}

.inmovilla-property-card .inmovilla-property-card__price{
	grid-column:1;
	align-self:center;
	margin:16px 0 0;
	font-size:22px;
	font-weight:700;
	line-height:1.2;
	letter-spacing:-0.015em;
	color:var(--color-two);
}

/* Compartir y favorito: sobre la foto, arriba a la derecha. */
.inmovilla-property-card .inmovilla-property-card__actions{
	position:absolute;
	top:12px;
	right:12px;
	z-index:3;
	display:flex;
	gap:8px;
	margin:0;
}

.inmovilla-property-card .inmovilla-property-card__actions .inmovilla-property-card__heart{
	width:36px;
	height:36px;
	padding:0;
	background:rgba(255,255,255,0.94);
	border:0;
	border-radius:50%;
	box-shadow:0 2px 8px rgba(0,14,53,0.18);
}

.inmovilla-property-card .inmovilla-property-card__actions .inmovilla-share-btn{
	color:var(--color-two);
}

.inmovilla-property-card .inmovilla-property-card__actions .inmovilla-property-card__heart .inmovilla-icon svg{
	width:17px;
	height:17px;
}

/* Contacto: iconos finos junto al precio. */
.inmovilla-property-card .inmovilla-property-card__contact-actions{
	grid-column:2;
	align-self:center;
	display:flex;
	gap:6px;
	margin:16px 0 0;
}

.inmovilla-property-card .inmovilla-property-card__contact-btn{
	width:36px;
	height:36px;
	padding:0;
	color:var(--color-two);
	background:transparent;
	border:1px solid rgba(0,14,53,0.18);
	border-radius:var(--remax-radius-sm);
}

/* El fondo NO cambia de golpe: lo pone el relleno deslizante (::before) con la misma animación que la cabecera. */
.inmovilla-property-card .inmovilla-property-card__contact-btn:hover,
.inmovilla-property-card .inmovilla-property-card__contact-btn:focus{
	color:#fff;
	background:transparent;
	border-color:var(--main-color);
}

.inmovilla-property-card .inmovilla-property-card__contact-btn .inmovilla-icon svg{
	width:16px;
	height:16px;
}

/* Las acciones de la foto se anclan a la tarjeta, no al bloque de contenido. */
.inmovilla-property-card .inmovilla-property-card__content{
	position:static;
}

.inmovilla-property-card .inmovilla-property-card__image{
	height:auto;
	aspect-ratio:4 / 3;
	overflow:hidden;
}

.inmovilla-property-card .inmovilla-property-card__image > a{
	display:block;
	height:100%;
}

.inmovilla-property-card .inmovilla-property-card__image img{
	height:100%;
}

/* ==========================================================================
 * Tarjeta de propiedad: datos clave sin saltos raros y línea divisoria con aire.
 * ========================================================================== */
.inmovilla-property-card .inmovilla-property-card__info{
	flex-wrap:nowrap;
	margin:12px 0 0;
	padding:0 0 14px;
	border-top:0;
	border-bottom:1px solid rgba(0,14,53,0.1);
	font-size:13px;
	overflow:hidden;
}

.inmovilla-property-card .inmovilla-property-card__info li{
	min-width:0;
}

.inmovilla-property-card .inmovilla-property-card__info li + li::before{
	margin:0 8px;
}

.inmovilla-property-card .inmovilla-property-card__price,
.inmovilla-property-card .inmovilla-property-card__contact-actions{
	margin-top:16px;
}

/* ==========================================================================
 * Mi cuenta (acceso / registro): fondo con foto desenfocada y tarjeta en dos paneles, como la referencia.
 * Panel izquierdo blanco con el mensaje y las ventajas; panel derecho en crema de marca con el formulario.
 * ========================================================================== */
body:has(.inmovilla-account__auth) .page-title{
	display:none;
}

/* Cabecera sólida sobre este fondo claro (la transparente con logo blanco no se leería). */
@media (min-width:768px){
	body:has(.inmovilla-account__auth) .main-header:not(.fixed-header){
		position:relative !important;
		background:#fff !important;
	}

	body:has(.inmovilla-account__auth) .main-header:not(.fixed-header) .header-lower .logo-box .logo > a:first-child{
		display:inline-block;
	}

	body:has(.inmovilla-account__auth) .main-header:not(.fixed-header) .header-lower .logo-box .logo .logo-white-swap{
		display:none;
	}
}

body:has(.inmovilla-account__auth) .inmovilla-account{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	padding:56px 20px 80px;
	min-height:calc(100vh - 112px);
	background:#dfe6ee;
}

body:has(.inmovilla-account__auth) .inmovilla-account::before{
	content:'';
	position:absolute;
	inset:-24px;
	z-index:-2;
	background:url("/wp-content/uploads/2022/09/ibiza-ciudad-300x164-1024x559-1.jpg") center / cover no-repeat;
	filter:blur(1.5px) saturate(1.05);
	transform:scale(1.02);
}

body:has(.inmovilla-account__auth) .inmovilla-account::after{
	content:'';
	position:absolute;
	inset:0;
	z-index:-1;
	background:linear-gradient(180deg, rgba(0,14,53,0.10) 0%, rgba(0,14,53,0.18) 100%);
}

body:has(.inmovilla-account__auth) .inmovilla-account .inmovilla-container{
	padding:0;
}

.inmovilla-account__card--split{
	display:grid;
	grid-template-columns:1fr 1fr;
	width:100%;
	max-width:940px;
	padding:0;
	overflow:hidden;
	background:#fff;
	border:0;
	border-radius:var(--remax-radius);
	box-shadow:0 30px 80px rgba(0,14,53,0.28);
}

.inmovilla-account__aside{
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:48px 44px;
	background:#fff;
}

.inmovilla-account__aside-title{
	margin:0 0 14px;
	font-size:clamp(1.5rem, 1.1rem + 1vw, 1.9rem);
	line-height:1.2;
	font-weight:700;
	color:var(--color-two);
}

.inmovilla-account__aside-text{
	margin:0 0 24px;
	font-size:15px;
	line-height:1.7;
	color:rgba(0,14,53,0.75);
}

.inmovilla-account__aside-list{
	margin:0;
	padding:0;
	list-style:none;
}

.inmovilla-account__aside-list li{
	position:relative;
	margin:0 0 14px;
	padding-left:30px;
	font-size:14.5px;
	line-height:1.55;
	color:var(--color-two);
}

.inmovilla-account__aside-list li::before{
	content:'';
	position:absolute;
	left:0;
	top:1px;
	width:18px;
	height:18px;
	border:1.5px solid var(--color-two);
	border-radius:50%;
}

.inmovilla-account__aside-list li::after{
	content:'';
	position:absolute;
	left:6px;
	top:6px;
	width:4px;
	height:8px;
	border:solid var(--color-two);
	border-width:0 1.5px 1.5px 0;
	transform:rotate(45deg);
}

.inmovilla-account__main{
	padding:44px 44px 40px;
	background:#F7F5EE;
}

.inmovilla-account__main .inmovilla-account__tabs{
	margin-bottom:24px;
}

/* La lista de ventajas del registro pasa al panel izquierdo. */
.inmovilla-account__main .inmovilla-account__benefits{
	display:none;
}

.inmovilla-account__main .inmovilla-popup-form__field input[type="email"],
.inmovilla-account__main .inmovilla-popup-form__field input[type="text"],
.inmovilla-account__main .inmovilla-popup-form__field input[type="tel"],
.inmovilla-account__main .inmovilla-popup-form__field input[type="password"]{
	background:#fff;
	border:1px solid rgba(0,14,53,0.4);
	border-radius:var(--remax-radius-xs);
}

@media (max-width:767px){
	body:has(.inmovilla-account__auth) .inmovilla-account{
		padding:24px 14px 48px;
		min-height:0;
	}

	.inmovilla-account__card--split{
		grid-template-columns:1fr;
	}

	.inmovilla-account__aside{
		padding:26px 22px 8px;
	}

	.inmovilla-account__aside-text{
		margin-bottom:0;
		font-size:14px;
	}

	.inmovilla-account__aside-list{
		display:none;
	}

	.inmovilla-account__main{
		padding:22px 22px 28px;
		background:#fff;
	}
}

/* Cambio de pestaña sin recarga: el panel entra con un fundido suave. */
.inmovilla-account__panel[hidden]{
	display:none;
}

.inmovilla-account__panel:not([hidden]){
	animation:remax-panel-in 0.28s ease;
}

@keyframes remax-panel-in{
	from{ opacity:0; transform:translateY(6px); }
	to{ opacity:1; transform:none; }
}

@media (prefers-reduced-motion:reduce){
	.inmovilla-account__panel:not([hidden]){
		animation:none;
	}
}

/* Ficha: la galería arranca en el mismo borde izquierdo que el título "Galería" (sin el relleno lateral de 15px). */
.inmovilla-property-detail__gallery{
	padding-left:0;
	padding-right:0;
}

/* Icono de cuenta con sesión iniciada: el puntito pasa a rojo de marca al pasar el cursor. */
.account-btn.is-logged-in::after{
	transition:background-color 0.2s ease;
}

.account-btn.is-logged-in:hover::after,
.account-btn.is-logged-in:focus-visible::after{
	background:#FF1200;
}

/* El puntito va por encima del relleno que aparece al pasar el cursor (antes quedaba tapado). */
.account-btn.is-logged-in::after{
	z-index:5;
}

/* ==========================================================================
 * Inicio en móvil: menos scroll. Rejillas largas pasan a carrusel horizontal y se compactan los bloques altos.
 * ========================================================================== */
/* La etiqueta "// Contacta con nosotros" va sobre fondo azul oscuro: color claro de marca. */
.contact-one_content-column .sec-title_title{
	color:#A3D4F2;
}

@media (max-width:767px){
	/* Carruseles móviles (Swiper + mismos puntos que el carrusel de ciudades): script "remax-mobile-carousels" en functions.php. */
	.remax-m-carousel{
		position:relative;
		overflow:hidden;
		margin:0;
	}

	.remax-m-carousel > .swiper-wrapper{
		flex-wrap:nowrap;
		margin:0;
		padding:0;
	}

	.remax-m-carousel > .swiper-wrapper::before,
	.remax-m-carousel > .swiper-wrapper::after{
		display:none;
	}

	.remax-m-carousel > .swiper-wrapper > .swiper-slide{
		flex-shrink:0;
		max-width:none;
		margin-bottom:0;
		padding:0;
		height:auto;
	}

	.remax-m-pagination{
		position:relative;
		margin-top:22px;
		text-align:center;
		line-height:1;
	}

	/* Contacto: bloque de pasos compacto y formulario más corto. */
	.contact-one_content-outer .sec-title_text{
		margin-top:12px;
	}

	.contact-one_content-outer > .row{
		margin:16px 0 0;
	}

	.contact-block_one{
		width:100%;
		margin:0 0 10px;
		padding:0;
	}

	.contact-block_one-inner{
		display:grid;
		grid-template-columns:40px 1fr;
		column-gap:12px;
		align-items:start;
		padding:0;
	}

	.contact-block_one-number{
		grid-row:1 / span 2;
		width:40px;
		height:40px;
		margin:0;
		font-size:15px;
	}

	.contact-block_one-heading{
		margin:0 0 2px;
		font-size:16px;
	}

	.contact-block_one-text{
		margin:0;
		font-size:14px;
		line-height:1.45;
	}

	.contact-one_form-outer{
		padding:20px 18px;
	}

	.contact-one .contact-form .form-group{
		margin-bottom:12px;
	}

	.contact-one .contact-form textarea{
		height:96px;
		min-height:96px;
	}
}

@media (max-width:767px){
	/* Márgenes verticales de sección más ajustados. */
	.story-one,
	.contact-one{
		padding-top:44px;
		padding-bottom:36px;
	}

	.blog-one{
		padding-top:44px;
		padding-bottom:48px;
	}

	.inmovilla-service,
	.inmovilla-cities,
	.inmovilla-property-grid,
	.inmovilla-team-carousel,
	.inmovilla-testimonials-carousel{
		padding-top:36px;
		padding-bottom:36px;
	}

	/* Sobre nosotros: imagen más baja y puntos en fila compacta. */
	.story-one_image-column{
		margin-bottom:20px;
	}

	.story-one_image,
	.story-one_image img{
		height:240px;
		object-fit:cover;
	}

	.story-one_content-column .sec-title{
		margin-bottom:18px;
	}

	.story-block_one{
		margin-bottom:18px;
	}

	/* El icono va en posición absoluta (diseño original): se reduce y el texto se acerca. */
	.story-block_one-inner{
		min-height:64px;
		padding-left:76px;
	}

	.story-block_one-icon{
		transform:scale(0.72);
		transform-origin:left top;
	}

	.story-block_one-heading{
		margin:0 0 4px;
		font-size:18px;
	}

	.story-block_one-text{
		margin:0;
		font-size:15px;
		line-height:1.55;
	}

	/* Formulario de contacto: los cuatro primeros campos en dos columnas. */
	.contact-one .contact-form{
		display:grid;
		grid-template-columns:1fr 1fr;
		column-gap:10px;
	}

	.contact-one .contact-form > .form-group{
		grid-column:1 / -1;
	}

	.contact-one .contact-form > .form-group:nth-child(-n+4){
		grid-column:auto;
	}

	.contact-one .contact-form > .form-group:nth-child(-n+4) input{
		min-width:0;
	}

	/* Opiniones: texto recortado con botón "Leer más" (lo añade el script remax-mobile-carousels). */
	.inmovilla-testimonials-carousel__text.remax-clamp{
		display:-webkit-box;
		-webkit-box-orient:vertical;
		-webkit-line-clamp:5;
		overflow:hidden;
	}

	.remax-readmore{
		margin:10px 0 0;
		padding:0 0 2px;
		font:600 15px/1.2 var(--remax-font, 'Montserrat', sans-serif);
		color:#0C2749;
		background:none;
		border:0;
		border-bottom:1px solid #0C2749;
		border-radius:0;
		cursor:pointer;
	}
}

/* Puntos de paginación de los carruseles móviles: idénticos a los del carrusel de ciudades (reutilizados, no nuevos). */
.remax-m-pagination .swiper-pagination-bullet{
	position:relative;
	width:10px;
	height:10px;
	margin:0 10px !important;
	opacity:1;
	border:2px solid transparent;
	border-radius:50px;
	background-color:#363b3d;
	transition:all 0.3s ease;
}

.remax-m-pagination .swiper-pagination-bullet::before{
	content:'';
	position:absolute;
	left:-8px;
	top:-8px;
	right:-8px;
	bottom:-8px;
	opacity:0;
	border-radius:50px;
	border:1px solid #363b3d;
	transition:all 0.3s ease;
}

.remax-m-pagination .swiper-pagination-bullet-active{
	background-color:#0C2749;
}

.remax-m-pagination .swiper-pagination-bullet-active::before{
	opacity:1;
	border-color:#0C2749;
}

@media (max-width:767px){
	/* Noticias: el contenedor trae 20 px de relleno; el carrusel los compensa para alinearse con el título. */
	.blog-one .remax-m-carousel{
		margin-left:-20px;
		margin-right:-20px;
	}
}

@media (max-width:767px){
	.inmovilla-testimonials-carousel__text{
		font-size:16px;
		line-height:1.65;
	}
}

@media (max-width:767px){
	/* Carruseles móviles: sin el "gap" de la rejilla original (sumado al espacio de Swiper desplazaba cada tarjeta 20 px). */
	.remax-m-carousel > .swiper-wrapper{
		gap:0;
		column-gap:0;
	}

	/* "50+ años de experiencia": imagen a todo el ancho y centrada. */
	.story-one_image-column{
		display:block;
		width:100%;
	}

	.story-one_image-outer,
	.story-one_image{
		width:100%;
		max-width:none;
		margin-left:auto;
		margin-right:auto;
	}

	.story-one_image img{
		display:block;
		width:100%;
		height:300px;
		object-fit:cover;
		object-position:center;
	}

	/* Al abrir el menú hamburguesa, la barra inferior se oculta con animación. */
	html body.mobile-menu-visible .remax-bottom-nav{
		transform:translateY(calc(100% + 2px)) !important;
		pointer-events:none;
	}
}

@media (max-width:767px){
	/* La caja de la imagen ya no la recorta a 240 px: crece con la imagen (300 px). */
	.story-one_image{
		height:auto;
	}
}

/* Verificación de Cloudflare: nunca más ancha que el formulario. */
.inmovilla-turnstile{
	max-width:100%;
}

/* ==========================================================================
 * Buscador de propiedades (archivo): los filtros pasan a un panel desplegable; lo primero que se ve son las propiedades.
 * Escritorio: panel que se despliega bajo la barra de resultados. Móvil: hoja inferior (como el buscador del inicio).
 * Todo cuelga de .remax-filters-ready, que añade el script "remax-filters-panel": sin JS se ve el formulario de siempre.
 * ========================================================================== */
.inmovilla-container.remax-filters-ready{
	display:flex;
	flex-direction:column;
}

.remax-filters-ready > .inmovilla-results-bar{
	order:1;
	display:flex;
	align-items:center;
	gap:14px;
	flex-wrap:wrap;
}

.remax-filters-ready > form.inmovilla-filters{ order:2; }
.remax-filters-ready > .inmovilla-grid{ order:3; }
.remax-filters-ready > .inmovilla-pagination{ order:4; }

.remax-filters-ready .inmovilla-results-count{
	margin:0;
	flex:1 1 auto;
}

.remax-filters-toggle{
	display:inline-flex;
	align-items:center;
	gap:9px;
	height:42px;
	padding:0 16px;
	font:600 15px/1 var(--remax-font, 'Montserrat', sans-serif);
	color:#0C2749;
	background:#fff;
	border:1px solid rgba(0,14,53,0.28);
	border-radius:3px;
	cursor:pointer;
	transition:background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.remax-filters-toggle:hover,
.remax-filters-toggle[aria-expanded="true"]{
	color:#fff;
	background:#0C2749;
	border-color:#0C2749;
}

.remax-filters-toggle svg{
	width:18px;
	height:18px;
	flex:0 0 auto;
}

.remax-filters-toggle__count{
	min-width:20px;
	height:20px;
	padding:0 6px;
	font-size:12px;
	line-height:20px;
	text-align:center;
	color:#fff;
	background:#0C2749;
	border-radius:10px;
}

.remax-filters-toggle:hover .remax-filters-toggle__count,
.remax-filters-toggle[aria-expanded="true"] .remax-filters-toggle__count{
	color:#0C2749;
	background:#fff;
}

.remax-filters-toggle__count[hidden]{
	display:none;
}

/* Los filtros adicionales ya no necesitan su propio botón: van siempre dentro del panel. */
.remax-filters-ready .inmovilla-advanced-toggle{
	display:none;
}

.remax-filters-panel-head,
.remax-filters-backdrop{
	display:none;
}

@media (max-width:1099px){
	.remax-filters-ready > .inmovilla-results-bar{
		gap:10px;
	}

	.remax-filters-toggle{
		order:-1;
	}

	.remax-filters-ready .inmovilla-results-count{
		flex:1 1 100%;
		order:3;
	}

	.remax-filters-ready .inmovilla-sort{
		margin-left:auto;
	}

	.remax-filters-ready > form.inmovilla-filters{
		position:fixed;
		left:0;
		right:0;
		bottom:0;
		z-index:100001;
		max-height:86vh;
		margin:0;
		padding:0 18px calc(18px + env(safe-area-inset-bottom, 0px));
		overflow-y:auto;
		background:#fff;
		border-radius:12px 12px 0 0;
		box-shadow:0 -12px 40px rgba(0,14,53,0.22);
		transform:translateY(104%);
		transition:transform 0.38s cubic-bezier(0.22, 0.8, 0.3, 1), visibility 0s linear 0.38s;
		visibility:hidden;
	}

	.remax-filters-ready.remax-filters-open > form.inmovilla-filters{
		transform:translateY(0);
		visibility:visible;
		transition:transform 0.38s cubic-bezier(0.22, 0.8, 0.3, 1), visibility 0s;
	}

	.remax-filters-panel-head{
		position:sticky;
		top:0;
		z-index:2;
		display:flex;
		align-items:center;
		justify-content:space-between;
		margin:0 -18px 14px;
		padding:16px 18px 12px;
		background:#fff;
		border-bottom:1px solid rgba(0,14,53,0.1);
		font-weight:700;
		font-size:18px;
		color:#000E35;
	}

	.remax-filters-close{
		width:36px;
		height:36px;
		font-size:24px;
		line-height:1;
		color:#0C2749;
		background:#F7F5EE;
		border:0;
		border-radius:3px;
		cursor:pointer;
	}

	.remax-filters-backdrop{
		position:fixed;
		inset:0;
		z-index:100000;
		display:block;
		background:rgba(0,14,53,0.45);
		opacity:0;
		pointer-events:none;
		transition:opacity 0.3s ease;
	}

	.remax-filters-open .remax-filters-backdrop{
		opacity:1;
		pointer-events:auto;
	}

	html.remax-filters-lock,
	html.remax-filters-lock body{
		overflow:hidden;
	}
}

/* El submenú también se abre al pasar el cursor (regla del CSS adicional): sin esto quedaba el hueco con los enlaces transparentes. */
.main-footer .widget_nav_menu li.menu-item-has-children:hover > .sub-menu{
	opacity:1;
}

/* Filtrado sin recarga: el listado se atenúa mientras llega el resultado nuevo. */
.remax-filters-ready.remax-filters-loading > .inmovilla-grid,
.remax-filters-ready.remax-filters-loading > .inmovilla-pagination,
.remax-filters-ready.remax-filters-loading > .inmovilla-results-bar .inmovilla-results-count{
	opacity:0.4;
	pointer-events:none;
	transition:opacity 0.2s ease;
}

.remax-filters-ready > .inmovilla-grid,
.remax-filters-ready > .inmovilla-pagination{
	transition:opacity 0.25s ease;
}

/* ==========================================================================
 * Panel de filtros v2: secciones con título, píldoras, tipos con icono, rango de precio y botón con recuento en vivo.
 * Se activa con .remax-ui-v2 (lo pone el script remax-filters-panel).
 * ========================================================================== */
.remax-ui-v2 > form.inmovilla-filters{
	background:#fff;
	border:1px solid rgba(0,14,53,0.12);
	border-radius:4px;
	box-shadow:0 18px 40px -24px rgba(0,14,53,0.35);
}

.remax-ui-v2 .inmovilla-filters__row--primary,
.remax-ui-v2 .inmovilla-advanced-filters,
.remax-ui-v2 .inmovilla-advanced-toggle{
	display:none !important;
}

.remax-fgrid{
	display:grid;
	grid-template-columns:repeat(12, minmax(0, 1fr));
	gap:22px 28px;
	padding:4px 0 0;
}

.remax-fsec{
	min-width:0;
}

.remax-fsec--op{ grid-column:span 6; }
.remax-fsec--type{ grid-column:span 6; }
.remax-fsec--city{ grid-column:span 12; }
.remax-fsec--area{ grid-column:span 6; }
.remax-fsec--price{ grid-column:span 6; }
.remax-fsec--rooms,
.remax-fsec--baths{ grid-column:span 6; }
.remax-fsec--extras{ grid-column:span 12; }

.remax-fsec--area > .remax-field-title{ grid-column:1 / -1; margin-bottom:0; }

.remax-field-title{
	display:block;
	margin:0 0 10px;
	font-weight:700;
	font-size:13px;
	letter-spacing:0.01em;
	color:#000E35;
}

/* Píldoras */
.remax-pills{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}

.remax-pill{
	min-height:40px;
	padding:0 16px;
	font:500 14px/1 var(--remax-font, 'Montserrat', sans-serif);
	color:#0C2749;
	background:#fff;
	border:1px solid rgba(0,14,53,0.22);
	border-radius:3px;
	cursor:pointer;
	transition:background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.remax-pill:hover:not(:disabled):not(.is-on){
	border-color:#0C2749;
	background:#F7F5EE;
}

.remax-pill.is-on{
	color:#fff;
	background:#0C2749;
	border-color:#0C2749;
}

.remax-pill:disabled{
	opacity:0.35;
	cursor:not-allowed;
	text-decoration:line-through;
}

.remax-pills--seg{
	gap:0;
	flex-wrap:nowrap;
}

.remax-pills--seg .remax-pill{
	flex:1 1 0;
	min-width:0;
	padding:0 8px;
	border-radius:0;
	margin-left:-1px;
}

.remax-pills--seg .remax-pill:first-child{ margin-left:0; border-radius:3px 0 0 3px; }
.remax-pills--seg .remax-pill:last-child{ border-radius:0 3px 3px 0; }
.remax-pills--seg .remax-pill.is-on{ position:relative; z-index:1; }

/* Tipos de propiedad con icono */
.remax-fsec--type .inmovilla-type-buttons{
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:10px;
	margin:0;
}

.remax-fsec--type .inmovilla-type-button{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:6px;
	height:auto;
	min-height:68px;
	padding:10px 6px;
	font-size:13px;
	font-weight:600;
	color:#0C2749;
	background:#fff;
	border:1px solid rgba(0,14,53,0.22);
	border-radius:3px;
	box-shadow:none;
}

.remax-fsec--type .inmovilla-type-button svg{
	width:24px;
	height:24px;
}

.remax-fsec--type .inmovilla-type-button:hover{
	background:#F7F5EE;
	border-color:#0C2749;
}

.remax-fsec--type .inmovilla-type-button.is-active{
	color:#fff;
	background:#0C2749;
	border-color:#0C2749;
}

/* Campos de texto y selects: sin etiquetas flotantes, misma altura que las píldoras */
.remax-ui-v2 .remax-fsec .inmovilla-field{
	margin:0;
	padding:0;
}

.remax-ui-v2 .remax-fsec select,
.remax-ui-v2 .remax-fsec input[type="text"]{
	width:100%;
	height:44px;
	font-size:14px;
	color:#0C2749;
	background-color:#fff;
	border:1px solid rgba(0,14,53,0.22);
	border-radius:3px;
}

.remax-range{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
}

.remax-range .inmovilla-field{
	min-width:0;
}

/* Extras como etiquetas seleccionables */
.remax-fsec--extras .inmovilla-filters__amenities{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:0;
	padding:0;
}

.remax-fsec--extras .inmovilla-checkbox{
	position:relative;
	display:inline-flex;
	align-items:center;
	min-height:40px;
	margin:0;
	padding:0 16px;
	font-size:14px;
	font-weight:500;
	color:#0C2749;
	background:#fff;
	border:1px solid rgba(0,14,53,0.22);
	border-radius:3px;
	cursor:pointer;
	transition:background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.remax-fsec--extras .inmovilla-checkbox input{
	position:absolute;
	opacity:0;
	pointer-events:none;
}

.remax-fsec--extras .inmovilla-checkbox:hover{
	border-color:#0C2749;
	background:#F7F5EE;
}

.remax-fsec--extras .inmovilla-checkbox:has(input:checked){
	color:#fff;
	background:#0C2749;
	border-color:#0C2749;
}

.remax-fsec--extras .inmovilla-checkbox:has(input:focus-visible){
	outline:2px solid #0043FF;
	outline-offset:2px;
}

/* Barra de acciones */
.remax-ui-v2 .inmovilla-filters__actions{
	position:sticky;
	bottom:0;
	z-index:3;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:12px;
	margin:22px -24px -24px;
	padding:14px 24px;
	background:#F7F5EE;
	border-top:1px solid rgba(0,14,53,0.1);
	border-radius:0 0 4px 4px;
}

.remax-ui-v2 .remax-clear-btn{
	margin-right:auto;
	min-height:0;
	padding:0;
	font-weight:600;
	font-size:14px;
	color:#0C2749;
	background:none;
	border:0;
	border-bottom:1px solid #0C2749;
	border-radius:0;
	height:auto;
}

.remax-ui-v2 .remax-show-btn{
	min-width:220px;
	height:46px;
	font-weight:700;
	font-size:15px;
	color:#fff;
	background:#0C2749;
	border:0;
	border-radius:3px;
	cursor:pointer;
	transition:background-color 0.2s ease, opacity 0.2s ease;
}

.remax-ui-v2 .remax-show-btn:hover{
	background:#000E35;
}

.remax-ui-v2 .remax-show-btn.is-empty{
	opacity:0.55;
}

@media (max-width:1099px){
	.remax-ui-v2 > form.inmovilla-filters{
		border:0;
		border-radius:12px 12px 0 0;
	}

	.remax-fgrid{
		grid-template-columns:1fr;
		gap:20px;
	}

	.remax-fsec--op,
	.remax-fsec--type,
	.remax-fsec--city,
	.remax-fsec--area,
	.remax-fsec--price,
	.remax-fsec--rooms,
	.remax-fsec--baths,
	.remax-fsec--extras{
		grid-column:1 / -1;
	}

	.remax-fsec--area{
		grid-template-columns:1fr;
	}

	.remax-fsec--type .inmovilla-type-buttons{
		grid-template-columns:repeat(4, minmax(0, 1fr));
		gap:8px;
	}

	.remax-fsec--type .inmovilla-type-button{
		min-height:64px;
		font-size:12px;
	}

	.remax-ui-v2 .inmovilla-filters__actions{
		margin:18px -18px 0;
		padding:12px 18px calc(12px + env(safe-area-inset-bottom, 0px));
		border-radius:0;
	}

	.remax-ui-v2 .remax-show-btn{
		flex:1 1 auto;
		min-width:0;
	}
}

@media (max-width:1099px){
	/* La barra "Ver N propiedades" se pega al borde inferior de la hoja (sin hueco por debajo). */
	.remax-filters-ready.remax-ui-v2 > form.inmovilla-filters{
		padding-bottom:0;
	}
}

/* ==========================================================================
 * Filtros en barra lateral (escritorio ≥1100px): secciones plegables, resultados que se actualizan solos.
 * Por debajo de 1100px se mantiene la hoja inferior.
 * ========================================================================== */
.remax-field-title--btn{
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:100%;
	margin:0;
	padding:0;
	text-align:left;
	background:none;
	border:0;
	cursor:pointer;
}

.remax-field-title--btn i{
	width:8px;
	height:8px;
	margin:-3px 4px 0 12px;
	border-right:2px solid #0C2749;
	border-bottom:2px solid #0C2749;
	transform:rotate(45deg);
	transition:transform 0.25s ease;
	flex:0 0 auto;
}

.remax-fsec.is-collapsed > .remax-field-title--btn i{
	transform:rotate(-45deg);
	margin-top:0;
}

.remax-fsec > .remax-field-title--btn{
	margin-bottom:0;
}

/* Plegado: la altura la anima jQuery slideDown/slideUp (500 ms, igual que el menú desplegable móvil). */
.remax-fsec__body{
	display:block;
	padding-top:12px; /* jQuery lo anima junto con la altura: el título no salta al plegar */
}

.remax-fsec--area .remax-fsec__inner{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px;
	align-content:start;
}

@media (min-width:1100px){
	.inmovilla-container.remax-filters-ready{
		display:grid;
		grid-template-columns:300px minmax(0, 1fr);
		column-gap:32px;
		align-items:start;
		transition:grid-template-columns 0.45s cubic-bezier(0.4, 0, 0.2, 1), column-gap 0.45s cubic-bezier(0.4, 0, 0.2, 1);
	}

	.inmovilla-container.remax-filters-ready.remax-side-closed{
		grid-template-columns:0 minmax(0, 1fr);
		column-gap:0;
	}

	.remax-filters-ready > .inmovilla-results-bar{ grid-column:2; grid-row:1; }
	.remax-filters-ready > .inmovilla-grid{ grid-column:2; grid-row:2; }
	.remax-filters-ready > .inmovilla-pagination{ grid-column:2; grid-row:3; }
	.remax-filters-ready > .inmovilla-agent-filter{ grid-column:1 / -1; }

	/* Columnas automáticas: al abrir/cerrar la barra las tarjetas se reacomodan con el ancho. */
	.remax-filters-ready > .inmovilla-grid{
		grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
	}

	.remax-filters-ready > form.inmovilla-filters{
		grid-column:1;
		grid-row:1 / span 3;
		position:sticky;
		top:96px;
		z-index:2;
		max-height:calc(100vh - 120px);
		margin:0;
		padding:0 20px;
		overflow-y:auto;
		overscroll-behavior:contain;
		scrollbar-width:thin;
	}

	.remax-filters-ready > form.inmovilla-filters{
		width:300px;
		justify-self:start;
		transition:opacity 0.3s ease 0.1s, transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
	}

	.remax-filters-ready.remax-side-closed > form.inmovilla-filters{
		opacity:0;
		transform:translateX(-28px);
		visibility:hidden;
		pointer-events:none;
		transition:opacity 0.2s ease, transform 0.45s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s linear 0.45s;
	}

	/* Barra lateral: una columna, secciones separadas por una línea fina. */
	.remax-ui-v2 .remax-fgrid{
		grid-template-columns:1fr;
		gap:0;
		padding:0;
	}

	.remax-ui-v2 .remax-fsec,
	.remax-ui-v2 .remax-fsec--op,
	.remax-ui-v2 .remax-fsec--type,
	.remax-ui-v2 .remax-fsec--city,
	.remax-ui-v2 .remax-fsec--area,
	.remax-ui-v2 .remax-fsec--price,
	.remax-ui-v2 .remax-fsec--rooms,
	.remax-ui-v2 .remax-fsec--baths,
	.remax-ui-v2 .remax-fsec--extras{
		grid-column:1 / -1;
		padding:18px 0;
		border-bottom:1px solid rgba(0,14,53,0.09);
	}

	.remax-ui-v2 .remax-fsec--area{
		display:block;
	}

	.remax-ui-v2 .remax-fsec--area .remax-fsec__inner{
		grid-template-columns:1fr;
		gap:10px;
	}

	.remax-ui-v2 .remax-fsec--extras{
		border-bottom:0;
	}

	.remax-ui-v2 .remax-pill{
		min-height:34px;
		padding:0 12px;
		font-size:13px;
	}

	.remax-ui-v2 .remax-fsec--extras .inmovilla-checkbox{
		min-height:34px;
		padding:0 12px;
		font-size:13px;
	}

	.remax-fsec--type .inmovilla-type-buttons{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}

	.remax-fsec--type .inmovilla-type-button{
		flex-direction:row;
		justify-content:flex-start;
		gap:10px;
		min-height:44px;
		padding:0 12px;
	}

	.remax-fsec--type .inmovilla-type-button svg{
		width:20px;
		height:20px;
	}

	/* Los resultados se actualizan solos: sin botón "Ver N propiedades"; queda "Limpiar" pegado abajo. */
	.remax-ui-v2 .remax-show-btn{
		display:none;
	}

	.remax-ui-v2 .inmovilla-filters__actions{
		position:sticky;
		bottom:0;
		margin:0 -20px;
		padding:12px 20px;
		justify-content:flex-start;
		border-radius:0 0 4px 4px;
	}

	.remax-ui-v2 .remax-clear-btn{
		margin-right:0;
	}

	.remax-filters-panel-head{
		display:none;
	}
}

@media (min-width:1100px){
	.remax-ui-v2 .inmovilla-filters__actions:has(.remax-clear-btn[style*="none"]){
		display:none;
	}

	.remax-ui-v2 > form.inmovilla-filters{
		box-shadow:0 10px 30px -22px rgba(0,14,53,0.3);
	}
}

@media (min-width:1100px){
	.remax-fsec--type .inmovilla-type-buttons{
		gap:8px;
	}

	.remax-fsec--type .inmovilla-type-button{
		gap:8px;
		padding:0 10px;
		font-size:12.5px;
		white-space:nowrap;
	}
}

@media (max-width:1099px){
	.remax-fsec--area .remax-fsec__inner{
		grid-template-columns:1fr;
	}
}

/* Botón Filtros: pulsación con respuesta y fondo que cambia suave. */
.remax-filters-toggle{
	transition:background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.12s ease;
}

.remax-filters-toggle:active{
	transform:scale(0.96);
}

.remax-filters-toggle svg{
	transition:transform 0.35s ease;
}

.remax-filters-toggle[aria-expanded="true"] svg{
	transform:rotate(90deg);
}

@media (prefers-reduced-motion:reduce){
	.inmovilla-container.remax-filters-ready,
	.remax-filters-ready > form.inmovilla-filters,
	.remax-field-title--btn i{
		transition:none !important;
	}
}

/* Barra lateral a toda la altura, sin scroll propio: se desplaza con la página como en los portales inmobiliarios. */
@media (min-width:1100px){
	.remax-filters-ready > form.inmovilla-filters{
		position:static;
		max-height:none;
		overflow:visible;
	}

	.remax-ui-v2 .inmovilla-filters__actions{
		position:static;
	}
}

/* Título del banner del buscador (h1 para SEO) idéntico al h2 del resto de banners: blanco. */
.page-title h1{
	position:relative;
	z-index:1;
	margin:0;
	font-size:36px;
	font-weight:700;
	line-height:1.2;
	text-transform:none;
	color:#fff;
}

@media (max-width:767px){
	.page-title h1{
		font-size:28px;
	}
}

/* Icono de los tipos: nunca se encoge. */
.remax-fsec--type .inmovilla-type-button svg{
	flex:0 0 auto;
	min-width:20px;
}

/* Barra lateral: bloques ordenados y simétricos (rejillas de dos columnas). */
@media (min-width:1100px){
	.remax-ui-v2 .remax-fsec--op .remax-pills,
	.remax-ui-v2 .remax-fsec--city .remax-pills,
	.remax-ui-v2 .remax-fsec--extras .inmovilla-filters__amenities{
		display:grid;
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap:8px;
	}

	.remax-ui-v2 .remax-fsec--rooms .remax-pills,
	.remax-ui-v2 .remax-fsec--baths .remax-pills{
		display:grid;
		grid-template-columns:repeat(5, minmax(0, 1fr));
		gap:6px;
	}

	.remax-ui-v2 .remax-fsec--rooms .remax-pill:first-child,
	.remax-ui-v2 .remax-fsec--baths .remax-pill:first-child,
	.remax-ui-v2 .remax-fsec--op .remax-pill:first-child,
	.remax-ui-v2 .remax-fsec--op .remax-pill:nth-child(4),
	.remax-ui-v2 .remax-fsec--city .remax-pill:first-child{
		grid-column:1 / -1;
	}

	.remax-ui-v2 .remax-fsec--op .remax-pill,
	.remax-ui-v2 .remax-fsec--city .remax-pill,
	.remax-ui-v2 .remax-fsec--extras .inmovilla-checkbox{
		display:flex;
		align-items:center;
		justify-content:center;
		min-height:38px;
		padding:6px 8px;
		line-height:1.2;
		text-align:center;
		white-space:normal;
	}

	.remax-ui-v2 .remax-fsec--rooms .remax-pill,
	.remax-ui-v2 .remax-fsec--baths .remax-pill{
		min-height:38px;
		padding:0;
	}

	/* Precio: dos selects del mismo ancho, uno bajo otro. */
	.remax-ui-v2 .remax-range{
		grid-template-columns:1fr;
		gap:8px;
	}

	.remax-ui-v2 .remax-fsec select,
	.remax-ui-v2 .remax-fsec input[type="text"]{
		height:42px;
		padding-left:12px;
	}

	.remax-fsec--type .inmovilla-type-button{
		gap:7px;
		padding:0 8px;
		font-size:12px;
	}
}

/* Botón "Quitar filtros" junto a Filtros (aparece solo con filtros aplicados). */
.remax-filters-clear{
	display:inline-flex;
	align-items:center;
	gap:8px;
	height:42px;
	padding:0 14px;
	font:600 14px/1 var(--remax-font, 'Montserrat', sans-serif);
	color:#0C2749;
	background:#fff;
	border:1px solid rgba(0,14,53,0.28);
	border-radius:3px;
	cursor:pointer;
	transition:background-color 0.2s ease, border-color 0.2s ease, transform 0.12s ease;
}

.remax-filters-clear[hidden]{
	display:none;
}

.remax-filters-clear svg{
	width:14px;
	height:14px;
}

.remax-filters-clear:hover{
	background:#F7F5EE;
	border-color:#0C2749;
}

.remax-filters-clear:active{
	transform:scale(0.96);
}

@media (max-width:1099px){
	.remax-filters-clear{
		order:-1;
	}
}

/* "Limpiar" de la barra lateral: al pasar el cursor no se oscurece (antes el texto azul quedaba sobre fondo azul). */
.remax-ui-v2 .remax-clear-btn,
.remax-ui-v2 .remax-clear-btn:hover,
.remax-ui-v2 .remax-clear-btn:focus{
	color:#0C2749 !important;
	background:transparent !important;
	box-shadow:none !important;
}

.remax-ui-v2 .remax-clear-btn::before,
.remax-ui-v2 .remax-clear-btn::after{
	display:none !important;
}

.remax-ui-v2 .remax-clear-btn:hover{
	color:#000E35 !important;
	border-bottom-color:#000E35;
}

/* ==========================================================================
 * Vista de tarjetas: cuadrícula (por defecto) o lista (una por fila, alargada).
 * ========================================================================== */
.remax-view-toggle{
	display:inline-flex;
	margin-left:auto;
}

.remax-view-toggle + .inmovilla-sort{
	margin-left:0;
}

.remax-view-toggle button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:42px;
	color:#0C2749;
	background:#fff;
	border:1px solid rgba(0,14,53,0.28);
	cursor:pointer;
	transition:background-color 0.2s ease, color 0.2s ease;
}

.remax-view-toggle button:first-child{
	border-radius:3px 0 0 3px;
}

.remax-view-toggle button:last-child{
	margin-left:-1px;
	border-radius:0 3px 3px 0;
}

.remax-view-toggle button svg{
	width:20px;
	height:20px;
}

.remax-view-toggle button:hover:not(.is-on){
	background:#F7F5EE;
}

.remax-view-toggle button.is-on{
	color:#fff;
	background:#0C2749;
	border-color:#0C2749;
	position:relative;
	z-index:1;
}

@media (max-width:767px){
	.remax-view-toggle{
		display:none;
	}
}

@media (min-width:768px){
	.remax-view-list .inmovilla-grid{
		grid-template-columns:1fr !important;
		gap:18px;
	}

	.remax-view-list .inmovilla-property-card__inner{
		flex-direction:row;
		align-items:stretch;
		padding:0;
	}

	.remax-view-list .inmovilla-property-card__image{
		position:relative;
		flex:0 0 38%;
		max-width:420px;
		min-height:260px;
		aspect-ratio:auto;
	}

	.remax-view-list .inmovilla-property-card__image a{
		position:absolute;
		inset:0;
	}

	.remax-view-list .inmovilla-property-card__image img{
		position:absolute;
		inset:0;
		width:100%;
		height:100%;
		aspect-ratio:auto;
		object-fit:cover;
	}

	.remax-view-list .inmovilla-property-card__content{
		flex:1 1 auto;
		min-width:0;
		align-content:center;
		padding:24px 30px;
	}

	.remax-view-list .inmovilla-property-card__heading{
		padding-right:92px;
		font-size:20px;
	}

	.remax-view-list .inmovilla-property-card__price{
		font-size:26px;
	}

	/* Compartir y favorito en la esquina de la tarjeta, no sobre la foto. */
	.remax-view-list .inmovilla-property-card__actions{
		top:20px;
		right:22px;
	}
}

/* ==========================================================================
 * Móvil / tablet: barra de resultados en cuadrícula simétrica y hoja de filtros con las mismas rejillas que la barra lateral.
 * ========================================================================== */
@media (max-width:767px){
	.remax-filters-ready > .inmovilla-results-bar{
		display:grid;
		grid-template-columns:1fr 1fr;
		align-items:center;
		gap:10px;
		padding:0;
		margin-bottom:16px;
	}

	.remax-filters-ready > .inmovilla-results-bar .remax-filters-toggle{
		grid-column:1;
		grid-row:1;
		justify-content:center;
		width:100%;
		height:46px;
		order:0;
	}

	.remax-filters-ready > .inmovilla-results-bar .inmovilla-sort{
		grid-column:2;
		grid-row:1;
		margin:0;
		width:100%;
	}

	.remax-filters-ready > .inmovilla-results-bar .inmovilla-sort__label{
		position:absolute;
		width:1px;
		height:1px;
		overflow:hidden;
		clip:rect(0 0 0 0);
	}

	.remax-filters-ready > .inmovilla-results-bar .inmovilla-sort__select{
		width:100%;
		height:46px;
		font-size:14px;
	}

	.remax-filters-ready > .inmovilla-results-bar .inmovilla-results-count{
		grid-column:1;
		grid-row:2;
		order:0;
		flex:none;
		font-size:14px;
	}

	.remax-filters-ready > .inmovilla-results-bar .remax-filters-clear{
		grid-column:2;
		grid-row:2;
		justify-self:end;
		height:34px;
		order:0;
		padding:0 12px;
		font-size:13px;
	}

	.remax-filters-ready > .inmovilla-results-bar .remax-view-toggle{
		display:none;
	}
}

@media (max-width:1099px){
	.remax-ui-v2 .remax-fsec--op .remax-pills,
	.remax-ui-v2 .remax-fsec--city .remax-pills,
	.remax-ui-v2 .remax-fsec--extras .inmovilla-filters__amenities{
		display:grid;
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap:8px;
	}

	.remax-ui-v2 .remax-fsec--rooms .remax-pills,
	.remax-ui-v2 .remax-fsec--baths .remax-pills{
		display:grid;
		grid-template-columns:repeat(5, minmax(0, 1fr));
		gap:6px;
	}

	.remax-ui-v2 .remax-fsec--rooms .remax-pill:first-child,
	.remax-ui-v2 .remax-fsec--baths .remax-pill:first-child,
	.remax-ui-v2 .remax-fsec--op .remax-pill:first-child,
	.remax-ui-v2 .remax-fsec--op .remax-pill:nth-child(4),
	.remax-ui-v2 .remax-fsec--city .remax-pill:first-child{
		grid-column:1 / -1;
	}

	.remax-ui-v2 .remax-fsec--op .remax-pill,
	.remax-ui-v2 .remax-fsec--city .remax-pill,
	.remax-ui-v2 .remax-fsec--extras .inmovilla-checkbox{
		display:flex;
		align-items:center;
		justify-content:center;
		min-height:42px;
		padding:6px 8px;
		line-height:1.2;
		text-align:center;
		white-space:normal;
	}

	.remax-ui-v2 .remax-fsec--rooms .remax-pill,
	.remax-ui-v2 .remax-fsec--baths .remax-pill{
		min-height:42px;
		padding:0;
	}

	.remax-ui-v2 .remax-range{
		grid-template-columns:1fr 1fr;
		gap:10px;
	}

	.remax-ui-v2 .remax-fsec{
		padding:16px 0;
		border-bottom:1px solid rgba(0,14,53,0.09);
	}

	.remax-ui-v2 .remax-fsec--extras{
		border-bottom:0;
	}

	.remax-ui-v2 .remax-fsec select,
	.remax-ui-v2 .remax-fsec input[type="text"]{
		height:44px;
		font-size:14px;
	}
}

@media (max-width:767px){
	/* Fila 1: Filtros + Ordenar a partes iguales. Fila 2: recuento + "Quitar filtros". */
	.remax-filters-ready > .inmovilla-results-bar{
		display:flex;
		flex-wrap:wrap;
		gap:10px;
	}

	.remax-filters-ready > .inmovilla-results-bar .remax-filters-toggle,
	.remax-filters-ready > .inmovilla-results-bar .inmovilla-sort{
		flex:1 1 calc(50% - 5px);
		min-width:0;
		width:auto;
	}

	.remax-filters-ready > .inmovilla-results-bar .remax-filters-toggle{ order:1; }
	.remax-filters-ready > .inmovilla-results-bar .inmovilla-sort{ order:2; }

	.remax-filters-ready > .inmovilla-results-bar .inmovilla-results-count{
		order:3;
		flex:1 1 auto;
		white-space:nowrap;
		margin:0;
	}

	.remax-filters-ready > .inmovilla-results-bar .remax-filters-clear{
		order:4;
		flex:0 0 auto;
	}
}

@media (max-width:1099px){
	/* Hoja de filtros: "Limpiar" a la izquierda y "Ver N propiedades" ocupando el resto, en una sola fila. */
	.remax-ui-v2 .inmovilla-filters__actions{
		display:flex;
		flex-direction:row;
		flex-wrap:nowrap;
		align-items:center;
		gap:16px;
	}

	.remax-ui-v2 .inmovilla-filters__actions .remax-clear-btn{
		flex:0 0 auto;
		margin:0;
	}

	.remax-ui-v2 .inmovilla-filters__actions .remax-show-btn{
		display:block;
		flex:1 1 auto;
		min-width:0;
	}
}

/* Móvil estrecho: los cuatro tipos en 2×2 (icono a la izquierda) para que "Apartamento" quepa dentro de su cuadro. */
@media (max-width:480px){
	.remax-fsec--type .inmovilla-type-buttons{
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap:8px;
	}

	.remax-fsec--type .inmovilla-type-button{
		flex-direction:row;
		justify-content:flex-start;
		gap:10px;
		min-height:48px;
		padding:0 12px;
		font-size:13px;
		white-space:nowrap;
	}

	.remax-fsec--type .inmovilla-type-button svg{
		width:22px;
		height:22px;
	}
}

/* ==========================================================================
 * HOVER UNIFICADO DE BOTONES: el mismo "relleno deslizante" de los botones de la cabecera
 * (buscador, deseos, cuenta, idioma): un círculo de color baja desde arriba en 0,8 s y el texto pasa a blanco.
 * Se aplica a todos los botones que no lo tenían (filtros, paginación, flechas de carruseles, cuenta, WhatsApp…).
 * ========================================================================== */
:is(
	.remax-filters-toggle:not([aria-expanded="true"]),
	.remax-filters-clear,
	.remax-view-toggle button:not(.is-on),
	.remax-pill:not(.is-on):not(:disabled),
	.remax-fsec--type .inmovilla-type-button:not(.is-active),
	.remax-fsec--extras .inmovilla-checkbox:not(:has(input:checked)),
	.inmovilla-pagination .page-numbers:not(.current):not(.dots),
	.inmovilla-cities__prev,
	.inmovilla-cities__next,
	.inmovilla-team-carousel__prev,
	.inmovilla-team-carousel__next,
	.inmovilla-testimonials-carousel__prev,
	.inmovilla-testimonials-carousel__next,
	.inmovilla-account__btn--ghost
){
	position:relative;
	overflow:hidden;
	isolation:isolate;
	--hv-fill:#0C2749;
	transition:color 0.5s ease, border-color 0.5s ease !important;
}

:is(
	.remax-filters-toggle:not([aria-expanded="true"]),
	.remax-filters-clear,
	.remax-view-toggle button:not(.is-on),
	.remax-pill:not(.is-on):not(:disabled),
	.remax-fsec--type .inmovilla-type-button:not(.is-active),
	.remax-fsec--extras .inmovilla-checkbox:not(:has(input:checked)),
	.inmovilla-pagination .page-numbers:not(.current):not(.dots),
	.inmovilla-cities__prev,
	.inmovilla-cities__next,
	.inmovilla-team-carousel__prev,
	.inmovilla-team-carousel__next,
	.inmovilla-testimonials-carousel__prev,
	.inmovilla-testimonials-carousel__next,
	.inmovilla-account__btn--ghost
)::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:-200%;
	left:50%;
	width:200%;
	height:200%;
	border-radius:50%;
	background-color:var(--hv-fill);
	transform:translateX(-50%);
	transition:top 0.8s ease;
	pointer-events:none;
}

:is(
	.remax-filters-toggle:not([aria-expanded="true"]),
	.remax-filters-clear,
	.remax-view-toggle button:not(.is-on),
	.remax-pill:not(.is-on):not(:disabled),
	.remax-fsec--type .inmovilla-type-button:not(.is-active),
	.remax-fsec--extras .inmovilla-checkbox:not(:has(input:checked)),
	.inmovilla-pagination .page-numbers:not(.current):not(.dots),
	.inmovilla-cities__prev,
	.inmovilla-cities__next,
	.inmovilla-team-carousel__prev,
	.inmovilla-team-carousel__next,
	.inmovilla-testimonials-carousel__prev,
	.inmovilla-testimonials-carousel__next,
	.inmovilla-account__btn--ghost
):hover::before{
	top:-40%;
}

/* El hover antiguo (fondo que cambia de golpe) se anula: el color lo pone el relleno deslizante. */
:is(
	.remax-filters-toggle:not([aria-expanded="true"]),
	.remax-filters-clear,
	.remax-view-toggle button:not(.is-on),
	.remax-pill:not(.is-on):not(:disabled),
	.remax-fsec--type .inmovilla-type-button:not(.is-active),
	.remax-fsec--extras .inmovilla-checkbox:not(:has(input:checked)),
	.inmovilla-pagination .page-numbers:not(.current):not(.dots)
):hover{
	color:#fff;
	background-color:#fff !important;
	border-color:#0C2749;
}

:is(
	.inmovilla-cities__prev,
	.inmovilla-cities__next,
	.inmovilla-team-carousel__prev,
	.inmovilla-team-carousel__next,
	.inmovilla-testimonials-carousel__prev,
	.inmovilla-testimonials-carousel__next
):hover{
	color:#fff;
	background-color:transparent !important;
	border-color:#0C2749;
}

.inmovilla-account__btn--ghost:hover{
	color:#fff;
	background:transparent !important;
}

.remax-filters-toggle:not([aria-expanded="true"]):hover .remax-filters-toggle__count{
	color:#0C2749;
	background:#fff;
}

/* Botones oscuros (relleno más oscuro) y verde de WhatsApp. */
.inmovilla-account__btn:not(.inmovilla-account__btn--ghost),
.remax-show-btn{
	position:relative;
	overflow:hidden;
	isolation:isolate;
}

/* El botón flotante de WhatsApp es position:fixed: no se le toca el posicionamiento. */
.inmovilla-whatsapp-float{
	overflow:hidden;
	isolation:isolate;
}

.inmovilla-account__btn:not(.inmovilla-account__btn--ghost)::before,
.remax-show-btn::before,
.inmovilla-whatsapp-float::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:-200%;
	left:50%;
	width:200%;
	height:200%;
	border-radius:50%;
	background-color:#000E35;
	transform:translateX(-50%);
	transition:top 0.8s ease;
	pointer-events:none;
}

.inmovilla-whatsapp-float::before{
	background-color:#128C7E;
}

.inmovilla-account__btn:not(.inmovilla-account__btn--ghost):hover::before,
.remax-show-btn:hover::before,
.inmovilla-whatsapp-float:hover::before{
	top:-40%;
}

.inmovilla-account__btn:not(.inmovilla-account__btn--ghost):hover,
.remax-ui-v2 .remax-show-btn:hover{
	background:var(--inmovilla-primary, #0C2749);
}

/* Flechas del carrusel de servicios y botones sobre fondos oscuros del hero: mismo relleno deslizante. */
.inmovilla-service__nav{
	position:absolute; /* se mantiene absoluto: las flechas van a los lados del carrusel */
	overflow:hidden;
	isolation:isolate;
	transition:color 0.5s ease, border-color 0.5s ease !important;
}

.inmovilla-service__nav::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:-200%;
	left:50%;
	width:200%;
	height:200%;
	border-radius:50%;
	background-color:#0C2749;
	transform:translateX(-50%);
	transition:top 0.8s ease;
	pointer-events:none;
}

.inmovilla-service__nav:hover::before{
	top:-40%;
}

.inmovilla-service__nav:hover{
	color:#fff;
	background-color:transparent !important;
	border-color:#0C2749;
}

.inmovilla-hero__tab:not(.is-active){
	position:relative;
	overflow:hidden;
	isolation:isolate;
	transition:color 0.5s ease, border-color 0.5s ease !important;
}

.inmovilla-hero__tab:not(.is-active)::before,
.inmovilla-hero__scroll::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:-200%;
	left:50%;
	width:200%;
	height:200%;
	border-radius:50%;
	background-color:#A3D4F2;
	transform:translateX(-50%);
	transition:top 0.8s ease;
	pointer-events:none;
}

.inmovilla-hero__tab:not(.is-active):hover::before,
.inmovilla-hero__scroll:hover::before{
	top:-40%;
}

.inmovilla-hero__tab:not(.is-active):hover,
.inmovilla-hero__scroll:hover{
	color:#000E35;
	background-color:transparent !important;
}

/* Buscador rápido: el cambio de color instantáneo del botón pasa a ser el relleno deslizante. */
.inmovilla-quick-search__submit{
	position:relative;
	overflow:hidden;
	isolation:isolate;
}

.inmovilla-quick-search__submit::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:-200%;
	left:50%;
	width:200%;
	height:200%;
	border-radius:50%;
	background-color:var(--inmovilla-qs-primary, #0C2749);
	transform:translateX(-50%);
	transition:top 0.8s ease;
	pointer-events:none;
}

.inmovilla-quick-search__submit:hover::before,
.inmovilla-quick-search__submit:focus::before{
	top:-40%;
}

.inmovilla-quick-search__submit:hover,
.inmovilla-quick-search__submit:focus{
	background:var(--inmovilla-qs-text, #000E35) !important;
}

/* Botones de los formularios emergentes (contacto de propiedad, descarga): mismo relleno deslizante. */
.inmovilla-popup-form__submit-btn,
a.inmovilla-lead-modal__btn-ghost{
	position:relative;
	overflow:hidden;
	isolation:isolate;
}

.inmovilla-popup-form__submit-btn::before,
a.inmovilla-lead-modal__btn-ghost::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:-200%;
	left:50%;
	width:200%;
	height:200%;
	border-radius:50%;
	background-color:#000E35;
	transform:translateX(-50%);
	transition:top 0.8s ease;
	pointer-events:none;
}

.inmovilla-popup-form__submit-btn:hover::before,
.inmovilla-popup-form__submit-btn:focus::before,
a.inmovilla-lead-modal__btn-ghost:hover::before{
	top:-40%;
}

.inmovilla-popup-form__submit-btn:hover,
.inmovilla-popup-form__submit-btn:focus{
	background-color:var(--inmovilla-primary, #0C2749);
}

a.inmovilla-lead-modal__btn-ghost:hover{
	background:#fff;
}

/* Ficha de propiedad: botón de contacto del agente y acceso rápido a las fotos. */
.inmovilla-property-detail__agent-contact,
.inmovilla-property-detail__hero-quicknav-item{
	position:relative;
	overflow:hidden;
	isolation:isolate;
	transition:color 0.5s ease, border-color 0.5s ease !important;
}

.inmovilla-property-detail__agent-contact::before,
.inmovilla-property-detail__hero-quicknav-item::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:-200%;
	left:50%;
	width:200%;
	height:200%;
	border-radius:50%;
	background-color:#000E35;
	transform:translateX(-50%);
	transition:top 0.8s ease;
	pointer-events:none;
}

.inmovilla-property-detail__hero-quicknav-item::before{
	background-color:#A3D4F2;
}

.inmovilla-property-detail__agent-contact:hover::before,
.inmovilla-property-detail__hero-quicknav-item:hover::before{
	top:-40%;
}

.inmovilla-property-detail__hero-quicknav-item:hover{
	color:#000E35;
	background-color:rgba(23,27,42,0.55);
}

/* Botones de la tarjeta de propiedad (compartir, favorito, WhatsApp, llamar): mismo hover que la cabecera. */
.inmovilla-property-card__contact-btn,
.inmovilla-property-card__heart{
	isolation:isolate;
	transition:color 0.5s ease !important;
}

.inmovilla-property-card__contact-btn::before,
.inmovilla-property-card__heart::before{
	z-index:-1;
}

/* Compartir: relleno navy (el rojo es solo del corazón) y el icono pasa a blanco. */
.inmovilla-property-card__heart.inmovilla-share-btn::before{
	background-color:#0C2749;
}

.inmovilla-property-card__contact-btn .inmovilla-icon,
.inmovilla-property-card__heart .inmovilla-icon{
	transition:color 0.5s ease;
}

.inmovilla-property-card__contact-btn:hover .inmovilla-icon,
.inmovilla-property-card__heart:hover .inmovilla-icon,
.inmovilla-property-card__heart.is-active .inmovilla-icon{
	color:#fff;
}

/* El menú de compartir abierto mantiene el botón en su estado "activo" (relleno navy + icono blanco). */
.inmovilla-share:hover .inmovilla-share-btn::before,
.inmovilla-share.is-open .inmovilla-share-btn::before,
.inmovilla-share-btn[aria-expanded="true"]::before{
	top:-40%;
}

.inmovilla-share:hover .inmovilla-share-btn .inmovilla-icon,
.inmovilla-share.is-open .inmovilla-share-btn .inmovilla-icon,
.inmovilla-share-btn[aria-expanded="true"] .inmovilla-icon{
	color:#fff;
}

/* ==========================================================================
 * El relleno deslizante de TODOS los botones es idéntico al de los botones de la cabecera:
 * un bloque con las mismas esquinas (3 px) que baja desde arriba, no un círculo. Antes los botones de las
 * tarjetas, formularios y widgets usaban un círculo (border-radius:50%) y por eso la animación no era igual.
 * ========================================================================== */
.inmovilla-property-card__contact-btn::before,
.inmovilla-property-card__heart::before,
.inmovilla-property-grid__btn::before,
.inmovilla-button::before,
.inmovilla-property-detail__contact-btn::before,
.inmovilla-testimonials-carousel__google-cta-btn::before,
.inmovilla-form-submit-btn::before,
.inmovilla-quick-search__submit::before,
.inmovilla-popup-form__submit-btn::before,
a.inmovilla-lead-modal__btn-ghost::before,
.inmovilla-account__btn:not(.inmovilla-account__btn--ghost)::before,
.inmovilla-account__btn--ghost::before,
.inmovilla-property-detail__agent-contact::before,
.inmovilla-property-detail__hero-quicknav-item::before,
.inmovilla-hero__tab:not(.is-active)::before,
.inmovilla-hero__scroll::before,
.inmovilla-service__nav::before,
.inmovilla-whatsapp-float::before,
.remax-show-btn::before,
:is(
	.remax-filters-toggle:not([aria-expanded="true"]),
	.remax-filters-clear,
	.remax-view-toggle button:not(.is-on),
	.remax-pill:not(.is-on):not(:disabled),
	.remax-fsec--type .inmovilla-type-button:not(.is-active),
	.remax-fsec--extras .inmovilla-checkbox:not(:has(input:checked)),
	.inmovilla-pagination .page-numbers:not(.current):not(.dots),
	.inmovilla-cities__prev,
	.inmovilla-cities__next,
	.inmovilla-team-carousel__prev,
	.inmovilla-team-carousel__next,
	.inmovilla-testimonials-carousel__prev,
	.inmovilla-testimonials-carousel__next
)::before{
	border-radius:var(--remax-radius-sm, 3px);
}

.btn-style-one::before,
.btn-style-two::before{
	border-radius:var(--remax-radius-sm, 3px);
}

/* Paginación de equipo: mismo relleno deslizante (antes el fondo cambiaba de golpe). */
.inmovilla-team-grid__pagination a.page-numbers:not(.current){
	position:relative;
	overflow:hidden;
	isolation:isolate;
	transition:color 0.5s ease, border-color 0.5s ease !important;
}

.inmovilla-team-grid__pagination a.page-numbers:not(.current)::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:-200%;
	left:50%;
	width:200%;
	height:200%;
	border-radius:var(--remax-radius-sm, 3px);
	background-color:#0C2749;
	transform:translateX(-50%);
	transition:top 0.8s ease;
	pointer-events:none;
}

.inmovilla-team-grid__pagination a.page-numbers:not(.current):hover::before{
	top:-40%;
}

.inmovilla-team-grid__pagination a.page-numbers:not(.current):hover{
	color:#fff;
	background-color:transparent !important;
	border-color:#0C2749;
}

/* ==========================================================================
 * Hover de botones sin saltos de color: el fondo del botón se mantiene y lo cambia solo el relleno deslizante.
 * ========================================================================== */
.contact-form .form-group button:hover,
.message-form .form-group button:hover,
.default-form form button:hover,
.banner-two .default-form button:hover,
.property-two .default-form button:hover{
	background-color:#0C2749;
}

.footer-cta_submit-btn.inmovilla-form-submit-btn:hover,
.footer-cta_submit-btn.inmovilla-form-submit-btn:focus{
	background-color:#fff;
}

/* La pestaña activa conserva su color al pasar el cursor: navy en escritorio, blanca con texto oscuro en móvil. */
.inmovilla-hero__tab.is-active:hover{
	background-color:#0C2749;
	color:#fff;
}

@media (max-width:767px){
	.inmovilla-hero__tab.is-active,
	.inmovilla-hero__tab.is-active:hover,
	.inmovilla-hero__tab.is-active:focus{
		color:var(--remax-blue-dark, #000E35);
		background-color:#fff;
	}
}

.inmovilla-property-detail__agent-contact:hover,
.inmovilla-property-detail__agent-contact:focus{
	background-color:#0C2749;
}

/* Pestañas de Mi cuenta (Acceder / Registro): mismo relleno deslizante. */
.inmovilla-account__tabs a:not(.is-active){
	position:relative;
	overflow:hidden;
	isolation:isolate;
	transition:color 0.5s ease !important;
}

.inmovilla-account__tabs a:not(.is-active)::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:-200%;
	left:50%;
	width:200%;
	height:200%;
	border-radius:var(--remax-radius-sm, 3px);
	background-color:#0C2749;
	transform:translateX(-50%);
	transition:top 0.8s ease;
	pointer-events:none;
}

.inmovilla-account__tabs a:not(.is-active):hover::before{
	top:-40%;
}

.inmovilla-account__tabs a:not(.is-active):hover{
	color:#fff;
	background:transparent !important;
}

/* Flecha "bajar" del hero: conserva su posición absoluta (centrada abajo) y suma el relleno deslizante. */
.inmovilla-hero__scroll{
	position:absolute;
	overflow:hidden;
	isolation:isolate;
	transition:color 0.5s ease, border-color 0.5s ease !important;
}

/* ==========================================================================
 * Mi cuenta con sesión iniciada: perfil a un lado y contenido (favoritos, datos, avisos) al otro.
 * ========================================================================== */
.inmovilla-account__dash{
	display:grid;
	grid-template-columns:1fr;
	gap:24px;
	align-items:start;
}

.inmovilla-account__profile{
	display:grid;
	grid-template-columns:auto minmax(0, 1fr);
	column-gap:16px;
	row-gap:18px;
	padding:22px;
	background:#fff;
	border:1px solid rgba(0,14,53,0.1);
	border-radius:4px;
	box-shadow:0 14px 34px -26px rgba(0,14,53,0.35);
}

.inmovilla-account__avatar{
	display:flex;
	align-items:center;
	justify-content:center;
	width:60px;
	height:60px;
	font-size:26px;
	font-weight:700;
	color:#fff;
	background:#0C2749;
	border:3px solid #A3D4F2;
	border-radius:50%;
}

.inmovilla-account__profile-text{
	align-self:center;
	min-width:0;
}

.inmovilla-account__profile .inmovilla-account__title{
	margin:0 0 2px;
	font-size:20px;
	line-height:1.25;
	color:#000E35;
	overflow-wrap:anywhere;
}

.inmovilla-account__profile .inmovilla-account__muted{
	margin:0;
	font-size:14px;
	color:rgba(0,14,53,0.6);
	overflow-wrap:anywhere;
}

.inmovilla-account__stat{
	grid-column:1 / -1;
	display:flex;
	align-items:center;
	gap:12px;
	padding:12px 16px;
	background:#F7F5EE;
	border-radius:3px;
}

.inmovilla-account__stat .inmovilla-account__stat-num{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:36px;
	height:36px;
	padding:0 10px;
	font-size:16px;
	font-weight:700;
	color:#fff;
	background:#0C2749;
	border-radius:50px;
}

.inmovilla-account__stat-label{
	font-size:14px;
	font-weight:600;
	color:#000E35;
}

.inmovilla-account__profile-actions{
	grid-column:1 / -1;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
}

.inmovilla-account__profile-actions .inmovilla-account__btn,
.inmovilla-account__profile-actions .inmovilla-account__logout{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:46px;
	padding:0 14px;
	font-size:14px;
	font-weight:600;
	text-align:center;
	border-radius:3px;
}

.inmovilla-account__profile-actions .inmovilla-account__logout{
	position:relative;
	overflow:hidden;
	isolation:isolate;
	color:#0C2749;
	background:#fff;
	border:1px solid rgba(0,14,53,0.28);
	transition:color 0.5s ease, border-color 0.5s ease !important;
}

.inmovilla-account__profile-actions .inmovilla-account__logout::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:-200%;
	left:50%;
	width:200%;
	height:200%;
	border-radius:3px;
	background-color:#0C2749;
	transform:translateX(-50%);
	transition:top 0.8s ease;
	pointer-events:none;
}

.inmovilla-account__profile-actions .inmovilla-account__logout:hover::before{
	top:-40%;
}

.inmovilla-account__profile-actions .inmovilla-account__logout:hover{
	color:#fff;
	background:#fff;
	border-color:#0C2749;
}

/* Contenido */
.inmovilla-account__content{
	min-width:0;
}

.inmovilla-account__content .inmovilla-account__section{
	margin-bottom:28px;
}

.inmovilla-account__content .inmovilla-account__subtitle{
	margin:0 0 18px;
	padding-bottom:12px;
	font-size:22px;
	color:#000E35;
	border-bottom:1px solid rgba(0,14,53,0.1);
}

.inmovilla-account__content .inmovilla-account__card{
	padding:24px;
	background:#fff;
	border:1px solid rgba(0,14,53,0.1);
	border-radius:4px;
	box-shadow:0 14px 34px -26px rgba(0,14,53,0.3);
}

.inmovilla-account__content .inmovilla-account__card .inmovilla-account__subtitle{
	font-size:20px;
}

.inmovilla-account__favorites{
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)) !important;
	gap:20px;
}

.inmovilla-account__empty{
	padding:40px 24px;
	background:#F7F5EE;
	border:1px dashed rgba(0,14,53,0.25);
	border-radius:4px;
	text-align:center;
}

.inmovilla-account__empty[hidden]{
	display:none;
}

.inmovilla-account__empty p{
	max-width:420px;
	margin:0 auto 18px;
	color:rgba(0,14,53,0.7);
}

.inmovilla-account__danger{
	padding:14px 20px;
	background:#fff;
	border:1px solid rgba(0,14,53,0.1);
	border-radius:4px;
}

@media (min-width:1000px){
	.inmovilla-account__dash{
		grid-template-columns:300px minmax(0, 1fr);
		gap:32px;
	}

	.inmovilla-account__profile{
		position:sticky;
		top:110px;
		grid-template-columns:1fr;
		justify-items:start;
		padding:28px;
	}

	.inmovilla-account__avatar{
		width:76px;
		height:76px;
		font-size:32px;
	}

	.inmovilla-account__profile .inmovilla-account__title{
		font-size:22px;
	}

	.inmovilla-account__stat,
	.inmovilla-account__profile-actions{
		width:100%;
	}

	.inmovilla-account__profile-actions{
		grid-template-columns:1fr;
	}
}

@media (max-width:560px){
	.inmovilla-account__profile{
		padding:18px;
	}

	.inmovilla-account__content .inmovilla-account__card{
		padding:18px;
	}

	.inmovilla-account__favorites{
		grid-template-columns:1fr !important;
	}
}

/* Botón secundario ("Iniciar sesión" junto a "Crear cuenta"): fondo blanco y texto navy siempre legibles
 * (antes la regla del enlace visitado le ponía el fondo navy y el texto quedaba invisible). */
.inmovilla-account__btn.inmovilla-account__btn--ghost,
.inmovilla-account__btn.inmovilla-account__btn--ghost:visited,
.inmovilla-account__btn.inmovilla-account__btn--ghost:link{
	color:#0C2749;
	background-color:#fff;
	border:1px solid #0C2749;
}

.inmovilla-account__btn.inmovilla-account__btn--ghost:hover,
.inmovilla-account__btn.inmovilla-account__btn--ghost:focus{
	color:#fff;
	background-color:#fff !important;
	border-color:#0C2749;
}

/* Saludo del perfil: se reparte en líneas equilibradas y no corta palabras sueltas. */
.inmovilla-account__profile .inmovilla-account__title{
	overflow-wrap:break-word;
	word-break:normal;
	text-wrap:balance;
}

/* ==========================================================================
 * Lista de deseos (/lista-de-deseos/)
 * ========================================================================== */
/* Aviso para visitantes sin cuenta */
.inmovilla-wishlist-signup{
	position:relative;
	display:grid;
	grid-template-columns:auto minmax(0, 1fr) auto;
	align-items:center;
	gap:18px 22px;
	margin:0 0 28px;
	padding:22px 26px;
	background:#fff;
	border:1px solid rgba(0,14,53,0.1);
	border-left:4px solid #0C2749;
	border-radius:4px;
	box-shadow:0 14px 34px -26px rgba(0,14,53,0.35);
}

.inmovilla-wishlist-signup[hidden]{
	display:none;
}

.inmovilla-wishlist-signup::before{
	content:'';
	width:48px;
	height:48px;
	background:#F7F5EE url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C2749' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.7a4.3 4.3 0 0 1 7.5 2.6c0 5.6-7.5 10.2-7.5 10.2z'/%3E%3C/svg%3E") center / 24px no-repeat;
	border-radius:50%;
}

.inmovilla-wishlist-signup strong{
	display:block;
	font-size:17px;
	color:#000E35;
}

.inmovilla-wishlist-signup p{
	margin:4px 0 0;
	color:rgba(0,14,53,0.65);
	line-height:1.5;
}

.inmovilla-wishlist-signup__actions{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
}

.inmovilla-wishlist-signup__actions .inmovilla-account__btn{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:46px;
	padding:0 22px;
	font-size:14px;
	font-weight:600;
	white-space:nowrap;
	border-radius:3px;
}

@media (max-width:899px){
	.inmovilla-wishlist-signup{
		grid-template-columns:auto minmax(0, 1fr);
		padding:18px;
	}

	.inmovilla-wishlist-signup__actions{
		grid-column:1 / -1;
	}
}

@media (max-width:479px){
	.inmovilla-wishlist-signup::before{
		width:40px;
		height:40px;
		background-size:20px;
	}
}

/* Barra con el recuento */
.remax-wl-bar{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:12px 16px;
	margin:0 0 20px;
	padding-bottom:16px;
	border-bottom:1px solid rgba(0,14,53,0.1);
}

.remax-wl-bar[hidden]{
	display:none;
}

.remax-wl-bar__count{
	display:flex;
	align-items:center;
	gap:12px;
	font-size:18px;
	font-weight:700;
	color:#000E35;
}

.remax-wl-bar__num{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:34px;
	height:34px;
	padding:0 10px;
	font-size:15px;
	color:#fff;
	background:#0C2749;
	border-radius:50px;
}

.remax-wl-bar__more{
	position:relative;
	overflow:hidden;
	isolation:isolate;
	display:inline-flex;
	align-items:center;
	min-height:42px;
	padding:0 18px;
	font-size:14px;
	font-weight:600;
	color:#0C2749;
	background:#fff;
	border:1px solid rgba(0,14,53,0.28);
	border-radius:3px;
	transition:color 0.5s ease, border-color 0.5s ease;
}

.remax-wl-bar__more::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:-200%;
	left:50%;
	width:200%;
	height:200%;
	border-radius:3px;
	background-color:#0C2749;
	transform:translateX(-50%);
	transition:top 0.8s ease;
	pointer-events:none;
}

.remax-wl-bar__more:hover::before{
	top:-40%;
}

.remax-wl-bar__more:hover{
	color:#fff;
	border-color:#0C2749;
}

/* Tarjetas guardadas */
.inmovilla-wishlist-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(290px, 1fr)) !important;
	gap:22px;
}

.inmovilla-wishlist-grid[hidden]{
	display:none;
}

/* Cargando */
.inmovilla-wishlist-loading{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:16px;
	padding:70px 20px;
	color:rgba(0,14,53,0.65);
}

.inmovilla-wishlist-loading[hidden]{
	display:none;
}

.inmovilla-wishlist-loading::before{
	content:'';
	width:38px;
	height:38px;
	border:3px solid rgba(12,39,73,0.15);
	border-top-color:#0C2749;
	border-radius:50%;
	animation:remax-wl-spin 0.9s linear infinite;
}

@keyframes remax-wl-spin{
	to{ transform:rotate(360deg); }
}

@media (prefers-reduced-motion:reduce){
	.inmovilla-wishlist-loading::before{
		animation:none;
	}
}

/* Vacía */
.inmovilla-wishlist-empty{
	display:flex;
	flex-direction:column;
	align-items:center;
	max-width:640px;
	margin:20px auto 0;
	padding:56px 28px;
	text-align:center;
	background:#F7F5EE;
	border:1px dashed rgba(0,14,53,0.25);
	border-radius:4px;
}

.inmovilla-wishlist-empty[hidden]{
	display:none;
}

.inmovilla-wishlist-empty::before{
	content:'';
	width:72px;
	height:72px;
	margin-bottom:20px;
	background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C2749' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.7a4.3 4.3 0 0 1 7.5 2.6c0 5.6-7.5 10.2-7.5 10.2z'/%3E%3C/svg%3E") center / 34px no-repeat;
	border:1px solid rgba(0,14,53,0.12);
	border-radius:50%;
	box-shadow:0 10px 24px -14px rgba(0,14,53,0.4);
}

.inmovilla-wishlist-empty p{
	max-width:420px;
	margin:0 0 24px;
	font-size:17px;
	line-height:1.55;
	color:rgba(0,14,53,0.72);
}

/* ==========================================================================
 * FICHA DE PROPIEDAD: tarjetas coherentes, rejillas simétricas y orden pensado para móvil/tablet.
 * ========================================================================== */
.inmovilla-property-detail__page{
	padding-top:36px;
	padding-bottom:70px;
}

.inmovilla-property-detail__row{
	display:grid;
	grid-template-columns:minmax(0, 1fr) 400px;
	gap:32px;
	align-items:start;
}

.inmovilla-property-detail__content{
	display:grid;
	gap:24px;
	min-width:0;
}

/* Todas las tarjetas del contenido comparten estilo. */
.inmovilla-property-detail__card,
.inmovilla-property-detail__section{
	margin:0;
	background:#fff;
	border:1px solid rgba(0,14,53,0.1);
	border-radius:4px;
	box-shadow:0 14px 34px -28px rgba(0,14,53,0.35);
}

.inmovilla-property-detail__card{
	overflow:hidden;
}

.inmovilla-property-detail__section{
	padding:28px;
}

/* Foto principal */
.inmovilla-property-detail__hero-wrap{
	height:auto;
	aspect-ratio:16 / 9;
	max-height:520px;
}

.inmovilla-property-detail__hero{
	height:100%;
}

/* Cabecera de la ficha */
.inmovilla-property-detail__body{
	padding:28px;
}

.inmovilla-property-detail__meta{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px 16px;
	margin:0 0 14px;
	padding:0;
	list-style:none;
}

.inmovilla-property-detail__meta-ref{
	padding:6px 12px;
	font-size:13px;
	font-weight:700;
	color:#fff;
	background:#0C2749;
	border-radius:3px;
}

.inmovilla-property-detail__meta li:not(.inmovilla-property-detail__meta-ref){
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-size:14px;
	color:rgba(0,14,53,0.6);
}

.inmovilla-property-detail__heading{
	margin:0 0 12px;
	font-size:28px;
	font-weight:700;
	line-height:1.25;
	color:#000E35;
	text-wrap:balance;
}

.inmovilla-property-detail__location{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 20px;
	font-size:15px;
	color:rgba(0,14,53,0.7);
}

.inmovilla-property-detail__price{
	margin:0 0 22px;
	padding:18px 0;
	font-size:34px;
	font-weight:700;
	line-height:1.1;
	color:#000E35;
	border-top:1px solid rgba(0,14,53,0.1);
	border-bottom:1px solid rgba(0,14,53,0.1);
}

.inmovilla-property-detail__description{
	font-size:16px;
	line-height:1.75;
	color:rgba(0,14,53,0.8);
}

/* Títulos de sección */
.inmovilla-property-detail__subheading{
	margin:0 0 22px;
	padding-bottom:14px;
	font-size:20px;
	font-weight:700;
	line-height:1.3;
	color:#000E35;
	border-bottom:1px solid rgba(0,14,53,0.1);
}

/* Datos principales: tarjetas iguales */
.inmovilla-property-detail__facts{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:14px;
	margin:0 0 22px;
}

.inmovilla-property-detail__fact{
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
	gap:6px;
	height:100%;
	padding:20px;
	background:#F7F5EE;
	border-radius:4px;
}

.inmovilla-property-detail__fact-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	width:fit-content;
	min-width:48px;
	height:48px;
	margin:0 0 8px;
	padding:0 12px;
	color:#0C2749;
	background:#fff;
	border-radius:24px;
}

.inmovilla-property-detail__fact-label{
	margin:0;
	font-size:15px;
	font-weight:700;
	color:#000E35;
}

.inmovilla-property-detail__fact-value{
	font-size:14px;
	color:rgba(0,14,53,0.7);
}

/* Características como etiquetas en rejilla */
.inmovilla-property-detail__amenities{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:10px;
	margin:0;
	padding:0;
	list-style:none;
}

.inmovilla-property-detail__amenities li{
	display:flex;
	align-items:center;
	gap:10px;
	min-height:46px;
	padding:10px 14px;
	font-size:14px;
	color:#0C2749;
	background:#fff;
	border:1px solid rgba(0,14,53,0.12);
	border-radius:3px;
}

.inmovilla-property-detail__amenities li .inmovilla-icon{
	flex:0 0 auto;
	color:#0C2749;
}

/* Detalles: filas con línea fina */
.inmovilla-property-detail__info{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:0 40px;
}

.inmovilla-property-detail__info-col{
	min-width:0;
}

.inmovilla-property-detail__info-list{
	margin:0;
	padding:0;
	list-style:none;
}

.inmovilla-property-detail__info-list li{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:16px;
	padding:13px 0;
	border-bottom:1px solid rgba(0,14,53,0.08);
}

.inmovilla-property-detail__info-label{
	font-size:14px;
	color:rgba(0,14,53,0.6);
}

.inmovilla-property-detail__info-value{
	font-size:14px;
	font-weight:700;
	text-align:right;
	color:#000E35;
}

/* Galería y mapa */
.inmovilla-property-detail__gallery{
	margin:0;
	border-radius:4px;
	overflow:hidden;
}

.inmovilla-property-detail__map{
	overflow:hidden;
	border-radius:4px;
}

.inmovilla-property-detail__map iframe{
	display:block;
	width:100%;
	height:380px;
	border:0;
}

.inmovilla-property-detail__map-link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin-top:16px;
	padding:10px 16px;
	font-size:14px;
	font-weight:600;
	color:#0C2749;
	border:1px solid rgba(0,14,53,0.28);
	border-radius:3px;
}

/* Columna lateral: tarjetas iguales y fijas al hacer scroll */
.inmovilla-property-detail__sidebar{
	min-width:0;
}

.inmovilla-property-detail__sticky-group{
	display:grid;
	gap:20px;
}

@media (min-width:1100px){
	.inmovilla-property-detail__sticky-group{
		position:sticky;
		top:110px;
	}
}

.inmovilla-property-detail__summary,
.inmovilla-property-detail__agent,
.inmovilla-property-detail__ref-box{
	margin:0;
	background:#fff;
	border:1px solid rgba(0,14,53,0.1);
	border-radius:4px;
	box-shadow:0 14px 34px -28px rgba(0,14,53,0.35);
}

.inmovilla-property-detail__summary{
	padding:24px;
}

.inmovilla-property-detail__summary-price{
	margin:0 0 18px;
	padding-bottom:18px;
	border-bottom:1px solid rgba(0,14,53,0.1);
}

.inmovilla-property-detail__summary-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:10px;
	margin:0 0 18px;
}

.inmovilla-property-detail__summary-item{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:6px;
	padding:14px 8px;
	text-align:center;
	background:#F7F5EE;
	border-radius:3px;
}

.inmovilla-property-detail__summary-item > div{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:2px;
}

.inmovilla-property-detail__summary-label{
	font-size:12px;
	color:rgba(0,14,53,0.6);
}

.inmovilla-property-detail__summary-value{
	font-size:15px;
	font-weight:700;
	color:#000E35;
}

.inmovilla-property-detail__summary-dossier{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
}

.inmovilla-property-detail__agent{
	display:flex;
	flex-direction:column;
	align-items:center;
	padding:26px 24px;
	text-align:center;
}

.inmovilla-property-detail__agent-photo{
	width:88px;
	height:88px;
	margin:0 0 14px;
	border:3px solid #A3D4F2;
	border-radius:50%;
	overflow:hidden;
}

.inmovilla-property-detail__agent-name{
	margin:0 0 2px;
	font-size:18px;
	font-weight:700;
	color:#000E35;
}

.inmovilla-property-detail__agent-role{
	margin:0 0 12px;
	font-size:14px;
	color:rgba(0,14,53,0.6);
}

.inmovilla-property-detail__agent-bio{
	margin:0 0 18px;
	font-size:14px;
	line-height:1.6;
	color:rgba(0,14,53,0.75);
}

.inmovilla-property-detail__agent-contact{
	width:100%;
	min-height:48px;
}

.inmovilla-property-detail__agent-link{
	margin-top:12px;
	font-size:14px;
	font-weight:600;
	color:#0C2749;
	text-decoration:underline;
	text-underline-offset:3px;
}

.inmovilla-property-detail__ref-box{
	padding:16px 24px;
	text-align:center;
	background:#F7F5EE;
	box-shadow:none;
}

.inmovilla-property-detail__ref{
	margin:0;
	font-size:14px;
	color:rgba(0,14,53,0.7);
}

/* Flechas de la galería: botones cuadrados blancos */
.inmovilla-property-detail__gallery-prev,
.inmovilla-property-detail__gallery-next{
	width:44px;
	height:44px;
	color:#0C2749;
	background:rgba(255,255,255,0.94);
	border:0;
	border-radius:3px;
	box-shadow:0 8px 20px -10px rgba(0,14,53,0.5);
}

/* ---------------- Tablet y móvil: una sola columna; el contacto del agente va justo tras la cabecera ---------------- */
@media (max-width:1099px){
	.inmovilla-property-detail__row{
		display:flex;
		flex-direction:column;
		gap:24px;
	}

	.inmovilla-property-detail__content{
		display:contents;
	}

	.inmovilla-property-detail__card{ order:1; }
	.inmovilla-property-detail__sidebar{ order:2; }
	.inmovilla-property-detail__section{ order:3; }

	.inmovilla-property-detail__sticky-group{
		grid-template-columns:repeat(2, minmax(0, 1fr));
		align-items:stretch;
	}

	.inmovilla-property-detail__ref-box{
		grid-column:1 / -1;
	}

	.inmovilla-property-detail__hero-wrap{
		aspect-ratio:3 / 2;
		max-height:440px;
	}

	.inmovilla-property-detail__facts{
		grid-template-columns:repeat(3, minmax(0, 1fr));
	}

	.inmovilla-property-detail__amenities{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}

@media (max-width:767px){
	.inmovilla-property-detail__page{
		padding-top:20px;
		padding-bottom:40px;
	}

	.inmovilla-property-detail__sticky-group{
		grid-template-columns:1fr;
		gap:16px;
	}

	.inmovilla-property-detail__body,
	.inmovilla-property-detail__section{
		padding:20px 18px;
	}

	.inmovilla-property-detail__hero-wrap{
		aspect-ratio:4 / 3;
	}

	.inmovilla-property-detail__heading{
		font-size:22px;
	}

	.inmovilla-property-detail__price{
		font-size:28px;
		padding:14px 0;
	}

	.inmovilla-property-detail__description{
		font-size:15px;
	}

	.inmovilla-property-detail__subheading{
		margin-bottom:18px;
		font-size:18px;
	}

	.inmovilla-property-detail__facts{
		grid-template-columns:1fr;
		gap:10px;
	}

	.inmovilla-property-detail__fact{
		flex-direction:row;
		flex-wrap:wrap;
		align-items:center;
		column-gap:14px;
		padding:14px 16px;
	}

	.inmovilla-property-detail__fact-icon{
		margin:0;
		min-width:44px;
		height:44px;
	}

	.inmovilla-property-detail__fact-label,
	.inmovilla-property-detail__fact-value{
		flex:1 1 calc(100% - 70px);
	}

	.inmovilla-property-detail__info{
		grid-template-columns:1fr;
	}

	.inmovilla-property-detail__map iframe{
		height:280px;
	}

	.inmovilla-property-detail__summary,
	.inmovilla-property-detail__agent{
		padding:20px 18px;
	}
}

/* La rejilla del contenido no puede crecer con el ancho interno de la galería (swiper). */
.inmovilla-property-detail__content{
	grid-template-columns:minmax(0, 1fr);
}

.inmovilla-property-detail__card,
.inmovilla-property-detail__section{
	min-width:0;
	max-width:100%;
}

.inmovilla-property-detail__gallery,
.inmovilla-property-detail__gallery-slider{
	max-width:100%;
	overflow:hidden;
}

.inmovilla-property-detail__hero img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}

/* Anchos: nada se sale de su tarjeta (la foto, las rejillas y la galería ocupan exactamente el ancho útil). */
.inmovilla-property-detail__hero-wrap{
	width:100%;
	margin-left:0;
	margin-right:0;
}

.inmovilla-property-detail__info,
.inmovilla-property-detail__info-col,
.inmovilla-property-detail__amenities,
.inmovilla-property-detail__facts,
.inmovilla-property-detail__gallery,
.inmovilla-property-detail__map{
	width:100%;
	margin-left:0;
	margin-right:0;
	padding-left:0;
	padding-right:0;
}

.inmovilla-property-detail__info{
	padding-top:0;
	padding-bottom:0;
}

.inmovilla-property-detail__info-col{
	padding-top:0;
	padding-bottom:0;
}

@media (max-width:1099px){
	/* En una sola columna cada tarjeta ocupa todo el ancho (antes se ajustaba al contenido). */
	.inmovilla-property-detail__row{
		align-items:stretch;
	}

	.inmovilla-property-detail__card,
	.inmovilla-property-detail__section,
	.inmovilla-property-detail__sidebar{
		width:100%;
	}
}

/* Descripción recortada en móvil con degradado y botón "Leer más". */
@media (max-width:767px){
	.inmovilla-property-detail__description.remax-desc-clamp{
		position:relative;
		max-height:250px;
		overflow:hidden;
	}

	.inmovilla-property-detail__description.remax-desc-clamp::after{
		content:'';
		position:absolute;
		left:0;
		right:0;
		bottom:0;
		height:90px;
		background:linear-gradient(to bottom, rgba(255,255,255,0), #fff);
		pointer-events:none;
	}

	.remax-desc-btn{
		margin-top:14px;
	}
}

/* En una sola columna el precio ya aparece arriba, justo bajo el título: no se repite en el resumen. */
@media (max-width:1099px){
	.inmovilla-property-detail__summary-price{
		display:none;
	}
}

/* ==========================================================================
 * Ficha en móvil: datos generales alineados a la izquierda y detalles en tarjetitas de dos columnas.
 * ========================================================================== */
@media (max-width:767px){
	/* Datos generales: icono a la izquierda, título y valor apilados y alineados a la izquierda. */
	.inmovilla-property-detail__fact{
		display:grid;
		grid-template-columns:auto minmax(0, 1fr);
		grid-template-rows:auto auto;
		align-items:center;
		column-gap:14px;
		row-gap:2px;
		padding:14px 16px;
		text-align:left;
	}

	.inmovilla-property-detail__fact-icon{
		grid-column:1;
		grid-row:1 / span 2;
		margin:0;
		min-width:48px;
		height:48px;
	}

	.inmovilla-property-detail__fact-label,
	.inmovilla-property-detail__fact-value{
		grid-column:2;
		flex:none;
		margin:0;
		text-align:left;
	}

	.inmovilla-property-detail__fact-label{
		grid-row:1;
		align-self:end;
		font-size:15px;
		line-height:1.3;
	}

	.inmovilla-property-detail__fact-value{
		grid-row:2;
		align-self:start;
		font-size:14px;
		line-height:1.4;
	}

	/* Detalles: rejilla de dos columnas, cada dato en una tarjetita (etiqueta arriba, valor debajo). */
	.inmovilla-property-detail__info{
		display:block;
	}

	.inmovilla-property-detail__info-col + .inmovilla-property-detail__info-col{
		margin-top:10px;
	}

	.inmovilla-property-detail__info-list{
		display:grid;
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap:10px;
	}

	.inmovilla-property-detail__info-list li{
		display:flex;
		flex-direction:column;
		align-items:flex-start;
		justify-content:flex-start;
		gap:4px;
		padding:12px 14px;
		background:#F7F5EE;
		border:0;
		border-radius:3px;
	}

	.inmovilla-property-detail__info-label{
		font-size:12px;
		line-height:1.3;
		color:rgba(0,14,53,0.6);
	}

	.inmovilla-property-detail__info-value{
		font-size:14px;
		line-height:1.35;
		text-align:left;
		overflow-wrap:anywhere;
	}
}

@media (max-width:767px){
	.inmovilla-property-detail__info-list{
		align-items:stretch;
	}

	.inmovilla-property-detail__info-list li{
		margin:0;
		min-height:0;
		height:100%;
	}
}

/* ==========================================================================
 * Ficha: todos los bloques de una misma rejilla miden lo mismo y sus textos/iconos quedan siempre en la misma posición,
 * da igual cuánto texto lleven dentro.
 * ========================================================================== */

/* Resumen lateral (baños / metros / parcela…): cajas iguales con icono, etiqueta y valor en posiciones fijas. */
.inmovilla-property-detail__summary-grid{
	grid-auto-rows:1fr;
	align-items:stretch;
}

.inmovilla-property-detail__summary-item{
	display:grid;
	grid-template-rows:24px 2.6em auto;
	justify-items:center;
	align-items:center;
	align-content:start;
	gap:4px;
	min-height:104px;
	padding:14px 6px 12px;
	text-align:center;
}

.inmovilla-property-detail__summary-item > div{
	display:contents;
}

.inmovilla-property-detail__summary-item .inmovilla-pf-icon,
.inmovilla-property-detail__summary-item .inmovilla-icon{
	grid-row:1;
	display:flex;
	align-items:center;
	justify-content:center;
}

.inmovilla-property-detail__summary-label{
	grid-row:2;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:12px;
	line-height:1.25;
	text-align:center;
}

.inmovilla-property-detail__summary-value{
	grid-row:3;
	font-size:15px;
	line-height:1.2;
	text-align:center;
}

@media (max-width:767px){
	/* Datos generales: tarjetas del mismo tamaño; icono y texto siempre en las mismas columnas. */
	.inmovilla-property-detail__facts{
		grid-auto-rows:1fr;
	}

	.inmovilla-property-detail__fact{
		grid-template-columns:76px minmax(0, 1fr);
		column-gap:14px;
		min-height:84px;
		height:100%;
		padding:14px 16px;
		align-content:center;
	}

	.inmovilla-property-detail__fact-icon{
		grid-column:1;
		grid-row:1 / span 2;
		justify-self:center;
		width:76px;
		min-width:76px;
		height:48px;
		padding:0;
		gap:8px;
	}

	.inmovilla-property-detail__fact-icon .inmovilla-pf-icon,
	.inmovilla-property-detail__fact-icon i{
		flex:0 0 auto;
	}

	.inmovilla-property-detail__fact-label{
		font-size:14px;
	}

	.inmovilla-property-detail__fact-value{
		font-size:13px;
	}

	/* Características: etiquetas del mismo alto, el texto se ajusta sin cortarse. */
	.inmovilla-property-detail__amenities{
		grid-auto-rows:1fr;
		gap:8px;
	}

	.inmovilla-property-detail__amenities li{
		min-width:0;
		min-height:52px;
		padding:8px 12px;
		font-size:13px;
		line-height:1.25;
		overflow-wrap:anywhere;
		hyphens:auto;
	}

	/* Detalles: tarjetitas iguales, mismo margen interior y mismo hueco entre ellas. */
	.inmovilla-property-detail__info-list{
		grid-auto-rows:1fr;
		gap:8px;
	}

	.inmovilla-property-detail__info-col + .inmovilla-property-detail__info-col{
		margin-top:8px;
	}

	.inmovilla-property-detail__info-list li{
		min-height:84px;
		justify-content:flex-start;
		padding:12px 14px;
	}
}

@media (max-width:767px){
	.inmovilla-property-detail__fact .inmovilla-property-detail__fact-icon{
		box-sizing:border-box;
		width:76px !important;
		min-width:76px !important;
		max-width:76px !important;
		height:48px;
		padding:0 !important;
		gap:4px;
		justify-content:center;
		overflow:hidden;
	}

	.inmovilla-property-detail__fact-icon .inmovilla-pf-icon{
		width:22px;
		height:22px;
		font-size:22px;
	}

	.inmovilla-property-detail__info-list li{
		min-height:96px;
	}
}

@media (max-width:767px){
	.inmovilla-property-detail__info-list li{
		min-height:100px;
	}
}

/* ==========================================================================
 * Pop-up de "Ver vídeo" y "Ver tour virtual": pantalla casi completa en escritorio, tablet y móvil.
 * ========================================================================== */
.mfp-inmovilla-media .mfp-iframe-holder{
	padding:52px 1vw 12px;
}

/* Escritorio y tablet apaisada: el ancho se calcula con el alto disponible para llenar la ventana en 16:9. */
.mfp-inmovilla-media .mfp-iframe-holder .mfp-content{
	max-width:none;
	width:min(98vw, calc((100vh - 76px) * 16 / 9));
}

.mfp-inmovilla-media .mfp-iframe-scaler{
	background:#000;
	border-radius:4px;
}

.mfp-inmovilla-media .mfp-iframe-scaler iframe{
	border-radius:4px;
}

/* Tablet y móvil en vertical: el reproductor se hace más alto en vez de quedarse en una tira 16:9. */
@media (max-width:1099px) and (orientation:portrait){
	.mfp-inmovilla-media .mfp-iframe-holder{
		padding:50px 1vw 10px;
	}

	.mfp-inmovilla-media .mfp-iframe-holder .mfp-content{
		width:98vw;
	}

	.mfp-inmovilla-media .mfp-iframe-scaler{
		height:min(82vh, 135vw);
		padding-top:0;
	}
}

/* Móvil apaisado: ocupa todo el alto disponible. */
@media (max-height:520px) and (orientation:landscape){
	.mfp-inmovilla-media .mfp-iframe-holder{
		padding:40px 1vw 6px;
	}

	.mfp-inmovilla-media .mfp-iframe-holder .mfp-content{
		width:min(98vw, calc((100vh - 48px) * 16 / 9));
	}
}

/* Con un pop-up (vídeo, tour, foto) abierto, la barra inferior del móvil se oculta para no taparlo. */
@media (max-width:1099px){
	html.mfp-helper .remax-bottom-nav{
		transform:translateY(calc(100% + 2px)) !important;
		pointer-events:none;
	}
}

/* Tarjetas de ciudades: al pasar el cursor, "Ver más" y la descripción se leen sobre cualquier foto
 * (texto blanco con subrayado y degradado navy más oscuro). */
/* Oscurecido neutro (gris casi negro, sin tinte azul) que aparece con fundido al pasar el cursor. */
.inmovilla-cities__card-inner::after{
	content:'';
	position:absolute;
	inset:0;
	z-index:1;
	background:linear-gradient(to top, rgba(20,22,24,0.9) 0%, rgba(20,22,24,0.55) 55%, rgba(20,22,24,0) 100%);
	opacity:0;
	transition:opacity 0.5s ease;
	pointer-events:none;
}

.inmovilla-cities__card-inner:hover::after{
	opacity:1;
}

.inmovilla-cities__card-inner:hover .inmovilla-cities__more{
	color:#fff;
}

.inmovilla-cities__more{
	padding-bottom:3px;
	border-bottom:1px solid rgba(255,255,255,0.75);
}

.inmovilla-cities__description{
	color:rgba(255,255,255,0.9);
}

/* Banners de página: los que traían la imagen de edificios y nubes (breadcrum.webp) usan el mismo banner azul liso
 * que las noticias (azul cielo de marca con degradado oscuro), para que todo el sitio sea coherente. */
.page-title[style*="breadcrum"]{
	background-image:none !important;
	background-color:#A3D4F2;
}

/* ==========================================================================
 * PORTADA (escritorio y tablet): cabecera transparente y banner minimalista para que el vídeo de fondo se vea.
 * Referencia: texto ligero y grande, buscador fino y casi sin cajas. En móvil se mantiene el diseño propio.
 * ========================================================================== */
@media (min-width:768px){
	/* El vídeo se ve: velo suave solo arriba (cabecera) y abajo (buscador), el centro casi limpio. */
	.inmovilla-hero::after{
		background:linear-gradient(180deg, rgba(0,14,53,0.46) 0%, rgba(0,14,53,0.1) 26%, rgba(0,14,53,0.06) 55%, rgba(0,14,53,0.5) 100%);
	}

	.inmovilla-hero__content{
		max-width:920px;
	}

	.inmovilla-hero__content-inner{
		padding-top:190px;
		padding-bottom:150px;
	}

	/* Título ligero y más pequeño; la palabra clave en negrita y color de marca. */
	.inmovilla-hero__title{
		max-width:780px;
		margin:0 0 26px;
		font-size:56px;
		font-weight:300;
		line-height:1.14;
		letter-spacing:-0.01em;
		text-transform:none;
		text-shadow:0 2px 30px rgba(0,0,0,0.35);
	}

	.inmovilla-hero__title span{
		padding-bottom:18px;
		font-weight:700;
		color:#A3D4F2;
	}

	.inmovilla-hero__title span::before{
		height:18px;
		bottom:-2px;
		background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 24'%3E%3Cpath d='M4,18 Q110,2 216,14' stroke='%23A3D4F2' stroke-width='3' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
	}

	/* Buscador: una sola barra fina. */
	.inmovilla-hero__search{
		margin-top:1.4rem;
		max-width:860px;
	}

	.inmovilla-hero__tabs{
		display:flex;
		gap:26px;
		margin:0 0 12px;
		padding:0;
		background:transparent;
		border-radius:0;
		overflow:visible;
	}

	.inmovilla-hero__tab,
	.inmovilla-hero__tab:not(.is-active){
		height:auto;
		padding:6px 0;
		font-size:15px;
		font-weight:500;
		letter-spacing:0.02em;
		color:rgba(255,255,255,0.72);
		background:transparent !important;
		border:0;
		border-bottom:2px solid transparent;
		border-radius:0;
		text-shadow:0 1px 14px rgba(0,0,0,0.4);
		overflow:visible;
	}

	.inmovilla-hero__tab::before{
		display:none !important;
	}

	.inmovilla-hero__tab:not(.is-active):hover{
		color:#fff;
		border-bottom-color:rgba(255,255,255,0.55);
	}

	.inmovilla-hero__tab.is-active,
	.inmovilla-hero__tab.is-active:hover{
		color:#fff;
		background:transparent !important;
		border-bottom-color:#A3D4F2;
	}

	.inmovilla-hero__form-wrap{
		margin:0;
		padding:6px;
		border:0;
		border-radius:4px;
		background:rgba(255,255,255,0.94);
		-webkit-backdrop-filter:blur(8px);
		backdrop-filter:blur(8px);
		box-shadow:0 24px 60px -24px rgba(0,0,0,0.5);
	}

	.inmovilla-hero__form{
		flex-wrap:nowrap;
		gap:0;
		padding-right:54px;
		align-items:stretch;
	}

	.inmovilla-hero__field{
		flex:1 1 0;
		min-width:0;
		border-right:1px solid rgba(0,14,53,0.1);
	}

	/* Etiquetas solo para lectores de pantalla: el placeholder ya dice qué es cada campo. */
	.inmovilla-hero__field label{
		position:absolute;
		width:1px;
		height:1px;
		margin:0;
		overflow:hidden;
		clip:rect(0 0 0 0);
		white-space:nowrap;
	}

	.inmovilla-hero__field select,
	.inmovilla-hero__field--location input[type="text"]{
		height:48px;
		padding:0 18px;
		font-size:14px;
		font-weight:500;
		color:#000E35;
		background-color:transparent;
		border-radius:0;
	}

	.inmovilla-hero__field--location input[type="text"]::placeholder{
		color:#000E35;
		opacity:0.55;
	}

	.inmovilla-hero__submit{
		top:0;
		right:0;
		bottom:auto;
		height:48px;
	}

	/* ------------------------- Cabecera transparente (solo portada, sin scroll) ------------------------- */
	body.home .main-header:not(.fixed-header) .main-menu{
		background:transparent !important;
		padding-left:0 !important;
		padding-right:0 !important;
		box-shadow:none !important;
	}

	body.home .main-header:not(.fixed-header) .navigation > li > a{
		color:#fff !important;
		font-weight:500;
		letter-spacing:0.02em;
		text-shadow:0 1px 16px rgba(0,0,0,0.45);
	}

	body.home .main-header:not(.fixed-header) .search-box-btn,
	body.home .main-header:not(.fixed-header) .wishlist-btn,
	body.home .main-header:not(.fixed-header) .lang-switcher__toggle{
		color:#fff;
		background:transparent !important;
		border:1px solid rgba(255,255,255,0.42);
	}

	body.home .main-header:not(.fixed-header) .search-box-btn i,
	body.home .main-header:not(.fixed-header) .wishlist-btn i,
	body.home .main-header:not(.fixed-header) .search-box-btn svg,
	body.home .main-header:not(.fixed-header) .wishlist-btn svg{
		color:#fff;
	}

	body.home .main-header:not(.fixed-header) .search-box-btn img{
		filter:invert(100%);
	}

	body.home .main-header:not(.fixed-header) .header_button-box .theme-btn{
		background:transparent;
		border:1px solid rgba(255,255,255,0.6);
		color:#fff;
	}
}

/* Buscador de la portada: sin línea vertical tras el último campo (junto al botón de buscar). */
@media (min-width:768px){
	.inmovilla-hero__field:last-of-type,
	.inmovilla-hero__form > .inmovilla-hero__field:last-of-type{
		border-right:0;
	}
}

/* El menú hamburguesa (panel blanco) conserva sus colores: los enlaces blancos de la cabecera transparente
 * de la portada solo valen para el menú de escritorio. */
body.home .main-header .mobile-menu .navigation > li > a,
body.home .main-header:not(.fixed-header) .mobile-menu .navigation > li > a{
	color:#000E35 !important;
	font-weight:500;
	letter-spacing:normal;
	text-shadow:none;
}

/* Ficha: el precio va solo, grande, sin etiqueta; las flechas de la galería quedan centradas sobre la foto. */
.inmovilla-property-detail__summary-price strong{
	display:block;
	font-size:32px;
	font-weight:700;
	line-height:1.1;
	letter-spacing:-0.01em;
	color:#000E35;
}

.inmovilla-property-detail__summary-price strong span{
	font-size:16px;
	font-weight:500;
	color:rgba(0,14,53,0.6);
}

.inmovilla-property-detail__gallery-prev,
.inmovilla-property-detail__gallery-next{
	top:50%;
	margin-top:-22px;
	z-index:20;
	touch-action:manipulation;
	-webkit-tap-highlight-color:transparent;
}

.inmovilla-property-detail__gallery-prev{left:12px;}
.inmovilla-property-detail__gallery-next{right:12px;}

/* Pie: los submenús desplegados mantienen el mismo ritmo que el resto de enlaces (sin márgenes extra arriba ni abajo). */
.main-footer .widget_nav_menu .sub-menu{
	margin:0;
	padding:0;
}

.main-footer .widget_nav_menu .sub-menu li{
	margin:0;
}

.main-footer .widget_nav_menu .sub-menu li:first-child{
	margin-top:0;
}

/* Ficha, escritorio: los iconos de "Datos generales" van siempre a la izquierda, con el mismo tamaño de píldora. */
@media (min-width:768px){
	.inmovilla-property-detail__fact .inmovilla-property-detail__fact-icon{
		width:fit-content;
		min-width:48px;
		justify-content:flex-start;
		align-self:flex-start;
		padding:0 14px;
	}
}

.main-footer .footer-widget.widget_nav_menu .sub-menu > li:not(:last-child){
	margin-bottom:0;
}

/* Pie: al desplegar un submenú no se añade hueco extra sobre el primer enlace (mismo ritmo de 35px que el resto). */
.main-footer .footer-widget.widget_nav_menu li.menu-item-has-children.inm-open > .sub-menu,
.main-footer .footer-widget.widget_nav_menu li.menu-item-has-children:hover > .sub-menu{
	padding-top:0;
	padding-bottom:0;
}

/* Ficha en móvil: "Detalles de la propiedad" es una sola rejilla de 2 columnas (las dos listas se funden),
 * así los bloques siempre van de 2 en 2 y el último impar ocupa todo el ancho. */
@media (max-width:767px){
	.inmovilla-property-detail__info{
		display:grid;
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap:8px;
	}

	.inmovilla-property-detail__info-col,
	.inmovilla-property-detail__info-list{
		display:contents;
	}

	.inmovilla-property-detail__info-col + .inmovilla-property-detail__info-col{
		margin-top:0;
	}

	.inmovilla-property-detail__info-list li{
		min-height:76px;
	}

	.inmovilla-property-detail__info > .inmovilla-property-detail__info-col:last-child li:last-child:nth-child(odd){
		grid-column:auto;
	}
}

/* Planos: etiqueta con el número de cada plano ("Plano 2 / 3") en la esquina del carrusel. */
.inmovilla-property-detail__gallery-image--plan{
	position:relative;
}

.inmovilla-property-detail__plan-badge{
	position:absolute;
	top:12px;
	left:12px;
	z-index:5;
	padding:6px 12px;
	font-size:13px;
	font-weight:600;
	line-height:1;
	color:#fff;
	background:#0C2749;
	border-radius:3px;
	pointer-events:none;
}

/* Filtro por referencia: campo de texto como el resto, sin etiqueta repetida (el título de la sección ya la nombra). */
.remax-ui-v2 .remax-fsec--ref .inmovilla-field label{
	position:absolute;
	width:1px;
	height:1px;
	overflow:hidden;
	clip:rect(0 0 0 0);
	white-space:nowrap;
}

.remax-ui-v2 .remax-fsec--ref input[type="text"]{
	padding:0 14px;
	font-weight:500;
}

.remax-ui-v2 .remax-fsec--ref input[type="text"]::placeholder{
	color:rgba(12,39,73,0.5);
	font-weight:400;
}

/* Popup "Quiero más información": confirmación tras enviar el formulario. */
.inmovilla-contact-success{
	display:flex;
	flex-direction:column;
	align-items:center;
	padding:18px 8px 6px;
	text-align:center;
}

.inmovilla-contact-success[hidden]{
	display:none;
}

.inmovilla-contact-success__icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:64px;
	height:64px;
	margin:0 0 18px;
	color:#0C2749;
	background:#A3D4F2;
	border-radius:50%;
}

.inmovilla-contact-success__icon svg{
	width:30px;
	height:30px;
}

.inmovilla-contact-success__title{
	margin:0 0 10px;
	font-size:22px;
	font-weight:700;
	color:#000E35;
}

.inmovilla-contact-success__text{
	max-width:340px;
	margin:0 0 22px;
	font-size:15px;
	line-height:1.55;
	color:rgba(0,14,53,0.72);
}

.inmovilla-contact-success__btn{
	min-width:160px;
	height:46px;
	padding:0 26px;
	font-size:14px;
	font-weight:600;
	color:#fff;
	background:#0C2749;
	border:0;
	border-radius:4px;
	cursor:pointer;
}
