/*
Theme Name: NM Neo Selene
Author: Nacho Macías
Author URI: https://nachomacias.com
Description: Theme Diseñado para Inmobiliarias
Version: 1.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nm-neo-selene
*/



/****************************** 
 *  Root - Variables - HTML
 *******************************/

 :root {
    /* Tipografía */
    /* --tipo-encabezado: 'Century Gothic'; */
    --tipo-encabezado: 'Montserrat';
    --tipo-parrafo: 'Poppins';

    /* Colores */
    --main-color: #1f2637;
    --primary-color-translucid: rgba(0,36,78,0.67);
    --primary-color-plus-translucid: rgba(103, 122, 143, 0.603);
    --secundary-color: #d6b26a;
    --tertiary-color: #8d765e;
    --tertiary-color-w-opacity: #8d765eb6;
    --quaternary-color: #756553;
    --quaternary-color-w-opacity: #75655340;
    --quinary-color: #d9b770;
    --color-white: #fff;
    --color-white-w-opacity: #ffffff2e;
    --color-black: #000000;
    --color-soft-black: #222222;
    --color-black-w-opacity: #00000066;
    --color-grey-red: #978787;
    --color-black-light: #5b5b5b;
    --color-light-grey: #f5f5f5;
    --color-old-footer: #3E3B37;  
    --font-black: #222222;

    /* Margenes - Alturas */

    --main-nav-height: 10rem;
  }


  
/************/
/* GLOBALES */
/************/
* {
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;
    vertical-align: baseline;
}


html {
    font-size: 62.5%; /* Facilita el cálculo a rems 1rem=10px */
    /* overflow-x: hidden;  */
}



/* Imágenes */

img, picture, video, iframe, figure {
    max-width: 100%;
    width: initial; /* Si indico 100% es incompatible con Safari y navegador móvil */
    display: block;
    object-fit: cover;
    object-position: center center;
}


/* Enlaces */

a {
    display: block;
}

p a {
    display: inline;
}


/* Listas */

li {
    list-style-type: none;
}

/* Configuramos anclas suaves */

html {
    scroll-behavior: smooth;
    overscroll-behavior: auto;
}

/* Desactivar estilos por defecto en etiquetas */

h1, h2, h3, h4, h5, h6, p, span, a, strong, blockquote, i, b, u, em, li {
    font-size: 1rem;
    font-weight: 200;
    font-style: inherit;
    text-decoration: none;
    color: inherit;
}


h1, h2, h3, h4, h5, h6 {
    font-family: var(--tipo-encabezado);
}

h1 {
    font-size: 3rem;
}

h2 {
    font-size: 3rem;
    font-weight: 600;
    margin: 1rem auto 5rem auto;
    text-align: center;
    font-family: var(--tipo-encabezado);
}

h2 strong {
    font-size: 2.5rem;
    font-style: italic;
}

h3 {
    font-size: 2rem;
}

h4 {
    font-size: 1.8rem;
    font-weight: 400;
}

p, strong, li {
    font-size: 1.4rem;
    line-height: 2.1rem;
    font-weight: 400;
}

p {
    text-align: justify;
}


li {
    font-size: 1.8rem;
    line-height: 2.4rem;
}

strong {
    font-weight: 600;
}

strong span {
    font-weight: 600;
    
}

/* Evitar problemas con los pseudoelementos de quotes */
blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}

/* Configuramos el texto seleccionado */
::selection {
    background-color: var(--color);
    color: var(--color);
}

/* Nivelar problemas de tipografías y colocación en formularios */

form, input, textarea, select, button, label {
    font-family: inherit;
    font-size: inherit;
    hyphens: auto;
    /* background-color: transparent; */
    display: block;
    color: inherit;
}

/* Reseteamos las tablas */

table, tr, td {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Evitar problemas con SVG */
svg {
    width: 100%;
    display: block;
    fill: currentColor;
}

/* Configuramos la tipografía de toda la web */
body {
    /* min-height: 100vh;
    width: 100%;
    font-size: 100%; */

    font-family: var(--tipo-parrafo);

    color: var(--color-black);
    background: var(--color-white);
    line-height: 1.4rem;
    font-smooth: always;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
      
}

/* Esconder scrollbars */

/* Hide scrollbar for Chrome, Safari and Opera */
*::-webkit-scrollbar {
    display: none!important;
  }
  
  /* Hide scrollbar for IE, Edge and Firefox */
  * {
    -ms-overflow-style: none!important;  /* IE and Edge */
    scrollbar-width: none!important;  /* Firefox */
  }






  .w-sm-80 {
    width: 80%;
}


  .bg-tertiary {
    background-color: var(--color-black);
    color: var(--color-white);
  }

  .btn {
    text-transform: uppercase;
    font-size: 1.2rem;
    letter-spacing: 0.2rem;
    background-color: var(--color-white);
    color: var(--color-black);
    border: none;
}
.py-2 {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important;
}
.px-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
}
.w-100 {
    width: 100% !important;
}
















/* Bootstrap reset */

.container-fluid {
    width: 100vw!important;
}

.row {
    width: 100%;
    margin: 0!important;
}

.nav {
    width: 100vw!important;
}


.nm-nav {
    width: 100vw!important;
    transition: all 0.5s;
    background-color: var(--color-soft-black);
}


.fw-bold {
    font-weight: 500!important;
}

/* Bootstrap 5 columns */

.col-xs-5,

.col-sm-5,

.col-md-5,

.col-lg-5 {

  min-height: 1px;
  position: relative;

}

.col-xs-5 {
  float: left;
  width: 20%;
}




/* Varios */

.hide {
    display: none!important;
}

.columna {
    z-index: 999;
}

.linea {
    width: 20%; /* Define la anchura de la línea */
    border: none; /* Elimina el borde predeterminado */
    height: 2px; /* Define el grosor de la línea */
    background-color: black; /* Color de la línea */
    margin: 20px auto 20px 0; /* Centra la línea */
}

.nm__container {
    margin: 0 2rem;
}

.custom__mb {
    margin-bottom: 4rem;
}

.nm__textalign__center {
    text-align: center;
}

.centered-content {
    text-align: center;
}



.nm__img__borderradius {
    border-radius: 2rem;
}

.nm__space__between__columns__right {
    padding-right: 0rem;
}

.propertie_content .col-4.text-end p {
    text-align: right;
}

.propertie_content .details p,
.propertie_content .details .content-detail span {
    text-align: left;
    font-size: 1.2rem;
    line-height: 1.6rem;
}

.normal__weight {
    font-weight: normal;
}


/***************/
/*  PRELOADER  */
/***************/


#page-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    background: var(--main-color) none repeat scroll 0% 0%;
    z-index: 99999;
    }
    #page-loader .preloader-interior {
        display: block;
        position: relative;
        left: 50%;
        top: 50%;
        width: 150px;
        height: 150px;
        margin: -75px 0 0 -75px;
        border-radius: 50%;
        border: 3px solid transparent;
        border-top-color: var(--secundary-color);
     
        -webkit-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
              animation: spin 2s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
    }
    #page-loader .preloader-interior:before {
        content: "";
        position: absolute;
        top: 5px;
        left: 5px;
        right: 5px;
        bottom: 5px;
        border-radius: 50%;
        border: 3px solid transparent;
        border-top-color: var(--tertiary-color);
     
        -webkit-animation: spin 3s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
          animation: spin 3s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
    }
     
    #page-loader .preloader-interior:after {
        content: "";
        position: absolute;
        top: 15px;
        left: 15px;
        right: 15px;
        bottom: 15px;
        border-radius: 50%;
        border: 3px solid transparent;
        border-top-color: var(----quaternary-color);
     
        -webkit-animation: spin 1.5s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
          animation: spin 1.5s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
    }
     
    @-webkit-keyframes spin {
        0%   { 
            -webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */
            -ms-transform: rotate(0deg);  /* IE 9 */
            transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */
        }
        100% {
            -webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ */
            -ms-transform: rotate(360deg);  /* IE 9 */
            transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */
        }
    }
    @keyframes spin {
        0%   { 
            -webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */
            -ms-transform: rotate(0deg);  /* IE 9 */
            transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */
        }
        100% {
            -webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ */
            -ms-transform: rotate(360deg);  /* IE 9 */
            transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */
        }
    }




/************/
/*  HEADER  */
/************/

header {
    background: transparent; 
}




/*    Navigation     */
/*-------------------*/


nav {
    position: fixed;
    height: var(--main-nav-height);
    width: 100%; 
    display: flex;
    justify-content: space-between;
    align-items: center;
    top: 0;
    /* padding-top: 4rem; */
    z-index: 99998;
}

.nav {
    flex-wrap: nowrap!important;
}

.logo-container {
    display: flex;
    align-items: center;
    width: auto;
    margin: 0;
}

.logo {
    margin-left: 1rem;
    margin-top: 0rem;
    height: 8rem;
    z-index: 100010;
    transition: all 0.5s;
}



/*  Hamburguer Menu  */
/*-------------------*/

.hamburger-btn {
    width: 2.5rem;
    margin-right: 2rem;
    margin-top: 0rem;
    cursor: pointer;
    z-index: 1000010;
}


.hamburger-btn span {
    display: block;
    width: 100%;
    height: 2px;
    margin-right: 40px;
    background-color: var(--color-white);
    border-radius: 2px;
    -webkit-transition: background-color .15s ease-in-out;
    -o-transition: background-color .15s ease-in-out;
    transition: background-color .15s ease-in-out;
    transform-origin: 0px 100%;
    transition: all 300ms;
}

/* Cambio de color en páginas con fondo blanco */

.hamburger-btn.ch__color span {
    background-color: var(--tertiary-color);
}

.hamburger-btn span:nth-child(2) {
    margin: 6px 0;
} 

.activeline1__bars-menu {
    transform: rotate(45deg) translate(-2px, 1px);
}

.activeline2__bars-menu {
    opacity: 0;
    margin-left: -30px;
}

.activeline3__bars-menu {
    transform: rotate(-45deg) translate(-2px, 0px);
}

.nav-list {
    position: fixed;
    width: 100%;
    height: 0vh;
    top: 0px;
    background: var(--main-color);
    /* float: right; */
    text-align: left;
    transition: all .5s;
    z-index: -1;
    padding-left: 0!important;
}



.nav-list li { 
    opacity: 0;
    display: none;
    /* line-height: 10px; */
    margin: 1.8rem 0 0 10%;
    transition: all 0.5s; 
}

.nav-list li:nth-child(1) {
    margin-top: 12rem;
}


.sub-menu li {
    margin: 0.5rem 0 0 0;
}



.nav-list li a {
    font-family: var(--tipo-encabezado);
    /* font-size: 1.2rem; */
    width: max-content; /* Hago que el ancho de la etiqueta sea igual al contenido de la misma */ 
    color: var(--color-white);
    font-size: 1.5rem;    
    font-weight: 500;
    letter-spacing: 0.4rem;
    text-transform: uppercase;
    padding-bottom: 0.1rem;
    --clippy: polygon(0 0, 0 0, 0 100%, 0 100%);
}



.nav-list li a.active, .nav-list li a:hover, .nav-list .current-menu-item a {
    color: var(--color-white);
    font-weight: 600; 
    transition: 0.5s;
    --clippy: polygon(0 0, 100% 0, 100% 100%, 0 100%);
} 

.nav-list li a:after {
    content:"";
    display: block;
    background: var(--secundary-color);
    width: 100%;
    margin-top: 4px;
    height: 1px;
    clip-path: var(--clippy);
    transition: clip-path .5s;
}

.nav-list .sub-menu {
    display: flex;
    flex-direction: column;
        
}

.nav__label {
    display: block;
    font-size: 30px;
    color: var(--color-white);
    float: right;
    line-height: 75px;
    margin-right: 40px;
    cursor: pointer;
}

#check {
    display: none;
}

#check:checked ~ .nav-list {
    height: 100vh;
}


#check:checked ~ .nav-list li {
    opacity: 1;
    display: block;
}


#check:checked ~ .nav-list .sub-menu li a {
    font-family: var(--tipo-parrafo);
    font-size: 1.2rem;
    font-weight: 500;
    font-style: italic;
}

#check:checked ~ .nav-list .sub-menu li:first-child a {
    margin-top: 1rem;
}

#check:checked ~ .nav-list .sub-menu li:last-child a {
    margin-bottom: 1rem;
}


