/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/


/* A partir de aquí, puedes agregar tus propias reglas CSS */

.slider-enterprise {}

.sliderpropiedades {}

.site-header {
    position: absolute;
    z-index: 10;
    background-color: #fff0;
    width: 100%;
    ;
}

.inside-header {
    padding: 3px 40px;
}

.slider-enterprise .slick-slide {
    height: 100vh !important;
}

.slider-enterprise2 .slick-slide {
    height: 80vh !important;
    overflow: hidden;
}


/* Opcional: si deseas que el contenedor del slider también ocupe el ancho completo de su contenedor padre */

.slick-slider,
.slick-list,
.slick-track {
    width: 100%;
}

.slider-enterprise:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100vh !important;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.814) 100%);
    pointer-events: none;
    /* Permite interacción con el slider debajo del pseudo-elemento */
    z-index: 2;
    /* Asegura que el overlay esté por encima del contenido del slider */
}

.slider-enterprise2:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 80vh !important;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.814) 100%);
    pointer-events: none;
    /* Permite interacción con el slider debajo del pseudo-elemento */
    z-index: 2;
    /* Asegura que el overlay esté por encima del contenido del slider */
}

.slider-enterprise img {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.slider-enterprise2 img {
    height: 80vh !important;
    width: 100%;
    object-fit: cover;
}

.slider-fixed-elements {
    position: absolute;
    bottom: 210px;
    /* Ajusta esto según donde quieras que aparezcan los elementos */
    /* Ajusta esto según donde quieras que aparezcan los elementos */
    z-index: 1000;
    /* Asegúrate de que los elementos estén sobre el slider y el overlay */
    color: white;
    /* Cambia el color según el diseño de tu slider */
    /* Agrega cualquier otro estilo que necesites */
    height: auto;
    width: 490px;
}

.slider-fixed-elements-whats {
    position: absolute;
    bottom: 25vh;
    /* Ajusta esto según donde quieras que aparezcan los elementos */
    /* Ajusta esto según donde quieras que aparezcan los elementos */
    z-index: 1000;
    /* Asegúrate de que los elementos estén sobre el slider y el overlay */
    color: white;
    /* Cambia el color según el diseño de tu slider */
    /* Agrega cualquier otro estilo que necesites */
    height: 250px;
}

@media (max-width: 767px) {
    .slider-fixed-elements {
        position: absolute;
        top: unset;
        bottom: 3%;
        /* Ajusta esto según donde quieras que aparezcan los elementos */
        left: 20px;
        /* Ajusta esto según donde quieras que aparezcan los elementos */
        z-index: 1000;
        /* Asegúrate de que los elementos estén sobre el slider y el overlay */
        color: white;
        /* Cambia el color según el diseño de tu slider */
        /* Agrega cualquier otro estilo que necesites */
        height: auto;
        width: 94%;
    }
    input[type="submit"] {
        width: 100%;
    }
}

.slider-title,
.slider-price {
    /* Estilos específicos para el título y el precio */
    margin: 0;
    /* Ejemplo: Elimina márgenes por defecto */
    padding: 0 0 5px 0;
    /* Añade padding si es necesario */
    /* Cualquier otro estilo que necesites */
}

.slider-title {
    font-size: 38px;
    line-height: 42px;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.54);
}

.slider-fixed-elements a {
    color: #fff !important;
}


/* Por defecto, el div es visible */

.escritorio {
    display: block;
}


/* Oculta el div en dispositivos con ancho menor a 768px */

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

.mobil {
    display: none;
}


/* Oculta el div en dispositivos con ancho menor a 768px */

@media (max-width: 768px) {
    .separate-containers .inside-article {
        padding: 20px;
    }
}

@media (max-width: 767px) {
    .mobil {
        display: block;
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
}

body {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
}

p {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
}

a {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
}

h2 {
    font-size: 28px;
    line-height: 40px;
}

ul {
    margin: 0 0 1.5em 1.2em;
}

.slider-fixed-elements p {
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 1px;
    line-height: 20px;
}

.margenizquierda10 {
    margin-left: 15px;
}

.izquierda {
    float: left;
    margin-right: 5px;
    margin-left: 7px;
}

.izquierda5 {
    float: left;
    margin-left: 5px;
}

.arriba5 {
    margin-top: 8px;
}

.arriba10 {
    margin-top: 9%;
}

.arriba20 {
    margin-top: 20% !important;
}

.arriba10px {
    margin-top: 10px !important;
}

.arriba15px {
    margin-top: 15px !important;
}

.arriba20px {
    margin-top: 20px !important;
}

.abajo20 {
    margin-bottom: 20px;
}

.separador {
    margin-top: 10px;
}

.seisdeseis {
    width: 97%;
    margin-right: 1%;
    float: left;
    margin-top: 10px;
}

.cuatrodeseis {
    width: 64%;
    margin-right: 1%;
    float: left;
    margin-top: 10px;
}

.dosdeseis {
    width: 31%;
    margin-right: 1%;
    float: left;
    margin-top: 10px;
}

.unodeseis {
    width: 16%;
    margin-right: 1%;
    float: left;
    margin-top: 10px;
}

.unodecinco {
    width: 19%;
    margin-right: 1%;
    float: left;
    margin-top: 10px;
}

.dosdecinco {
    width: 39%;
    margin-right: 1%;
    float: left;
    margin-top: 10px;
}

.cuatrodecinco {
    width: 78%;
    margin-right: 1%;
    float: left;
    margin-top: 10px;
}

.boton {
    width: 100%;
}

.boton input[type="submit"] {
    width: 100%;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea,
select {
    border-color: #d0d0d0;
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px;
}

.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-items {
    color: #fff;
}

.main-navigation ul ul a {
    display: block;
    color: rgb(0, 0, 0) !important;
}

.botonblanco {
    background-color: #fff;
    padding: 10px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    text-align: center;
    height: 60px;
}

.botonnaranja {
    background-color: #FB6700;
    padding: 10px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    text-align: center;
    height: 60px;
    line-height: 55px;
    display: block;
}

.botonnaranja a {
    font-size: 20px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
}

.botonnaranja2 {
    background-color: #FB6700;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    text-align: center;
    height: 60px;
    justify-content: center;
    display: flex;
}

.botonnaranja2 p {
    font-weight: 400;
    font-size: 14px;
    line-height: 16px;
}

.botonnaranja3 {
    background-color: #FB6700;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    text-align: center;
    height: 60px;
    line-height: 60px;
}

.botonnaranja3 p {
    font-weight: 700;
    font-size: 20px;
}

.botonnaranja4 {
    background-color: #FB6700;
    padding: 10px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    text-align: center;
    height: 60px;
    display: block;
    font-size: 20px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    color: #fff;
    margin: 25px 0;
    line-height: 40px;
}

.botonblanco2 {
    background-color: #fff;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    text-align: left;
    height: 60px;
}

.botonblanco2 p {
    line-height: 55px !important;
}

.botonblanco p {
    font-size: 22px !important;
    line-height: 35px;
    font-weight: 700;
}

.letranaranja {
    color: #FF5500;
}

.letrablanca {
    color: #ffffff;
}

.botonazul {
    background-color: #263C65;
    border: 1px solid #fff;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    height: 60px;
}

.botonazul p {
    font-size: 14px !important;
    font-weight: 700;
}

.botonazulcentrado {
    background-color: #263C65;
    border: 1px solid #fff;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    height: 60px;
    padding: 0 5px;
}

.botonazulcentrado p {
    font-size: 16px !important;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Agrega esta línea para centrar horizontalmente */
    height: 60px;
    text-align: center;
    /* Cambia 'end' a 'center' para centrar el texto dentro del p */
    width: 100%;
}

.flexboton {
    height: 60px;
    display: flex;
    align-items: center;
}

.botonazul a {
    font-size: 14px !important;
    color: #fff;
    font-weight: 700;
}

.botonverde {
    background-color: #2EBB7E;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    height: 60px;
    display: flex;
    justify-content: center;
    /* Centra horizontalmente */
    align-items: center;
    /* Centra verticalmente */
}

.main-navigation {
    background-color: #fff0;
}

.main-navigation .menu-toggle {
    color: #fff;
}

button.menu-toggle:focus {
    color: #fff;
}

.menu-toggle {
    line-height: 60px;
    font-weight: 400;
    text-transform: none;
    font-size: 20px;
    cursor: pointer;
}

.has-inline-mobile-toggle #site-navigation.toggled {
    background-color: rgb(255, 255, 255);
}


/* SLIDER PROPIEDADES */

.cajamodelo {
    padding: 15px;
    border: 1px solid #e9e7e7;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    margin: 0 5px;
    background-color: rgba(242, 243, 245, 0.7);
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1), 0 -1px 2px 0 rgba(0, 0, 0, .1);
}

