h1{
    font-family: Georgia, 'Times New Roman', Times, serif;
    color: #5F707E;
    text-align: center; 
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    margin-bottom: 20px;
}
h2{
    color: #515355;
    font-family: Helvetica;
    font-size: 16px;
    font-style: normal;
    font-weight: 700; 
    margin-bottom: 10px;
    margin-top: 16px;
}
P{
    color: #515355;
    text-align: center;
    font-family: "Helvetica";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
}
/* Estilos para enlaces */
a {
    color: #7D8892;
    text-decoration: none !important; /* Elimina el subrayado por defecto */
}

a:hover {
    color: inherit; /* Puedes seguir usando la variable para el hover si lo necesitas */
}

a:not([class]) {
    text-decoration: underline; /* El subrayado solo se aplica si no tiene clase */
}

a.navbar-brand {
    color: var(--cassiopeia-color-brand); /* Esto sigue manteniendo el color personalizado para el navbar-brand */
}


/***************************************************************************************CABECEREA*****************************************************************************/





/* 1. El header se organiza en 2 filas y 2 columnas */
/* Lista del menú */
.grid-child.container-nav .mod-menu { /* Selector específico para la lista del menú */
    list-style: none;
    padding: 0;
    margin: 20px;   
}
li.metismenu-item.item-119.level-1 {
    background-color: #7C8792; /* Color similar al de la imagen */
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 3px;
    cursor: pointer;
}
.header.container-header {
    display: grid;
    grid-template-rows: auto auto; /* Primera fila para la barra superior, segunda para logo + menú */
    width: 100%;
    background: #ffffff;
    
    z-index: 1500; /* Para que se mantenga sobre otros elementos */
}

.header.container-header {
    /* En lugar de width: 100%, usa: */
    //*max-width:  1321px; /* Ajusta al ancho que prefieras */
    margin: 0 auto;    /* Centra el contenedor horizontalmente */
    display: grid;
    grid-template-rows: auto auto;
    background: #ffffff;
   
    z-index: 1500;
}
/*CONTENEDOR TOPBAR*/

/* 2. La barra superior ocupa toda la primera fila */
.container-topbar {
    grid-column: 1 / span 2; /* Se extiende en las 2 columnas */
    grid-row: 1;
    text-align: right; /* Alinea el texto a la derecha */
    color: #7C8792;
    background: #EDEDED;
    padding: 10px;
}
.div-derecha {
    display: flex;
    justify-content: flex-end; /* Alinea el contenido a la derecha */
    align-items: center; /* Centra verticalmente los elementos */
    gap: 15px; /* Espaciado entre elementos */
}

.div-derecha img {
    width: auto; /* Mantiene el tamaño original de las imágenes */
    height: 20px; /* Ajusta la altura uniformemente (puedes cambiarlo) */
}

.div-derecha p {
    display: flex;
    align-items: center;
    gap: 10px; /* Espacio entre cada imagen y texto */
    margin: 0; /* Elimina margen por defecto del <p> */
    white-space: nowrap; /* Evita saltos de línea */
}

  /* 4. El menú (segunda fila, segunda columna) */
  .grid-child.container-nav {
    grid-column: 2;
    grid-row: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end; /* Menú a la derecha */
    padding: 10px 20px;
  }
/*COLOR TIPOGRAFIA  MENU*/
.container-header .mod-menu>li>a {
color: #5f5f5f;
}
/* MENU RESPONSIVE*/
  .container-header .navbar-toggler {
    color: #5f5f5f;
    cursor: pointer;
    border: 1px solid #d85656;
}
/* TAMAÑO LOGO CABECERA*/
.brand-logo > img {
    max-width: 280px;
}

/* ESTILO BASE DEL MENÚ */
.grid-child.container-nav .mod-menu {
    color: #333;
}
/* ANIMACION DEL MENU */
@media (min-width: 992px) {
    /* Aplica la animación a todos los li excepto al que tiene la clase .item-119 */
    .container-header .metismenu > li:not(.item-119) > a::after,
    .container-header .metismenu > li:not(.item-119) > button::before {
      content: "";
      opacity: 1;
      background-color: black !important;
      height: 2px;
      width: 0;
      margin: auto;
      transition: width 0.3s ease-in-out, background-color 0.3s;
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
    }
  
    .container-header .metismenu > li:not(.item-119) > a:hover::after {
      width: 100%;
    }
  }
  


/***************************************************************************************CONTENEDOR BANNER*****************************************************************************/
.camera_overlayer {
    background-color: rgba(95, 112, 126, 0.35); /* Color #5F707E con 35% de opacidad */
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1; /* Asegura que esta capa esté por encima de la imagen */
}

/* Establece que la imagen de fondo esté debajo de la capa de color */
.camera_target {
    position: relative;
    z-index: 0; /* La imagen estará debajo de la capa de color */
}

/* Asegura que el contenedor de la imagen (el banner) tiene posición relativa */
.container-banner {
    position: relative;
}

/* Establece el texto encima del banner */
#mod-custom129 {
    position: absolute;
    top: 34%; /* Centra verticalmente */
    left: 50%; /* Centra horizontalmente */
    transform: translate(-50%, -50%); /* Ajuste para centrar el texto */
    color: white; /* Color del texto */
    text-align: center; /* Centra el texto */
    z-index: 1000; /* Asegura que esté por encima de la imagen */
}

/* Estilo del texto (opcional, pero para personalizar) */
#mod-custom129 h1 {
    color: #fff;
}