.checkbtn span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: var(--color-white);
    border-radius: 2px;
    -webkit-transition: background-color .15s ease-in-out;
    -o-transition: background-color .15s ease-in-out;
    transition: background-color .15s ease-in-out;
    transform-origin: 0px 100%;
    transition: all 300ms;
    z-index: 10000;
} 

.checkbtn span:nth-child(2) {
    margin: 6px 0;
} 















/* SECTION 1 */

.section__one {
    display: flex;
    flex-direction: column;
    align-items: center; /* Centra horizontalmente */
    justify-content: center; /* Centra verticalmente */
    position: relative;
}




.video-section {
    /* position: relative; */
    width: 100%;
    height: 100vh; /* Ocupa toda la pantalla */
    /* overflow: hidden; */
  }
  
  .background-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
    z-index: 1;
  }
  
  .overlay-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    color: white;
    text-align: center;
    font-family: Arial, sans-serif;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
  }
  
  .overlay-text h1 {
    font-size: 3rem;
    margin: 0;
    font-weight: 600;
  }
  
  .overlay-text p {
    font-size: 1.5rem;
    margin: 10px 0 0;
    text-align: center;
  }



/* OCTORATE */


/* .octobookthemeROUNDED {
    background-color: white!important;
}
.octobook39324 .octobooktitle {
    color: var(--color-black)!important;
} */



.booking__container {
    z-index: 10; 
}

.booking__container {   
    position: absolute;
    top: 84%; 
    left: 50%; 
    transform: translate(-50%, -50%);
}

.booking__container .octobook {
    margin: 5rem auto;
}

.booking__container form {
    width: 100%;
}

.booking__container .custom__background {
    position: relative; 
}

.booking__container .custom__background:before {
    content: ''; 
    position: absolute; 
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.5); 
    backdrop-filter: blur(3px); 
    z-index: -1; 
}

.booking__container .octobook > .octobooktitle > span {
    font-size: 3rem;
    font-weight: 600;
    margin-bottom: 2rem;
    color: var(--color-black);

    display: none;
}

.booking__container .octobook-date label,
.booking__container .octobookpax label {
    text-align: center;
    font-size: 1.8rem;
    margin-bottom: 1rem;
}

.booking__container .octobook form {
    display: flex;
    flex-wrap: wrap;
    padding-top: 0rem!important;
    width: 100vw;
}

.booking__container .textdate div,
.booking__container .octobookpax.Large > div > select {
    width: 100%;
    text-align: center;
    background-color: var(--color-light-grey);
}

.booking__container .textdate table {
    margin: 0 auto;
    min-height: 4rem;
}

.booking__container .octobook .octobookcategory, 
.booking__container .octobook .octobooknetwork, 
.booking__container .octobook .octobookcheckin, 
.booking__container .octobook .octobookcheckout, 
.booking__container .octobook .octobookpax, 
.booking__container .octobook .octobookchild, 
.booking__container .octobook .octobooksubmit, 
.booking__container .octobook .octobookcategory > label, 
.booking__container .octobook .octobooknetwork > label, 
.booking__container .octobook .octobookcheckin > label, 
.booking__container .octobook .octobookcheckout > label, 
.booking__container .octobook .octobookpax > label, 
.booking__container .octobook .octobookchild > label, 
.booking__container .octobook .octobookcategory > div, 
.booking__container .octobook .octobooknetwork > div, 
.booking__container .octobook .octobookcheckin > div, 
.booking__container .octobook .octobookcheckout > div, 
.booking__container .octobook .octobookpax > div, 
.booking__container .octobook .octobookchild > div, 
.booking__container .octobook .octobooksubmit > div {
    padding: 0.6rem !important;
}


.booking__container .octobooktitle {
    padding: 0px!important;
}



.booking__container .octobookcategory.Large > div > select, 
.booking__container .octobooknetwork.Large > div > select, 
.booking__container .octobookpax.Large > div > select, 
.booking__container .octobookcheckin > .inputdate > div > select, 
.booking__container .octobookcheckout > .inputdate > div > select, 
.booking__container .octobookchild.Large > div > select {
    min-height: 0rem!important;
}

.booking__container .octobookcategory.Large > div > select, 
.booking__container .octobooknetwork.Large > div > select, 
.booking__container .octobookpax.Large > div > select, 
.booking__container .octobookcheckin > .inputdate > div > select, 
.booking__container .octobookcheckout > .inputdate > div > select, 
.booking__container .octobookchild.Large > div > select {
    min-height: 0rem!important;
    font-size: 2rem;
    padding: 0;
}

.booking__container .octobookpax > div > select, 
.booking__container .octobookchild > div > select {
    min-width: 0rem;
}

.booking__container .octobookcategory > div > select, 
.booking__container .octobooknetwork > div > select, 
.booking__container .octobookpax > div > select, 
.booking__container .octobookcheckin > .inputdate > div > select, 
.booking__container .octobookcheckout > .inputdate > div > select, 
.booking__container .octobookchild > div > select {
    height: 4rem!important;
}

.booking__container .octobookthemeROUNDED .octobooksubmit > div > input {
    min-width: 0;
}

.booking__container .octobook .octobooksubmit > label {
    display: block!important;    
}

.booking__container .octobook .octobooksubmit {
    display: flex!important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 12.9rem;
    margin: 0 auto;
}

.booking__container .octobook36876 .octobooksubmit > div > input {
    min-height: 0px;
    height: 3rem;
    background-color: var(--color-soft-black);
    padding: 0;
    width: 12.9rem;
}

.booking__container .octobook-date.octobookcheckin,
.booking__container .octobook-date.octobookcheckout {
    display: flex;
    flex-direction: column;   
    align-items: center;
    margin-bottom: 0rem;       
}

.booking__container .octobook .octobookcheckin > div, 
.booking__container .octobook .octobookcheckout > div, 
.booking__container .octobook .octobookpax > div, 
.booking__container .octobook .octobookchild > div {
    padding: 0!important;
    display: flex;
}

.booking__container .textdate .month,
.booking__container .textdate .year {
    font-weight: 600;
}

.booking__container .octobook table td.day {
    vertical-align: middle;
}

.booking__container form .textdate .day {
    font-size: 2rem;
}


.booking__container form .textdate .weekday {
    font-size: 1.5rem;
}


.booking__container .octobooksubmit input,
.booking__container .octobook .octobooksubmit button,
.booking__container .octobook .octobooksubmit > div > input {
    background-color: #000000 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    border: none !important;
    border-radius: 10px !important; /* Más moderno, estilo cápsula */
    padding: 15px 40px !important;
    transition: all 0.3s ease !important;
}

.booking__container .octobook .octobooksubmit input:hover {
    background-color: #333333 !important;
    transform: translateY(-2px);
}























/* SECTION 3 */

.section__three .nm__container {
    margin: 5rem 10% 3rem 10%;
}

.nm__container .content__text {
    text-align: center;
    margin-bottom: 3rem;
}


.section__three .img__property__home {
    width: 100%;  
    height: 18rem; 
    overflow: hidden;
    
}

.section__three .img__property__home.mtop {
    margin-top: 6rem;
}

.section__three .img__property__home img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 2rem;
    max-height: 15rem;
}


.section__three .property__data .code__3423 {
    margin-top: 1.5rem;
}

.section__three .property__data .code__3423,
.section__three .property__data .code__3423 strong {
    font-size: 1.4rem;
    text-align: right;
    font-style: italic;
}

.section__three .code__2312__description {
    font-weight: 600;
} 






/* Estilos para el contenedor de la propiedad */
.sub__container {
    padding: 20px;
    margin: auto 0rem;
}

/* Estilos para el slider */
.property-slider img {
    width: 100%;
    height: auto;
    border-radius: 10px;
}

/* Estilos para los textos */
.property__data {
    margin-top: 15px;
}

.code__3423 {
    font-size: 18px;
    font-weight: bold;
    color: #333;
}

.code__3423 strong {
    color: #1b3781; /* Color azul para el precio */
}

.code__2312__description {
    font-size: 14px;
    color: #666;
    margin-top: 10px;
    line-height: 1.5;
}

.property__details {
    margin-top: 15px;
    display: flex;
    align-items: center;
}

.property__details svg {
    width: 20px;
    height: 20px;
    fill: #1b3781; /* Color azul para los íconos */
}

.property__details p {
    font-size: 14px;
    color: #333;
    margin: 0;
    margin-left: 10px;
}

/* Estilos para los puntos de navegación del slider */
.slick-dots {
    bottom: 10px;
}

.slick-dots li button:before {
    color: #fff; /* Color blanco para los puntos */
}

.slick-dots li.slick-active button:before {
    color: #1b3781; /* Color azul para el punto activo */
}




/* NEW GRID DE PROPIEDADES */

/* ==========================================================================
   SECCIÓN PROPIEDADES DESTACADAS - REVISIÓN LUXURY
   Basado en clases: .section__three, .nm__container, .property-card, 
   .property-img-wrap, .property-price, .btn-dark
   ========================================================================== */

/* --- 1. CONFIGURACIÓN DE SECCIÓN --- */
.section__three.featured-properties-section {
    background-color: #fcfcfc;
    padding: 60px 0; /* Espaciado móvil */
}

/* --- 2. TARJETA (CARD) --- */
.property-card {
    background: #ffffff;
    border: 1px solid #eeeeee; /* Marco definido como en la referencia */
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 30px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.04);
    transition: all 0.3s ease;
}

/* --- 3. CONTENEDOR DE IMAGEN (FIJAR MARCO) --- */
/* Forzamos el marco para que la imagen NUNCA sobresalga */
.property-img-wrap {
    height: 250px !important; /* Define aquí la altura fija que desees */
    width: 100%;
    position: relative;
    overflow: hidden !important;
    display: block;
}

/* El enlace debe ocupar el 100% para que la imagen sepa cuánto medir */
.property-img-wrap a {
    display: block;
    height: 100%;
    width: 100%;
}

.property-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* Corta la imagen para rellenar el espacio sin deformar */
    display: block;
}

/* --- 4. CUERPO DE LA TARJETA (TEXTOS GRANDES) --- */
.property-card .card-body {
    padding: 25px; /* Más aire interno como Finest Rentals */
}

/* Categoría / Ubicación */
.property-card .card-body p.small {
    font-size: 14px; /* Aumentado para legibilidad */
    color: #888888;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Título de la propiedad */
.property-card .card-title {
    margin-bottom: 15px;
}

.property-card .card-title a {
    font-size: 16px; /* Tamaño "Luxury" para el título */
    color: #1a1a1a;
    font-weight: 600!important;
    line-height: 1.3;
    text-decoration: none;
}

/* Precio (Dorado/Destacado) */
.property-card .text-primary {
    font-size: 18px; 
    color: #d4af37!important;
    margin-bottom: 20px;
    font-weight: 500!important;
}

/* Meta Info (Iconos Camas/Baños) */
.property-card .border-top {
    border-top: 1px solid #f0f0f0;
    padding-top: 20px;
    font-size: 16px; /* Iconos y texto legible */
    color: #555555;
}

.property-card .border-top i {
    color: #d1d1d1;
    margin-right: 5px;
}


.class-f-info-elements {
    font-size: 1.5rem;
    font-weight: 400;
}

.location-custom {
    font-size: 1.5rem;
    color: #4c4c4c;
    margin-bottom: 12px;
    letter-spacing: 1px;
}

/* --- 5. BOTÓN "VER TODAS" (ESTILO PILL) --- */
.section__three .btn-dark,
.section__seven .btn-dark,
.section__eight .btn-dark,
.section__projection .btn-dark {
    background-color: #000000; /* Azul Marino muy oscuro */
    color: #ffffff;
    border: none;
    border-radius: 10px !important; 
    padding: 18px 50px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px;
    display: inline-block;
    transition: background 0.3s ease;
    margin-top: 2rem;
}


.section__seven .btn-dark {
    margin-top: 4rem;
    font-size: 2.5rem;
    letter-spacing: 0.5rem;
}


.section__eight .btn-dark {
    margin: 0 auto;
}



.section__three .btn-dark:hover,
.section__seven .btn-dark:hover,
.section__eight .btn-dark:hover {
    background-color: #ffffff;
    color: #000000;
    border: 1px solid #000000;    
}









/* ==========================================================================
   MEDIA QUERIES (Desktop)
   ========================================================================== */

@media (min-width: 992px) {
    .section__three.featured-properties-section {
        padding: 100px 0; /* Más aire en escritorio */
    }

    .property-img-wrap {
        height: 280px; /* Ajuste para grid de 4 columnas */
    }

    /* Títulos aún más grandes en pantallas grandes si se desea */
    .property-card .card-title a {
        font-size: 18px;
    }
    
    .property-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    }
}