.cajamodelo h2,
h3 {
    margin-bottom: 5px;
}

.cajamodelo h3 {
    margin-top: 8px;
    font-size: 22px;
}

.enlacenegro {
    color: #000 !important;
}

.lista-columnas {
    background-color: #E9E9E9;
    padding: 20px 15px 20px 0;
    -webkit-column-count: 2;
    /* Chrome, Safari, Opera */
    -moz-column-count: 2;
    /* Firefox */
    column-count: 2;
    /* Navegadores modernos */
    -webkit-column-gap: 15px;
    /* Chrome, Safari, Opera */
    -moz-column-gap: 15px;
    /* Firefox */
    column-gap: 15px;
    /* Navegadores modernos */
    max-height: 600px;
    /* Ajusta esto según tus necesidades */
    overflow: hidden;
    /* Oculta cualquier contenido que exceda el contenedor */
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    margin-bottom: 20px;
    font-size: 15px;
}

.lista-columnas ul {
    margin: 0 0 1.5em 2em;
}

.lista {
    background-color: #E9E9E9;
    padding: 20px 15px 20px 10px;
    border-radius: 10px;
    margin-bottom: 20px;
}

.lista-columnas ul {
    margin: 0 0 1.5em 2em;
}

.cajadescarga {
    background-color: #263C65;
    padding: 20px;
    margin: 40px -30px 0 -30px;
}

.cajadescarga h3 {
    font-size: 22px;
    margin-left: 7px;
}

.cajadescarga2 {
    background-color: #263C65;
    padding: 20px;
    margin: 40px -30px 0 -30px;
    color: #fff !important;
}

.cajadescarga2 h3 {
    font-size: 28px;
    margin-left: 7px;
    color: #FB6700;
}

.cajadescarga2 h2 {
    margin-bottom: 10px;
    line-height: 28px;
    font-size: 24px;
}

.cajadeavisos {
    padding: 30px;
    background-color: #EFEFEF;
    margin: 5px -30px 20px -30px;
}

.cajadescargacatalogo {
    padding: 30px;
    background-color: #233A59;
    margin: 5px -30px 20px -30px;
}

.cajadescargacatalogo label {
    color: #ffffff;
    font-weight: bold;
}

input[type="submit"] {
    background-color: #FF5500;
    font-size: 20px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    margin-bottom: 20px;
    padding: 15px 20px;
}

.boton3 input[type="submit"] {
    width: 100%;
    background-color: #ffffff;
    border: solid thin #FF5500;
    color: #FF5500;
    font-size: 20px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    margin-bottom: 20px;
}

/* --- GALERÍA MODERNA --- */

.gallery {
    display: grid;
    /* Crea columnas automáticas de mínimo 250px */
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 
    gap: 15px; /* Espacio entre fotos */
    margin-bottom: 40px;
}

/* El enlace contenedor */
.gallery a {
    display: block;
    overflow: hidden; /* Para el efecto zoom */
    border-radius: 12px; /* Bordes redondeados */
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    height: 250px; /* Altura fija para uniformidad */
}

/* La imagen en sí */
.cuadradogaleria {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recorte perfecto */
    margin: 0 !important; /* Quitamos márgenes viejos */
    float: none !important; /* Quitamos floats viejos */
    transition: transform 0.5s ease;
}

/* Efecto Zoom al pasar el mouse */
.gallery a:hover .cuadradogaleria {
    transform: scale(1.1);
}

/* ESTA ES LA PARTE QUE CAMBIA PARA LOGRAR EL EFECTO QUE PIDES */

@media (max-width: 768px) {
    .gallery {
        /* 1. Una sola columna */
        grid-template-columns: 1fr !important; 
        /* 2. Cero espacio entre fotos */
        gap: 0 !important; 
        margin-left: -20px; 
        width: calc(100% + 40px);
    }

    .gallery a {
        /* 3. Quitamos la altura fija y forzamos formato cuadrado */
        height: auto !important; 
        aspect-ratio: 1 / 1; 
        
        /* 4. Quitamos bordes redondeados y sombras para que se vean planas y pegadas */
        border-radius: 0 !important;
        box-shadow: none !important;
        
        /* Asegurar que no haya márgenes extra */
        margin: 0 !important;
    }
}

@media (max-width: 767px) {
    
    .map-container {
        position: relative;
        width: 120% !important;
        height: 400px;
        margin: 0 -25px 0 -25px;
        overflow: hidden;
    }
    .cajamodelo {
        margin: 0 5px;
    }
}

#separador {
    height: 20px;
    margin-top: 10px;
    clear: both;
}

.video-embed-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 25px;
    height: 0;
    overflow: hidden;
}

.video-embed-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.content-full {
    display: none;
}

.shmac-form,
.shmac-div {
    font-family: "Montserrat";
}

.map-container {
    position: relative;
    width: 100%;
    height: 400px;
    overflow: hidden;
}

.map-container iframe {
    position: absolute;
    top: 14px;
    left: 0;
    width: 100%;
    height: 100%;
}

#sidecontactoenterprise {
    position: -moz-sticky;
    position: -ms-sticky;
    position: -o-sticky;
    position: -webkit-sticky;
    position: sticky;
    top: 70px;
}

#sidecontactoenterprise p {
    margin-bottom: .6em;
}

#formatocontactohotizontal {
    margin-bottom: 20px;
    overflow: hidden;
    margin-top: 10px;
}

#formatocontactohotizontal h3 {
    color: #fff;
    line-height: 30px;
    text-align: center;
    background-color: #303f63;
    text-transform: uppercase;
    padding: 20px 0px;
    font-size: 20px;
}

