html {
    overflow-x:hidden;
    scroll-behavior: smooth;
}

/* ================================
   Animaciones - Reveal on scroll
   ================================ */
.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.9s cubic-bezier(.2,.8,.2,1), transform 0.9s cubic-bezier(.2,.8,.2,1);
}
.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }
.reveal-delay-5 { transition-delay: 0.5s; }
.reveal-delay-6 { transition-delay: 0.6s; }

/* Hero fade-up animation */
@keyframes heroFadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.hero-animated {
    opacity: 0;
    transform: translateY(24px);
    animation: heroFadeUp 0.9s cubic-bezier(.2,.8,.2,1) forwards;
}
.hero-animated-delay-1 { animation-delay: 0.2s; }
.hero-animated-delay-2 { animation-delay: 0.35s; }
.hero-animated-delay-3 { animation-delay: 0.5s; }
.hero-animated-delay-4 { animation-delay: 0.65s; }

@media (min-width: 768px) {
    .ocultardesk {
    display: none;
    }
}

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

/* HEADER */

/* Ampliar el ancho del container en pantallas medianas */
@media (max-width: 1366px) {
    .container {
        max-width: 80vw;
        width: 80vw;
        min-width: 0;
        padding-left: 12px;
        padding-right: 12px;
    }

    #header .container, .cont-detalle {
        max-width: 85vw;
        width: 85vw;
    }
}

#logo {
    margin-top: 10px;
}

#header-container.header-style-2 #header {
    padding-top: 25px;
    z-index: 1500;
}

#navigation.style-2 {
    margin-top: 20px;
    position: relative;
    z-index: 3;
}

#navigation ul {
    list-style: none;
    position: relative;
    float: unset;
    display: flex;
    margin: 0;
    padding: 0;
    justify-content: space-between;
}

#navigation ul li {
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
}

#navigation.style-2 ul a {
    font-size: 15px;
    padding: 10px 10px;
    letter-spacing: 0.5px;
}

#navigation.style-2.cloned .sticky-logo {
    display:none;
}

.header-widget {
    top:20px;
}

.header-widget li img {
    width:30px;
    margin-right:5px;
}

/* RESPONSIVE HEADER */

@media (max-width:767px) {
    .container { /* ANCHO CONTAINER MOBILE */
        max-width: 90vw;
        width:90vw;
        padding: 0px;
    }
    .left-side {
        height: 50px;
        margin-bottom: 20px;
    }
    #logo {
        width: 100%;
        margin: 0px;
        top: 20px;
    }
    #logo img {
        max-height: none;
        transform: none;
        width: 200px;
    }
    .header-style-2 .mmenu-trigger {
        position: absolute;
        right: 15px;
        top: 25px;
    }
    .header-widget {
        display:none;
    }
    #navigation {
        display: none;
    }
    .mmenu-trigger {
        background-color: #fff;
        border: 1px solid #ccc;
    }
    .header-widget-mobile {
        margin-top: 20px;
        padding-left: 0;
        display: flex;
        gap: 10px;
        list-style-type: none;
    }
    .header-widget-mobile img {
        max-width: 25px;
        margin-right: 5px;
    }
    .mm-menu, .mm-navbar {
        background-color: rgba(0, 86, 52, 0.674) !important; /* #00563460 en rgba */
    }
    .mm-navbar {
        border-bottom: 1px solid #005634;
    }
    .mm-listview {
        font: inherit;
        font-size: 12px;
        line-height: 15px;
        font-family: 'Noto Sans';
        font-weight: 200;
    }
    .mm-listview>li {
        border-bottom: 1px solid #005634;
        font-size: 15px;
        padding: 10px;
    }
    .mm-listview>li>a, .mm-listview>li>span {
        padding: 10px 10px 10px 20px;
    }
}


/* BUSCADOR HOME */

#buscador-container {
    position: sticky;
    top: 57px;
    z-index: 10;
}

@media (max-width: 767px) {
    #buscador-container {
        position: relative;
        top: auto;
    }
}

.search.search-home h2 {
    font-family: 'Noto Sans', sans-serif;
    font-size: 28px;
    color: #fff;
    font-weight: 600 !important;
    font-style: italic;
    margin: 0px 0px 40px;
    text-align:center;
}

.search.search-home h2 img {
    margin-right: 12px;
}

.search-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    font-family: 'Quicksand';
    font-weight: 400;
    color: #fff;
}

.search-title div {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    cursor: pointer;
    background-color: #005634;
    font-size: 24px;
    width: 49%;
    height: 60px;
    padding-bottom: 10px;
}

.search-title .venta {
    border-radius: 20px 0px 0px 0px;
}

.search-title .alquiler {
    border-radius: 0px 20px 0px 0px;
}

.search-title .active {
    background-color: #c4e8dc;
    color: #005634;
    height: 50px;
}

.curva-img {
  display: block;
  margin: 0 auto;
}

.chosen-container-single .chosen-single div b:after {
    display:none;
}