/* =========================================
   SECCIÓN PROYECCIÓN (Gris Suave)
   ========================================= */

/* Estilo para el párrafo de introducción */
.section__projection .projection-intro {
    font-size: 1.8rem;
    line-height: 2.7rem;
    color: #444;
    margin: 0 auto;
}

/* Media Query para pantallas grandes */
@media (min-width: 992px) {
    .section__projection .projection-intro {
        font-size: 1.7rem; /* Escala de texto superior en desktop */
        line-height: 2.2rem;
        max-width: 85%; /* Mantiene la longitud de línea óptima */
    }
}


























/* --- SECCIÓN RESEÑAS LUXURY --- */
.section__reviews {
    background-color: #fff;
}

.review-card {
    background: #fff;
    border-radius: 8px;
    height: 100%;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.platform-logo {
    height: 65px;
    width: auto;
    filter: grayscale(1); /* Obligamos a que sean B&W */
    opacity: 0.7;
}

.review-text {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    font-style: italic;
}

.review-author {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.review-meta span {
    font-size: 1.5rem;
    font-weight: 400;
    margin-top: 0.5rem;
}

/* Ajuste de puntos Slick Slider */
.slick-dots li button:before {
    color: #000 !important;
}
































/* SECTION 6 */
/* SECTION SERVICES-HOME */




.section__services__home {
    background-color: #f1f1f1;
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.section__services__home h2 {
    font-weight: 600;
    margin: 5rem auto;
    text-align: center;
}

.card-container {
    perspective: 1000px;
    display: flex;
    justify-content: center;
    align-items: center;
}


.card-front {
    position: relative;
    width: 100%;
    height: 200px; 
    overflow: hidden;
}


.card {
    position: relative;
    width: 100%;
    height: 25rem;
    transform-style: preserve-3d;
    transition: transform 0.5s ease-in-out;
    border-radius: 20px;
}
.card-container:hover .card {
    transform: rotateY(180deg);
}
.card-front, .card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 10px;
    overflow: hidden;
}
.card-front {
    background: var(--color-white);
    color: var(--color-black);
}
.card-back {
    background: #f8f9fa;
    color: black;
    transform: rotateY(180deg);
}


.card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}



.card-front .card-image {
    width: 100%;
    height: 100%; /* O una altura fija si todas las cards deben tenerla */
    object-fit: cover; /* Para que la imagen cubra sin distorsionarse */
}
.card-back {
    padding: 20px; /* Asegura espacio interno */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center; /* Centra el texto del reverso */
}
.card-back h4 {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 10px; /* Espacio debajo del título del servicio */
    color: var(--main-color);
}

.card-back p {
    font-size: 1.2rem;
    text-align: center;
}





/* SECTION 7 */

.section__seven picture img {
    max-height: 40rem;
}


.section__seven .text__section h2 {
    font-size: 3rem;
}


.section__seven .text__section h2 strong {
    font-size: 3.2rem;
    font-weight: 600;
}



/* ==========================================================================
   SECTION EIGHT - MOBILE FIRST
   ========================================================================== */

/* 1. Estilos Base (Móvil) */
.section__eight {
    padding: 60px 0;
    background-color: #ffffff;
}

.section__eight h2 {
    font-size: 2.2rem;
    line-height: 2.5rem;
}

.section__eight .nm__container {
    margin: 0 3rem;
}



/* Imagen con esquinas redondeadas como la foto */
.section__eight .rounded-4 {
    border-radius: 12px !important;
    width: 100%;
    object-fit: cover;
}

/* Textos */
.section__eight .text-gold {
    color: #f1a82d !important;
    font-size: 13px;
    letter-spacing: 1px;
    text-align: center;
}

.section__eight .main-heading {
    font-size: 22px; /* Tamaño móvil */
    line-height: 1.3;
    color: #1a1a1a;
}

.section__eight p {
    font-size: 1.7rem;
    
}

/* Botón Rectangular Dorado */
.btn-gold-rect {
    background-color: #f1a82d;
    border: none;
    padding: 14px 28px;
    border-radius: 6px; /* Bordes ligeramente suavizados */
    display: inline-block;
    font-size: 14px;
    transition: all 0.3s ease;
    text-decoration: none;
}

.btn-gold-rect:hover {
    background-color: #d9921e;
    color: #fff;
    transform: translateY(-2px);
}


/* 1. MÓVIL (Imagen arriba, texto abajo) */
.section__eight .img-wrapper img {
    width: 100%;
    aspect-ratio: 16 / 9; /* Ratio estándar en móvil */
    object-fit: cover;
    border-radius: 12px;
}

.section__eight .centered-content {
    text-align: center;
    margin-top: 1.5rem;
}

@media (min-width: 768px) {
    .section__eight .img-wrapper img {
        aspect-ratio: 2.5 / 1; /* Más baja y alargada */
    }
}

/* Tus clases de estilo */
.text-gold { color: #f1a82d !important; }
.letter-spacing-2 { letter-spacing: 2px; }
.text-dark-blue { color: #1a1a1a; }

/* 2. ESCRITORIO (Desde 992px - Imagen al lado del texto) */
@media (min-width: 992px) {
    .section__eight h2 {
        text-align: left;
    }

      
    .section__eight .text-gold {    
        text-align: left;
    }

    .section__eight .img-wrapper img {
        /* ESTA ES LA CORRECCIÓN: Ratio muy ancho para que la imagen sea BAJA */
        aspect-ratio: 2 / 1; 
        max-height: 400px; /* Límite de altura para que no crezca más */
    }

    .section__eight .centered-content {
        text-align: left;
        margin-top: 0;
    }

     .section__eight .nm__container {
        margin: 0 6rem;
    }
}


@media (min-width: 1300px) {
    .section__eight .nm__container {
        margin: 0 12rem;
    }

}

@media (min-width: 1600px) {
    .section__eight .nm__container {
        margin: 0 20rem;
    }

}


@media (min-width: 1900px) {
    .section__eight .nm__container {
        margin: 0 35rem;
    }

}

/* 2. Ajustes para Escritorio (Desktop) */
/* @media (min-width: 992px) {
    .section__eight {
        padding: 100px 0; 
    }

    .section__eight .main-heading {
        font-size: 34px; 
    }

    
    .section__eight-content {
        padding-left: 30px;
    }

    .section__eight .rounded-4 {
        border-radius: 20px !important; 
    }

   
} */





/* SECTION PROFESSIONAL MAINTENANCE HOME */

.professional__maintenance__team {
    background-color: var(--color-white);
    padding-top: 5rem;
    padding-bottom: 5rem;
}



.professional__maintenance__team h2 {
    font-weight: 600;
    margin: 5rem auto;
    text-align: center;
}



.maintenance-check svg {
    width: 10%;
}

.maintenance-check ul li {
    
   display: flex;
    /* align-items: center; */

}


.custom-list li {
    display: flex;
    align-items: flex-start; 
}

.custom-list svg {
    flex-shrink: 0; /* Evita que el icono se comprima */
    margin-right: 0.8rem; /* Ajusta el margen según sea necesario */
    margin-top: 0.4rem;
}









/* SECTION 4 */

/* .section__four {
    background-color: #f1f1f1;
    padding-top: 5rem;
    padding-bottom: 5rem;
}


.code29938 img {
    border-radius: 2rem;
} */


/* --- Estilos Mobile-First (sin cambios de tu estructura original) --- */
.section__four {
    padding-top: 4rem;
    padding-bottom: 4rem;
    overflow: hidden; /* Ayuda a contener elementos y previene colapso de márgenes */
    background-color: var(--color-light-grey);
}

.section__four .text-content-block { /* En móvil, el texto va primero */
    margin-bottom: 30px;
}

.section__four .text-inner-content {
    background-color: #fff;
    padding: 20px;
    border-radius: 5px;
}

.section__four .section-four-image {
    display: block;
    width: 100%;
    height: auto;
    max-height: 35rem;
    object-position: center bottom;
}










/* SECTION 5 */


.section__five {
    background-color: var(--color-white);   
}


.section__five h2 {
    font-weight: 400;
    margin: 1rem auto 5rem auto;
    text-align: center;
    font-family: var(--tipo-encabezado);
}


.section__five .nm__container {
   margin: 0;
}

.section__five .text__container {
    padding: 5rem 1rem;
}



.section__five .col-w-n-px {
    padding: 0;
}


.section__five .img__stn img {
    height: 100%;
    min-height: 40rem;
}


.section__five .img__stn .image-container img {
    object-position: right bottom;
}




/* SECTION SEVEN */
.section__seven .veil {
    background-color: rgba(0, 0, 0, 0.5); /* El 0.5 es la intensidad (50%). Súbelo a 0.7 si lo quieres más oscuro */
}

/* Aseguramos que la imagen ocupe todo el fondo correctamente */
.section__seven .image-fit {
    width: 100%;
    height: 100%;
    min-height: 400px; /* Ajusta la altura mínima que desees para este banner */
    object-fit: cover;
    display: block;
}







/* PAGES */

.pg__title {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 600;
}



 .single-container .property-explanation ul {
        padding-left: 0!important;
    }

     
/* APPARTMENTS */
/* 
.heading {
    margin-top: 15rem;
} */

    /* Cards */


    /* .grid-format {
        margin-top: 4rem;
        display: grid;
        gap: 2rem;
        margin-bottom: 4rem;
        color: white;
        padding: 0;
    }

    .propertie-card {       
        position: relative;
        
        height: 100%;
        overflow: hidden;
    }

    .propertie-card:before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background-image: linear-gradient(to bottom, transparent 0, rgb(31 38 55 / 0.8));
        z-index: 1;
    }

    .propertie-card:hover img {
        transform: scale(1.1);
    }

    .propertie-card img {
        display: block;
        position: relative;
        z-index: 0;
        object-fit: cover;
        transition: transform 300ms ease;
        height: 100%;
        margin: 0 auto;
    }

    .propertie-card .propertie_content {
        position: absolute;
        bottom: 0;
        left: 0;
        padding: 0.5rem 1rem;
        width: 100%;
        min-height: 2rem;
        z-index: 2;
    }

    .propertie-card .propertie_content h3 {
        font-family: var(--tipo-parrafo);
        font-size: 2rem;
        font-weight: 400;
        color: var(--color-white);
        text-align: center;
        margin: 0 0 1.5rem 0;

    }

    .propertie-card .propertie_content .col-left p,
    .propertie-card .propertie_content .col-right p {
        text-align: center;
    }

    .propertie-card .propertie_content p,
    .propertie-card .propertie_content span {
        font-family: var(--tipo-parrafo);
        font-size: 1.4rem;
        font-weight: 300;
        color: var(--color-white);
    }


    .propertie-card .propertie_content .details .content-detail {
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: center;
    } */



    /* PAGINATION */

    /* .pagination-top,
    .pagination-bottom {
        display: flex;
        justify-content: center;
        padding-left: 0;
        list-style: none;
    }
    
    .pagination-top {
        position: relative;
        top: 0;
        margin: 0 auto;
    }


    .page-numbers {
        font-family: var(--tipo-parrafo);
        font-size: 1.2rem;
        font-weight: 400;
        border: solid 1px lightgray;
        padding: 0.5rem 1rem;
        margin: 0.2rem;
        min-width: 3rem;
        text-align: center;
    } */





    /* Estilos generales */
/* .main-properties-section {
    padding: 2rem;
}

.grid-format {
    display: grid;
    
    gap: 2rem;
}

.grid-format {
    padding-left: 0rem;
}


.featured-properties-item {
    background: white;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.featured-properties-slider {
    position: relative;
    width: 100%;
    height: 100%;
}

.swiper-wrapper {
    display: flex;
    transition-timing-function: linear;
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
}

.featured-properties-navigation {
    pointer-events: none;
}

.featured-properties-navigation button {
    pointer-events: all;
    background: rgba(255, 255, 255, 0.8);
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
}

.featured-properties-navigation button:hover {
    background: rgba(255, 255, 255, 1);
}

.mva-amenities {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
}

.mva-amenities div {
    display: flex;
    align-items: center;
}

.pagination-top, .pagination-bottom {
    display: flex;
    justify-content: center;
    margin: 2rem 0;
}

.pagination-top a, .pagination-bottom a {
    margin: 0 0.5rem;
    padding: 0.5rem 1rem;
    background: #f3f4f6;
    border-radius: 0.5rem;
    text-decoration: none;
    color: #374151;
    transition: background 0.3s ease;
}

.pagination-top a:hover, .pagination-bottom a:hover {
    background: #e5e7eb;
} */


/* Estilos para las tarjetas de propiedades */
/* .propertie-card {
    background: white;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 32rem;
}

.propertie-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.propertie-card img {
    height: 15rem;
    width: 100%;
}

.propertie_content {
    padding: 1rem;
}

.propertie_content h3 {
    font-size: 1.8rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 2rem;
    text-align: center;
}

.price-tag-format {
    font-size: 1.125rem;
    font-weight: bold;
    color: #1e40af; 
}

.details {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
}

.content-detail {
    font-size: 0.875rem;
    color: var(--color-black-soft);
    display: flex;
    justify-content: center;
    
}

.content-detail span {
    font-weight: bold;
    color: #333;
    padding-right: 0.7rem;
}

.content-detail span.normal__weight {
    font-weight: normal;
}


.details.price .content-detail {
    justify-content: flex-start;
    
} */
















    
    /*       APPARTMENTS     */
    /************************/

    .heading {
        margin-top: 15rem;
    }

    .main-properties-section {
        background-color: var(--color-white);
        padding: 2rem;
    }



/* -- Contenedor de la cuadrícula -- */
.grid-format {
    display: grid;
    gap: 2rem;
    padding-left: 0rem;
}

/* -- Estilos generales de la tarjeta (propertie-card) -- */
.propertie-card {
    position: relative; /* ¡CRÍTICO! Establece el contexto de posicionamiento para los elementos absolutos hijos */
    height: 40rem; /* Mantiene la altura fija de la tarjeta */
    /* background: white; */ /* Ya no es necesario un fondo blanco principal */
    border-radius: 1rem;
    overflow: hidden; /* Asegura que la imagen y el contenido se recorten con los bordes redondeados */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    /* No es necesario display: flex aquí, ya que la imagen y el contenido serán absolutos */
}

.propertie-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

/* -- Estilos de la imagen dentro de la tarjeta -- */
.propertie-card img {
    position: absolute; /* La imagen debe ser absoluta para que ocupe todo el espacio */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; /* ¡CRÍTICO! La imagen ocupa todo el alto de la tarjeta */
    object-fit: cover; /* Asegura que la imagen cubra el espacio sin distorsionarse, recortando si es necesario */
    border-radius: 1rem; /* Aplica el mismo radio de borde que la tarjeta */
    z-index: 1; /* Asegura que la imagen esté debajo del contenido si el contenido también es absoluto */
}

/* -- Estilos del contenido de la propiedad (propertie_content) -- */
.propertie_content {
    position: absolute; /* ¡CRÍTICO! Superpone este div sobre la imagen */
    bottom: 0;          /* Alinea el contenido a la parte inferior de la tarjeta */
    left: 0;            /* Lo alinea a la izquierda */
    width: 100%;        /* Ocupa todo el ancho de la tarjeta */
    height: auto;       /* ¡CRÍTICO! La altura se ajustará al contenido, no ocupará el 100% */
    background-color: #1c313ae5; 
    padding: 1rem;      /* Mantiene el padding existente */
    box-sizing: border-box; /* Incluye el padding en el cálculo del ancho/alto */
    z-index: 2;         /* Asegura que el contenido esté *encima* de la imagen */
    color: white;       /* Color del texto por defecto para que sea legible sobre el fondo oscuro */

    /* Ya no necesitamos display: flex con flex-end aquí,
       porque el propio div propertie_content es el que está en la parte inferior,
       y su contenido fluirá normalmente dentro de él. */
}

/* -- Ajustes de colores y disposición para el texto dentro de propertie_content -- */
.propertie_content h3 {
    font-size: 1.8rem;
    font-weight: 400;
    color: white; /* ¡CAMBIADO! Asegura que el título sea blanco */
    margin-top: 0; /* Elimina cualquier margen superior por defecto */
    margin-bottom: 0.5rem; /* Un poco de margen inferior para separar del resto */
    text-align: left;
}

.propertie_content .price-tag-format {
    font-size: 1.6rem;
    font-weight: 400;
    color: white; /* ¡CAMBIADO! Color del precio */
    /* Puedes usar un color que destaque si prefieres, ej: #FFD700 (dorado) */
}

.propertie_content .details {
    margin-top: 1rem;
    display: flex; /* Para las columnas */
    flex-direction: row; /* Asegura que los detalles estén en fila */
    flex-wrap: wrap; /* Permite que las columnas se envuelvan en pantallas pequeñas */
    justify-content: space-between; /* Distribuye el espacio entre los detalles */
    margin-left: -0.5rem; /* Compensa el padding de las columnas */
    margin-right: -0.5rem;   
}

.propertie_content .content-detail {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    font-size: 0.875rem;
    color: white; /* ¡CAMBIADO! Color del texto de detalles */
    padding-left: 0.5rem; /* Añade un pequeño espaciado entre columnas */
    padding-right: 0.5rem;
    text-align: left; /* Centra el texto dentro de cada detalle */

    /* Estas reglas son para que tus clases col-3, col-6, col-12 funcionen dentro del overlay.
       Si ya tienes un sistema de grid que las define globalmente y funciona, puedes ignorarlas. */
    /* flex: 0 0 calc(25% - 1rem); Para .col-3: 25% de ancho menos el padding */
    /* max-width: calc(25% - 1rem); Para .col-3 */
}

/* Asegurando que tus clases col-X funcionen dentro del overlay */
.propertie_content .col-12 {
    flex: 0 0 100%;
    max-width: 100%;
}

.propertie_content .col-8 {
    padding: 0;
}




.propertie_content .col-6 {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0;
}
.propertie_content .col-3 {
    flex: 0 0 25%;
    max-width: 30%;  
    padding: 0;  
    justify-content: center;
}

.propertie_content .col-3.first__column {
    flex: 0 0 20%;
    justify-content: flex-start;
}

.propertie_content .col-3.second__column {
    flex: 0 0 30%;
}

.propertie_content .col-3.fourth__column {
    justify-content: flex-end;
}

.propertie_content .content-detail span {
    font-weight: 400;
    color: white; /* ¡CAMBIADO! Color del texto de las etiquetas */
    padding-right: 0.2rem; /* Ajustado para mejor alineación */
    font-style: italic;
}

.propertie_content .content-detail p {
    color: white; /* Asegura que los valores numéricos también sean blancos */
}

.propertie_content .content-detail span.normal__weight {
    font-weight: normal;
}

.propertie_content .details.price .content-detail {
    justify-content: flex-start; /* Alinea el precio a la izquierda */
    color: white;
    width: 100%; /* Asegura que ocupe todo el ancho para la alineación */
    font-size: 1.2em; /* Haz el precio un poco más grande */
    font-weight: bold; /* Y en negrita */
}
.propertie_content .details.price p {
    color: white; /* Asegura que el número y el símbolo € también sean blancos */
    display: inline-block; /* Para que "€" aparezca al lado del número */
    margin-left: 5px; /* Espacio entre el número y el euro */
}
.propertie_content .details.price span {
    font-weight: normal; /* "Desde" puede ser normal */
    font-size: 0.8em; /* "Desde" un poco más pequeño */
    color: white;
    margin-right: 5px;
}


/* -- Otros estilos existentes (sin cambios) -- */
.featured-properties-item {
    background: white;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.featured-properties-slider {
    position: relative;
    width: 100%;
    height: 100%;
}

.swiper-wrapper {
    display: flex;
    transition-timing-function: linear;
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
}

.featured-properties-navigation {
    pointer-events: none;
}

.featured-properties-navigation button {
    pointer-events: all;
    background: rgba(255, 255, 255, 0.8);
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
}

.featured-properties-navigation button:hover {
    background: rgba(255, 255, 255, 1);
}

.mva-amenities {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
}

.mva-amenities div {
    display: flex;
    align-items: center;
}

.pagination-top, .pagination-bottom {
    display: flex;
    justify-content: center;
    margin: 2rem 0;
}

.pagination-top a, .pagination-bottom a {
    margin: 0 0.5rem;
    padding: 0.5rem 1rem;
    background: #f3f4f6;
    border-radius: 0.5rem;
    text-decoration: none;
    color: #374151;
    transition: background 0.3s ease;
}

.pagination-top a:hover, .pagination-bottom a:hover {
    background: #e5e7eb;
}







/*
==============================================
PAGINACIÓN - ESTILOS MOBILE-FIRST
==============================================
*/

/* 1. Contenedor principal de la paginación */
.pagination {
  display: flex; /* Usamos flexbox para alinear los elementos */
  justify-content: center; /* Centramos los números de página */
  align-items: center;
  list-style: none; /* Quitamos los estilos de lista por defecto */
  padding: 1.5rem 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

/* 2. Estilos para todos los enlaces de paginación (a) y el número actual (span) */
.pagination .page-numbers {
  margin: 0 4px; /* Espacio entre los botones */
  padding: 10px 15px;
  border: 1px solid #ddd;
  border-radius: 8px; /* Bordes redondeados */
  color: #333;
  text-decoration: none;
  font-size: 1rem;
  transition: background-color 0.3s, color 0.3s; /* Transición suave */
  font-weight: 600;
}

/* 3. Estilo para el número de la página actual */
.pagination .page-numbers.current {
  background-color: #0073aa; /* Color primario de WordPress o el que prefieras */
  color: #fff;
  border-color: #0073aa;
}

/* 4. Estilo al pasar el cursor sobre los enlaces (excepto el actual) */
.pagination a.page-numbers:hover {
  background-color: #f0f0f0;
  color: #0073aa;
}

/* 5. Estilos para los botones "Siguiente" y "Anterior" */
.pagination .next,
.pagination .prev {
  font-weight: bold;
}

/*
==============================================
ESTILOS PARA TABLETS Y ESCRITORIOS
==============================================
*/
@media (min-width: 768px) {
  .pagination .page-numbers {
    padding: 12px 18px; /* Hacemos los botones un poco más grandes */
    margin: 0 6px; /* Aumentamos la separación */
    font-size: 1.1rem;
  }

  /* Efecto de elevación al pasar el cursor en pantallas grandes */
  .pagination a.page-numbers:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  }
}



























































































    /*    SINGLE APPARTMENT   */
    /************************/


    .single-properties,
    .single-properties_long_term {
        background-color: var(--color-white);
    }



    .row-img-gallery,
    .nmh-slider {
        display: flex;
        flex-direction: row;
        align-items: center;
           
    }

    .nmh-slider {
        margin: 0 auto;
    }

    .row-img-gallery{
        position: relative;
    }


    .row-img-gallery .nmh-slider {
        padding: 2px;
        width: 30rem;
        height: 9rem;
        overflow: hidden;
        scroll-behavior: smooth;
    }


    .row-img-gallery .nmh-slider a {
        width: 10rem;
        height: 7rem;
    }



    .row-img-gallery .nmh-slider img {        
        width: 30rem;
        height: 100%;
        position: relative;
        z-index: 1;
    }

    
    .row-img-gallery .nmh-slider div {
        margin: 0.3rem;       
    }


    .row-img-gallery .control {
        position: absolute;
        width: 3rem;
        height: 3rem;
        border-radius: 50%;
        background: var(--main-color);
        cursor: pointer;
        object-fit: cover;
        padding: 1rem;
        z-index: 2;
    }

    .row-img-gallery .prev {
        left: 0;
        top: 50%;
        transform: translate(-10%, -50%);
    }

    
    .row-img-gallery .next {
        right: 0;
        top: 50%;
        transform: translate(10%, -50%);
    }



    .single-container {
        /* margin: 1.5rem; */
    }


    .single-container .apartment__header {
        background-color: var(--color-soft-black);
        color: var(--color-white);
        padding: 2rem 0.5rem;
        
    }

   .single-container .apartment__header .material-symbols-outlined {
    font-weight: lighter;
   }

.single-container .section-overview h2 {
    margin-bottom: 2rem;
    padding: 0.5rem 1rem;
    background-color: #ebecee;
}

    .single-container .section-overview h2 strong {
        font-size: 2.5rem;
    }


    .single-container .section-overview .overview-list small,
    .single-container .section-overview .overview-list span {
        font-size: 1.5rem;
    }


    .single-container .section-overview .overview-list small {
        padding-right: 0.5rem;
        font-weight: 600;
    }

    .single-container .section-overview .overview-list span {
        font-weight: 500;
    }


.single-container .section-overview .features-list li {
    font-size: 1.5rem;
}


     .property-explanation {
        padding: 0 4rem;
        margin: 3rem 0 1.8rem 0;
     }


    .single-container h1,    
    .single-container h2,
    .single-container h3 {
        font-weight: 500;
    }

    .single-container p,
    .single-container ul li,
    .single-container em,
    .single-container span {
        font-size: 1.4rem;
        line-height: 2rem;
        font-weight: 300;
    }


    .single-container h1 {
        font-size: 3rem;
        line-height: 4.5rem;
        font-weight: 500;
        text-align: center;
    }


    .single-container .price-tag-format_sp {
        font-size: 1.5rem;
        font-weight: 500;
        text-align: center;
        margin: 2rem auto;
        
    }

    .single-container .col-12.content-detail {        
        margin: 0 auto;
        text-align: center;
        align-items: center;        
        margin: 0rem auto 0rem auto;
    }

    

    .single-container .col-12.content-detail span {
        font-size: 1.5rem;
        font-weight: 600;
    }

    .single-container .col-12.content-detail p,
    .single-container .col-12.content-detail p span {
        font-size: 1.8rem;
        margin-top: 1rem;
        margin-bottom: 0;
        font-weight: 400;
        text-align: center;
    }

    .referencies {
        justify-content: space-around;
        align-items: center;
        text-align: center;
        margin: 2rem auto 0 auto !important;
    }

    .referencies .ref-col {
        text-align: center;
    }


    .referencies .ref-col p {
       display: flex;
       flex-direction: column;
       justify-content: center;
       align-items: center;
       font-size: 1.2rem;
       font-weight: 400;
    }


    .referencies .ref-col .material-symbols-outlined {
        margin-right: 0.2rem;
    }

    .referencies .ref-col .mq,
    .referencies .ref-col sup {
        font-weight: 500;
    }

    
    .form-container {
        margin: 5rem 2rem;
    }

    h3 {
        font-size: 2rem;
        font-weight: 600;
    }

    .contact__noctua__body h3 {
        text-align: center;
    }
    
    .single-properties .link,
    .single-properties_long_term .link {       
        margin: 0 auto;
    }

    .single-properties .link button,
    .single-properties_long_term .link button {
        font-size: 1.4rem;
        line-height: 2rem;
        color: var(--color-white);
        background-color: var(--primary-color);
        border: solid 0.1rem var(--secundary-color);
        height: 3.5rem;
        width: 25rem;
        padding: 0.1rem 1rem;
        cursor: pointer;
        margin: 3.5rem auto;
    }


    .single-properties .link button:hover,
    .single-properties_long_term .link button:hover {
        color: var(--primary-black);
        background-color: var(--secundary-color);
    }



    .map__container {
        margin: 5rem auto;
        padding: 0 0rem;
    }




    .map__container iframe {
        width: 100%;
    }





    .nm__button {
        position: relative;
        background: var(--color-soft-black);
        color: var(--color-white);
        padding: 15px 25px;
        border: solid 0.1rem var(--color-black);
        border-radius: 30px;
        font-family: var(--tipo-parrafo);
        font-size: 1.6rem;
        line-height: 2rem;
        font-weight: 400;
        margin: 0 auto;
        text-decoration: none;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 1);
        transition: all 0.3s ease;
    }

    .nm__button.fixed {
        position: fixed;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1000;
    }





    
#responsive-form label {
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    font-family: var(--tipo-encabezado);
    font-size: 1.5rem;
    line-height: 2rem;
    font-style: italic;
    color: var(--quaternary-color);
    text-align: left;

}


#responsive-form input,
#responsive-form select,
#responsive-form textarea {
    font-family: var(--tipo-parrafo);
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2rem;
    color: var(--color-black);
    text-align: left;
    background-color: transparent;
    border: none; /* borro estilos heredados de bootstrap */
    border-bottom: solid 1px var(--color-black);
    border-radius: 0;
    height: 2.2rem;
}

#responsive-form textarea,
#responsive-form .btn {
    height: 100%;
}