.widget2 {
    background-color: #E9E9E9;
    padding: 25px;
    border: solid 1px rgb(255, 255, 255)1, 171, 157, 0.5);
    position: -moz-sticky;
    position: -ms-sticky;
    position: -o-sticky;
    position: -webkit-sticky;
    position: sticky;
    top: 10px;
}

.migasdepanarticulo {
    height: auto;
    display: block ruby;
}

.migasdepanarticulo ul {
    list-style: none;
    /* Elimina los bullet points */
    margin: 0;
    /* Elimina el margen predeterminado */
    padding: 0;
    /* Elimina el padding predeterminado */
    font-size: 12px;
    /* Establece el tamaño de la fuente a 10px */
}

.migasdepanarticulo li {
    float: left;
}

.migasdepanarticulo a {
    color: rgb(187, 187, 187);
    /* Cambia el color de los enlaces a gris claro */
    text-decoration: none;
    /* Elimina el subrayado de los enlaces */
}

.migasdepanarticulo a:hover {
    text-decoration: underline;
    /* Opcional: añade subrayado al pasar el ratón sobre el enlace */
}

.direccioncarrousel p {
    margin-bottom: 0px;
}

.desarrolladopor h3 {
    font-size: 20px;
    line-height: 40px;
}


/*--------------------------------------------------------------
# whatsapp
--------------------------------------------------------------*/

.botonwhatss {
    z-index: 99999999;
    padding: 10px 11px 11px 10px;
    position: absolute;
    right: 0;
    bottom: 125px;
}

@media (max-width: 767px) {
    .botonwhatss {
        bottom: 130px;
    }
}

.botonwhat3 {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: rgb(38, 194, 129);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    animation: scaleIn 4s infinite cubic-bezier(.36, .11, .89, .32);
    position: absolute;
    bottom: 10px;
    right: 20px;
}

.botonwhat4 {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: rgb(38, 194, 129);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    position: absolute;
    bottom: 10px;
    right: 20px;
}

@keyframes scaleIn {
    from {
        transform: scale(.5, .5);
        opacity: .5;
    }
    to {
        transform: scale(2.5, 2.5);
        opacity: 0;
    }
}

a.botonwhat4 {
    color: #fff !important;
}

.zindex2 {
    z-index: 99999;
}

.bubbly-button {
    cursor: pointer;
    transition: transform ease-in 0.1s, box-shadow ease-in 0.25s;
    width: 100%;
    height: 60px;
    position: relative;
}

.bubbly-button:focus {
    outline: 0;
}

.bubbly-button:before,
.bubbly-button:after {
    position: absolute;
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    z-index: -20;
    transition: all ease-in-out 0.5s;
    background-repeat: no-repeat;
}

.bubbly-button:before {
    display: none;
    top: -75%;
    background-image: radial-gradient(circle, #ff0081 20%, transparent 20%), radial-gradient(circle, transparent 20%, #ff0081 20%, transparent 30%), radial-gradient(circle, #ff0081 20%, transparent 20%), radial-gradient(circle, #ff0081 20%, transparent 20%), radial-gradient(circle, transparent 10%, #ff0081 15%, transparent 20%), radial-gradient(circle, #ff0081 20%, transparent 20%), radial-gradient(circle, #ff0081 20%, transparent 20%), radial-gradient(circle, #ff0081 20%, transparent 20%), radial-gradient(circle, #ff0081 20%, transparent 20%);
    background-size: 10% 10%, 20% 20%, 15% 15%, 20% 20%, 18% 18%, 10% 10%, 15% 15%, 10% 10%, 18% 18%;
}

.bubbly-button:after {
    display: none;
    bottom: -75%;
    background-image: radial-gradient(circle, #ff0081 20%, transparent 20%), radial-gradient(circle, #ff0081 20%, transparent 20%), radial-gradient(circle, transparent 10%, #ff0081 15%, transparent 20%), radial-gradient(circle, #ff0081 20%, transparent 20%), radial-gradient(circle, #ff0081 20%, transparent 20%), radial-gradient(circle, #ff0081 20%, transparent 20%), radial-gradient(circle, #ff0081 20%, transparent 20%);
    background-size: 15% 15%, 20% 20%, 18% 18%, 20% 20%, 15% 15%, 10% 10%, 20% 20%;
}

.bubbly-button:active {
    transform: scale(0.9);
    box-shadow: 0 2px 25px rgba(255, 0, 130, 0.2);
}

.bubbly-button.animate:before {
    display: block;
    animation: topBubbles ease-in-out 0.75s forwards;
}

.bubbly-button.animate:after {
    display: block;
    animation: bottomBubbles ease-in-out 0.75s forwards;
}

@keyframes topBubbles {
    0% {
        background-position: 5% 90%, 10% 90%, 10% 90%, 15% 90%, 25% 90%, 25% 90%, 40% 90%, 55% 90%, 70% 90%;
    }
    50% {
        background-position: 0% 80%, 0% 20%, 10% 40%, 20% 0%, 30% 30%, 22% 50%, 50% 50%, 65% 20%, 90% 30%;
    }
    100% {
        background-position: 0% 70%, 0% 10%, 10% 30%, 20% -10%, 30% 20%, 22% 40%, 50% 40%, 65% 10%, 90% 20%;
        background-size: 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%;
    }
}

@keyframes bottomBubbles {
    0% {
        background-position: 10% -10%, 30% 10%, 55% -10%, 70% -10%, 85% -10%, 70% -10%, 70% 0%;
    }
    50% {
        background-position: 0% 80%, 20% 80%, 45% 60%, 60% 100%, 75% 70%, 95% 60%, 105% 0%;
    }
    100% {
        background-position: 0% 90%, 20% 90%, 45% 70%, 60% 110%, 75% 80%, 95% 70%, 110% 10%;
        background-size: 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%;
    }
}


/*--------------------------------------------------------------
# Articulo
--------------------------------------------------------------*/

#single-cabeza {
    display: flex;
    align-items: center;
    /* Esto centra verticalmente el contenido dentro del flex container */
    justify-content: center;
    /* Esto centra horizontalmente el contenido, si también necesitas centrado horizontal */
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom center;
    height: 500px;
    overflow: hidden;
}

#single-cabeza::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    /* Capa negra con 50% de transparencia */
    z-index: 1;
    /* Asegúrate de que esta capa esté entre la imagen y el contenido del texto */
}

#single-cabeza img {
    width: 100%;
    /* Asegúrate de que la imagen no se desborde de su contenedor */
    height: auto;
    /* Mantiene la relación de aspecto de la imagen */
    /* Remover las propiedades 'top' y 'transform' ya no es necesario con flexbox */
    object-fit: cover;
    /* Asegura que la imagen cubra el contenedor */
}


/* Media Query para pantallas de hasta 600px de ancho */

@media (max-width: 600px) {
    #single-cabeza {
        height: auto;
        min-height: 70vh;
        /* Hace que el contenedor tenga al menos el alto de la pantalla */
    }
    #single-cabeza img {
        width: auto !important;
        height: 70vh !important;
        /* La imagen ahora se ajusta al alto en lugar del ancho */
    }
    .articulosinsidebar {
        width: auto !important;
    }
}