/***************************************************************************************MODULO BUSCADOR*****************************************************************************/
#mod-custom122 {
    position: relative;
    top: -147px; /* Ajusta según sea necesario */
    left: 50%;
    transform: translateX(-50%);
    padding: 20px;
    border-radius: 8px;
}
#lupa{
    max-width: 20px; /* Ajusta el tamaño de las imágenes */
    height: auto; 
}
.search-box {
    max-width: 1060px;
    margin: 0 auto; /* Centra horizontalmente */
    display: flex;
    flex-direction: column;   
}

.tabs {
    display: flex;
    align-items: center; /* Centra verticalmente */
    width: 100%; /* Para ocupar todo el ancho del contenedor */
}

.tab {
    flex: none;
    padding: 10px 20px;
    background: #ddd;
    border: none;
    cursor: pointer;
    font-size: 16px;
}

.tab.active {
    background: #5f6770;
    color: white;
    font-weight: bold;
}

.search-filters {
    display: flex;
    gap: 10px;
    padding: 15px;
    background: #f1f1f1;
    border-radius: 0px 5px 5px 5px;
    box-shadow: 0px 1px 6px rgba(0, 0, 0, .11), 0px 2px 6px 2px rgba(0, 0, 0, .15);
}

.search-filters input {
    flex: 1;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 14px;
}

.search-btn {
    background: #5f6770;
    color: white;
    border: none;
    padding: 10px 15px;
    border-radius: 5px;
    cursor: pointer;
}

.search-btn:hover {
    background-color: #000;
}

/***************************************************************************************MODULO 2*****************************************************************************/

.top-b.card.Ofrece  {
    background-color: #EDEDED; /* Cambia el color de fondo según necesites */
}

.CONTENEDOR{
    background-color:#EDEDED;
    padding: 20px;

}
.contenedor {
    display: flex;
    justify-content: space-between; /* Espaciado uniforme entre tarjetas */
    gap: 20px; /* Espacio entre tarjetas */
    flex-wrap: wrap; /* Permite que las tarjetas se acomoden en varias filas si es necesario */
    max-width: 1200px; /* Ajusta el ancho máximo del contenedor */
    margin: 0 auto; /* Centrar el contenedor */
    padding: 20px;
}

.tarjeta {
    flex: 1; /* Hace que las tarjetas crezcan uniformemente */
    min-width: 250px; /* Ancho mínimo de cada tarjeta */
    max-width: 280px; /* Limita el ancho máximo */
    text-align: center; /* Centra el contenido */

}

.tarjeta img {
    width: 80px; /* Ajusta el tamaño de las imágenes */
    height: auto;
    margin-bottom: 20px;
}

/* Diseño adaptable para pantallas más pequeñas */
@media (max-width: 768px) {
    .contenedor {
        justify-content: center; /* Centra las tarjetas en pantallas pequeñas */
    }

    .tarjeta {
        flex: none; /* Desactiva el crecimiento automático */
        width: 100%; /* Ocupar todo el ancho disponible */
        max-width: 400px; /* Máximo ancho por tarjeta */
    }
}


/***************************************************************************************MODULO 3*****************************************************************************/

.propiedades {
    text-align: center;
    padding: 40px 20px;
}

.propiedades h2 {
    font-size: 24px;
    color: #333;
    margin-bottom: 10px;
}

.propiedades p {
    font-size: 16px;
    color: #666;
    margin-bottom: 30px;
    text-align: center;
}

/* GRID PARA ALINEAR LOS ELEMENTOS */
.grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 columnas iguales */
    gap: 15px;
    max-width: 1000px;
    margin: 0 auto;
}

.grid-item.apartamentos {
    grid-column: span 2; /* Ocupa 2 columnas en el grid */
}

/* CADA ELEMENTO DEL GRID */
.grid-item {
    position: relative;
    overflow: hidden;
}

.grid-item img {
    width: 100%;
    height: auto;
    display: block;
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

/* EFECTO HOVER PARA DESTACAR LA IMAGEN */
.grid-item:hover img {
    opacity: 1;
    transform: scale(1.05);
}

/* OVERLAY PARA CENTRAR TEXTO Y BOTÓN */
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column; /* Texto y botón en columna */
    text-align: center;
    opacity: 1;
}

/* ESTILO DEL TEXTO EN EL OVERLAY */
.overlay span {
    display: block;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}

/* ESTILO DEL BOTÓN */
.overlay button {
    background: none;
    border: 1px solid white;
    color: white;
    padding: 8px 57px;
    cursor: pointer;
    font-size: 14px;
    margin-top: 10px;
}

.overlay button:hover {
    background: white;
    color: black;
}

/* CONTENEDOR DEL BOTÓN FINAL */
.btn-container {
    margin-top: 30px;
    text-align: center;
}

/* BOTÓN "VER MÁS" */
.btn-mas {
    background: #7D8892;
    color: white;
    padding: 10px 40px; /* Reduce el padding horizontal para hacer el botón más estrecho */
    border: none;
    cursor: pointer;
    display: block; /* Hace que ocupe el ancho justo del contenido */
    margin: 20px auto; /* Lo mantiene centrado horizontalmente */
    text-align: center;
}