#responsive-form select:active, 
#responsive-form select:hover {
    outline: none;
  }


  
#responsive-form select:active, 
#responsive-form select:hover {
    outline-color: red;
}


#responsive-form textarea {
    border: solid 1px var(--color-black);
}

#responsive-form select option {
   font-weight: 600;
}


#responsive-form .fe-acceptance-rgpd.fe-subscribe {
    display: inline-flex;
    margin-top: 2.5rem;
}


#responsive-form .fe-acceptance-rgpd.fe-subscribe p {
    text-align: left;
    margin-left: 0.5rem;
    font-weight: 600;
    font-size: 1rem;
}



#responsive-form .fe-acceptance-rgpd.fe-subscribe a {
    font-weight: 600;
}


#responsive-form .fe-acceptance-rgpd.fe-subscribe input {
    height: 1rem;
    margin-top: 0.2rem;
}



#responsive-form .fe-first-layer {
    padding: 0.7rem;
    border: 1px solid var(--quaternary-color);
}



#responsive-form .fe-first-layer p,
#responsive-form .fe-first-layer strong {
    font-size: 0.7rem;
    line-height: 1rem;
    text-align: left;    
    font-weight: 600; 
    margin-bottom: 0;   
}



#responsive-form .btn-enviar-datos {
    margin: 3rem auto 6rem auto;
    width: 10rem;
    text-align: center;
    background-color: var(--color-black);
    color: var(--color-white);
    border-bottom: none;
    -webkit-box-shadow: 0.4rem 0.4rem 1rem 0rem rgba(0,0,0,0.75);
    -moz-box-shadow: 0.4rem 0.4rem 1rem 0rem rgba(0,0,0,0.75);
    box-shadow: 0.4rem 0.4rem 1rem 0rem rgba(0,0,0,0.75);
}


   .form-control {
    -webkit-box-shadow: none!important;
    -moz-box-shadow: none!important;
    box-shadow: none!important;
   }









   