/* ESTILO BASE PARA LOS SELECT (Chosen) */
.main-search-box .chosen-container .chosen-single,
.main-search-box .chosen-container .chosen-choices,
.main-search-box select{
    border: 1.5px solid transparent;
    border-radius: 12px;
    color: #606060;
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    font-size: 16px;
    padding: 0px 20px; /* espacio para la flecha */
    background-color: #fff;
    outline: none;
    width: 100%;
    box-sizing: border-box;
    height: 44px;
    line-height: 40px;
    box-shadow: 0px 0px 2px 1px rgba(0,0,0,0.2);
    background-image: url('../images/flecha-select.svg');
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 10px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

@media (max-width:767px) {
    .main-search-box .chosen-container .chosen-single,
    .main-search-box .chosen-container .chosen-choices,
    .main-search-box select{
        font-size: 15px;
        height: 40px;
        line-height: 40px;
    }
}
.main-search-box input {
    border: 1.5px solid transparent;
    border-radius: 12px;
    color: #606060;
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    font-size: 16px;
    padding: 0px 20px; /* espacio para la flecha */
    background-color: #fff;
    outline: none;
    width: 100%;
    box-sizing: border-box;
    height: 44px;
    line-height: 40px;
    box-shadow: 0px 0px 2px 1px rgba(0,0,0,0.2);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

/* ESTILO CUANDO ESTÁ ACTIVO/ENFOCADO */
.main-search-box .chosen-container-active .chosen-single,
.main-search-box .chosen-container-active .chosen-choices {
    border-color: #005634; 
    box-shadow: 0px 0px 4px rgba(44,135,197,0.4);
}


.main-search-box .chosen-with-drop .chosen-default {
    border-radius: 12px;
}

.main-search-box .chosen-with-drop .chosen-drop {
    border-radius: 12px;
    margin-top: 5px;
    padding-top: 10px;
    border-color: #005634;
    box-shadow: 0px 0px 4px rgba(44,135,197,0.4);
    font-family: 'Quicksand';
    font-size: 16px;
}

.main-search-box .main-search-input {
    display: flex;
    justify-content: center;
}

/* PARA EL BOTON DE PROPIEDADES */
.main-search-box .main-search-input.boton-buscar-propiedades {
    justify-content: flex-end;
}

.main-search-box .main-search-input button {
    font-family: 'Quicksand';
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    border-radius: 12px;
    box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.2);
    padding: 0px 120px;
    height: 44px;
}

.main-search-box .more-search-options-trigger {
    font-family: 'Quicksand';
    font-size: 16px;
    font-weight: 500;
    color: #008159;
}

.main-search-box .more-search-options {
    margin-bottom: 40px;
}


section.search.search-home { /* BUSCADOR FONDO DISTINTO EN HOME */
    background-image: url('../images/desk-fondo-busqueda.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;;
    padding: 40px 0px 170px;
}

section.search .main-search-box, section.search .more-search-options-container {
    background-color: #c4e8dc;
    padding: 40px;
    border-radius: 0px 0px 30px 30px;
}

/* RESPONSIVE BUSCADOR */

@media (max-width:767px) {
    .search.search-home h2 {
        font-size: 16px;
        line-height: 1.2;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        text-align: left;
        margin-bottom: 20px;
    }
    .search.search-home h2 img {
        margin: 0px 15px 0px 15px !important;
        height: 35px !important;
    }
    .search-title div {
        font-size: 16px;
    }
    .main-search-box .main-search-input button {
        padding: 0px 80px;
        font-size: 16px;
    }
    .main-search-box.no-shadow .main-search-input button.button {
        margin-bottom: 0px;
    }
    .main-search-box select, .main-search-box .chosen-default {
        font-size: 14px;
        line-height: 14px;
        height: 37px;
    }
    .row.with-forms select, .row.with-forms .chosen-container {
        margin-bottom: 10px;
    }
    .main-search-box .more-search-options-trigger {
        font-size: 14px;
        font-weight: 200;
        margin: 0px !important;
    }
    .main-search-box input {
        font-size: 14px;
        line-height: 14px;
        height: 37px;
    }
}

/* BANNER HOME */

.banner-slogan {
    width: 100vw;
    min-height: 300px; /* Ajusta según el alto de tu imagen */
    background-image: url('../images/slogan-fondo-desk.png'); /* Cambia por tu imagen real */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #fafafa;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 50%;
    transform: translateX(-50%);
    /* Opcional: para que no quede pegado arriba/abajo */
    padding: 0px;
    box-shadow: inset 0 -4px 8px 0px rgba(0, 0, 0, 0.10);
}

.banner-slogan-content {
    text-align: center;
    padding: 20px 40px;
    border-radius: 12px;
    display: inline-block;
}

.banner-slogan-content h2 span {
    font-weight: 600 !important;
    font-size: 25px;
    font-style: italic;
}

.banner-slogan-content h2 {
    font-family: 'Noto Sans', sans-serif;
    color: #008159;
    font-size: 30px !important;
    font-weight: 300 !important;
    font-style: normal;
}

.banner-slogan-content h3 {
    font-family: 'Quicksand', sans-serif;
    color: #008159;
    font-weight: 600;
}

/* RESPONSIVE BANNER HOME */

@media (max-width:767px) {
    .banner-slogan {
        background-image: url(../images/slogan-fondo-mobile.png);
        background-position: top center;
        box-shadow: none;
    }
    .banner-slogan {
        min-height: 200px;
    }
    .banner-slogan-content h2 span {
        font-size: 24px !important;
        font-weight: 600;
        display: block;
    }
    .banner-slogan-content h2 {
        font-size: 24px !important;
        font-weight: 300;
        display: block;
    }
        .banner-slogan-content h3 {
        font-size: 22px !important;
        margin-top: 15px;
    }
}

/* PROPIEDADES DESTACADAS HOME */

.destacadas {
    margin: 50px 0px 70px 0px;
    padding: 0px;
}

.destacadas h3 {
    font-family: 'Quicksand', sans-serif;
    text-align: center;
    font-size: 25px;
    color: #008159;
    margin: 0px 0px 30px 0px;
}

.owl-theme .owl-controls .owl-buttons {
    position: unset;
    display: inline-flex;
    width: 100%;
    top: 0px;
    right: 0px;
    justify-content: space-between;
}

.listing-item {
    border-radius: 15px;
    cursor: pointer;
}

.listing-badges .featured {
    display:none;
}

.listing-badges .operacion {
    text-transform: uppercase;
}

.listing-badges span {
    color: #008159;
    display: inline-block;
    padding: 1px 10px;
    background-color: #fff;
    border-radius: 5px;
    top: 15px;
    left: 15px;
    position: absolute;
    width: auto;         /* Asegura que el ancho se ajuste al contenido */
    right: auto;         /* Elimina cualquier restricción a la derecha */
    float: none;
    font-family: 'Quicksand', sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 22px;
}

.compact .listing-img-content .listing-compact-title {
    padding: 23px 26px;
    display: block;
    font-family: 'Quicksand';
    font-weight: 200;
    font-size: 28px;
    text-shadow: 1px 1px 2px #333333; /* Sombra para que se vea el texto */
}

.compact .listing-img-content .listing-compact-title i {
    display: block;
    font-style: normal;
    font-size: 15px;
    padding: 0;
    margin: 10px 0 0 0;
    line-height: 18px;
}

.listing-hidden-content {
    position: absolute;
}

.listing-hidden-content:hover {
    height: 200px;
}

.listing-img-container {
    position: relative;
}

.listing-img-container:before {
    opacity: 1 !important;
    background: #33333330 !important;
    transition: opacity .5s !important;
}

.listing-img-container:after {
    background: linear-gradient(to top, rgba(0, 129, 89, 0.6) 0%, rgba(0, 129, 89, 0) 100%) !important;
}

.listing-caracteristicas {
    display: block !important;
    position: absolute;
    bottom: 0;
    right: 10px;
    font-family: 'Quicksand';
    color: #fff;
    font-size: 13px;
    font-weight: 200;
    z-index: 20;
}

.listing-caracteristicas img {
    display: inline-block;
    width: 15px;
    height: 15px;
    vertical-align: middle;
    margin: -5px 5px 0px 8px;
}

.owl-theme .owl-controls .owl-buttons div {
    color: #008159;
    margin: 20px 10px;
    border-radius: 50%;
    border: 2px solid #008159;
    width: 36px;    /* Ajusta el tamaño según lo que necesites */
    height: 36px;   /* Igual que el width */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px; /* Opcional: para centrar el ícono/texto */
    box-sizing: border-box;
}

.owl-theme .owl-controls .owl-buttons .owl-prev {
    padding-left: 3px;
    line-height: 0;
}

.owl-theme .owl-controls .owl-buttons .owl-next {
    padding-right: 3px;
    line-height: 0;
}

.owl-theme .owl-controls .owl-buttons div:hover {
    color: #fff !important;
    font-size: 26px;
    background-color: #008159;

}

/* DESTACADAS HOME RESPONSIVE */

@media (max-width:767px) {
    .destacadas {
        border-radius: 20px;
        box-shadow: 1px 1px 2px 2px rgba(0, 0, 0, 0.2);
        padding: 30px 0px 0px;
        max-width:90vw;
        margin: 5px auto 40px;
    }
    .destacadas h3 {
        font-size: 24px;
        color: #008159;
        margin: 0px 0px 10px 0px;
    }
    .owl-theme .owl-controls .owl-buttons {
        position: unset;
        display: inline-flex;
        width: 90vw;
        top: 0px;
        right: 0px;
        justify-content: space-between;
    }
    .carousel-item {
        padding: 10px;
    }
    .compact .listing-img-container:before {
        transform: none;
    }
    .owl-theme .owl-controls .owl-buttons div {
        width: 30px;
        height: 30px;
    }
}

/* BANNER BIENVENIDA */

.bienvenida h2 {
    font-family: 'Noto Sans', sans-serif;
    color: #fff;
    font-weight: 600 !important;
    font-style: italic;
    margin-top: 0px;
}

.bienvenida h2 span {
    display: block;
    font-weight: 200;
    font-style: normal;
}

.bienvenida p {
    font-family: 'Noto Sans', sans-serif;
    color: #fff;
    font-weight: 100;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0.5px;
}

.bienvenida p span {
    display: block;
}

.bienvenida p b {
    font-weight: 500;
}

.bienvenida-2 .bienvenida-info {
    display: flex;
    align-items: flex-start; /* Alinea la parte superior del ícono y el texto */
    gap: 30px; /* Espacio entre ícono y texto */
    margin-bottom: 25px;
}

.bienvenida-icono {
    flex-shrink: 0; /* El ícono no se reduce de tamaño */
    display: flex;
    align-items: flex-start; /* Alinea el ícono arriba */
}
.bienvenida-icono img {
    display: block;
    margin-top: 6px; /* Ajusta este valor según lo que necesites */
}

.bienvenida-texto {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.bienvenida-item {
    margin: 0px 0px 5px 0px;
    font-size: 22px !important;
    color: #fff;
    font-family: 'Noto Sans', sans-serif;
    font-weight: 600;
    font-style: italic;
}

.bienvenida-descripcion {
    margin: 0;
    font-family: 'Noto Sans', sans-serif;
    color: #fff;
    font-weight: 100;
    font-size: 16px !important;
    line-height: 22px !important;
    letter-spacing: 0.5px;
}

/* BIENVENIDA RESPONSIVE */

@media (max-width: 767px) {
    .text-content {
        padding: 60px 0px 35px;
    }
    .bienvenida {
        padding: 0px;
    }
    .bienvenida h2 {
        text-align:center;
        font-size: 20px;
        line-height: 1.1;
        margin-bottom: 20px;
    }
    .bienvenida h2 span {
        font-size: 16px;
        display: inline-block;
    }
    .bienvenida-inline {
        display: block;
    }
    .bienvenida p {
        text-align:center;
        font-size: 15px;
        line-height: 17px;
    }
    .bienvenida-item {
        margin: 0px 0px 4px 0px;
        font-size: 15px !important;
    }
    .bienvenida-descripcion {
        font-size: 14px !important;
        line-height: 15px !important;
    }
    .bienvenida-icono img {
        display: block;
        margin-top: 0px;
        width: 25px;
    }
    .bienvenida-2 .bienvenida-info {
        gap: 10px;
        margin-top: 30px;
    }
}

/* FORMULARIO TASACIÓN */

.tasacion-form {
    background-image:url('../images/fondo-tasacion-form.jpg');
    background-size: cover;
    background-position: center;
    padding: 100px 0px;
}

.tasacion-titulo {
    margin-bottom: 30px;
}

.tasacion-form .headline {
    font-family: 'Noto Sans', sans-serif;
    color: #005634;
    font-weight: 700;
    font-style: italic;
    font-size: 25px;
    margin-top: 20px;
}

.tasacion-form .headline span {
    display: block;
    font-weight: 300;
    font-style: normal;
    font-size: 25px;
    color: #005634;
}

.tasacion-form form .headline {
    font-family: 'Quicksand', sans-serif;
    color: #606060;
    font-weight: 600;
    font-style: normal;
    font-size: 22px;
    margin-bottom: 10px !important;
}

.tasacion-form input::placeholder {
    color: #909090;
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    font-size: 16px;
}

.tasacion-form input {
    color: #606060;
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    font-size: 16px;
    border: 1.5px solid #606060;
    border-radius: 12px;
    margin-bottom: 15px !important;
    padding: 0px 15px;
    height: 44px;
    line-height: 40px;
    box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.2);
}

.tasacion-form select {
    border: 1.5px solid #606060;
    border-radius: 12px;
    color: #909090;
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    font-size: 16px;
    padding: 0px 10px; /* espacio para la flecha */
    background-color: #fff;
    outline: none;
    width: 100%;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url('../images/flecha-select.svg');
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 10px;
    height: 44px;
    line-height: 40px;
    box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.2);
}

.gap-reducido { /* Reduzco gap de las columnas */
    margin-left: -5px;
    margin-right: -5px;
}
.gap-reducido > [class^="col-"] {
    padding-left: 5px;
    padding-right: 5px;
}

.tasacion-form input[type="submit"] {
    float:right;
    margin-top: 30px;
    font-family: 'Quicksand', sans-serif;
    color: #fff;
    font-weight: 600;
    padding: 0px 60px;
    border-color: #008159;
    margin-right: 0px;
}

.tasacion-form p {
    font-family: 'Noto Sans', sans-serif;
    color: #005634;
    font-size: 18px;
    font-weight: 300;
}

.tasacion-form p a {
    font-weight: 600;
    text-decoration: none;
    font-style: italic;;
}

.tasacion-form p img {
    position:relative;
    top: -3px;
    padding-right: 7px;
}

/* FORMULARIO TASACIÓN RESPONSIVE */

@media (max-width: 767px) {
    .tasacion-form {
        background-image: url(../images/fondo-tasacion-form.jpg);
        background-position: top left;
        padding: 60px 0px;
        text-align: center;
    }
    .tasacion-titulo {
        display: flex;
        justify-content: space-evenly;
        align-items: flex-end;
        flex-direction: row-reverse;
    }
    .tasacion-titulo img {
        position: relative;
        right: 20px;
    }
    .tasacion-form .headline {
        font-size: 20px;
        line-height: 20px;
        margin: 0px;
    }
    .tasacion-form span {
        font-size: 16px !important;
    }
    .tasacion-form p {
        font-size: 14px;
        line-height: 16px;
    }
    .sidebar-textbox {
        padding-right: 0px;
    }
    .tasacion-form p img {
        display:none;
    }
    .tasacion-form form .headline {
        font-size: 16px;
        margin-bottom: 20px !important;
        margin-top: 10px;
    }
    .tasacion-form input, .tasacion-form select {
        border: 1px solid #60606010;
    }
    .tasacion-form input, .tasacion-form input::placeholder, .tasacion-form select {
        font-size: 14px;
        font-weight: 300;
        height: 37px;
        line-height: 14px;
        margin: 0px auto 10px !important;
        width: 80%;
    }
    .tasacion-form input[type="submit"] {
        float: none;
        padding: 0px !important;
        width: 70%;
        margin-top: 20px !important;
    }
}

/* HUELLAS */

#testimonials {
    background-image: url('../images/huellas-fondo.jpg');
    background-size: cover;
    background-position: top;
    background-attachment: fixed; /* <-- Esto agrega el efecto parallax */
    text-align:center;
    padding: 80px 0px;
}