.articulosinsidebar {
    max-width: 850px;
}

.contenidointro {
    text-align: center;
    /* Centra el texto horizontalmente */
    color: #FFFFFF;
    /* Ajusta el color del texto según sea necesario */
    z-index: 5;
    /* Asegura que el contenido de texto esté sobre la imagen */
    /* Añade estilos adicionales según sea necesario (espaciado, fuente, etc.) */
    position: absolute;
    padding: 25px;
    z-index: 2;
    /* Esto coloca el texto por encima de la capa de transparencia */
}

.contenidointro h1 {
    font-size: 36px;
    text-decoration: none !important;
    max-width: 850px;
}

.contenidointro p {
    margin-bottom: 5px;
}

.categoria a {
    background-color: #fff;
    color: #263C65;
    padding: 5px 10px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    text-decoration: none !important;
}


/*--------------------------------------------------------------
# Articulo
--------------------------------------------------------------*/

.postrelacionados {
    margin-top: 20px;
    padding: 20px;
    background-color: #f9f9f9;
}

.related-post h3 {
    margin: 0 0 5px;
}

.related-post img {
    margin-right: 10px;
}

.postrelacionado {
    padding: 15px;
    border: 1px solid #313131;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    margin: 0 5px;
    background-color: #fff;
}

.postrelacionado img {
    float: left;
    margin-right: 20px;
    margin-bottom: 20px !important;
}

.postrelacionado h3 {
    font-size: 20px;
    text-decoration: none;
}

.postrelacionado a {
    text-decoration: none;
    color: #313131;
}

.postrelacionado h2,
h3 {
    margin-bottom: 5px;
}

.titulopostrel {
    padding: 10px 20px 0 28px;
}


/*--------------------------------------------------------------
# Resultado
--------------------------------------------------------------*/

.containerbusqueda h1 {
    font-size: 30px;
    margin-bottom: 5px;
}

.cajaresultados {
    padding: 15px;
    border: 1px solid #e9e7e7;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    margin: 10px 10px;
    max-width: 280px;
    float: left;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1), 0 -1px 2px 0 rgba(0, 0, 0, .1);
    overflow: auto;
    background-color: rgba(242, 243, 245, 0.7);
}

.cajaresultados h3 {
    font-size: 18px;
}

.cajaresultados a {
    color: #000;
    font-weight: 700;
    text-decoration: none;
}

.cajaresultados p {
    margin-bottom: 1px;
}

.sinbordes {
    max-width: 295px;
    margin-top: -15px;
    margin-left: -15px;
}

.botonazulbusqueda {
    background-color: #263C65;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    height: 55px;
}

.botonazulbusqueda p {
    font-size: 12px !important;
    font-weight: 700;
}

.botonazulbusqueda a {
    font-size: 12px !important;
    color: #fff;
    font-weight: 700;
}

.botonnaranjabusqueda {
    background-color: #FB6700;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 12px;
    text-align: center;
    height: 55px;
    line-height: 50px;
}

.botonnaranjabusqueda p {
    font-weight: 700;
    font-size: 12px;
    line-height: 12px;
}

.botonnaranjaprecio {
    background-color: #FB6700;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    text-align: center;
    height: 55px;
    line-height: 55px;
}

.botonnaranjaprecio p {
    font-weight: 700;
    font-size: 20px;
}

.botonverdelistado {
    background-color: #2EBB7E;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    height: 55px;
    display: flex;
    justify-content: center;
    /* Centra horizontalmente */
    align-items: center;
    /* Centra verticalmente */
}

.sidebarbusquedas {
    width: 300px;
}

@media (max-width: 600px) {
    .cajaresultados {
        margin: 10px 0;
        max-width: 100%;
    }
    .containerbusqueda h1 {
        font-size: 20px;
        margin-top: -10px;
    }
    .padding10-article {
        padding: 15px !important;
    }
}

.padding10-article {
    overflow: auto;
}

#busqueda-cabeza {
    display: flex;
    align-items: center;
    /* Esto centra verticalmente el contenido dentro del flex container */
    justify-content: center;
    /* Esto centra horizontalmente el contenido, si también necesitas centrado horizontal */
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom center;
    height: 60px;
    overflow: hidden;
    background-color: #263C65;
}

.migasdepanmapa {
    margin-bottom: 0px !important;
    margin-top: -25px;
    clear: both;
    height: 20px;
    margin-left: -16px;
    font-size: 12px;
}

.migasdepanmapa a {
    color: #000;
}

.migasdepanmapa ul {
    list-style-type: none;
}

.migasdepanmapa li {
    float: left;
    margin-left: 5px;
}

.migasdepanmapa li a {
    display: block;
}

#sidebarbusqueda .chosen-container {
    font-size: 14px;
    width: 100% !important;
}

#sidebarbusqueda .sf-input-text {
    padding: 7px;
}

#sidebarbusqueda h3 {
    font-size: 22px;
    background-color: #FB6700;
    color: #fff;
    padding: 10px;
}

.sf-field-submit input[type="submit"] {
    width: 100%;
    background-color: #ffffff;
    border: solid thin #FF5500;
    color: #FF5500;
    font-size: 20px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    margin-bottom: 20px;
}

.searchandfilter ul {
    margin: 0 0 1.5em 0;
}

.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

.zonaenresultados {
    font-size: 12px;
}

#buscadorHome {
    margin: 0 auto;
    text-align: center;
}

#buscadorHome h1 {
    color: #fff;
}

#buscadorHome h3 {
    color: #fff;
}

#customsearchhome {
    margin: 0 auto;
    height: 140px;
    color: white;
}

#customsearch .inner {
    padding: 28px 20px;
}

#customsearch ul {
    margin: 0;
}

.contact404 {
    margin-top: 10px !important;
    height: 250px;
}


/*  Buscador superior  */

#searchtexto {
    color: white;
    font-family: Arial, Helvetica, sans-serif;
    z-index: 99;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    border: #ffffff thin solid;
    padding: 40px;
    background-color: rgba(39, 40, 53, 0.5);
    overflow: auto;
    width: 100%;
    margin: 10px 0;
}


/*  Buscador inferior  */

#customsearch {
    margin-top: 20px;
    color: white;
    font-family: 'Montserrat', Arial, Helvetica, sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    z-index: 99;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    border: #ffffff thin solid;
    background-color: rgba(39, 40, 53, 0.5);
    overflow: auto;
}

.subirbuscador {
    margin-top: 260px !important;
}

#customsearch .searchandfilter ul li {
    float: left;
    width: 30%;
    margin: 0 1%;
}

#customsearch .chosen-container {
    font-size: 14px;
    width: 100% !important;
}

#searchtexto .searchandfilter ul li {
    float: left;
    margin: 0 8px;
}

#searchtexto li.sf-field-search {
    width: 49%;
}

#searchtexto li.sf-field-submit {
    width: 22%;
}

#searchtexto li.sf-field-taxonomy-property_type {
    width: 22%;
}

#searchtexto input[type="text"] {
    width: 100%;
}

#searchtexto .chosen-container {
    font-size: 14px;
    width: 100% !important;
}