/* **************************************** */
/*                 OWNERS                   */
/* **************************************** */





    /* Contenedor principal */
    .hero {
        background-image: url('./assets/images/owner02.jpg'); /* Imagen de fondo */
        background-size: cover;
        background-position: center;
        height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        color: white;
    }

    /* Contenido del héroe */
    .hero-content {
        background-color: rgba(0, 0, 0, 0.6); /* Fondo semitransparente */
        padding: 40px;
        border-radius: 10px;
    }

    .hero h1 {
        font-size: 3rem;
        margin-bottom: 20px;
    }

    .hero p {
        font-size: 1.2rem;
        margin-bottom: 30px;
    }

    /* Botón de llamado a la acción */
    .cta-button {
        background-color: var(--color-soft-black);
        color: white;
        padding: 15px 30px;
        font-size: 1.8rem;
        font-weight: 500;
        text-decoration: none;
        border-radius: 5px;
        transition: background-color 0.3s ease;
    }

    .cta-button:hover {
        background-color: #fff;
        color: var(--color-soft-black)
    }





   
/* **************************************** */
/*             SOBRE NOSOTROS               */
/* **************************************** */

.section-dark {
    background-color: #2c2c2c; /* Color oscuro similar al de la home */
    color: #ffffff;
    padding: 80px 0;
}

.section-dark-carbon-grey {
    background-color: #343a40;
    color: #ffffff;
    padding: 80px 0;
}

.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4 {
    color: #ffffff;
}

.section-light {
    background-color: #ffffff;
    padding: 80px 0;
}

/* Estilo para listas con ícono de check (similar a la home) */
.list-styled-check {
    list-style: none;
    padding-left: 0;
}

.list-styled-check li {
    padding-left: 2em;
    text-indent: -2em;
    margin-bottom: 0.8rem;
    /* font-size: 1.1rem; Aumenta ligeramente el tamaño de fuente para mejor legibilidad */
}

.list-styled-check li::before {
    font-family: 'bootstrap-icons';
    content: "\f26a"; /* Código unicode del ícono de check en Bootstrap Icons */
    color: #4CAF50; /* Un color verde para el check */
    font-weight: bold;
    margin-right: 0.8em;
}

/* Ajustes para los enlaces de "Otros Servicios" en fondo oscuro */
.section-dark .list-group-item {
    background-color: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.2);
}

.section-dark .list-group-item:hover {
    background-color: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}


i.bi {
    font-size: 2rem;
    margin-right: 1rem!important;
}


   
/* **************************************** */
/*                CONTACT                  */
/* **************************************** */


.contact__hebe__hero .w-img {
    background-image: url('./assets/images/decorated-interior-empty-home.jpg');
    position: relative;    
    height: 33rem;
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    z-index: -1;
}


.contact__hebe__hero .w-img:before {
    opacity: 0.2;
}


.contact__hebe__hero {
    text-align: center;
}


.contact__hebe__hero h1 {
    position: relative;
    padding-top: 14rem;
    /* padding-bottom: 10rem; */
    font-family: var(--tipo-encabezado);
    font-size: 3rem;
    font-style: italic;
    color: var(--color-white);
}


.contact__hebe__body {
    width: 100vw;
}

.contact__hebe__body .nm-container {    
    width: 90%;
    margin: 0 auto;
}

.contact__hebe__body .content-contact {
    background-color: var(--color-white);
    margin-top: -40%!important;
    margin-bottom: 2rem!important;
    padding-bottom: 2rem;
    z-index: 99999;
}


.contact__hebe__body .content-contact .subtitle h3 {
    font-family: var(--tipo-encabezado);
    padding: 2rem 0;
    font-size: 3rem;
    color: var(--color-black-soft);
    text-align: center;
}

.contact__hebe__body .content-contact .subtitle.plus__padding h3 {
    padding-top: 6rem;
    padding-bottom: 1rem;
}



.contact__hebe__body .content-contact .contact-data .col-10.col-md-9 {
    display: flex;
    flex-direction: column;
    justify-content: center;
}



.contact__hebe__body .content-contact .contact-data.first__row {
    margin-top: 3rem!important;
}

.contact__hebe__body .content-contact .contact-data.other__row {
    margin-top: 1.5rem!important;
}


.contact__hebe__body .content-contact .contact-data p {
    font-size: 1.5rem;
    line-height: 1.8rem;
    font-weight: 400;
    margin-bottom: 0;
    color: var(--color-black);
}

.contact__hebe__body .content-contact .img-container img {
    margin: 0 auto;
}



.form-control:focus {
    box-shadow: none;
}

.form-control {
    border: none;
    border: 0.15rem solid var(--color-grey);
    background-color: transparent;
    margin-bottom: 3rem;
    border-radius: 0px;
}

.form-control::placeholder {
    color: grey;
    font-size: 1.2rem;
    padding: 1rem;
}

.contact__hebe__body .content-contact #responsive-form label {
    margin-top: 2.5rem;
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 1rem;
    font-family: var(--tipo-parrafo);
    line-height: 2.5rem;
    font-style: italic;
    color: var(--color-black-soft);
    text-align: left;    
}



.contact__hebe__body .content-contact #responsive-form input {
    font-size: 1.6rem;
    line-height: 2rem;
    padding: 1rem;
    
} 


.contact__hebe__body .content-contact #responsive-form input.btn {
    margin-top: 2rem;
    background-color: var(--primary-color);
    color: var(--color-black);
}


.contact__hebe__body .content-contact #responsive-form input.btn:hover {
    background-color: var(--quaternary-color);
    color: var(--color-white);
} 


.contact__hebe__body .content-contact #responsive-form .fe-acceptance-rgpd {
    display: flex;
    margin: 0.8rem 0 0.1rem 0;
}




.contact__hebe__body .content-contact #responsive-form .fe-acceptance-rgpd input {
    height: 1.1rem;
}




.contact__hebe__body .content-contact #responsive-form .fe-acceptance-rgpd p,
.contact__hebe__body .content-contact #responsive-form .fe-acceptance-rgpd a {
    font-size: 1rem;
    line-height: 1.2rem;
}

.contact__hebe__body .content-contact #responsive-form .fe-acceptance-rgpd a {
    font-weight: 600;
}

.contact__hebe__body .content-contact #responsive-form .fe-acceptance-rgpd p {
    margin-left: 0.8rem;
}




.contact__hebe__body .content-contact #responsive-form .fe-first-layer {
    border: solid 0.1rem var(--color-black);
    padding: 1rem;
}

.contact__hebe__body .content-contact #responsive-form .fe-first-layer p,
.contact__hebe__body .content-contact #responsive-form .fe-first-layer strong,
.contact__hebe__body .content-contact #responsive-form .fe-first-layer a {
    font-size: 1rem;
    line-height: 1.4rem;
}



.contact__hebe__body .content-contact #responsive-form .fe-first-layer p {
    margin-bottom: 0;
}




  
/* **************************************** */
/*          GRACIAS POR CONTACTAR           */
/* **************************************** */