.btn-mas:hover {
    background: #333;
}
/* RESPONSIVIDAD - Ajuste de la cuadrícula para pantallas más pequeñas */
@media (max-width: 768px) {
    .grid-container {
        grid-template-columns: 1fr 1fr; /* 2 columnas en pantallas más pequeñas */
    }
    .grid-item.apartamentos {
        grid-column: span 1; /* Hace que "Apartamentos" ocupe 1 columna en móviles */
    }
}

@media (max-width: 480px) {
    .grid-container {
        grid-template-columns: 1fr; /* 1 columna en pantallas muy pequeñas */
    }
    .grid-item.apartamentos {
        grid-column: span 1; /* "Apartamentos" ocupa una sola columna */
    }
}


/***************************************************************************************FOOTER*****************************************************************************/

.footer {
    color: #515355;
    padding: 0;
    font-family: Helvetica, sans-serif, sans-serif;
    background: none;
    background-color: #ffffff !important;
}

p {
    margin-top: 0;
    margin-bottom: 0;
}
.grid-child {
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    width: auto;
}
.footer .grid-child{
    padding:0 !important;
    align-items: unset;
    max-width: 100%;
}

/* Contenedor general del footer */
.footer-container {
    max-width: 1320px; /* Ajusta según el diseño de tu página */
    margin: 0 auto; /* Centra el contenido */
    display: flex; /* Asegura que los elementos estén en fila */
    flex-direction: row; /* Mantiene los elementos en línea */
    justify-content: space-around; /* Distribuye los elementos uniformemente */
    flex-wrap: wrap; 
}
.footer-container a {
   /* Agrega espacio a la derecha de cada enlace */
    text-decoration: none;
    color: #333;
}

/* BLOQUE 1 */
.contenedorfooter1 {
    background-color: #7D8892; /* Gris similar al de la imagen */
    color: white;
    justify-content: space-around;
    align-items: center;
    padding: 50px 0px 50px 0px;
    margin-bottom: 50px;
}

/* Estilo para cada elemento del footer */
.footer-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Tamaño de los iconos */
.footer-icon {
    width: 34px; /* Ajusta según sea necesario */
    height: auto;
}

/* Estilo del texto */
.contenedorfooter1 p {
    font-size: 16px;
    font-weight: lighter;
    margin: 0;
    color: #ffff;
    text-align: left;
}
/* BLOQUE 2 */
.contenedorfooter2 {
    background-color: #EDEDED; /* Gris claro */
    justify-content: space-around;
    align-items: center;
    padding: 30px 10px;
    
}
ul{
    color: #515355;
}

.contenedorfooter2 ul {
    list-style: none;
    padding: 0;
}

.contenedorfooter2 ul li a {
    text-decoration: none;
    color: #333;
    font-size: 16px;
}
footer .contenedorfooter2 li {
    margin-bottom: 8px; /* Agrega separación entre los elementos de la lista */
}
/* Estilos generales para enlaces en el footer */
footer .contenedorfooter2 a,
footer .footer-bottom a {
    color: inherit !important; /* Mantiene el color original */
    text-decoration: none !important; /* Sin subrayado por defecto */
    position: relative;
    padding-bottom: 2px; /* Espacio para la línea */
}

/* Línea animada */
footer .contenedorfooter2 a::after,
footer .footer-bottom a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 1px; /* Grosor de la línea */
    background-color: currentColor; /* Usa el color del texto */
    transition: width 0.3s ease-in-out, left 0.3s ease-in-out;
}

/* Animación al hacer hover */
footer .contenedorfooter2 a:hover::after,
footer .footer-bottom a:hover::after {
    width: 100%;
    left: 0;
}

/* BLOQUE 3: Logo */
.footer-logo {
    background-color:#EDEDED; /* Cambia el color de fondo según necesites */
    display: flex;
    justify-content: center; /* Centra la imagen horizontalmente */
    align-items: center; /* Centra la imagen verticalmente */
    padding: 20px 0; /* Espaciado superior e inferior */
}

.footer-logo img {
    width: 75px; /* Mantiene el tamaño de la imagen */
    height: auto;
}
/* BLOQUE 4: Redes Sociales */
.footer-social {
    background-color: #ffffff; /* Cambia el color de fondo según necesites */
    display: flex;
    justify-content: center; /* Centra la imagen horizontalmente */
    align-items: center; /* Centra la imagen verticalmente */
    padding: 20px 0; /* Espaciado superior e inferior */
    margin: 7px;
}

.footer-social img {
    width: 25px; /* Mantiene el tamaño de la imagen */
    height: auto;
    margin-right: 22px;
}
/* BLOQUE 5: Enlaces inferiores */
.footer-bottom {
    
    background-color: #EDEDED; /* Gris más oscuro */
    text-align: center;
    padding: 10px;
}

.footer-bottom a {
    color: #333;
    text-decoration: none;
    margin: 0 8px;
    font-size: 16px;
}

@media (max-width: 768px) {
    /* Asegúrate de ajustar el breakpoint (768px) a tus necesidades */
  
    /* Aplica a todos los contenedores del footer */
    .footer-container {
      flex-direction: column;    /* En vez de row */
      align-items: center;       /* Centra los elementos horizontalmente */
      justify-content: center;   /* Centra los elementos verticalmente si se necesita */
      text-align: center;        /* Opcional, para centrar texto */
    }
  
    /* Para que cada bloque se separe un poco entre sí */
    .footer-item,
    .contenedorfooter2 > div,
    .footer-bottom > .footer-container > p {
      margin-bottom: 15px; 
    }
  
    /* Opcional: ajusta el tamaño de los iconos si necesitas que sean más pequeños en móvil */
    .footer-icon {
      width: 24px; /* ejemplo de ajuste para móviles */
    }
  }
  