#searchtexto .sf-field-submit input[type="submit"] {
    background-color: #FF5500;
    border: solid thin #FF5500;
    color: #FFf;
    font-size: 20px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    margin-bottom: 20px;
    padding: 7px 25px;
}

#searchtexto .searchandfilter label {
    width: 100%;
}

@media (max-width: 768px) {
    /* Ajusta el punto de ruptura según sea necesario */
    #searchtexto .searchandfilter ul li {
        float: left;
        margin: 0 1%;
        width: 100%;
    }
    #searchtexto .searchandfilter select.sf-input-select {
        min-width: 170px;
        width: 100%;
    }
    #buscadorHome h3 {
        font-size: 20px !important;
        padding: 0 10px;
    }
}

.slidershortcode .slick-slide {
    min-height: auto;
}

/* --- ESTILOS MODERNOS PARA LISTADO DE MODELOS --- */

.header-modelos {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    gap: 10px;
}
.header-modelos h2 {
    margin: 0;
    color: #263C65;
}

/* Grid Container: Responsivo automático */
.modelos-grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 25px;
    padding-bottom: 40px;
}

/* Tarjeta */
.modelo-card {
    background: #fff;
    border: 1px solid #e1e1e1;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}

.modelo-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    border-color: #FB6700;
}

/* Imagen */
.modelo-card-image {
    position: relative;
    height: 200px;
    background: #f4f4f4;
    overflow: hidden;
}

.modelo-card-image img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* 'contain' para planos para que se vea todo, usa 'cover' si prefieres llenar el espacio */
    padding: 10px;
    transition: transform 0.5s ease;
}

.modelo-card:hover .modelo-card-image img {
    transform: scale(1.05);
}

/* Overlay Hover */
.modelo-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(38, 60, 101, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.modelo-card-image:hover .modelo-overlay {
    opacity: 1;
}
.btn-ver {
    color: #fff;
    border: 1px solid #fff;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 14px;
}

/* Badge descripción */
.modelo-badge {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(38, 60, 101, 0.9);
    color: #fff;
    font-size: 12px;
    padding: 5px;
    text-align: center;
}

/* Contenido */
.modelo-card-content {
    padding: 15px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.modelo-title {
    font-size: 20px;
    color: #263C65;
    margin: 0 0 15px 0;
    font-weight: 700;
    text-align: center;
}

/* Especificaciones (Iconos) */
/* --- ICONOS FONTAWESOME NARANJAS --- */


/* --- ESTO ES LO QUE FALTA PARA ALINEARLOS --- */

.modelo-specs {
    display: flex;                 /* Clave: Esto los pone en fila horizontal */
    justify-content: space-around; /* Los distribuye con espacio igual */
    align-items: center;           /* Los alinea verticalmente al centro */
    margin-bottom: 15px;           /* Espacio debajo de los iconos */
    padding-bottom: 15px;          /* Relleno inferior */
    border-bottom: 1px solid #eee; /* Línea gris divisoria suave */
    width: 100%;                   /* Asegura que ocupe todo el ancho */
}

.spec-item i.icono-naranja {
    font-size: 24px;       /* Tamaño del icono */
    color: #FB6700;        /* Tu naranja corporativo */
    margin-bottom: 8px;    /* Espacio entre icono y texto */
    display: block;
}

/* Ajuste para el icono de WhatsApp dentro del botón verde */
.btn-whatsapp i {
    font-size: 18px;
    margin-right: 5px;
}

/* Ajustes generales del item de especificaciones */
.spec-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 33%;
}

/* Footer (Precio y Botón) */
.modelo-footer {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.precio-container {
    display: flex;
    flex-direction: column;
}

.label-precio {
    font-size: 11px;
    color: #888;
    text-transform: uppercase;
}

.precio-valor {
    font-size: 18px;
    color: #FB6700;
    font-weight: 700;
}

/* Botón WhatsApp */
.btn-whatsapp {
    background-color: #2EBB7E;
    color: white !important;
    padding: 5px 12px;
    border-radius: 20px;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 600;
    font-size: 14px;
    transition: background 0.3s;
}

.btn-whatsapp img {
    height: 20px;
    width: auto;
    filter: brightness(0) invert(1); /* Vuelve blanco tu icono negro de whats si es necesario, si ya es blanco quita esta linea */
}

.btn-whatsapp:hover {
    background-color: #259c69;
}

/* Móvil */
@media (max-width: 600px) {
    .modelos-grid-container {
        grid-template-columns: 1fr; /* Una columna en celular */
    }
    .modelo-specs {
        gap: 10px;
    }
}

/* --- Ajuste para cuando solo hay 1 modelo --- */

.modelos-grid-container.caso-unico-centrado {
    display: flex;
    justify-content: center; /* Centra horizontalmente */
}

.modelos-grid-container.caso-unico-centrado .modelo-card {
    max-width: 400px; /* Evita que sea demasiado ancha */
    width: 100%;
}

/* En caso de que uses Grid por defecto, esto asegura el override */
@media (min-width: 769px) {
    .modelos-grid-container {
        /* Tu grid normal se mantiene aquí */
    }
}


/* --- FICHA TÉCNICA FLOTANTE MODERNIZADA --- */

.slider-fixed-elements {
    /* Ajustamos el ancho para que no se vea tan estirado */
    width: 420px; 
    max-width: 90%;
}

.ficha-flotante-moderna {
    background: rgba(38, 60, 101, 0.9); /* Azul corporativo con transparencia */
    backdrop-filter: blur(5px); /* Efecto de desenfoque moderno */
    padding: 25px;
    border-radius: 15px;
    color: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    border: 1px solid rgba(255,255,255,0.1);
}

/* Header: Título y Badge */
.ficha-header {
    margin-bottom: 15px;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    padding-bottom: 10px;
}

.slider-title {
    font-size: 28px !important; /* Ajuste para que quepa mejor */
    line-height: 1.2;
    margin-bottom: 5px;
    text-shadow: none; /* Quitamos sombra antigua */
}

.prop-badge {
    background: #FB6700;
    color: #fff;
    font-size: 12px;
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    font-weight: 700;
}

/* Dirección */
.location-row {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 15px;
}

.location-row i {
    font-size: 20px;
    margin-top: 3px;
    color: #FB6700;
}

.direccion-main {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
}
.zona-sub {
    font-size: 12px;
    opacity: 0.8;
    margin: 0;
}

/* Precio destacado */
.price-row {
    background: rgba(255,255,255,0.1);
    padding: 10px;
    border-radius: 8px;
    text-align: center;
    margin-bottom: 20px;
}
.precio-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
    opacity: 0.8;
}
.precio-numero {
    font-size: 24px !important;
    font-weight: 700;
    margin: 0;
    color: #FB6700; /* Naranja para el precio */
}
.desde-txt {
    font-size: 12px;
    color: #fff;
    font-weight: 400;
}

/* Grid de Especificaciones (Cama, Baño, M2) */
.ficha-specs-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
    margin-bottom: 20px;
}

.ficha-spec-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 5px;
}

.ficha-spec-item i {
    font-size: 20px;
    margin-bottom: 5px;
    color: #fff; /* Iconos blancos sobre fondo azul */
}

.ficha-spec-item span {
    font-size: 13px;
    font-weight: 500;
}