.huellas-img-mobile {
    display:none;
    
}

.huellas-img {
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 99%;
    display: block;
    
}

.huellas-titulo {
    position: relative;
}

.huellas-titulo h2 {
    text-align:center;
    font-family: 'Quicksand', sans-serif;
    font-weight: 300;
    color: #fff;
    font-size: 50px;
    margin: 0px auto;
    padding-bottom: 60px;
}

.huellas p {
    font-family: 'Noto Sans', sans-serif;
    color: #fff;
    font-weight: 200;
    font-size: 20px;
    line-height: 1.3;
}

.huellas p b {
    font-style: italic;
    font-weight: 500;
}

.testimonial-box {
    background-color: rgba(255, 255, 255, 0.7);
    padding: 30px 20px;
    border-radius: 12px;
    position: relative;
    margin: 20px 10px 0px 10px;
}

.testimonial-box h4 {
    font-family: 'Quicksand', sans-serif;
    font-size: 20px;
    color: #005634;
    margin: 30px 0px 15px;
}

.testimonial-box p {
    font-family: 'Noto Sans', sans-serif;
    color: #008159;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.3;
    font-style: italic;
}

.scroll-container {
  height: 200px;
  overflow-y: auto;
  margin-bottom: 20px;
}

/* SCROLL PARA EL TEXTO DE TESTIMONIALS */

/* Firefox (solo si soporta scrollbar-color) */
@supports (scrollbar-color: red) and (not (-webkit-scrollbar: none)) {
  .scroll-container {
    scrollbar-width: thin;
    scrollbar-color: transparent transparent; /* Oculto por defecto */
    padding-right: 12px; /* Reservar espacio para que no se mueva */
    padding-left: 12px; /* Reservar espacio para que no se mueva */
  }

  .scroll-container:hover {
    scrollbar-color: #008159 transparent;
  }
}

/* Chrome, Edge, Safari */
@supports selector(::-webkit-scrollbar) {
  .scroll-container {
    scrollbar-width: auto;
    scrollbar-color: auto;
    padding-right: 12px; /* Igual que en Firefox */
    padding-left: 12px; /* Reservar espacio para que no se mueva */
  }

  .scroll-container::-webkit-scrollbar {
    width: 8px;
  }

  .scroll-container::-webkit-scrollbar-thumb {
    background: transparent; /* Oculto por defecto */
    border-radius: 10px;
    border: 1px solid transparent;
    background-clip: padding-box;
  }

  .scroll-container:hover::-webkit-scrollbar-thumb {
    background: #008159;
  }

  .scroll-container::-webkit-scrollbar-track {
    background: transparent;
  }
}

.testimonial-box .puntuacion-gap {
    height: 80px;
}

.testimonial-box .puntuacion {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: max-content;
}

.testimonial-box .puntuacion img {
    display: block;
    margin: 0 auto;
}

.testimonial-box .puntuacion span {
    display: block;
    padding-top: 20px;
    font-family: 'Quicksand', sans-serif;
    color: #008159;
    font-weight: 400;
    font-size: 20px;
}

/* HUELLAS responsive */

@media (max-width: 767px) {
    #testimonials {
        padding: 20px 0px;
    }
    .huellas-img {
        display: none;
        
    }
    .huellas-img-mobile {
        position: absolute;
        top: 5px;
        left: 50%;
        transform: translateX(-50%);
        width: 99%;
        display: block;
        
    }
    
    .huellas-img-mobile.huellas-home {
        position: absolute;
        top: 8px;
        left: unset;
        transform: none;
        width: unset;
        height: unset;
        display: block;
        
    }
    .huellas-titulo h2 {
        font-size: 25px;
        position: relative;
        top: 12px;
    }
    .huellas p {
        font-size: 14px;
        line-height: 1.5;
        font-weight: 300;
    }
    .huellas .owl-theme .owl-controls .owl-buttons {
        width: 100%;
    }
}

/* Controles para el carousel de testimonials */

.testimonial-carousel .owl-controls .owl-buttons div {
    color: #fff;
    margin: 20px 0px;
    border-radius: 50%;
    border: 2px solid #fff;
    width: 36px;    /* Ajusta el tamaño según lo que necesites */
    height: 36px;   /* Igual que el width */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px; /* Opcional: para centrar el ícono/texto */
    box-sizing: border-box;
}

.testimonial-carousel .owl-controls .owl-buttons .owl-prev {
    padding-left: 3px;
}

.testimonial-carousel .owl-controls .owl-buttons .owl-next {
    padding-right: 3px;
}

.testimonial-carousel .owl-controls .owl-buttons div:hover {
    color: #008159 !important;
    font-size: 26px;
    background-color: #fff;
}

/* Arreglo el container en pantalla chica de HUELLAS */

@media (max-width: 1366px) {
    #testimonials .container {
        max-width: 90vw;
        width: 90vw;
        min-width: 0;
        padding-left: 12px;
        padding-right: 12px;
    }
}

.huellas .row {
    margin-left: -10px;
    margin-right: -10px;
}
.huellas .row > [class^="col-"] {
    padding-left: 10px;
    padding-right: 10px;
}

/* FOOTER */

.footer-logo img {
    max-height: 100px;
    margin-bottom: 60px;
}

.contacto-footer ul {
    list-style-type: none;
    padding-left: 0px;
}

.contacto-footer ul li img {
    width: 40px;
    padding-right: 15px;
    color: #008159;
    color: #005634;
}