/***************************************************************************************FICHA VIVIENDA*****************************************************************************/

@media (max-width: 768px) {
    .com-content-category-blog__item.blog-item {
        flex-direction: column;
        text-align: center;
    }

    .item-image {
        max-width: 100%;
    }

    .fields-container {
        grid-template-columns: 1fr;
    }
}

.mod-articles-item {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 3px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.mod-articles-item:hover {
    transform: translateY(-5px);
    box-shadow: 0px 6px 15px rgba(0, 0, 0, 0.2);
}



.mod-articles-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.mod-articles-image img {
    width: 100%;
    height: 250px; /* Ajusta la altura según sea necesario */
    object-fit: cover;
   
}


.field-entry {
   
    padding: 6px 0;
    font-size: 14px;
}

.field-label {
    font-weight: bold;
    color: #444;
}

.field-value {
    color: #666;
}

.readmore {
    text-align: center;
}


.readmore a:hover {
    background: #4b5563;
}

.bottom-b.card.destacados{
    background: #EDEDED;
    padding-top: 22px;
    padding-bottom: 22px;

}

/*logo ubicacion*/
li.field-entry.ubicacion ::before {
    background-image: url('ubicacionficha.png');
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 6px;
}
/*logo baños*/
li.field-entry.numero-de-banos ::before {
    background-image: url('baños.png');
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 6px;
}



/*logo metros cuadrados*/
li.field-entry.superficie-total::before {
    background-image: url('metros.png');
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 6px;
}

/*logo habitacion*/
li.field-entry.numero-de-dormitorios ::before {
    background-image: url('habitacion.png');
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 6px;
}
/* 1) Asegúrate de que el contenedor padre sea 'position: relative'
   para que el botón se posicione dentro de él */
   .mod-articles-item-content {
    position: relative;
    overflow: hidden; /* evita que se desborde el overlay */
  }
  
  /* 2) El <p class="readmore"> se posiciona encima, ocupando todo el espacio,
     con fondo semitransparente y centrado */
  .mod-articles-item-content .readmore {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;                      /* Para centrar el botón */
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.4);        /* Overlay semitransparente */
    opacity: 0;                         /* Oculto por defecto */
    transition: opacity 0.3s ease-in-out;
    z-index: 2;                         /* Por encima de la imagen */
  }
  
  /* 3) Al hacer hover sobre todo el bloque (o solo la imagen si prefieres),
     el botón aparece */
  .mod-articles-item-content:hover .readmore {
    opacity: 1;
  }
  
  /* 4) Ajusta el estilo interno del botón para que sea visible
     sobre el fondo oscuro */
  .mod-articles-item-content .readmore .btn.btn-secondary {
    background: none;
    border: 1px solid white;
    color: white;
    padding: 8px 57px;
    cursor: pointer;
    font-size: 14px;
    margin-top: 10px;   
    border-radius: 0px;           /* Opcional: sin borde */
  }
  /* 1) Asegurarnos de que el contenedor de la imagen sea relativo */
.mod-articles-image {
    position: relative;
    overflow: hidden; /* Evita que el overlay se desborde */
  }
  .mod-articles-item-content .readmore .btn.btn-secondary:hover {
    background: white;
    color: black;
}


.btn.btn-secondary {
    text-decoration: none; /* Elimina el subrayado */
}

.btn.btn-secondary:hover {
    text-decoration: none; /* Asegura que no haya subrayado al pasar el cursor */
}

.icon-chevron-right {
    display: none; /* Oculta la flecha */
}

li.field-entry.numero-de-dormitorios .field-value {
    display: flex;
    align-items: center;
}

li.field-entry.numero-de-dormitorios .field-value::before {
    margin-right: 5px;
}

li.field-entry.numero-de-dormitorios {
    text-align: left;
}

li.field-entry.numero-de-banos {
    display: inline-block;
    white-space: nowrap;
    width: auto;
}

.numero-de-banos {
    max-width: 80px;
}

.fields-container {
    gap: 5px;
}

/* Contenedor principal en grid */
.fields-container {
    list-style: none;
    padding: 0;
    margin: 10px;
    display: grid;
    grid-template-columns: 3fr 2fr 5fr; /* Tres columnas de igual ancho */
    gap: 5px 10px;
    align-items: center;
}

/* Primera fila: Tipo de propiedad y Precio */
.tipo-de-propiedad {
    grid-column: 1;
    font-size: 16px;
    font-weight: bold;
    text-align: left;
}

.precio {
    grid-column: 3;
    font-size: 18px;
    font-weight: bold;
    text-align: right;
    color: #000;
}

/* Segunda fila: Ubicación (ocupa las tres columnas) */
.ubicacion {
    grid-column: span 3;
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #666;
}

/* Tercera fila: Dormitorios, Baños y Superficie */
.numero-de-dormitorios {
    grid-column: 1;
    display: flex;
    align-items: center;
    font-size: 14px;
    text-align: left;
}

.numero-de-banos {
    grid-column: 2;
    display: flex;
    align-items: center;
    font-size: 14px;
    text-align: center;
}

.superficie-total {
    grid-column: 3;
    display: flex;
    align-items: center;
    font-size: 14px;
    text-align: right;
}