/* --- FICHA TÉCNICA REVISADA (3 Botones) --- */

/* Grid de 3 Columnas para los botones */
.ficha-actions-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr; /* Tres espacios iguales */
    gap: 10px; /* Menos espacio entre ellos para que quepan */
}

/* Estilo Base del Botón */
.btn-accion-ficha {
    background: #fff;
    text-align: center;
    padding: 10px 5px; /* Menos padding lateral para que quepa el texto */
    border-radius: 8px;
    font-weight: 700;
    font-size: 13px; /* Letra un poco más chica para que entre "WhatsApp" */
    text-decoration: none;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column; /* Icono arriba, texto abajo para ahorrar espacio */
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 60px; /* Altura fija para uniformidad */
}

/* Iconos más grandes */
.btn-accion-ficha i {
    font-size: 20px;
}

/* --- BOTONES SÓLIDOS (Naranja y Verde) --- */

/* 1. Botones Naranjas (Video y Galería) - Estado Normal */
.btn-naranja {
    background-color: #FB6700 !important; /* Fondo Naranja */
    color: #fff !important;               /* Texto Blanco */
    border: 1px solid #FB6700;            /* Borde del mismo color */
}
.btn-naranja i {
    color: #fff !important;               /* Icono Blanco */
}

/* Hover Naranja (Se vuelve blanco) */
.btn-naranja:hover {
    background-color: #fff !important;    /* Fondo Blanco */
    color: #FB6700 !important;            /* Texto Naranja */
    border-color: #fff;
}
.btn-naranja:hover i {
    color: #FB6700 !important;            /* Icono Naranja */
}


/* 2. Botón WhatsApp (Verde) - Estado Normal */
.btn-verde {
    background-color: #2EBB7E !important; /* Fondo Verde */
    color: #fff !important;               /* Texto Blanco */
    border: 1px solid #2EBB7E;
}
.btn-verde i {
    color: #fff !important;               /* Icono Blanco */
}

/* Hover WhatsApp (Se vuelve blanco) */
.btn-verde:hover {
    background-color: #fff !important;    /* Fondo Blanco */
    color: #2EBB7E !important;            /* Texto Verde */
    border-color: #fff;
}
.btn-verde:hover i {
    color: #2EBB7E !important;            /* Icono Verde */
}
/* Ajuste móvil */
@media (max-width: 768px) {
    .ficha-actions-grid {
        gap: 8px;
    }
    .btn-accion-ficha {
        font-size: 11px;
    }
}

/* --- ESTILOS MODERNOS AMENIDADES Y CARACTERISTICAS --- */

.section-spacer {
    margin-bottom: 40px; /* Espacio entre secciones */
}

/* Títulos Modernos */
.titulo-seccion-moderno {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    border-bottom: 2px solid #eee; /* Línea sutil debajo del título */
    padding-bottom: 10px;
}

.titulo-seccion-moderno h2 {
    margin: 0;
    font-size: 26px;
    color: #263C65; /* Tu azul */
}

.icono-naranja-titulo {
    font-size: 24px;
    color: #FB6700; /* Tu naranja */
}

/* Tarjeta de Lista (Fondo blanco en lugar de gris) */
.modern-list-card {
    background: #fff;
    border: 1px solid #e1e1e1;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05); /* Sombra muy suave */
}

/* La Lista en sí */
ul.lista-moderna-check {
    margin: 0;
    padding: 0;
    list-style: none; /* Quitamos los puntos negros feos */
    
    /* Grid Mágico: 2 Columnas */
    display: grid;
    grid-template-columns: 1fr 1fr; 
    gap: 15px 30px; /* Espacio vertical 15px, horizontal 30px */
}

/* Los Items de la lista */
ul.lista-moderna-check li {
    position: relative;
    padding-left: 25px; /* Espacio para el icono */
    font-size: 15px;
    color: #555;
    line-height: 1.5;
}

/* El Icono de "Check" (Palomita) Naranja */
ul.lista-moderna-check li::before {
    content: "\f00c"; /* Código unicode del check de FontAwesome */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 2px;
    color: #FB6700; /* Color naranja */
    font-size: 14px;
}

/* Responsive: 1 columna en celular */
@media (max-width: 768px) {
    ul.lista-moderna-check {
        grid-template-columns: 1fr; /* Una sola columna para leer fácil */
    }
    .titulo-seccion-moderno h2 {
        font-size: 22px;
    }
}

/* --- MEJORAS DESCRIPCIÓN Y DESARROLLADOR --- */

.description-moderna {
    font-size: 16px;
    line-height: 1.6;
    color: #444;
}

.btn-leer-mas {
    display: inline-block;
    margin-top: 10px;
    color: #FB6700;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: all 0.3s;
}
.btn-leer-mas:hover {
    border-bottom-color: #FB6700;
}
.btn-leer-mas i {
    font-size: 12px;
    margin-left: 5px;
}

.desarrolladopor-moderno h3 {
    margin: 0;
    font-size: 20px;
    color: #263C65;
}
.desarrolladopor-moderno a {
    color: #FB6700;
    text-decoration: none;
}

/* --- CAJA DE AVISOS (HIGH CTR) --- */

.avisos-card-container {
    background-color: #F2F4F8; /* Gris muy suave, más moderno que el anterior */
    padding: 30px;
    border-radius: 15px;       /* Bordes redondeados */
    border: 1px solid #e1e1e1;
    box-shadow: 0 8px 20px rgba(0,0,0,0.05); /* Sombra para resaltar */
    margin-bottom: 40px;
    position: relative;
    overflow: hidden;
}

/* Decoración lateral naranja para llamar la atención */
.avisos-card-container::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 6px;
    background: #FB6700;
}

.avisos-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

.avisos-header i {
    font-size: 24px;
    color: #FB6700;
    background: #fff;
    padding: 10px;
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.avisos-header h2 {
    margin: 0;
    font-size: 22px;
    color: #263C65;
}

.avisos-text {
    font-size: 15px;
    color: #666;
    margin-bottom: 20px;
}

/* Estilización del Formulario CF7 dentro de la caja */
.avisos-form-wrapper input[type="email"], 
.avisos-form-wrapper input[type="text"] {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ccc;
    border-radius: 8px;
    background: #fff;
    margin-bottom: 10px;
    font-size: 15px;
    transition: border-color 0.3s;
}

.avisos-form-wrapper input[type="email"]:focus {
    border-color: #FB6700;
    outline: none;
}

/* Botón GUARDAR (Haciéndolo irresistible) */
.avisos-form-wrapper input[type="submit"] {
    width: 100%;
    background-color: #FB6700;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    text-transform: uppercase;
    padding: 15px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: transform 0.2s, background 0.3s;
    box-shadow: 0 4px 10px rgba(251, 103, 0, 0.3);
}

.avisos-form-wrapper input[type="submit"]:hover {
    background-color: #e05c00;
    transform: translateY(-2px); /* Se eleva un poco */
}

/* --- TARJETA DE DESCARGA BROCHURE (PREMIUM BLUE) --- */

.brochure-premium-card {
    background-color: #263C65; /* Tu Azul Corporativo */
    border-radius: 15px;
    padding: 35px;
    margin: 40px 0;
    color: #fff;
    box-shadow: 0 10px 25px rgba(38, 60, 101, 0.3); /* Sombra azulada elegante */
    position: relative;
    overflow: hidden;
}

/* Decoración de fondo sutil (opcional, le da textura) */
.brochure-premium-card::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 150px;
    height: 150px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 50%;
    pointer-events: none;
}