.contacto-footer ul li a, .contacto-footer ul li p {
    font-family: 'Quicksand', sans-serif;
    font-weight: 200;
    font-size: 16px;
    line-height: 40px;
}

.footer-about h4 {
    font-family: 'Quicksand', sans-serif;
    font-weight: 600;
    color: #ffffff !important;
    font-size: 16px !important;
    margin-bottom: 20px !important;
}

.footer-about p {
    font-family: 'Noto Sans', sans-serif;
    font-weight: 200;
    font-size: 12px;
    line-height: 18px;
    width:80%;
}

#footer h5 {
    font-family: 'Quicksand', sans-serif;
    font-weight: 200;
    color: #ffffff;
    font-size: 16px;
}

.footer-socials h4 {
    font-family: 'Quicksand', sans-serif;
    font-weight: 600;
    color: #ffffff !important;
    font-size: 24px !important;
    margin: 0px 0px 20px !important;
}

.footer-socials h5 {
    font-family: 'Quicksand', sans-serif !important;
    font-weight: 200 !important;
    font-size: 14px !important;
    word-spacing: 5px;
}

.sociales-footer {
    list-style-type: none;
    padding-left: 0px;
    margin: 35px 0px;
}

.sociales-footer li {
    display: inline-block;
    padding-right: 15px;
}

/* FOOTER RESPONSIVE */

@media (max-width: 767px) {
    #footer {
        text-align: center;
    }
    #footer .container {
        max-width: 90vw;
        width: 90vw;
    }
    .footer-logo img {
    max-height: 100px;
    margin-bottom: 40px;
    }
    .contacto-footer {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: left;
    }
    .footer-about p {
        padding-left: 0px;
        width: 100%;
        margin-bottom: 30px;
        font-size: 13px;
    }
    #footer h5 {
        margin: 60px 0px;
        letter-spacing: 2px;
    }
    #footer .footer-socials h5 {
        margin: 60px 0px 20px;
        letter-spacing: unset;
        word-spacing: 2px;
    }
    .footer-socials h4 {
        margin: 0px !important;
    }
    .sociales-footer {
    margin: 20px 0px 40px;
    }
    .footer-about h4 {
        margin-bottom: 10px !important;
        font-size: 14px !important;
    }
    .contacto-footer ul li a, .contacto-footer ul li p {
        font-size: 14px;
        line-height: 20px;
    }
    .contacto-footer ul li img {
        width: 25px;
        padding-right: 10px;
    }
}

/* PROPIEDADES */

#titulo-principal {
    background-color: #fff;
    text-align:center;
}

#titulo-principal .huellas-img {
    position: absolute;
    top: 25px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    display: block;
    
}

#titulo-principal .huellas-img-mobile {
    display: none;
    
}

.listing-image-bg{
    background-size: cover;
    background-position: center;
    height: 280px; /* Ajusta la altura según sea necesario */
    border-radius:15px 15px 0 0 ;
}

.listing-image-bg-compact{
    background-size: cover;
    background-position: center;
    height: 210px; /* Ajusta la altura según sea necesario */
    border-radius:15px 15px 0 0 ;
}

/* BUSCADOR PROPIEDADES */

section.search.search-propiedades {
    background-color: #fff !important;
    margin-top: 0px;
}

@media (max-width: 767px) {
    section.search.search-propiedades {
        background-color: #fff;
        padding: 0px 0px 30px !important;
        margin: 0px !important;
        text-align: center !important;
    }
}


/* Arreglo el container en pantalla chica de VENTA/ALQUILER */

@media (max-width: 1366px) {
    #titulo-principal .container {
        max-width: 90vw;
        width: 90vw;
        min-width: 0;
        padding-left: 12px;
        padding-right: 12px;
    }
    #titulo-principal {
        background-color: #fff;
        text-align: center;
        padding-top: 20px !important;
        overflow:hidden;
    }
}

.titulo-propiedades h2 {
    text-align:center;
    font-family: 'Quicksand', sans-serif;
    font-weight: 300;
    color: #005634;
    font-size: 40px;
    margin: 0px auto;
    padding-bottom: 20px;
}

.titulo-propiedades h3 {
    text-align:center;
    font-family: 'Quicksand', sans-serif;
    font-weight: 300;
    color: #707070;
    font-size: 16px;
    margin: 0px auto;
}

/* Items */

.listings-container .listing-item {
    box-shadow: 1px 1px 10px 1px rgba(0, 0, 0, 0.2);
}

.listings-container .listing-badges span {
    background-color: #008159;
    font-family: 'Quicksand', sans-serif;
    font-weight: 300;
    color: #fff;
}

.listings-container .listing-badges span.tipo-badge-Venta {
    background-color: #969696;
    color: #fff;
    left: 85px !important;
}
.listings-container .listing-badges span.tipo-badge-Alquiler {
    background-color: #969696;
    color: #fff;
    left: 105px !important;
}

.listings-container .listing-img-content {
    padding: 20px 30px !important;
}

.listings-container .listing-img-content span.listing-price {
    color: #fff;
    font-family: 'Quicksand', sans-serif;
    font-weight: 300;
    font-size: 13px;
    line-height: 1;
}

.listings-container .listing-img-content span.listing-price i {
    font-size: 20px;
}

.listings-container span.precio {
    color: #fff;
    font-family: 'Quicksand', sans-serif;
    font-weight: 300;
    font-size: 24px;
    position: absolute;
    z-index: 101;
    right: 30px;
    bottom: 18px;
}

.listings-container .listing-title {
    padding: 15px 20px !important;
    padding-top: 12px !important;
}

.listings-container .listing-title h4  {
    font-family: 'Quicksand', sans-serif !important;
    font-weight: 400 !important;
    font-size: 20px !important;
    color: #008159 !important;
    line-height: 21px !important;
}

.listings-container .listing-title h4 a:hover {
    color: #005634;
}

.listings-container .listing-address {
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    color: #606060;
    font-size: 12px;
}

.listings-container .listing-address img {
    position:relative;
    bottom:1px;
    padding-left:1px;
}

.listings-container .listing-footer {
    padding: 0px 20px 30px 20px;
}

.listings-container .listing-footer a.mas-info {
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
    color: #008159;
    font-size: 14px;
    text-decoration: none;
}

.listings-container .listing-footer a.mas-info:hover {
    color: #005634;
}

.listings-container .listing-footer span a {
    border-radius:12px;
    background-color: #008159;
    box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.4);
    color: #fff;
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    font-size: 14px;
    padding: 8px 25px;
    text-decoration: none;
}

.listings-container .listing-footer span a:hover {
    background-color: #005634;
    color: #fff;
}

.listings-container .listing-img-container img {
    border-radius: 15px 15px 0 0;
}

.listings-container .listing-img-container:after, .listing-img-container:before {
    border-radius: 15px 15px 0 0;
}

/* PROPIEDADES RESPONSIVE */

@media (max-width: 767px) {
    .titulo-propiedades {
        overflow: hidden;
        margin-left: 0px; /* Compensa el padding del container */
        width: calc(100% + 24px); /* Ajusta el ancho para compensar el margen negativo */
    }
    .titulo-propiedades h2 {
        text-align: right;
        color: #fff;
        background-color: #008159;
        padding: 10px 30px 10px 150px;
        position: relative;
        left: -140px;
        border-radius: 15px;
        font-size: 25px;
        margin-bottom: 0px;
    }
    #titulo-principal .huellas-img {
        display: none;
        
    }
    #titulo-principal .huellas-img-mobile {
        display: block;
        position: absolute;
        top: 10px;
        left: unset;
        width: 100%;
        right: -50px;
        
    }
    .titulo-propiedades h3 {
        margin: 15px 14px 0px;
        font-size: 14px;
        text-align: left;
    }
    .etiqueta-filtro .eliminar {
        font-size: 22px;
        font-weight: normal !important;
    }
    .etiqueta-filtro{
        font-size: 13px !important;
    }
    .listing-footer span {
        display: block;
    }
    .listings-container .listing-title {
    padding: 12px 20px 0px;
    }
    .listings-container .listing-title h4 a {
        font-size: 14px;
    }
    .listings-container .listing-address {
        font-size: 12px;
    }
    .listings-container .listing-footer {
        padding: 10px 20px 20px;
    }
    .listings-container .listing-footer span a {
        font-size: 14px;
    }
    .listings-container .listing-footer a.mas-info {
        font-size: 12px;
    }
    .pagination-container {
        display: none;
    }
    .propiedades-grid {
        margin-bottom: 30px;
    }
    .grid-layout .listing-item, .grid-layout-three .listing-item {
        margin-bottom: 15px;
    }
}

/* RELACIONADAS Y CONTACTO EN PROPIEDADES */

.contacto {
    background-image:url('../images/fondo-edificios-contacto.jpg');
    background-size: cover;
    background-position: bottom center;
    padding: 0px;
    margin-top: 80px;
}

.fondo-relacionadas {
  background: linear-gradient(
    to right,
    rgba(27, 64, 70, 0.7) 0%,
    rgba(13, 96, 78, 0.7) 50%,
    rgba(0, 128, 87, 0.7) 100%
  );
}