/* Estilos RESPONSIVOS para móviles */
@media (max-width: 768px) {
    .fields-container {
        grid-template-columns: 1.5fr 1fr 0fr; /* Tres columnas de igual ancho en móviles */
    }

    .ubicacion {
        grid-column: span 3;
    }

    .numero-de-dormitorios,
    .numero-de-banos,
    .superficie-total {
        text-align: left;
    }

    .precio {
        text-align: left;
    }
}

li.field-entry.numero-de-dormitorios .field-value {
    display: flex;
    align-items: center;
}

li.field-entry.numero-de-dormitorios .field-value::before {
    margin-right: 5px;
}

li.field-entry.numero-de-dormitorios {
    text-align: left;
}

li.field-entry.numero-de-banos {
    display: inline-block;
    white-space: nowrap;
    width: auto;
}

.numero-de-banos {
    max-width: 80px;
}

.fields-container {
    gap: 5px;
}

/***************************************************************************************FORMULARIO DE CONTACTO*****************************************************************************/

/* Contenedor principal */
.form-container {
    border-radius: 3px;
    width: 500px;
    
}
/* Espaciado entre inputs */
.input-group {
    display: flex;
    justify-content: space-between;
}
.input-group div {
    width: 48%;
}
/* Estilo de los inputs */
input, select, textarea {
    width: 100%;
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
    transition: border 0.3s ease-in-out;
}
/* Placeholder */
::placeholder {
    color: #888;
    font-style: italic;
}
/* Cuando el campo está activo */
input:focus, select:focus, textarea:focus {
    border: 2px solid black;
    outline: none;
}
/* Botón de enviar */
#buttonForm {
    display: block;
    background-color: #7D8892;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 3px;
    font-size: 16px;
    cursor: pointer;
    margin: 10px auto;
}
button:hover {
    background-color: #333;
}
#buttonForm:hover {
    background-color: black; /* Cambia el fondo a negro al pasar el cursor */
}
.page-header {
    display: none;
}


/***************************************************************************************FORMULARIO DE CONTACTO UBICACION*****************************************************************************/

div#mod-custom128 {
    display: flex;
}


.contact-info {

    text-align: left;
   
}

/* Para hacerlos responsivos en pantallas pequeñas */
@media (max-width: 768px) {
    .mod-custom.custom {
        flex-direction: column;
    }

    .form-container, .contact-info {
        width: 100%;
    }
}
#contact{
    color: #ffffff;
    font-family: Helvetica;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    margin-bottom: 10px;
    margin-top: 16px;
    text-align: center;
}

#cont{
    color:#515355;
    text-align: left;
    font-family: "Helvetica";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    margin-bottom: 15px;
    text-decoration: none;
}

#icon-cont{
width: 35px;
margin-right: 6px;
}























/***************************************************************************************ESTILO CONTENEDORES*****************************************************************************/

.container-top-b {
    grid-column: full-start/full-end
}
.top-b.card.hoja {
    margin-top: -97px;
}
.container-bottom-b{
    grid-column: full-start/full-end
}
.hoja {
    max-width: 1324px;
    margin: auto;
}

/***************************************************************************************CAMBIOS MENU CONTACTO,LOGO*****************************************************************************/
li.metismenu-item.item-119.level-1 {
    background-color: #7C8792;
    border: none;
    padding: 10px 20px;
    border-radius: 3px;
    cursor: pointer;
}

li.metismenu-item.item-119.level-1 a {
    color: white; /* Aplica el color blanco solo al enlace <a> */
}


/* Estilos para "CONTACTO" */
li.metismenu-item.item-119.level-1 a {
    position: unset; /* Restaura la posición a su valor predeterminado */
}
/* Estilos para "CONTACTO" al pasar el cursor sobre el li */
li.metismenu-item.item-119.level-1:hover {
    background-color: black; /* Establece el fondo a negro */
}

/* Estilo para el logo en pantallas pequeñas (móviles) */
@media (max-width: 768px) {
    .brand-logo > img {
        max-width: 120px; /* Ajusta el tamaño del logo para móviles */
    }
}
/*CONTACTO*/
#mod-custom128 .container {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Divide en dos columnas iguales */
    align-items: center; /* Alinea verticalmente */
}

.contact-info {
    text-align: left;
}

.form-container {
    display: flex;
    justify-content: center;
}

.form-content {
    width: 100%;
  
}





.contact-info {
    display: flex;
    flex-direction: column;
    gap: 33px;
    margin-left: auto;
    margin-bottom: 43px;
}

.info-item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.info-item img {
    width: 50px;
    height: auto;
}

.info-text {
    display: flex;
    flex-direction: column;
}

.info-text strong {
    font-size: 16px;
    color: #515355;
    font-family: Helvetica;
}

.info-text p {
    margin: 0;
    font-size: 16px;
    color: #515355;
}








.container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
}

.header {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
}


.header p {
    font-size: 16px;
    color: #666;
}

.content {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1200px;
}

.info-container, .form-container {
    width: 48%;
}
/*nuevo l*/
.container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
    padding: 20px;
}

.header {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
}


.header p {
    font-size: 16px;
    color: #515355;
    text-align: center;
}

.content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    max-width: 1200px;
    gap: 20px;
}

.info-container, .form-container {
    width: 48%;
}