.thank-text {
    margin-top: 15rem;
    
}


.thank-text h3 {
    margin: 0 auto;
    text-align: center;
    color: var(--color-white);
    font-size: 2rem;
}


.thank-text-2 {
    margin-top: 2rem;
    margin-bottom: 4rem;
}

.thank-text-2 h4 {    
    margin: 0 auto;
    text-align: center;
    color: var(--color-white);
    font-size: 1.5rem;
}





  
/* **************************************** */
/*          PÁGINA DE TEXTOS LEGALES        */
/* **************************************** */

.p__legales h1 {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 600;
}

.p__legales h2 {
    text-align: left;
    font-size: 2rem;
    font-weight: 600;
    margin-top: 3rem;
    margin-bottom: 1rem;
}


.p__legales ul {
    padding-left: 2rem;    
}

.p__legales ul li {
    font-size: 1.5rem;
    line-height: 2rem;
    margin-bottom: 0.5rem;
    list-style: disc;
    margin-left: 2rem;
}

.p__legales a {
    font-size: 1.5rem;
    font-weight: 600;
}






/* FOOTER */



.container-chat {    
    position: fixed;
    bottom:8rem;
    right: 2rem;
    z-index: 1000020;    
}

/* .book-link {
    position: fixed;
    margin: 0 auto;
    z-index: 1000020;  
} */

.container-chat a {
    display: flex;
    justify-content: end;
}


footer {
    background:var(--color-black);
    padding: 2rem 0.5rem;
}


footer {
    background-image: linear-gradient(to top, var(--color-black), var(--color-white));
}
/* 
footer.ch__color {
    background-image: linear-gradient(to top, rgba(141, 118, 94, 0.274),rgb(255, 255, 255));
} */


footer .row {
    width: auto!important; /* No quitar. Debo forzar el width auto debido a que en el RESET he indicado el ancho como ancho de pantalla para evitar desbordamiento */
}

footer .nm-container {
    margin: 0 3rem;
    text-align: center;
}

footer .logo-symbol {
    width: 20rem;
    margin: 0 auto;
}

footer .nm-container h2 {   
    font-family: var(--tipo-encabezado);
    font-size: 2.5rem;
    text-align: center;
    color: var(--color-black);
    margin: 0 0 3rem 0;
}


footer h4 {
    font-size: 2rem;
    letter-spacing: 0.3rem;
    font-weight: 400;
    color: var(--color-white);
    margin: 0 auto; /* Para que centre los textos */
    padding-bottom: 1rem;
    width: max-content; /* Hago que el ancho de la etiqueta sea igual al contenido de la misma */ 
}

footer.ch__color h4 {
    color: var(--tertiary-color);
    font-weight: 600;
}



footer h4::after {
    content: '';
    border-bottom: 1px solid var(--color-white);
    /* width: 70%; */
    display: block;
    margin: 0 auto;
    padding-top: 0.3rem;
}

footer.ch__color h4::after {
    border-bottom: 1px solid var(--tertiary-color);
}


footer ul {
    padding: 0;
}

footer ul li a {
    font-size: 1.5rem;
    line-height: 2.5rem;
    color: var(--color-white);
}

footer.ch__color ul li a {
    color: var(--tertiary-color);
    font-weight: 600;
}


footer a:hover {
    color: var(--color-white);
    font-weight: 600;
}



footer .row .col-md-6:nth-child(1) .menu-title {
    margin-top: 2rem;
}


footer .row .col-md-6:nth-child(2) .menu-title {
    margin-top: 4rem;
}


footer .nm-container .w-border {
    padding: 2rem 0;
    border-top: solid 1px var(--color-white);
  
}

footer .nm-container p,
footer .nm-container span,
footer .nm-container .legal__area a {
    font-size: 1.5rem;
    line-height: 2.5rem;
    color: var(--color-white);
    margin: 0;

}

footer .nm-container .sm p, footer .nm-container .sm span {
    font-size: 1rem;
    line-height: 2.5rem;
    color: var(--color-white);
    margin: 0;
}



footer.ch__color .nm-container p {
    color: var(--tertiary-color);
    font-weight: 600;
}


footer .buttons {
    display: flex;
    justify-content: center;
}
footer .buttons img {
    height: 3rem;
    width: auto;
    
}

footer h5 {
    color: var(--color-white);
    font-size: 1.5rem;
    font-weight: 400;
}

footer .buttons a {
    padding: 0.5rem 2rem;
    margin: 1rem;
}



footer .top__bottom__footer .kit-digital-div img {
    margin: 3rem auto;
    height: 4rem;
}


img.kit-digital-logo {
    margin: 3rem auto;
    height: 4rem;
}



/*******************************************************
 *                         360 px
 *******************************************************/ 
 @media only screen and (min-width: 22.5em) {      
    

    
    /* GLOBAL */
    
    .nm__container {
        margin: 0 3rem;
    }
        

    /* SECTION 2 */

    .octobookpax.Large > div > select,
    .octobook .octobooksubmit {
        width: 17rem;
    }


/* SECTION 3 */

.section__three .img__property__home img {
    max-height: 16rem;
}



    /************************/
    /*       PROPERTIES     */
    /************************/



    .main-properties-section {
        padding: 2rem 1rem;
    }





    
    /*    SINGLE APPARTMENT   */
    /************************/

    .row-img-gallery .nmh-slider {
        width: 32rem;
    }




/* **************************************** */
/*                CONTACTO                  */
/* **************************************** */


.contact__hebe__hero .w-img {      
    height: 37rem;    
}


.contact__hebe__hero h1 {   
    font-size: 4.7rem;   
    padding-top: 15rem; 

}



    

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


    .container-chat {        
        bottom:4rem;
        right: 2rem;         
    }


    .container-chat img {           
        width: 4rem;
        height: auto;       
    }

    footer .nm-container .sm p, footer .nm-container .sm span {
        font-size: 1.2rem;
        text-align: center;
    }








}

/*******************************************************
 *                         480 px
 *******************************************************/   
 @media only screen and (min-width: 30em) {    
    
    /*     GLOBAL     */


    .nm__container {
        margin: 0 4rem;
    }






    /* OCTORATE */

    .booking__container {        
        top: 87%;        
    }





    /*   SECTION 3  */

    /* Estilos para el contenedor de la propiedad */
    .sub__container {
        padding: 20px;
        margin: auto 0rem;
    }

    .section__three .img__property__home {        
        height: 27rem;
    }

    .section__three .img__property__home img {
        max-height: 24rem;
    }


    /* APPARTMENTS */


    /* .details {
        margin-top: 1rem;
        display: flex;
        flex-direction: row;
    }

    .details.price .content-detail {
        justify-content: center;
        
    }

    .content-detail {
        justify-content: center;
    }

    .content-detail.first__column {
        padding-left: 0;
    }


    .propertie-card {
        height: 32rem;
    }


    .propertie-card img {
        height: 23rem;
    } */
    

    

    .main-properties-section {
        padding: 2rem 4rem;
    }



    .propertie_content .content-detail {
        flex-direction: row;
    }

    .grid-format {    
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }

    .propertie_content .content-detail p {
        padding-left: 0.2rem;
    }



    
    /*    SINGLE APPARTMENT   */
    /************************/


    

    .referencies .ref-col p {
        flex-direction: row;
     }
     
 
     .row-img-gallery .nmh-slider {
         width: 42.8rem;
     }
 

     .single-container .col-12.content-detail {
        margin: 3rem auto 0rem auto;
    }
 


     .map__container {
        /* padding: 0 4rem; */
    }


    .form-container {
        margin: 5rem 4rem;
    }



/* **************************************** */
/*                CONTACTO                  */
/* **************************************** */


.contact__hebe__hero .w-img {      
    height: 48rem;    
}


.contact__hebe__hero h1 {   
    padding-top: 20rem; 

}



.contact-data .col-icon {
    text-align: right;
}



.contact__hebe__body .content-contact #responsive-form .fe-acceptance-rgpd {
    margin: 1rem 0 1.5rem 0;
}

.contact__hebe__body .content-contact #responsive-form .fe-acceptance-rgpd p, 
.contact__hebe__body .content-contact #responsive-form .fe-acceptance-rgpd a {
    font-size: 1.2rem;
    line-height: 1.2rem;
}


  
/* **************************************** */
/*          GRACIAS POR CONTACTAR           */
/* **************************************** */



.thank-text {
    margin-top: 18rem;
    
}






    

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

    .container-chat img {    
        
        width: 5rem;
        height: auto;
        
    }


    
    footer .top__bottom__footer .kit-digital-div img {
        margin: 3rem auto;
        height: 8rem;
    }


    
img.kit-digital-logo {
    margin: 3rem auto;
        height: 6rem;
}








 }

/*******************************************************
 *                         600 px
 *******************************************************/ 
@media only screen and (min-width: 37.5em) {   
    

    /*     GLOBAL        */
    
    .nm__container {
        margin: 0 6rem;
    }
     

    p, strong, li {
        font-size: 1.5rem;        
    }



    .w-sm-80 {
        width: auto;
    }

    .mx-sm-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important;
    }










    /* OCTORATE */
    
    .booking__container {
        top: 93%;
    }

    .booking__container .octobook form {
        flex-wrap: nowrap;
        justify-content: space-around;
    }



    
    .booking__container .octobook .octobooksubmit {
        width: 28rem;
    }


    .booking__container .octobooklayoutDEFAULT .octobookcheckin, 
    .booking__container .octobooklayoutDEFAULT .octobookcheckout, 
    .booking__container .octobooklayoutDEFAULT .octobookpax, 
    .booking__container .octobooklayoutDEFAULT .octobookchild, 
    .booking__container .octobooklayoutDEFAULT .octobooksubmit {
        width: 20%;
    }

    .booking__container .octobook .octobooksubmit {
        margin: 0;
    }
    
    .main-properties-section {
        padding: 2rem 9rem;
    }

/* 
    .propertie-card {
        height: 34rem;
    } */

   





    /*   SECTION 3  */

    /* Estilos para el contenedor de la propiedad */
    .sub__container {
        padding: 20px;
        margin: auto 5rem;
    }

    .section__three .img__property__home {        
        height: 27rem;
    }




/* SECTION 5 */


.section__five .text__container {
    padding: 5rem 5rem;
}







/* SECTION 7 */

.section__seven picture img {
    min-height: 60rem;
}


















    /*    SINGLE APPARTMENT   */
    /************************/

    .row-img-gallery .nmh-slider {
        width: 52.8rem;
    }

    
       
    
    .single-container .property-explanation h3,
    .single-container .property-explanation h4,
    .single-container .property-explanation p,
    .single-container .property-explanation ul {
       /* padding: 0 5rem!important; */
    }


    .single-container .property-explanation strong span {
       font-weight: 600;
    }

    .single-container h1 {
        font-size: 3.3rem;
        line-height: 5.5rem;
    }


    .referencies .ref-col p {
        font-size: 1.8rem;
    }


    .referencies .material-symbols-outlined {
        font-size: 3rem;
        padding-right: 1rem;
    }
        
    .single-container .col-12.content-detail p, 
    .single-container .col-12.content-detail p span {
        font-size: 2.5rem;
        font-weight: 500;
    }

    .map__container {
        /* padding: 0 5rem; */
    }


    .form-container {
        margin: 5rem 6rem;
    }




    
  
/* **************************************** */
/*                CONTACTO                  */
/* **************************************** */



.contact__hebe__hero .w-img {      
    height: 76rem;    
}


.contact__hebe__hero h1 {   
    font-size: 6.8rem;    
    padding-top: 36rem; 
}

.contact__hebe__body .content-contact .subtitle h3 {
    font-size: 3.5rem;


}


.contact__hebe__body .content-contact .contact-data p {
    font-size: 1.6rem;
    line-height: 2.8rem;
}


#responsive-form label {    
    font-size: 1.4rem;   
    line-height: 2.7rem; 
}


#responsive-form input, #responsive-form select, #responsive-form textarea {    
    font-size: 1.8rem;
}


#responsive-form .fe-first-layer p, #responsive-form .fe-first-layer strong {
    font-size: 0.9rem;
    line-height: 1.3rem;
}


#responsive-form .btn-enviar-datos {
    margin: 3rem auto 2rem auto;
    padding: 1rem 0 1rem 0;
    width: 16rem;
}
















    

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

    .container-chat img {    
        width: 5rem;
        height: auto;
    }

        
    footer .logo-symbol {
        width: 30rem;
        margin: 0 auto;
    }


    footer .nm-container h2 {
    
        font-size: 3rem;
        
    }

    footer .nm-container p, footer .nm-container .legal__area a {
        font-size: 2.2rem;
        line-height: 3.4rem;
    }

    footer h4 {
        font-size: 2.4rem;
    }



    footer ul li a {
        font-size: 2.2rem;
        line-height: 3.4rem;
        
    }




}