/* Header: Icono + Texto */
.brochure-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding-bottom: 20px;
}

.brochure-icon i {
    font-size: 50px;
    color: #FB6700; /* Icono PDF Naranja */
}

.brochure-text h2 {
    margin: 0 0 5px 0;
    font-size: 24px;
    color: #fff;
    font-weight: 700;
}
.brochure-text h3 {
    margin: 0;
    font-size: 14px;
    color: #ccc; /* Gris claro para subtítulo */
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* Estilos del Formulario (Contact Form 7) dentro de la tarjeta */
.brochure-form-container label {
    color: #fff;
    font-size: 14px;
    margin-bottom: 5px;
    display: block;
    font-weight: 600;
}

/* Inputs transparentes o blancos */
.brochure-form-container input[type="text"],
.brochure-form-container input[type="email"],
.brochure-form-container input[type="tel"] {
    background: rgba(255,255,255,0.1); /* Fondo semi-transparente moderno */
    border: 1px solid rgba(255,255,255,0.3);
    color: #fff;
    border-radius: 8px;
    padding: 12px;
    width: 100%;
    margin-bottom: 15px;
    transition: all 0.3s;
}

/* Efecto al escribir en los inputs */
.brochure-form-container input:focus {
    background: #fff;
    color: #333; /* Texto oscuro al escribir */
    border-color: #fff;
    outline: none;
}

/* Botón de Descarga (Naranja Vibrante) */
.brochure-form-container input[type="submit"] {
    background-color: #FB6700;
    color: #fff;
    width: 100%;
    padding: 15px;
    font-size: 18px;
    font-weight: 800;
    text-transform: uppercase;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    margin-top: 10px;
    transition: transform 0.2s, background 0.3s;
    box-shadow: 0 4px 15px rgba(251, 103, 0, 0.4); /* Glow naranja */
}

.brochure-form-container input[type="submit"]:hover {
    background-color: #ff7b1a; /* Naranja un poco más claro */
    transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 600px) {
    .brochure-header {
        flex-direction: column;
        text-align: center;
    }
    .brochure-premium-card {
        padding: 25px;
    }
}

/* --- TARJETA DE MAPA MODERNA --- */

.location-card-modern {
    background: #fff;
    border: 1px solid #e1e1e1;
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    overflow: hidden;
}

/* Texto de la dirección */
.location-text-wrapper {
    margin-bottom: 20px;
    border-left: 4px solid #FB6700; /* Línea naranja de acento */
    padding-left: 15px;
}

.location-label {
    font-size: 14px;
    color: #888;
    margin: 0 0 5px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}

.location-address {
    font-size: 18px;
    color: #263C65; /* Azul oscuro */
    margin: 0;
    font-weight: 500;
    line-height: 1.4;
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.location-address i {
    color: #FB6700;
    font-size: 16px;
}

/* Estilo del contenedor del iframe */
.map-wrapper-styled {
    position: relative;
    border-radius: 12px;
    overflow: hidden; /* Esto recorta las esquinas del mapa de Google */
    box-shadow: inset 0 0 10px rgba(0,0,0,0.1); /* Sombra interna para profundidad */
    border: 1px solid #eee;
}

/* Ajuste del iframe existente */
.map-container {
    position: relative;
    width: 100%;
    height: 450px; /* Un poco más alto para mejor vista */
    overflow: hidden;
}

.map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    filter: saturate(1.1); /* Un pequeño truco para que los colores se vean más vivos */
}

/* Etiqueta flotante "Explorar Zona" */
.map-overlay-btn {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: #fff;
    padding: 8px 15px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    color: #263C65;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    pointer-events: none; /* Para que no interfiera con el clic del mapa */
    z-index: 5;
}

/* Responsive */
@media (max-width: 600px) {
    .map-container {
        height: 350px;
    }
    .location-card-modern {
        padding: 15px;
    }
    .location-address {
        font-size: 16px;
    }
}


/* --- SIDEBAR CONTACTO MODERNIZADA (VERSIÓN PREMIUM) --- */

/* Limpieza del contenedor del tema */
.widget2 {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* La Tarjeta Principal */
.sidebar-modern-card {
    background: #fff;
    border-radius: 12px; /* Bordes redondeados */
    box-shadow: 0 15px 40px rgba(0,0,0,0.15); /* Sombra más pronunciada para que "flote" */
    border: none;
    padding: 0; /* Quitamos padding general para que el header toque los bordes */
    overflow: hidden; /* Asegura que el color del header respete las curvas */
    
    /* Configuración Sticky (Pegajosa) */
    position: -webkit-sticky; /* Para Safari */
    position: sticky;
    top: 100px; /* Se detendrá a 100px del techo */
    z-index: 900; /* Asegura que esté por encima de otros elementos */
    margin-bottom: 40px;
}

/* Encabezado Azul Sólido (Diferenciación Visual) */
.sidebar-header {
    background-color: #263C65; /* Tu Azul Corporativo */
    padding: 20px 25px;
    display: flex;
    align-items: center;
    gap: 15px;
    border-bottom: 4px solid #FB6700; /* Línea naranja de acento */
}

/* Icono del Agente */
.agent-avatar {
    width: 45px;
    height: 45px;
    background: rgba(255,255,255,0.2); /* Blanco semitransparente */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    flex-shrink: 0;
}

/* Textos del Encabezado */
.header-text h3 {
    margin: 0;
    font-size: 18px;
    color: #fff; /* Texto blanco */
    font-weight: 700;
}
.header-text span {
    font-size: 13px;
    color: rgba(255,255,255,0.8); /* Blanco suave */
    font-weight: 400;
}

/* Contenedor del Formulario (con padding interno) */
.sidebar-form-container {
    padding: 25px 25px 10px 25px;
}

/* Inputs del Formulario */
.sidebar-form-container input[type="text"],
.sidebar-form-container input[type="email"],
.sidebar-form-container input[type="tel"],
.sidebar-form-container textarea {
    width: 100%;
    background: #f4f7fa; /* Gris azulado muy suave */
    border: 1px solid #dce1e8;
    border-radius: 6px;
    padding: 12px;
    margin-bottom: 12px;
    font-size: 14px;
    color: #333;
    transition: all 0.3s;
}

.sidebar-form-container input:focus,
.sidebar-form-container textarea:focus {
    background: #fff;
    border-color: #263C65; /* Borde azul al escribir */
    outline: none;
    box-shadow: 0 0 0 3px rgba(38, 60, 101, 0.1);
}

/* Botón de Enviar (Naranja) */
.sidebar-form-container input[type="submit"] {
    width: 100%;
    background-color: #FB6700;
    color: #fff;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 16px;
    padding: 15px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.3s;
    margin-top: 5px;
}

.sidebar-form-container input[type="submit"]:hover {
    background-color: #ff7b1a;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(251, 103, 0, 0.3);
}

/* Footer de privacidad */
.sidebar-footer {
    padding: 0 25px 20px 25px;
    margin-top: 10px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 11px;
    color: #888;
    line-height: 1.4;
}
.sidebar-footer i {
    color: #2EBB7E;
    margin-top: 2px;
}

.letrachica { display: none; }

/* --- FIX CRÍTICO PARA ACTIVAR STICKY --- */

/* 1. Desbloqueamos el scroll en los contenedores padres */
/* Si alguno de estos tiene overflow:hidden, el sticky muere. Esto lo corrige. */
html, body, #page, #content, .site-content, .site-main {
    overflow: visible !important;
}

/* 2. Hacemos que la columna lateral ocupe todo el alto disponible */
/* Si la columna es del mismo tamaño que la tarjeta, no tiene espacio para "pegarse" */
#right-sidebar {
    height: 100%;         /* Ocupa el 100% del contenedor padre */
    min-height: 1000px;   /* Asegura altura mínima */
    display: block;       /* Aseguramos comportamiento de bloque */
    position: sticky;
  top: 20px;

}