.relacionadas {
    padding: 70px 0px 20px 0px;
}

.relacionadas h3 {
    font-family: 'Quicksand', sans-serif;
    text-align: center;
    font-size: 25px;
    font-weight: 400;
    color: #fff;
    margin: 0px 0px 10px 0px;
}

/* .relacionadas .listing-item {
    border-radius: 15px;
}

.relacionadas .listing-badges .featured {
    display:none;
}

.relacionadas .listing-badges span {
    color: #008159;
    display: inline-block;
    padding: 1px 10px;
    background-color: #fff;
    border-radius: 5px;
    top: 15px;
    left: 15px;
    position: absolute;
    width: auto;  
    right: auto; 
    float: none;
    font-family: 'Quicksand', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 22px;
}

.relacionadas .compact .listing-img-content .listing-compact-title i {
    position: absolute;
    bottom: 40px;
    left: 20px;
    font-size: 16px;
}


.relacionadas .listing-caracteristicas {
    display: block !important;
    position: absolute;
    bottom: 10px;
    left: 10px;
    font-family: 'Quicksand';
    color: #fff;
    font-size: 13px;
    font-weight: 200;
    z-index: 20;
}

.relacionadas .listing-caracteristicas img {
    display: inline-block;
    width: 15px;
    height: 15px;
    vertical-align: middle;
    margin: -5px 5px 0px 8px;
}

.relacionadas .owl-theme .owl-controls .owl-buttons div {
    color: #fff;
    border: 2px solid #fff;
} */

/* FORMULARIO CONTACTO EN PROPIEDADES */

.contacto-form {
    padding: 60px 0px 40px;
    background-color: #ffffff70;
}

.contacto-form .headline {
    font-family: 'Noto Sans', sans-serif;
    color: #005634;
    font-weight: 700;
    font-style: italic;
    font-size: 36px;
    margin-top: 20px;
}

.contacto-form form .headline {
    font-family: 'Quicksand', sans-serif;
    color: #606060;
    font-weight: 600;
    font-style: normal;
    font-size: 22px;
    margin-bottom: 10px !important;
}

.contacto-form input::placeholder, .contacto-form textarea::placeholder {
    color: #909090;
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    font-size: 16px;
}

.contacto-form input, .contacto-form textarea {
    color: #606060;
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    font-size: 16px;
    border: 1.5px solid #606060;
    border-radius: 12px;
    margin-bottom: 15px !important;
    padding: 0px 15px;
    height: 44px;
    line-height: 40px;
    box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.2);
}

.contacto-form textarea {
    margin-top: 0px !important;
    min-height: 150px !important;
}

.contacto-form textarea:focus {
    border:1px solid #d8d8d8;
}

.contacto-form input[type="submit"] {
    float:right;
    margin-top: 30px;
    font-family: 'Quicksand', sans-serif;
    color: #fff;
    font-weight: 600;
    padding: 0px 60px;
    border-color: #008159;
    margin-right: 0px;
}

.contacto-form p {
    font-family: 'Noto Sans', sans-serif;
    color: #005634;
    font-size: 20px;
    font-weight: 300;
}

.contacto-form p a {
    font-weight: 600;
    text-decoration: none;
    font-style: italic;;
}

.contacto-form p img {
    position:relative;
    top: -3px;
    padding-right: 7px;
}

@media (max-width: 767px) {
    .contacto {
        /* display: none; */
    }
}

/* DETALLE PROPIEDAD */

.cont-detalle { /* Contenedor principal */
    box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.2);
    border-radius: 0px 0px 15px 15px;
    margin-bottom: 20px;
    padding:0px 40px 40px 40px;
}

.titulo-propiedad img { /* Fondo del título */
    position: absolute;
    top:0px;
    margin: 0;
    padding:0;
    z-index: 50;
}

.titulo-propiedad { /* Para posicionar img */
    position:relative;
}

.titulo-propiedad h2 { /* Título propiedad */
    text-align:center;
    font-family: 'Quicksand', sans-serif;
    font-weight: 300;
    color: #00442d60;
    font-size: 48px;
    padding: 30px 0px;
    margin: 0;
    position: inherit;
    z-index: 200 !important;
}

/* GALERIA CON FANCYBOX */

.miniaturas {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}

.miniaturas img {
  height: 100px;
  cursor: pointer;
  opacity: 0.8;
  border: 2px solid transparent;
  transition: border 0.2s;
}

.miniaturas img:hover,
.miniaturas img.activa {
  border-color: #333;
  opacity: 1;
}

@media (max-width: 767px) {
    .is-horizontal.is-ltr .f-button.is-arrow.is-prev, .is-horizontal.is-ltr .f-button.is-arrow.is-next {
    top: 550px;
    }
}


.cont-detalle-1, .cont-detalle-2 {
    margin: 0px;
    padding: 0px;
}

.cont-detalle {
    position: relative;
}

.cont-detalle h5 {
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    color:#008159;
    font-size: 22px;
    padding: 30px 0px;
    margin: 0;
}

.cont-detalle h5 img {
    max-height: 23px;
    padding-bottom: 5px;
    margin-right: 5px;
}

.cont-detalle .propiedad-tags ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* Espacio entre los tags */
}

.cont-detalle .propiedad-tags ul li {
    background-color: #bbbbbc;
    color: #fff;
    padding: 5px 15px;
    border-radius: 7px;
    text-transform: uppercase;
    font-family: 'Quicksand', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
}

.cont-detalle h1 { /* Título con h1 o h3 para posicionamiento? Revisar SEO */
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    color: #008159;
    font-size: 40px;
    margin: 40px 0px 30px 0px;
}

.cont-detalle h4 { /* Título para las demás secciones */
    font-family: 'Quicksand', sans-serif;
    font-weight: 300;
    color: #008159;
    font-size: 25px;
    margin: 0px 0px 15px 0px;
}

.cont-detalle.mas-detalles h4 { /* Título para contenedor adicional */
    margin: 0px 0px 20px 0px;
}

.cont-detalle p { /* Texto general para detalle */
    font-family: 'Noto sans', sans-serif;
    font-weight: 300;
    color: #1d1d1b;
    font-size: 15px;
    margin: 0px;
}

.cont-detalle .descripcion-corta p {
    max-width: 80%;
}

.cont-detalle.mas-detalles { /* Contenedores adicionales */
    box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.2);
    border-radius: 10px 10px 15px 15px;
    padding-top: 40px !important;
}

.cont-detalle .precio-venta, .cont-detalle .precios p span { /* Texto de Precio de venta */
    font-family: 'Noto sans', sans-serif;
    font-weight: 300;
    color: #008159;
    font-size: 25px;
    margin: 10px 0px 30px 0px;
}

.cont-detalle .precios p span { /* Precio de alquiler, expensas, etc. */
    margin: 10px 0px 10px 0px;
}

.cont-detalle.dimensiones p {
    margin: 20px 0px 20px 0px;
}

.cont-detalle.dimensiones .suptotal p {
    margin-bottom: 10px;
}

.cont-detalle.dimensiones p span {
    font-family: 'Noto sans', sans-serif;
    font-weight: 300;
    color: #008159;
    font-size: 25px;
}

.superficies p span {
    display: inline-block;
    padding-top: 20px;
}

.cont-detalle.caracteristicas p {
    margin-bottom: 10px;
}

.cont-detalle.caracteristicas p span {
    color:#008159;
}

.cont-detalle .progreso {
    display:flex;
    justify-content: space-between;
}

.cont-detalle .progreso p {
    font-family: 'Noto sans', sans-serif;
    font-weight: 300;
    color: #008159;
    font-size: 20px;
    margin: 20px 0px;
}

ul.servicios-lista {   /* Lista de servicios */
    max-width: 60%;
    column-count: 2;
    column-gap: 2rem; /* opcional: espacio entre columnas */
    margin: 0px;
}

.servicios-lista li {
    font-family: 'Noto sans', sans-serif;
    text-transform: uppercase;
    font-weight: 300;
    color: #1d1d1b;
    font-size: 16px;
    margin: 0px;
}

.mas-detalles.descripcion p { /* Descripción margen */
    margin: 0px 0px 15px 0px;
}

.mas-detalles.descripcion p.desc { /* Color adicional para descripción */
    color:#008159;
    font-weight: 400;
}

.cont-detalle h5.ubicacion-maps {
    color:#606060;
    padding: 0px 0px 30px;
    margin-bottom: 20px;
}

.cont-detalle h5.ubicacion-maps a {
    color:#2189e8;
}

.propiedad-acciones {
    position:absolute;
    bottom: 30px;
    right: 30px;
}

.propiedad-acciones img {
    margin: 0px 8px;
    max-width: 35px;
}

.propiedad-acciones-mobile {
    display:none;
}

.icono-detalle {
    position:absolute;
    top: 30px;
    right: 30px;
}

.icono-detalle img {
    max-width: 60px;
}