/*******************************************************
 *                         768 px
 *******************************************************/ 
@media (min-width: 48em) {  


    /*     GLOBALES      */


    .nm__space__between__columns__right {
        padding-right: 6rem;
    }
    




    /* OCTORATE */

    .booking__container .octobookpax.Large > div > select,
    .booking__container .octobook .octobooksubmit {
        width: 14rem;
    }

    .booking__container .octobook36876 .octobooksubmit > div > input {
        width: 17rem;
    }




    .main-properties-section {
        padding: 2rem 18rem;
    }




    /* SECTION 3 */

    .section__three .nm__container {
        margin: 5rem 5% 3rem 5%;
    }

    .sub__container {
        padding: 20px;
        margin: auto 0rem;
    }


    .section__three .custom__row .col-md-4 {
        padding: 0 1.2rem;
    }



    .section__three .img__property__home.mtop {
        margin-top: 0;
    }


    .section__three .img__property__home {
        height: 17rem;
    }

    .section__three .img__property__home img {
        max-height: 14rem;
    }
    


    /* SECTION 4 */
/* 
    .section__four img {
        height: 60rem;
        width: 100%;
    }
 */





    /* SECTION 5 */


.section__five .text__container {
    padding: 5rem 2rem;
}



.section__five .img__stn .image-container img {
    object-position: center bottom;
}











    /*    SINGLE APPARTMENT   */
    /************************/



    
    .referencies {
        justify-content: center;     
        align-items: center;   
    }

    .referencies .ref-col p {
        font-size: 1.5rem;
        font-weight: 400;
     }


     .referencies .ref-col .material-symbols-outlined {
        margin-right: 1rem;
    }


    .row-img-gallery .nmh-slider {
        width: 74rem;
    }


    .single-properties .single-container h1,
    .single-properties_long_term .single-container h1 {
        font-size: 2.5rem;
        margin-top: 3rem;
        margin-bottom: 4.5rem;
    }


    .single-container .property-explanation h3,
    .single-container .property-explanation h4,
    .single-container .property-explanation p,
    .single-container .property-explanation ul {
        /* padding: 0 12.9rem!important; */
    }

    

    .map__container {
        /* padding: 0 12rem; */
    }


    .form-container {
        margin: 5rem 12rem;
    }
    
  
/* **************************************** */
/*                CONTACTO                  */
/* **************************************** */



.contact__hebe__hero .w-img {      
    height: 89rem;    
}


.contact__hebe__hero h1 {
    font-size: 8.7rem;
    padding-top: 35rem;
}


div#responsive-form {
    margin: 0 3rem;
}



  
/* **************************************** */
/*          GRACIAS POR CONTACTAR           */
/* **************************************** */



.thank-text {
    margin-top: 23rem;    
}


.thank-text h3 {
    margin: 0 auto;
    text-align: center;
    color: var(--color-white);
    font-size: 2.5rem;
}


.thank-text-2 {
    margin-top: 2rem;
    margin-bottom: 4rem;
}

.thank-text-2 h4 {    
    margin: 0 auto;
    text-align: center;
    color: var(--color-white);
    font-size: 2rem;
}

















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



    
    footer .logo-symbol {
        width: 20rem;
        margin: 0 auto;
    }


    footer .nm-container p {
        font-size: 1.7rem;
        line-height: 2.4rem;
    }


    footer .row .col-md-6:nth-child(2) .menu-title {
        margin-top: 2rem;
    }

    footer ul li a {
        font-size: 1.7rem;
        line-height: 2.4rem;
    }


    footer .nm-container .legal__area a,
    footer .nm-container .legal__area p,
    footer .nm-container .sm p {
        font-size: 1.5rem;
        line-height: 2rem;
        text-align: center;
    }








}

/*******************************************************
 *                         960 px
 *******************************************************/ 
@media (min-width: 60em) { 
    
    


    /*    Navigation     */
    /*-------------------*/




    .logo-container {
        margin-left: 20px;
        width: 100%;
    }


    .logo {
        margin-top: 0px;
        margin-left: 0px;
        height: 80px!important;
    }


    .height-logo-scrolled {
        height: 90px!important;
    }






        nav {
            /* height: 100px; */
            background-color: transparent;
            
            
        }


        .hamburger-btn {
            display: none;
        }

        .nav-list {
            position: relative;
            display: flex;
            justify-content: flex-end;
            text-align: left;
            padding: 3rem;
            background: transparent;
            margin-bottom: 0rem;
        }

        .nav-list .first-item {
            margin-top: 0;
        }
        
        .nav-list li {
            display: inline-block;
            opacity: 1;
            margin: 0 0.8rem;
            transition: none;
            /* height: 3rem; */
        }
    

        .nav-list li:nth-child(1) {
            margin-top: 0;
        }
    
        .nav-list li a {            
            font-size: 1.2rem;
            letter-spacing: 0.2px;
        }
        


        .nav-list li.trp-language-switcher-container.first__language__item {
            margin-right: 0;
        }

        .nav-list li.trp-language-switcher-container.first__language__item a .trp-ls-language-name {
            padding-right: 0.5rem;
            border-right: solid 1px var(--color-white);
        }

        .nav-list li.trp-language-switcher-container.first__language__item a {
            padding: 0;
        }

        .nav-list li.trp-language-switcher-container li a span::before {
        content: '|';
        margin: 0 0.3rem;
        }

        .trp-language-switcher-container a {
            padding: 0!important;
        }

        .trp-ls-language-name {
            font-size: 1.6rem;
        }

        .nav-list li a.active, .nav-list li a:hover {
            color: var(--secundary-color);
        } 
        

        .nav-list .sub-menu {
            display: none;
            position: absolute;
            padding-top: 2rem; 
            margin-top: 1rem;   
            text-align: left;
            background-color: var(--tertiary-color);
            width: 26rem;
            border-radius: 1rem;
        }

            
        .nav-list li:hover > .sub-menu {
            display: flex;
            flex-direction: column;        
        }


        .nav-list .sub-menu li {
            margin: 0 0.5rem 0 0;
            width: 18rem;
            height: 3rem;   
        }


    /*   SECTION 3   */
        
    .section__three .img__property__home {
        height: 22rem;
    }

    .section__three .img__property__home img {
       max-height: 19rem;
    }



    /* SECTION 4 */
/* 
    .section__four img {
        height: 50rem;
    } */




    /* SECTION 5 */

    .section__five img {
        height: 50rem;
    }










        /*      PROPERTIES      */
        /************************/



        .grid-format {
            grid-template-columns: repeat(2, 1fr);
        }

        .main-properties-section {
            padding: 2rem 7rem;
        }






        

        /*    SINGLE APPARTMENT   */
        /************************/

        .single-properties .content .thumbnail-post,
        .single-properties_long_term .content .thumbnail-post,
        .img-fluid {
            width: 100%;
            height: 100vh!important;
        }

        .single-properties .content .property-explanation,
        .single-properties_long_term .content .property-explanation {
            margin: 4rem 5rem;
        }

        .single-properties .content .property-explanation p,
        .single-properties_long_term .content .property-explanation p,
        .single-properties .content .property-explanation span,
        .single-properties_long_term .content .property-explanation span {
            font-family: var(--tipo-parrafo);
            font-size: 1.4rem;
            line-height: 2rem;
            font-weight: 300;
        }



        .single-properties .content .property-explanation strong span,
        .single-properties_long_term .content .property-explanation strong span {
            font-weight: 600;
        }




        .row-img-gallery .nmh-slider {
            width: 94rem;
        }


        .single-container .property-explanation h3,
    .single-container .property-explanation h4,
    .single-container .property-explanation p,
    .single-container .property-explanation ul {
        /* padding: 0 20rem!important; */
    }




     .property-explanation {
        padding-right: calc(var(--bs-gutter-x) * .5);
        padding-left: calc(var(--bs-gutter-x) * .5);
    }


      

    .map__container {
        /* padding: 0 18rem; */
    }


    .form-container {
        margin: 5rem 12rem;
    }
    









/* **************************************** */
/*                CONTACTO                  */
/* **************************************** */



.contact__hebe__hero .w-img {      
    height: 90rem;    
}


.contact__hebe__hero h1 {
    
    padding-top: 35rem;
}


div#responsive-form {
    /* margin: 0 10rem; */
}










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

    footer .nm-container h2 {
        font-size: 3rem;
    }

    footer .nm-container p {
        font-size: 2.2rem;
        line-height: 2.4rem;
    }

    footer h4 {
        font-size: 2.5rem;
    }

    footer ul li a {
        font-size: 2rem;
        line-height: 2.8rem;
    }






















    }



    


/*******************************************************
 *                         1024 px
 *******************************************************/ 
@media (min-width: 64em) { 
    
    


    /* OCTORATE */

    .booking__container {
        top: 90%;
        width: 78%;
        border-radius: 1rem;
    }

    
    .booking__container .octobook form {
        width: 100%;
    }


    .booking__container .custom__background:before {
        border-radius: 3rem;
    }


    .booking__container .octobookpax.Large > div > select,
    .booking__container .octobook .octobooksubmit {
        width: 16rem;
    }



    .main-properties-section {
        padding: 2rem 10rem;
    }






    

    /* SECTION 4 */

    .section__four {
        padding-top: 0;
        padding-bottom: 8rem;
    }

    .section__four .nm__container {
        margin: 0;
    }

    .section__four .row>* {
        padding-left: 0;
    }

    .section__four .desktop-layout-wrapper {
        display: grid;
        /* Definimos una sola celda que ocupará todo el espacio */
        grid-template-columns: 1fr;
        grid-template-rows: auto; /* La altura de la fila se ajustará al contenido */
        position: relative; /* Para contexto de z-index de los hijos */
        /* La altura total de esta grid será la del contenido más "alto" o "profundo" */
    }

    .section__four .image-background-block {
        /* Colocamos la imagen en la celda del grid */
        grid-column: 1 / -1; /* Ocupa desde la primera a la última línea de columna */
        grid-row: 1 / -1;    /* Ocupa desde la primera a la última línea de fila */

        width: 70%;          
        margin-right: auto;   
        position: relative;  /* Para que z-index funcione */
        z-index: 1;          /* Detrás del texto */
        min-height: 70vh;                                  
    }

    .section__four .section-four-image {
        display: block;
        width: 100%;
        height: 100%;        /* Para que la imagen llene la altura de image-background-block */
        object-fit: cover;           
        max-height: 90rem;
        
    }

    .section__four .text-content-block {
        /* Colocamos el texto en la misma celda del grid para superponer */
        grid-column: 1 / -1;
        grid-row: 1 / -1;

        width: 70%;          
        max-width: 800px;    
        position: relative;  /* Para que z-index funcione y para márgenes */
        z-index: 2;          /* Encima de la imagen */

        
        margin-top: clamp(60px, 10vh, 120px);  
        /* margin-left: clamp(40px, 5vw, 80px);    */
        margin-left: clamp(40px, 30vw, 340px); 
        margin-bottom: 20px; /       
    }

    .section__four .text-inner-content {
        background-color: rgba(255, 255, 255, 0.90); /* Fondo ligeramente translúcido opcional */
        padding: 30px;
        box-shadow: 0 5px 25px rgba(0,0,0,0.15);
        border-radius: 8px;
        /* La altura de este bloque se determinará por su contenido. */
    }































    /* APPARTMENTS */
    
    /* Cards */

    /* .grid-format {
        grid-template-columns: repeat(2, 1fr);
        

    } */



            .propertie-card {                      
                /* width: 100%;    */
                /* height: 40rem;     */
                /* height: 100%; */
            }

            .propertie-card img {
                /* height: 40rem; */
                /* height: 30rem; */
            }
            





            
    /*    SINGLE APPARTMENT   */
    /************************/


    .row-img-gallery .nmh-slider {
        width: 100rem;
    }



    
    .single-container .property-explanation h3,
    .single-container .property-explanation h4,
    .single-container .property-explanation p,
    .single-container .property-explanation ul {
        /* padding: 0 20rem!important; */
    }





      

    .map__container {
        /* padding: 0 18rem; */
    }


    .form-container {
        margin: 5rem 25rem;
    }
    












/* **************************************** */
/*                CONTACTO                  */
/* **************************************** */




.contact__hebe__body .content-contact .subtitle h3 {
    font-size: 2.5rem;
}



.contact__hebe__body .content-contact .subtitle.plus__padding h3 {
    padding-top: 2rem;
    padding-bottom: 1rem;
}


div#responsive-form {
    /* margin: 0 2rem; */
}