/* RESPONSIVE DESIGN */
@media screen and (max-width: 768px) {
    .content {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .info-container, .form-container {
        width: 100%;
    }

    .info-item {
        display: flex;
        align-items: center;
        text-align: left;
    }

    .info-item img {
        width: 40px; /* Reduce el tamaño del icono en móviles */
        margin-right: 10px;
    }

    .form-container form {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .input-group {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    input, select, textarea, button {
        width: 100%;
        font-size: 16px;
    }
}
.content {
    display: flex;
    justify-content: center; /* Centra horizontalmente */
    align-items: flex-start; /* Alinea elementos en la parte superior */
    width: 100%;
    max-width: 1200px;
    gap: 20px;
}

.info-container {
    display: flex;
    flex-direction: column;
    align-items: center; /* Centra el contenido dentro */
    text-align: center;
    width: 50%; /* Ajusta según el tamaño que quieras */
}


.content {
    display: flex;
    justify-content: center; /* Centra horizontalmente */
    align-items: center; /* Alinea los elementos en el mismo nivel vertical */
    gap: 40px;
    width: 100%;
}

.info-container {
    align-self: center; /* Asegura que esté alineado con el formulario */
}

.form-content h2{
    text-align: left;

}

.contact-info p {
    text-align: left;

}


.acceptance {
    display: flex;
    align-items: center;  /* Alinea verticalmente el texto y el checkbox */
    gap: 10px;  /* Añade espacio entre el texto y el checkbox */
}

.acceptance label {
    margin: 0;  /* Elimina márgenes para que esté alineado con el checkbox */
}

.acceptance input[type="checkbox"] {
    transform: scale(1.2); /* Puedes ajustar el tamaño del checkbox si lo deseas */
}
#accept-checkbox {
    transform: scale(1.2); /* Ajusta el tamaño solo de este checkbox */
    width: 3%;
}


/*CAMBIOS BANNER??*/
.card {
    --card-border-width: 0; /* Establece el ancho del borde a cero */
}
div#mod-custom123 {
    margin-bottom: 37px;
}
@supports (display:grid) {
    .site-grid>.full-width {
        grid-column: full-start / full-end;
        margin-bottom: -110px;
    }}
/***************************************************************************************MAPA, CONTACTO*****************************************************************************/
.mod-articles-items.mod-articles-grid.grid-cols-3.mod-list {
    max-width: 1324px; /* Ajusta según lo necesario */
    margin: 0 auto; /* Centra el contenedor */
    padding: 0 20px; /* Agrega algo de padding para evitar que toque los bordes */
}


/* Estilos del contenedor */
.com-content-category-blog__item {
    position: relative;
    overflow: hidden;
    border-radius: 5px;
    transition: transform 0.3s ease-in-out;
}

/* Efecto de elevación al pasar el cursor */
.com-content-category-blog__item:hover {
    transform: translateY(-5px);
}

/* Capa de fondo oscuro con opacidad */
.com-content-category-blog__item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Fondo negro semi-transparente */
    opacity: 0; /* Oculto por defecto */
    transition: opacity 0.3s ease-in-out;
}

/* Mostrar el fondo oscuro al hacer hover */
.com-content-category-blog__item:hover::before {
    opacity: 1;
}

/* Mostrar el botón solo al hacer hover */
.com-content-category-blog__item:hover .readmore {
    opacity: 1;
}

/* Estilo del botón */
.readmore a {
    background: none;
    border: 1px solid white;
    color: white;
    padding: 8px 57px;
    cursor: pointer;
    margin-top: 10px;
    border-radius: 0px;
}

/* Cambia el estilo del botón al hacer hover */
.readmore a:hover {
    background: rgb(255, 255, 255);
    color: rgb(0, 0, 0);
    border: 1px solid white;
}

.com-content-category-blog__item {
    background: white; /* Fondo blanco para resaltar la sombra */
    border-radius: 3px; /* Bordes redondeados */
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.15); /* Sombra suave */
    transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
}

/* Efecto de elevación al pasar el cursor */
.com-content-category-blog__item:hover {
    box-shadow: 0px 6px 15px rgba(0, 0, 0, 0.3); /* Sombra más intensa en hover */
    transform: translateY(-5px); /* Efecto de elevación */
}
.left.item-image img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}
.blog-item .item-image {
    margin-top: 0px;
    margin-bottom: 15px;
    overflow: hidden;
}
/* Asegura que solo los .readmore dentro de los contenedores específicos sean afectados */
.com-content-category-blog__items .com-content-category-blog__item .readmore {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    opacity: 0; /* Oculto por defecto */
    transition: opacity 0.3s ease-in-out;
    z-index: 2; /* Asegura que esté sobre la imagen */
}

/* Mostrar el botón solo cuando pase el cursor sobre su contenedor */
.com-content-category-blog__items .com-content-category-blog__item:hover .readmore {
    opacity: 1;
}

/*------------------------------PAGINAS ----------------------*/

.com-content-category-blog__navigation {
    display: flex;
    flex-direction: column; /* Asegura que los elementos se apilen */
    align-items: center; /* Centra horizontalmente */
    justify-content: center; /* Centra verticalmente si hay más espacio */
    text-align: center;
    width: 100%;
    padding: 20px 0;
    
}

/* Asegura que el contador de página también esté centrado */
.com-content-category-blog__counter {
    float: none !important; /* Sobreescribe cualquier flotado previo */
    text-align: center;
    padding-bottom: 10px;
}

/* Centra la paginación */
.com-content-category-blog__pagination {
    display: flex;
    justify-content: center;
    width: 100%;
}

.pagination__wrapper {
    display: flex;
    justify-content: center;
}