section.destacadas.destacadas-mobile {
    display: none;
}

.contacto-propiedad {
    margin-top: 40px;
}

/* Responsive detalle */

@media (max-width: 767px) {
    .galeria-propiedad {
        flex-direction: column;
    }
    .galeria-grande {
        width: 100%;
    }
    #imagen-grande img {
        padding: 3px;
    }
    .cont-detalle {
        padding: 0px;
        box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.2);
        /* border-left: 1px solid rgba(0, 0, 0, 0.1); */
        margin-bottom: 20px;
    }
    .titulo-propiedad h2 {
        font-size: 22px;
        text-align: left;
        padding-left: 5px;
        font-weight: 400;
    }
    .huellas-img-mobile {
        top: 110px;
        left: unset;
        right: 0px;
        transform: unset;
        width: unset;
        height: 75px;
        
    }
    .cont-detalle-1 {
        margin: 5px;
    }
    .cont-detalle-2 {
        margin: 0px 15px 20px;
        display: flex;
        flex-direction: column;
    }
    .cont-detalle-2 h1 {
        order: 1;
        font-size: 20px;
        margin: 20px 0px 0px;
    }
    .cont-detalle-2 h5 {
        order: 2;
        font-size: 15px;
        margin: 8px 0px 1px;
        padding: 0px;
    }
    .propiedad-tags {
        order: 3;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        padding: 10px 0px;
    }
    .cont-detalle .propiedad-tags ul {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 4px;
    }
    .cont-detalle .propiedad-tags ul li {
        font-size: 12px;
        padding: 4px 8px;
    }
    .propiedad-acciones-mobile {
        display: flex;
        justify-content: right;
    }
    .propiedad-acciones-mobile a img {
        display: flex;
        max-width: 30px;
        margin-right: 10px;
        margin-left: 10px;
        margin-top: 5px;
    }
    .propiedad-acciones {
        display: none;
    }
    .cont-detalle-2 h4 {
        order: 4;
        font-size: 20px;
        margin: 10px 0px 10px;
    }
    .cont-detalle .descripcion-corta {
        order: 5;
    }
    .cont-detalle .descripcion-corta p {
        font-size: 11px;
        line-height: 1.2;
        max-width: 100%;
        margin-bottom: 0px;
    }
    .cont-detalle.mas-detalles {
        box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.2);
        border-radius: 10px 10px 15px 15px;
        padding: 20px 15px;
        padding-top: 30px !important;
    }
    .cont-detalle p {
    font-size: 13px;
    margin: 0px 0px 10px 0px;
    line-height: 12px;
    }
    .cont-detalle .precio-venta, .cont-detalle .precios p span {
    font-family: 'Noto sans', sans-serif;
    font-weight: 300;
    color: #008159;
    font-size: 20px;
    margin: 10px 0px 30px 0px;
    }
    .icono-detalle img {
    max-width: 40px;
    }
    .cont-detalle.dimensiones .suptotal p {
    margin-top: 0px;
    }
    .cont-detalle.dimensiones p {
        margin: 0px;
        margin-bottom: 10px;
    }
    .cont-detalle.dimensiones p span {
        font-size: 16px;
    }
    .superficies {
        display: flex;
        flex-direction: column;
        padding-top: 10px;
    }
    .superficies p {
        display: flex;
        padding-top: 10px;
        justify-content: space-between;
    }
    .superficies p span {
        position: relative;
        padding: 0px;
        right: 100px;
        font-size: 12px !important;
    }
    .cont-detalle.mas-detalles h4 {
        margin: 0px 0px 20px 0px;
        font-size: 20px;
    }
    .cont-detalle.mas-detalles {
        padding-top: 20px !important;
    }
    .icono-detalle {
        position: absolute;
        top: 19px;
        right: 20px;
    }
    .cont-detalle .progreso p {
        font-family: 'Noto sans', sans-serif;
        font-weight: 300;
        color: #008159;
        font-size: 14px;
        margin: 0px;
    }
    .cont-detalle .progreso .medio {
        position: relative;
        left: 15px;
    }
    ul.servicios-lista {
        max-width: 100%;
        padding-right: 0px;
        text-indent: -8px;
    }
    .servicios-lista li {
        font-size: 11px;
        margin: 0px;
        line-height: 20px;
    }
    .mas-detalles.descripcion p { /* Descripción margen */
        margin: 0px 10px 10px 0px;
    }
    .cont-detalle h5.ubicacion-maps {
        font-size: 14px;
        padding: 0px 0px 30px;
        margin-bottom: 0px;
    }
    .cont-detalle h5 img {
        max-height: 15px;
        padding-bottom: 5px;
        margin-right: 4px;
    }
    #mapa-detalle {
        height: 200px;
    }
    section.contacto.contacto-propiedad {
        /* display:none; */
    }
    section.destacadas.destacadas-mobile {
        /* display: block; */
    }
    .destacadas-mobile .container {
        padding: 0px 15px;
    }
}

/* BOTÓN MAS INFO */

.popup {
  position: fixed;
  display: none;
  max-width: 250px;
  background: linear-gradient(135deg, #008159, #005634);
  color: white;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
  pointer-events: none;
  z-index: 1000;
  white-space: normal;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.popup h4 {
  margin: 0 0 6px 0;
  font-size: 16px;
  font-weight: bold;
}

.popup p {
  margin: 0;
  font-size: 14px;
}

/* Viñeta o "flecha" */
.popup-flecha {
  position: absolute;
  bottom: -10px;
  left: 20px;
  width: 16px;
  height: 16px;
  background: inherit;
  transform: rotate(45deg);
  z-index: -1;
}

/* tu huella */

.titulo-propiedades.huella h2 {
    padding-bottom: 30px;
}

.patron-dejar-huella {
    top: 5px !important;
}

.tasacion-form.huellas-form {
    background-color: #fff;
    background-image: none;
}

#huellaform {
    padding: 20px;
    background-color: #D6E7E4;
    border-radius: 20px 20px 0px 20px;
    margin-bottom: 0px;
}

#huellaform input, #huellaform textarea {
    border: none;
    border-radius: 12px;
    margin-bottom: 10px !important;
    padding: 0px 15px;
    line-height: 40px;
    box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.2);
}

#huellaform textarea {
    margin-bottom: 0px !important;
}

#huellaform input::placeholder, #huellaform textarea::placeholder {
    color: #909090;
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    font-size: 16px;
}

.huella-pie {
    position: relative;
}

.huella-pie img.fondo {
    position: absolute;
    top: 0;
    right: 0;
    max-width: 55%;
}

.huella-botones {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.huella-botones input[type="submit"] {
    margin: 0px 20px 0px 0px;;
    padding: 0px 125px;
    border-radius: 18px;
    float: none;
    z-index: 99;
}

.huella-botones .estrellas { /* PUNTUACION HUELLA FORMULARIO */
    padding: 0px;
    margin-right: 40px;
    list-style-type: none;
    display: flex;
    justify-content: center;
}

.huella-botones .estrellas li {
    margin-right: 8px;
}

.estrellas li {
  cursor: pointer;
}

@media (max-width: 767px) {
    .titulo-propiedades.huella h2 {
        text-align: left;
        color: #005634;
        background-color: transparent;
        padding: 10px 0px;
        position: relative;
        left: 0;
        border-radius: 15px;
        font-size: 25px;
        margin-bottom: 20px;
    }
    #huellaform input, #huellaform input::placeholder, #huellaform textarea, #huellaform textarea::placeholder {
        font-size: 12px;
        font-weight: 300;
        height: 30px;
        line-height: 15px;
        margin: 0px auto 10px !important;
        width: 100%;
    }
    #huellaform textarea {
        padding-top: 10px;
        margin-bottom: 0px !important;
    }
    .huella-pie img.fondo {
        max-width: 180px;
    }
    .huella-botones {
        /* align-items: unset; */
    }
    .huella-botones input[type="submit"] {
        padding: 0px !important;
        max-width: 120px;
        max-height: 25px;
        margin: 0px !important;
        position:relative;
        right: 20px;
        top: -12px;
    }
    .huella-botones .estrellas { /* PUNTUACION HUELLA MOBILE */
        margin-right: 50px;
    }
    .huella-botones .estrellas img {
        width: 16px;
    }
}

/* PAGINA CONTACTO */

.patron-dejar-huella {
    top: 5px !important;
}

.contacto.contacto-principal {
    background: none;
    margin-top: 20px;
}

@media (max-width: 767px) {
    .contacto.contacto-principal {
        display: block;
    }
    .contacto.contacto-principal {
        margin-top: 0px;
    }
    .contacto-principal .contacto-form {
        padding-top: 0px;
    }
    .contacto-form .headline {
        font-size: 20px;
        margin: 0px !important;
    }
    .contacto-form p {
        font-size: 14px;
        line-height: 18px;
    }
    .contacto-form input, .contacto-form input::placeholder, .contacto-form textarea, .contacto-form textarea::placeholder {
        font-size: 14px;
    }
    .contacto-form input {
        height: 37px;
        line-height: 37px;
    }
    .contacto-form input[type="submit"] {
        margin-top: 0px;
        padding: 0px 20px;
    }
}