.inside-right-sidebar {
    height: 100%;
    display: block;
}

/* 3. Refuerzo a la tarjeta misma */
.sidebar-modern-card {
    position: -webkit-sticky !important; /* Safari */
    position: sticky !important;
    top: 110px !important; /* Ajusta este valor si tu menú tapa la tarjeta */
    z-index: 999;
    align-self: flex-start; /* Crucial si tu tema usa Flexbox */
}

/* Opcional: En móvil desactivamos sticky porque molesta */
@media (max-width: 768px) {
    .sidebar-modern-card {
        position: relative !important;
        top: 0 !important;
    }
}

/* --- REDISEÑO MÓVIL: FOTO ARRIBA / FICHA ABAJO (CORREGIDO) --- */

@media (max-width: 768px) {

    /* 1. Ajuste de la Galería (Más pequeña para que se vea la tarjeta) */
    .slider-enterprise .slick-slide, 
    .slider-enterprise img {
        height: 45vh !important; /* Reducimos de 55vh a 45vh para dar espacio */
        object-fit: cover;
        width: 100%;
    }

    .slider-enterprise:after {
        height: 45vh !important; /* Ajustamos la sombra también */
        background-image: linear-gradient(to bottom, rgba(0,0,0,0) 60%, rgba(0,0,0,0.5) 100%);
    }

    /* 2. Corrección de la Barra Blanca y Espaciado */
    /* Forzamos que el contenedor del slider suba al tope */
    .slider-container {
        margin-top: 0 !important;
        padding-top: 0 !important;
        position: relative;
        top: 0;
    }
    
    /* Si la barra blanca es del header del tema, esto ayuda a fusionarlo */
    .site-header {
        position: absolute;
        background: transparent !important;
        width: 100%;
        top: 0;
    }

    /* 3. Tarjeta Informativa (Estilo Carpeta) */
    .slider-fixed-elements {
        position: relative;
        bottom: auto;
        top: auto;
        left: auto;
        width: 100%;
        max-width: 100%;
        margin-top: 0; /* Quitamos margen negativo para evitar cortes */
        padding: 0;
        z-index: 20;
        background: #263C65; /* Fondo azul para llenar huecos */
    }

    .ficha-flotante-moderna {
        background: #263C65;
        backdrop-filter: none;
        border-radius: 0; /* CAMBIO: Esquinas cuadradas en móvil */
        border: none;
        box-shadow: none; /* Quitamos sombra innecesaria en móvil */
        padding: 20px;
        margin: 0;
    }

    /* Ajustes de texto para móvil */
    .slider-title {
        font-size: 22px !important;
        margin-top: 0;
        line-height: 1.2;
    }
    
    .prop-badge {
        font-size: 10px;
        padding: 2px 6px;
    }

    /* Ocultar elementos flotantes que estorban */
    .botonwhatss {
        display: none !important; 
    }
    
    /* Asegurar que el contenido principal empiece limpio */
    .site-content {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    
    /* Corrección específica para el espacio blanco del tema */
    .page-header-image-single {
        display: none;
    }
}

/* --- MEJORAS DEL HEADER EN MÓVIL (APP STYLE) --- */

@media (max-width: 768px) {

    /* 1. Fondo con Degradado para Legibilidad */
    /* Esto asegura que el logo blanco se vea incluso si hay nubes blancas detrás */
    .site-header {
        background: linear-gradient(to bottom, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%) !important;
        padding-top: 15px !important; /* Un poco más de aire arriba */
        padding-bottom: 30px !important;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 100;
    }

    /* 2. Ajuste del Logo */
    .site-logo img, 
    .header-image {
        height: 45px !important; /* Tamaño más generoso */
        width: auto !important;
        margin-left: 10px; /* Separarlo del borde de la pantalla */
        filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3)); /* Sombra para que flote */
    }

    /* 3. Icono del Menú (Hamburguesa) */
    button.menu-toggle {
        background: transparent !important;
        color: #fff !important;
        font-size: 28px !important; /* Más grande y fácil de tocar */
        padding-right: 20px !important;
        text-shadow: 0 2px 4px rgba(0,0,0,0.3); /* Sombra para contraste */
        border: none !important;
    }

    /* Quitar texto "Menú" si aparece, dejar solo las rayitas */
    .mobile-menu {
        display: none; 
    }

    /* 4. Estilo del Menú Desplegable (Cuando lo abres) */
    /* Lo convertimos en un panel azul corporativo elegante */
    .main-navigation.toggled .main-nav > ul {
        background-color: #263C65 !important; /* Tu azul oscuro */
        margin-top: 10px;
        border-radius: 15px; /* Bordes redondeados */
        box-shadow: 0 10px 40px rgba(0,0,0,0.3);
        overflow: hidden;
    }

    .main-navigation .main-nav ul li a {
        color: #fff !important;
        font-size: 16px;
        padding: 15px 25px;
        border-bottom: 1px solid rgba(255,255,255,0.1); /* Líneas separadoras sutiles */
        text-align: left;
    }

    /* Eliminar padding extra del contenedor */
    .inside-header {
        padding: 0 10px !important;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
}

/* --- BARRA DE CONTACTO FIJA (MÓVIL) --- */
.mobile-contact-bar {
    display: none; /* Oculto en escritorio */
}

@media (max-width: 768px) {
    .mobile-contact-bar {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background: #fff;
        z-index: 9999;
        box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
        padding: 10px;
        gap: 10px;
        border-top: 1px solid #eee;
    }

    .action-btn {
        flex: 1; /* Ocupan 50% cada uno */
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 12px;
        border-radius: 8px;
        font-weight: 700;
        font-size: 16px;
        text-decoration: none;
        text-transform: uppercase;
    }

    .btn-call {
        background-color: #f4f4f4;
        color: #263C65 !important;
        border: 1px solid #ddd;
    }

    .btn-wa-sticky {
        background-color: #2EBB7E;
        color: #fff !important;
        box-shadow: 0 4px 10px rgba(46, 187, 126, 0.3);
    }
    
    /* Ajuste para que el footer no quede tapado por la barra */
    body {
        padding-bottom: 70px; 
    }
}