/* Fondo del número de página activo */
.com-content-category-blog__pagination .pagination .active .page-link {
    background: #7D8892 !important; 
    color: white !important; 
    border-color: #7D8892 !important;
}

/* Cambio de color al pasar el cursor por encima */
.com-content-category-blog__pagination .pagination .page-item:not(.active) .page-link:hover {
    background: #333 !important;
    color: white !important;
    border-color: #333 !important;
}
/* Color de los iconos de paginación */
.com-content-category-blog__pagination .pagination .page-link span {
    color: #7D8892 !important;
}

/* Cambio de color al pasar el cursor */
.com-content-category-blog__pagination .pagination .page-item:not(.disabled) .page-link:hover span {
    color: white !important;
}





.caracteristicas .field-value {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.caracteristicas .field-value::before {
    content: " ";
}

.caracteristicas .field-value {
    background: #f5f5f5;
    padding: 8px 15px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    margin-right: 5px;
}


.items-more {
    display: none;
}



/* Agrupar inputs en flexbox */
.input-group {
    display: flex;
    gap: 10px; /* Espacio entre los elementos */
    flex-wrap: wrap;
    margin-bottom: 10px;
}

/* Ajustar los inputs */
.input-group div {
    flex: 1; /* Que ocupen el mismo espacio */
    min-width: 200px; /* Evita que se vuelvan demasiado pequeños */
}



/*---------------------------------------------------*/


  
  /* Versión responsive */
  @media screen and (max-width: 768px) {
    .container {
      flex-direction: column; /* Apila verticalmente */
    }
  
    .form-content, .contact-info {
      width: 100%; /* Ocupan todo el ancho */
    }
  }
  








.mapa-responsive {
    position: relative;
    overflow: hidden;
    margin: 2rem auto;
    max-width: 1320px;
    height: 400px; /* ALTURA FIJA EN ESCRITORIO */
  }
  
  .mapa-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
  }
  
  /* SOLO EN MÓVIL O PANTALLAS PEQUEÑAS */
  @media screen and (max-width: 768px) {
    .mapa-responsive {
      height: 0;
      padding-bottom: 56.25%; /* RELACIÓN 16:9 SOLO EN RESPONSIVE */
    }
  }
  
  /**********************************************Breadcrumb*************************************/
  /* Quita el texto "Está aquí:" */
.mod-breadcrumbs__here {
    display: none;
  }
  
  /* Estilo general del wrapper */
  .mod-breadcrumbs__wrapper {
 
    font-size: 12px;
    max-width: 1348px;
    margin: 0 auto;
  }
  
  /* Estilo del listado de migas */
  .mod-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  /* Cada ítem de la ruta */
  .mod-breadcrumbs__item {
    display: flex;
    align-items: center;
    color: #999;
  }
  
  /* Ítems no activos como enlaces */
  .mod-breadcrumbs__item a {
    color: #bbb;
    text-decoration: none;
  }
  
  .mod-breadcrumbs__item a:hover {
    color: #ccc;
  }
  
  /* Separador chevron 
  .mod-breadcrumbs__item:not(:last-child)::after {
    content: "\f105"; 
    font-family:"Helvetica";
    font-weight: 900;
    font-size: 7px;
    color: #aaa;
    margin-left: 6px;
    margin-right: 6px;
  }*/
  .breadcrumb{
    background: none;
  }
  .mod-breadcrumbs__item span,
  .mod-breadcrumbs__item a {
    text-transform: lowercase !important;
  }
  .mod-breadcrumbs__item span::first-letter,
  .mod-breadcrumbs__item a::first-letter {
    text-transform: uppercase !important;
  }
  


  /**********************************MULTIMEDIA***********************************/
  .com-content-article h1,
.com-content-article p {
  text-align: left;

}
.com-content-article li {
    list-style-type: none;

}


/***********FICHA****/
.precio-in h1{
    font-size: 36px;
}


.detalles-propiedad h3,
.características-energéticas h3 {
    font-size: 1.2em;
    margin-bottom: 15px;
}

.detalle-propiedad-fila {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 10px;
}

.detalle-propiedad-contenedor {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex: 1 0 auto;
    min-width: 200px;
    margin: 15px 0px;
    border-bottom: 1px solid #ccc;
}

.detalle-propiedad-label {
   
    color: #777;
    flex-shrink: 0;
    width: 150px;
}

.detalle-propiedad-valor {
    color: #333;
    margin-left: 64px;
}

/* Opcional: eliminar los estilos de la lista ul si no son deseados */
.detalles-propiedad ul,
.características-energéticas ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.informacion-adicional{
    background-color: #EDEDED;
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 50px 0px 50px 0px;
    
}
.detalles-propiedad{
    margin-bottom: 40px

}
span.detalle {
    margin-right: 20px;
    background: #EDEDED;
    padding: 6px;
    border-radius: 3px;
}
.listaCarter {
    margin-top: 20px;
    margin-bottom: 50px;
}
.descripcion {
    margin-bottom: 50px;
}
.precio-in{
    margin-bottom: 20px;

}
.multimedia{
    margin-bottom: 30px;
}
.ubicacion-in{
    margin-top: 50px;

}





.grid-child.container-component .informacion-adicional {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    position: relative;

}

.grid-child.container-component .informacion-adicional > div {
       max-width: 1310px;
    margin: 0 auto;
    padding: 2rem 0rem;     /* opcional, da respiración al contenido */
}