/* BLOG */
.breadcrumbs ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 0;
  margin: 20px 0px;
}
.breadcrumbs li, .breadcrumbs li a {
    display: flex;
    align-items: center;
    font-size: 16px;
    font-family: 'Noto Sans';
    font-weight: 300;
    color: #777777;
}
.breadcrumbs li span {
  margin: 0 4px;
  color: #777777;
}
.blog-tags {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 0;
  margin: 20px 0px;
}
.blog-tags li {
    display: flex;
    align-items: center;
    font-size: 12px;
    font-family: 'Noto Sans';
    font-weight: 400;
    color: #fff;
    background-color: #BBBBBC;
    padding: 2px 12px;
    border-radius: 7px;
    text-transform: uppercase;
}
.blog-fecha {
    font-family: 'Noto Sans';
    font-weight: 300;
    color: #777777;
    font-size: 14px;
    margin: 20px 0px 40px;
}
.blog-titulo {
    font-family: 'Noto Sans';
    font-weight: 800;
    color: #008159;
    font-size: 35px;
    margin: 20px 0px;
    font-style: italic;
}
.blog-subtitulo {
    font-family: 'Noto Sans';
    font-weight: 600;
    color: #474747;
    font-size: 22px;
    margin: 20px 0px;
}
.blog-texto p {
    font-family: 'Noto Sans';
    font-weight: 300;
    color: #474747;
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 20px;
}
.blog-frase {
    display: flex;
    align-items: center;
    margin: 40px 0px;
}
.blog-frase p {
    font-family: 'Noto Sans';
    font-weight: 600;
    color: #474747;
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 20px;
    font-style: italic;
}

.destacadas.terrenos, .destacadas.info-relacionada {
    margin: 50px auto;
}

/* BLOG RESPONSIVE */

@media (max-width: 767px) {
    .breadcrumbs ul {
        margin: 0px 0px 10px;
        gap: 2px;
    }
    .breadcrumbs li, .breadcrumbs li a, .breadcrumbs li span {
        font-size: 14px;
    }
    .breadcrumbs li span {
        margin-right: 4px;
    }
    .blog-img .container {
        max-width: 100%;
        width: 100%;
    }
    .blog-tags {
        gap: 8px;
        margin: 15px auto;
        max-width:90vw;
    }
    .blog-tags li {
        font-size: 10px;
        line-height: 1;
        padding: 5px 8px;
    }
    .blog-fecha {
        font-size: 10px;
        margin: 15px 0px 20px 4px;
    }
    .blog-titulo {
        font-size: 20px;
        margin: 20px 0px 10px;
    }
    .blog-subtitulo {
        font-family: 'Noto Sans';
        font-weight: 600;
        color: #474747;
        font-size: 12px;
        margin: 10px 0px 10px;
    }
    .blog-texto p {
        font-size: 12px;
        line-height: 1.2;
        margin-bottom: 10px;
    }
    .blog-frase {
        display: flex;
        align-items: center;
        margin: 0px;
        flex-direction: column;
        text-align:left;
    }
    .blog-frase .col-md-6 {
        padding: 0px;
    }
    .blog-frase p {
        font-size: 12px;
        line-height: 1.2;
        margin-bottom: 0px;
    }
    .blog-frase img {
        margin: 15px auto;
    }
    .destacadas.terrenos, .destacadas.info-relacionada {
        margin: 20px auto;
    }
    .destacadas.terrenos h3, .destacadas.info-relacionada h3 {
        font-size: 20px;
        margin: 0px;
    }
    .contacto.contacto-principal.contacto-blog {
        background:none;
        margin-top: 0px;
    }
}

/* EMPRENDIMIENTOS */

.propiedades-grid.emp-grid {
    margin-top: 40px;
}

.emp-grid .listings-container .listing-title {
    padding: 12px 20px 20px;
}

.emp-grid .listings-container .listing-badges span.tipo-badge {
    background-color: #969696;
    color: #fff;
    left: 15px !important;
}

.emp-grid .listings-container span.precio {
    display: flex;
}

.emp-grid .listings-container span.precio img {
    height: 20px;
    position: relative;
    top: 4px;
    right: 3px;
}

.emp-grid .listings-container .listing-title p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 12px;
    line-height: 14px;
    margin-bottom: 0px;
}

.emp-grid .listings-container .listing-title p span {
    padding-bottom: 10px;
}

.emp-grid .listings-container .listing-title h4 {
    margin: 2px 0px 8px;
}

@media (max-width: 767px) {
    .emp-grid .grid-layout .listing-item, .grid-layout-three .listing-item {
        margin-bottom: 30px;
    }
    .emp-grid .listings-container .listing-title p {
        font-size: 12px;
        line-height: 14px;
        margin-bottom: 0px;
        font-weight: 300;
    }
    .emp-grid .listings-container .listing-title p span {
        padding-bottom: 10px;
    }
}


.popup {
  position: fixed;
  display: none;
  max-width: 500px;
  background: linear-gradient(0deg, rgba(0, 129, 89, 0.95), rgba(0, 86, 52, 0.95));
  color: white;
  padding: 30px;
  border-radius: 8px;
  font-size: 14px;
  pointer-events: none;
  z-index: 9999;
  white-space: normal;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  overflow: visible;
}
.popup h4 {
	font-family: 'Noto Sans', sans-serif !important;
	color: #fff;
	font-weight: 300;
	margin: 0 0 20px 0;
	font-size: 24px;
	line-height: 1.2;
}
.popup p {
	font-family: 'Noto Sans', sans-serif !important;
	color: #fff;
	font-weight: 300;
	margin: 0;
	font-size: 16px;
	line-height: 1.4;
}
.popup-flecha {
  position: absolute;
  top: -8px;
  left: 20px;
  width: 16px;
  height: 16px;
  background: rgba(0, 86, 52, 0.95);
  transform: rotate(45deg);
  z-index: 100;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.popup-info-contenido.oculto {
  display: none;
}
@media (max-width: 767px) {
  .popup {
    display: none !important;
  }
  .popup-info-contenido {
    display: block;
    position: static;
    background: linear-gradient(0deg, rgba(0, 129, 89, 0.95), rgba(0, 86, 52, 0.95));
    color: #fff;
    padding: 20px;
    border-radius: 8px;
    margin-top: 10px;
    font-size: 15px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  }
  .popup-info-contenido.oculto {
    display: none !important;
  }
  .popup-info-contenido {
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    overflow-wrap: break-word;
    word-break: break-word;
	border-radius: 0px 0px 15px 15px;
	margin-top: 0px;
  }
  .popup-info-contenido h4 {
    font-family: 'Noto Sans', sans-serif !important;
    color: #fff;
    font-weight: 300;
    margin: 0 0 10px 0;
    font-size: 14px;
    line-height: 1.2;
  }
  .popup-info-contenido p {
    font-family: 'Noto Sans', sans-serif !important;
    color: #fff;
    font-weight: 300;
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
  }
}

/* Estilos para el botón de filtros y etiquetas */
.filtros-container {
    position: sticky;
    top: 0;
    z-index: 10; 
    background: #fff;
}
.filtros-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px;
    padding-bottom: 10px;
    gap: 10px;
}
.filtros-left {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    flex: 1;
}

.ver-filtros-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius:15px;
    border: none;
    background-color: #005634;
    box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.4);
    color: #fff;
    font-family: 'Quicksand', sans-serif;
    text-transform: capitalize;
    font-weight: 400;
    font-size: 14px;
    padding: 6px 20px;
    text-decoration: none;
    flex-shrink: 0;
}

.ver-filtros-btn:hover {
   background-color: #008159;
   color: #fff;
}

.etiquetas-filtros {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    /* justify-content: end; */
    font-family: 'Noto Sans', sans-serif;
}

.etiqueta-filtro {
    display: flex;
    align-items: center;
    padding: 3px 11px 2px 11px;
    border-radius: 20px;
    font-size: 13px;
    border: 1px solid #005634;;
}

.etiqueta-filtro .eliminar {
    margin-left: 5px;
    cursor: pointer;
    font-weight: bold;
    color: #005634;;
}

.etiqueta-filtro .eliminar:hover {
    color: #008159;
}

/* Animación para el buscador */
.search-propiedades {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-out;
    
}

.search-propiedades.abierto {
    max-height: 1000px; /* Valor suficientemente alto */
    overflow: visible;   /* Permite que dropdowns y autocomplete se desborden */
}

/* Asegurar que el buscador se muestre inicialmente si no hay filtros */
.search-propiedades.inicialmente-abierto {
    max-height: 1000px;
    overflow: visible;   /* Permite que dropdowns y autocomplete se desborden */
}



/* PAGINACION */
.pagination-next-prev ul li a {
    width: auto;
}



.main-search-box,
.with-forms,
.more-search-options-container {
    overflow: visible !important;
}