.contact__hebe__body #responsive-form label {
    font-size: 1.6rem;
    line-height: 2rem;
}

















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

    footer .nm-container p {
        font-size: 2.4rem;
        line-height: 2.4rem;
    }


    footer .nm-container .legal__area a {
        font-size: 1.5rem;
        line-height: 2rem;
        padding: 0 1.8rem;
    }


    footer .nm-container .legal__area p,
    footer .nm-container .sm p {
        font-size: 1.5rem;
        line-height: 2rem;
    }











}
/*******************************************************
 *                         1200 px
 *******************************************************/   
@media (min-width: 75em) {  
    
    
/*    GLOBLES       */

.nm__container {
    margin: 0 20rem;
}




/* OCTORATE */

    .booking__container .octobook36876 .octobooksubmit > div > input {
        width: 20rem;
    }

    

    .booking__container .octobookpax.Large > div > select,
    .booking__container .octobook .octobooksubmit {
        width: 18rem;
    }

    .main-properties-section {
        padding: 2rem 18rem;
    }
    


    
/* SECTION 2 */

section.text-columns p {
    padding-top: 2rem;
    column-count: 2;
    column-gap: 3rem;
}





/* SECTION 3 */


    .section__three .nm__container {
        margin: 5rem 5% 3rem 5%;
    }


    .sub__container {
        padding: 20px;
        margin: auto 15rem;
    }

    .section__three .img__property__home {
        height: 20rem;
    }

    .section__three .img__property__home img {
        max-height: 17rem;
    }


/* SECTION 4 */
    .section__four .text-content-block {
        width: 52%;
    }

    .section__four .text-content-block {
       
        margin-left: clamp(554px, 30vw, 447px); 
              
    }




/* SECTION 5 */

    .section__five .text__container {
        padding: 5rem 6rem;
    }


















    
/* SINGLE APPARTMENT */
/* *************** */


    .single-container .property-explanation h3,
    .single-container .property-explanation h4,
    .single-container .property-explanation p,
    .single-container .property-explanation ul {
        /* padding: 0 30rem!important; */
    }

        
    .map__container {
        /* padding: 0 25rem; */
    }


    .form-container {
        margin: 5rem 30rem;
    }
    






    
/*********************/
/*      CONTACTO     */
/*********************/


div#responsive-form {
    /* margin: 0 4rem; */
}











}






/*******************************************************
 *                         1300 px
 *******************************************************/   
 @media (min-width: 81.25em) {        
    


    /* NAVIGATION MENÚ */

    .nm-nav {
        padding: 0 5rem 0 3rem;
    }





    /* OCTORATE */

    .booking__container .octobookpax.Large > div > select,
    .booking__container .octobook .octobooksubmit {
        width: 19rem;
    }

    .grid-format {
        grid-template-columns: repeat(3, 1fr);
    }

    .main-properties-section {
        padding: 2rem 3rem;
    }




    

/* SECTION 4 */

.section__four .text-content-block {
        width: 45%;
        /* margin-left: clamp(40px, 10vw, 130px); */
         margin-left: clamp(560px, 30vw, 500px); 
    }





/* SECTION 5 */

.section__five .text__container {
        padding: 5rem 10rem;
    }






















    /*    SINGLE APPARTMENT   */
    /************************/


    .row-img-gallery .nmh-slider {
        width: 127rem;
    }

    .single-properties .content .property-explanation,
    .single-properties_long_term .content .property-explanation {
        margin: 4rem 15rem;
    }

    .form-container {
        margin: 5rem 19rem;
    }

    .single-properties .content .property-explanation p,
    .single-properties_long_term .content .property-explanation p {
        font-size: 1.6rem;
        line-height: 2.5rem;
        font-weight: 300;
    }



.single-container .property-explanation h3,
    .single-container .property-explanation h4,
    .single-container .property-explanation p,
    .single-container .property-explanation ul {
        /* padding: 0 30rem!important; */
    }

        
    .map__container {
        /* padding: 0 30rem; */
    }


    .form-container {
        margin: 5rem 35rem;
    }
    



    
 


/* ************************ */
/*         CONTACT          */
/* ************************ */



.contact__hebe__hero h1 {
    padding-top: 25rem;
}







 }




/*******************************************************
 *                         1360 px
 *******************************************************/   
 @media (min-width: 85em) {        
    


/* **************************************** */
/*                CONTACTO                  */
/* **************************************** */


.contact__hebe__hero .w-img {
    height: 79rem;
}

.contact__hebe__body .content-contact {
    margin-top: -22%!important;
}









 }








/*******************************************************
 *                         1600 px
 *******************************************************/  
@media (min-width: 100em) {   
    
     
/*    GLOBLES       */

.nm__container {
    margin: 0 28rem;
}




    /* NAVIGATION MENÚ */

    .nm-nav {
        padding: 0 7rem;
    }

    
/* OCTORATE */

.booking__container .octobook36876 .octobooksubmit > div > input {
    width: 25rem;
}




    .booking__container .octobookpax.Large > div > select,
    .booking__container .octobook .octobooksubmit {
        width: 25rem;
    }


/* SECTION 3 */


.sub__container {
    padding: 20px;
    margin: auto 20rem;
}

.section__three .img__property__home {
    height: 26rem;
}

.section__three .img__property__home img {
    max-height: 23rem;
}


/* SECTION 4 */

    .section__four .text-content-block {
        width: 39%;
        /* margin-left: clamp(206px, 65vw, 300px); */
        margin-left: clamp(647px, 130vw, 647px); 
    }




    

    /* SECTION 5 */


.section__five .text__container {
    padding: 5rem 15rem;
}



.section__five .img__stn .image-container img {
    object-position: right bottom;
}





























/* APPARTMENTS */
    
.main-properties-section {
    padding: 2rem 17rem;
}



    


    /*    SINGLE APPARTMENT   */
    /************************/


    .row-img-gallery .nmh-slider {
        width: 158rem;
    }


    .single-properties .content .property-explanation,
    .single-properties_long_term .content .property-explanation {
        margin: 4rem 25rem;
    }

    .form-container {
        margin: 5rem 35rem;
    }



.single-container .property-explanation h3,
    .single-container .property-explanation h4,
    .single-container .property-explanation p,
    .single-container .property-explanation ul {
    /* padding: 0 45rem; */
}


.map__container {
    /* padding: 0 35rem; */
}


.form-container {
    margin: 5rem 45rem;
}





    

/* **************************************** */
/*                CONTACTO                  */
/* **************************************** */





.contact__hebe__hero h1 {
    padding-top: 35rem;
}




.contact__hebe__body .content-contact {
    margin-top: -18%!important;
    padding-bottom: 0rem;
}




div#responsive-form {
    /* margin: 0 8rem; */
}







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


footer .top__bottom__footer .kit-digital-div img {
    margin: 3rem auto;
    height: 10rem;
}



img.kit-digital-logo {
    margin: 3rem auto;
    height: 8rem;
}







}

/*******************************************************
 *                         1920 px
 *******************************************************/  
 @media (min-width: 120em) {     
    

        
    /*    GLOBLES       */

    .nm__container {
        margin: 0 45rem;
    }





    
    /* NAVIGATION MENÚ */

    .nm-nav {
        padding: 0 15rem;
    }



    
    /* SECTION 1 */


    .booking__container {
        top: 90%;
        width: 60%;
        border-radius: 1rem;
    }



        

    /* SECTION 3 */


    .sub__container {
        padding: 20px;
        margin: auto 30rem;
    }

    .section__three .img__property__home {
        height: 28rem;
    }

.section__three .img__property__home img {
    max-height: 25rem;
}



/* SECTION 4 */

    .section__four .text-content-block {
        width: 33%;
        /* margin-left: clamp(206px, 65vw, 300px); */
        margin-left: clamp(925px, 130vw, 925px); 
    }







    /* SECTION 5 */

    .section__five .text__container {
        padding: 5rem 20rem;
    }





















    


/* APPARTMENTS */


.main-properties-section {
    padding: 2rem 34rem;
}



    

    /*    SINGLE APPARTMENT   */
    /************************/


    .row-img-gallery .nmh-slider {
        width: 190rem;
    }

    .single-properties .content .property-explanation,
    .single-properties_long_term .content .property-explanation {
        margin: 4rem 40rem;
    }

    .form-container {
        margin: 5rem 50rem;
    }


  

    
/* SINGLE APPARTMENT */
/* *************** */


.single-container .property-explanation h3,
    .single-container .property-explanation h4,
    .single-container .property-explanation p,
    .single-container .property-explanation ul {
    /* padding: 0 60rem; */
}









    

/* **************************************** */
/*                CONTACTO                  */
/* **************************************** */



.contact__hebe__body .content-contact {
    margin-top: -14%!important;
}



div#responsive-form {
    /* margin: 0 15rem; */
}


  
/* **************************************** */
/*          GRACIAS POR CONTACTAR           */
/* **************************************** */



.thank-text {
    margin-top: 25rem;    
}


.thank-text h3 {
 
    font-size: 3rem;
}


.thank-text-2 {
    margin-top: 2rem;
    margin-bottom: 4rem;
}

.thank-text-2 h4 {    
   
    font-size: 2.5rem;
}



}


/*******************************************************
 *                         2560 px
 *******************************************************/  
 @media (min-width: 160em) {  

    
    
    /*  GLOBALES  */

    h2 {
        font-size: 4rem;
    }

    h3 {
        font-size: 3rem;
    }

    p, strong, li {
        font-size: 1.8rem;
        line-height: 3rem;
    }

    .nm__container {
        margin: 0 60rem;
    }
    


    
    /* NAVIGATION MENÚ */

    .nm-nav {
        padding: 0 30rem;
    }



    
    /*  SECTION 1   */

    .booking__container {
        top: 90%;
        width: 65%;
        border-radius: 1rem;
    }




    
    /*  SECTION 3   */


    .sub__container {
        padding: 20px;
        margin: auto 43rem;
    }

    .section__three .property__data .code__3423, 
    .section__three .property__data .code__3423 strong,
    .code__2312__description,
    .property__details p { 
        font-size: 1.8rem;
    }

    .section__three .img__property__home {
        height: 36rem;
    }

.section__three .img__property__home img {
    max-height: 33rem;
}





    /* APPARTMENTS */




    .main-properties-section {
        padding: 2rem 59rem;
    }






}

/*******************************************************
 *                         3440 px
 *******************************************************/  
 @media (min-width: 215em) { 


    /*  GLOBALES  */

    h2 {
        font-size: 4.5rem;
    }

    h3 {
        font-size: 3.5rem;
    }

    p, strong, li {
        font-size: 2rem;
        line-height: 3.5rem;
    }

    .nm__container {
        margin: 0 80rem;
    }
    
    

    
    /* NAVIGATION MENÚ */

    .nm-nav {
        padding: 0 75rem;
    }






    
    /*  SECTION 1   */

    .booking__container {
        top: 90%;
        width: 50%;
        border-radius: 1rem;
    }

    
    /*  SECTION 3   */

    .sub__container {
        padding: 20px;
        margin: auto 60rem;
    }

    .section__three .img__property__home {
        height: 44rem;
    }

.section__three .img__property__home img {
    max-height: 41rem;
}


    /* APPARTMENTS */




    .main-properties-section {
        padding: 2rem 100rem;
    }




}

/*******************************************************
 *                         3840 px
 *******************************************************/  
 @media (min-width: 240em) {  
    
      /*  SECTION 3   */

      .sub__container {
        padding: 20px;
        margin: auto 60rem;
    }

    .section__three .img__property__home {
        height: 43rem;
    }

    .section__three .img__property__home img {
    max-height: 40rem;
}

}

/*******************************************************
 *                         5120 px
 *******************************************************/  
 @media (min-width: 320em) {  

 /*  SECTION 1  */

    .booking__container {
        top: 90%;
        width: 40%;
        border-radius: 1rem;
    }



 /*  SECTION 3   */

    .sub__container {
        padding: 20px;
        margin: auto 100rem;
    }       
}

/*******************************************************
 *                         7680 px
 *******************************************************/  
 @media (min-width: 480em) {         



    .sub__container {
        padding: 20px;
        margin: auto 170rem;
    }







}




@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1050px;
    }
}




