/******************************FICHA NUEVA**************************************/
.lista-campos-generales {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap; /* Permite que los elementos pasen a la siguiente línea en pantallas pequeñas */
    gap: 15px 20px; /* Espacio vertical y horizontal entre los elementos de la lista */
}

.lista-campos-generales li.campo-generico {
    display: flex;
    align-items: center;
    gap: 8px; /* Espacio entre el icono y el texto */
 
    padding: 8px 0px;
    border-radius: 8px;
 
}

.lista-campos-generales li.campo-generico span.icono-campo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px; /* Ajusta el tamaño del contenedor del icono */
    height: 20px;
    /* Aquí podrías añadir estilos para el fondo del icono, color, etc. */
}

/* Ejemplo de cómo podrías estilizar los SVG (necesitarás tus propios SVG) */
.lista-campos-generales li.campo-generico span.icono-campo svg {
    width: 100%;
    height: 100%;
    fill: #007bff; /* Ejemplo de color para el icono */
}
/* Icono para habitaciones */
.lista-campos-generales li.campo-generico.habitaciones span.icono-campo {
    background-image: url('habitacion.png');
}

/* Icono para dormitorios */
.lista-campos-generales li.campo-generico.dormitorios span.icono-campo {
    background-image: url('habitacion.png'); /* Usa el mismo que habitaciones si es igual, o cambia si es distinto */
}

/* Icono para baños */
.lista-campos-generales li.campo-generico.banos span.icono-campo {
    background-image: url('baños.png');
}

/* Icono para metros cuadrados */
.lista-campos-generales li.campo-generico.metros span.icono-campo {
    background-image: url('metros.png');
}

/* Estilos comunes para los iconos */
.lista-campos-generales li.campo-generico span.icono-campo {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 6px;
}

.container-banner.full-width{
    margin-bottom: 0px;
}



/******************************GALERIA**************************************/


.mi-carrusel {
    position: relative;
    width: 100%; /* Ajusta el ancho deseado del carrusel */
    overflow: hidden;
}

.carrusel-imagenes {
    display: flex;
    transition: transform 0.5s ease-in-out; /* Animación suave al cambiar de imagen */
    margin-bottom: 40px;
}

.carrusel-imagenes img {
    width: 100%;
    height: auto;
    flex-shrink: 0; /* Evita que las imágenes se encojan */
}

.mi-carrusel button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    z-index: 10;
    font-size: 1.5em;
    border-radius: 5px;
}

.mi-carrusel button.carrusel-anterior {
    left: 10px;
}

.mi-carrusel button.carrusel-siguiente {
    right: 10px;
}




/* === Galería personalizada === */
.property-gallery {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-gap: 8px;
    margin: 24px 0;
  }
  
  .swiper-gallery-main {
    position: relative;
    grid-column: 1 / 2;
    grid-row: 1 / 3;
  }
  .swiper-gallery-main .swiper-slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
  }
  
  .swiper-button-prev,
  .swiper-button-next {
    color: #fff;
  }
  
  .gallery-counter {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: rgba(0,0,0,0.5);
    color: #fff;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.9rem;
  }
  
  .swiper-gallery-thumbs {
    grid-column: 2 / 3;
    display: flex;
    flex-direction: column;
    row-gap: 8px;
  }
  .swiper-gallery-thumbs .swiper-slide {
    cursor: pointer;
  }
  .swiper-gallery-thumbs .swiper-slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border: 2px solid transparent;
  }
  .swiper-gallery-thumbs .swiper-slide-thumb-active img {
    border-color: #007bff;
  }
  
  @media (max-width: 768px) {
    .property-gallery {
      grid-template-columns: 1fr;
      grid-template-rows: auto auto;
    }
    .swiper-gallery-thumbs {
      flex-direction: row;
      overflow-x: auto;
      grid-column: 1 / 2;
    }
  }
  .mi-carrusel {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.carrusel-imagenes {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.carrusel-imagenes a {
    flex: 0 0 100%; /* Cada imagen ocupa el 100% del ancho del carrusel */
    display: block;
}

.carrusel-imagenes img {
    width: 100%;
    height: auto;
    display: block;
}


.galeria-multiple {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 10px;
    margin-bottom: 25px;
  }
  
  .galeria-multiple .bloque-galeria {
    width: 100%;
    height: 100%;
  }
  
  .galeria-multiple .bloque-galeria img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  /* Asignamos la imagen grande a la primera celda ocupando dos filas */
  .galeria-multiple .bloque-galeria:nth-child(1) {
    grid-row: 1 / span 2;
    grid-column: 1;
  }
  
  /* Segunda imagen (arriba derecha) */
  .galeria-multiple .bloque-galeria:nth-child(2) {
    grid-row: 1;
    grid-column: 2;
  }
  
  /* Tercera imagen (abajo derecha) */
  .galeria-multiple .bloque-galeria:nth-child(3) {
    grid-row: 2;
    grid-column: 2;
  }


  .galeria-multiple-wrapper {
    position: relative;
  }
  
  .boton-galeria-contador {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: rgba(255, 255, 255, 0.85);
    border: none;
    border-radius: 3px;
    padding: 5px 10px;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: default;
    color: #000;
    z-index: 10;
  }
  
  .boton-galeria-contador svg {
    width: 18px;
    height: 18px;
  }
  .boton-galeria-contador:hover {
    background: #222;
    color: #fff;
    cursor: pointer;
  }
  
  .boton-galeria-contador:hover svg path {
    fill: #fff;
  }