/* PARA LA NAVEGACION DE LA GALERIA */
portada-container {
    position: relative;
    display: inline-block;
    width: 100%;
}

.nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    font-size: 20px;
    color: #333;
}

.nav-arrow:hover {
    background-color: rgba(255, 255, 255, 0.9);
}

.arrow-prev {
    left: 15px;
}

.arrow-next {
    right: 15px;
}

/* ESTILOS ESPECÍFICOS PARA LAS MINIATURAS EN GRILLA - CORREGIDOS */
        .miniaturas-container {
            max-height: 600px; /* Cambiado a max-height en lugar de height fijo */
            padding: 10px;
            border-radius: 8px;
            overflow-y: scroll;
            
        }
        /* Personalización del scrollbar para Chrome, Edge y Safari */
        .miniaturas-container::-webkit-scrollbar {
            width: 4px; /* Scroll muy fino */
        }

        
        .miniaturas-scroll {
            display: grid;
            grid-template-columns: repeat(3, 1fr); /* 3 columnas */
            gap: 12px;
            max-height: 100%; /* Ajustado para permitir crecimiento */
            overflow-y: auto; /* Scroll solo cuando es necesario */
            padding-right: 5px;
        }
        
        /* Personalización del scrollbar */
        .miniaturas-scroll::-webkit-scrollbar {
            width: 8px;
        }
        
        .miniaturas-scroll::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 10px;
        }
        
        .miniaturas-scroll::-webkit-scrollbar-thumb {
            background: #a0a0a0;
            border-radius: 10px;
        }
        
        .miniaturas-scroll::-webkit-scrollbar-thumb:hover {
            background: #808080;
        }
        
        .miniatura-item {
            cursor: pointer;
            border-radius: 6px;
            overflow: hidden;
            transition: all 0.3s ease;
            aspect-ratio: 1/1; /* Relación cuadrada */
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
            background-color: white;
        }
        
        .miniatura-item:hover {
            box-shadow: 0 4px 8px rgba(0,0,0,0.15);
        }
        
        .miniatura-item.active {
            border: 3px solid #005634;
        }
        
        .miniatura-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: opacity 0.3s ease;
        }
        
        .miniatura-item:not(.active) img:hover {
            opacity: 0.9;
        }
        
        /* Responsive */
        @media (max-width: 992px) {
            .miniaturas-container {
                max-height: 300px;
                margin-bottom: 30px;
            }
            
            .miniaturas-scroll {
                grid-template-columns: repeat(4, 1fr);
                gap: 8px;
            }
        }
        
        @media (max-width: 768px) {
            .miniaturas-scroll {
                grid-template-columns: repeat(3, 1fr);
            }
        }
        
        @media (max-width: 576px) {
            .miniaturas-scroll {
                grid-template-columns: repeat(4, 1fr);
            }
        }

.fancybox__container {
    z-index: 2000 !important;
}

.boton-consultar{
    border-radius: 15px;
    background-color: #008159;
    box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.4);
    color: #fff;
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    font-size: 16px;
    padding: 8px 25px;
    text-decoration: none;
    border: none;
    
}
.boton-consultar:hover{
    background-color: #005634;
}

@media (max-width: 767px) {
    .boton-consultar{
        font-size: 15px;
        padding: 6px 20px;
        margin-bottom: 10px;
    }
}




/* Estilos del botón de WhatsApp modificados */
.widget {
    position: fixed;
    bottom: 20px;
    left: 30px; /* Cambiado de right a left */
    z-index: 1000;
}

.whatsapp-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start; /* Cambiado de flex-end a flex-start */
    width: 60px;
    height: 60px;
    background-color: #25D366;
    border-radius: 50px;
    color: white;
    text-decoration: none;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.whatsapp-btn:hover {
    width: 160px;
    color: #ffffff;
}

.whatsapp-icon {
    font-size: 42px;
    margin: 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    z-index: 2;
}

.whatsapp-text {
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.2s ease;
    transition-delay: 0.1s;
    position: absolute;
    right: 20px; /* Cambiado de left a right */
    font-size: 16px;
}

.whatsapp-btn:hover .whatsapp-text {
    opacity: 1;
}

/* FILTROS EMPRENDIMIENTIOS */
.title-with-filters {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.filters-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.filter-btn {
    border-radius: 15px;
    background-color: #fff;
    box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.4);
    color: #008159;
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    font-size: 15px;
    padding: 8px 25px;
    text-decoration: none;
    border: 1px solid  #008159;;
}

.filter-btn:hover, .filter-btn.active {
    background-color: #008159;
    color: #fff;
}

@media (max-width: 767px) {
   
    .filter-btn {
        
        font-size: 14px !important;
        padding: 5px 20px !important;
    }
}

.property-item {
    opacity: 1;
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.property-item.hidden {
    opacity: 0;
    transform: translateY(20px);
    height: 0;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.property-item.visible {
    opacity: 1;
    transform: translateY(0);
    height: auto;
    overflow: visible;
}

.clearfix {
    clear: both;
}

#form-buscador{
    margin-bottom: 30px;
}
@media (max-width: 767px) {
    #form-buscador{

        padding-top: 35px;
    }
    
}


/* ============================================
   Notificaciones de formularios AJAX
   ============================================ */

.form-message {
    margin-bottom: 15px;
}

.notification {
    padding: 12px 18px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
}

.notification.success {
    background-color: #e6f4ea;
    color: #1e7e34;
    border: 1px solid #34a853;
}

.notification.error {
    background-color: #fce8e8;
    color: #c5221f;
    border: 1px solid #ea4335;
}

input[type="submit"]:disabled,
button[type="submit"]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Dropdown multiselect custom (estilo SkyGarden) */
.sg-dropdown {
    position: relative;
    width: 100%;
    margin-bottom: 5px;
}
.sg-dropdown-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1.5px solid transparent;
    border-radius: 12px;
    color: #606060;
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    font-size: 16px;
    padding: 0 20px;
    background-color: #fff;
    outline: none;
    width: 100%;
    box-sizing: border-box;
    height: 44px;
    line-height: 40px;
    box-shadow: 0px 0px 2px 1px rgba(0,0,0,0.2);
    background-image: url('../images/flecha-select.svg');
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 10px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    text-align: left;
    cursor: pointer;
    padding-right: 30px;
}
.sg-dropdown-toggle .sg-dropdown-label {
    display: none;
}
.sg-dropdown-toggle .sg-dropdown-value {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sg-dropdown-menu {
    display: none;
    position: absolute;
    top: calc(100% + 5px);
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 12px;
    border: 1.5px solid #005634;
    box-shadow: 0px 0px 4px rgba(44,135,197,0.4);
    padding: 8px 0;
    z-index: 100;
    max-height: 280px;
    overflow-y: auto;
    font-family: 'Quicksand', sans-serif;
    font-size: 16px;
}
.sg-dropdown.open .sg-dropdown-menu {
    display: block;
}
.sg-dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 18px;
    cursor: pointer;
    transition: background .15s;
}
.sg-dropdown-item:hover {
    background: #f0f7f4;
}
.sg-dropdown-item input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.sg-dropdown-item::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid #ccc;
    border-radius: 4px;
    background: #fff;
    flex-shrink: 0;
    transition: all .15s;
    font-size: 12px;
    text-align: center;
    line-height: 16px;
    color: #fff;
}
.sg-dropdown-item.checked::before,
.sg-dropdown-item:has(input[type="checkbox"]:checked)::before {
    background: #005634;
    border-color: #005634;
    content: "✓";
}
.sg-dropdown-item span {
    line-height: 1.3;
}
.sg-dropdown-item.checked,
.sg-dropdown-item:has(input[type="checkbox"]:checked) {
    background: #e6f2ec;
    font-weight: 600;
    color: #005634;
}
@media (max-width: 767px) {
    .sg-dropdown-toggle {
        font-size: 15px;
        height: 40px;
        line-height: 38px;
    }
}

/* Autocomplete ubicación */
.sg-autocomplete {
    position: relative;
}
.sg-input-busqueda {
    width: 100%;
    height: 48px;
    padding: 0 16px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 15px;
    background: #fff;
    color: #333;
    outline: none;
    transition: border-color .2s;
}
.sg-input-busqueda:focus {
    border-color: #005634;
}
.sg-autocomplete-menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    max-height: 240px;
    overflow-y: auto;
    z-index: 100;
    display: none;
    box-shadow: 0 4px 12px rgba(0,0,0,.08);
}
.sg-autocomplete-menu.open {
    display: block;
}
.sg-autocomplete-item {
    padding: 10px 16px;
    cursor: pointer;
    font-size: 14px;
    color: #333;
    border-bottom: 1px solid #f0f0f0;
}
.sg-autocomplete-item:last-child {
    border-bottom: none;
}
.sg-autocomplete-item:hover,
.sg-autocomplete-item.active {
    background: #f0f7f4;
    color: #005634;
}
@media (max-width: 767px) {
    .sg-input-busqueda {
        height: 40px;
        font-size: 15px;
    }
}
