html,body{
    margin:0;
    padding:0;
    border:0;
    font-size:100%;
    font:inherit;
    vertical-align:baseline;
    transition: all 0.2s ease-in-out;
}

@font-face {
    font-family: 'Montserrat-Medium';
    src: url('../font/Montserrat-Medium.woff2') format('woff2'),
        url('../font/Montserrat-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nexa';
    src: url('../font/NexaBold.woff2') format('woff2'),
        url('../font/NexaBold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat-SemiBold';
    src: url('../font/Montserrat-SemiBold.woff2') format('woff2'),
        url('../font/Montserrat-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Myriad';
    src: url('../font/MyriadPro-Regular.woff2') format('woff2'),
        url('../font/MyriadPro-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../font/Montserrat-Regular.woff2') format('woff2'),
        url('../font/Montserrat-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat-Bold';
    src: url('../font/Montserrat-Bold.woff2') format('woff2'),
        url('../font/Montserrat-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}



@font-face {
  font-family: 'icomoon';
  src:  url('../font/icomoon.eot?kh5hgd');
  src:  url('../font/icomoon.eot?kh5hgd#iefix') format('embedded-opentype'),
    url('../font/icomoon.ttf?kh5hgd') format('truetype'),
    url('../font/icomoon.woff?kh5hgd') format('woff'),
    url('../font/icomoon.svg?kh5hgd#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-banheira:before {
  content: "\e900";
  color: #666;
}
.icon-calendario:before {
  content: "\e901";
  color: #c4beb4;
}
.icon-cama:before {
  content: "\e902";
  color: #666;
}
.icon-camacasal:before {
  content: "\e903";
  color: #666;
}
.icon-close:before {
  content: "\e904";
  color: #776c5d;
}
.icon-darrow:before {
  content: "\e905";
  color: #fff;
}
.icon-formarrow:before {
  content: "\e906";
  color: #fff;
}
.icon-garagem:before {
  content: "\e907";
  color: #666;
}
.icon-hospedes:before {
  content: "\e908";
  color: #c4beb4;
}
.icon-larrow:before {
  content: "\e909";
  color: #fff;
}
.icon-lupa:before {
  content: "\e90a";
  color: #fff;
}
.icon-m2:before {
  content: "\e90b";
}
.icon-minus:before {
  content: "\e90c";
}
.icon-pessoas:before {
  content: "\e90d";
}
.icon-pessoasup:before {
  content: "\e90e";
}
.icon-pin:before {
  content: "\e90f";
  color: #c4beb4;
}
.icon-plus:before {
  content: "\e910";
}
.icon-porta:before {
  content: "\e911";
  color: #666;
}
.icon-rarrow:before {
  content: "\e912";
  color: #fff;
}
.icon-sofa:before {
  content: "\e913";
  color: #666;
}
.icon-star:before {
  content: "\e914";
  color: #ffc728;
}
.icon-menu:before {
  content: "\e915";
  color: #fff;
}

.icon-ustart:before {
  content: "\e916";
  color: #776c5d;
}
.icon-profile:before {
  content: "\e917";
  color: #fff;
}

.icon-phone:before {
  content: "\e918";
  color: #c4beb4;
}
.icon-morada:before {
  content: "\e919";
  color: #c4beb4;
}
.icon-mail:before {
  content: "\e91a";
  color: #c4beb4;
}
.icon-instagram:before {
  content: "\e91b";
  color: #c4beb4;
}
.icon-facebook:before {
  content: "\e91c";
  color: #c4beb4;
}

.icon-people:before {
  content: "\e91d";
  color: #666;
}
.icon-peopleup:before {
  content: "\e91e";
  color: #666;
}


/******************* BODY ********************/

body{
    font-family: 'Montserrat';
    font-size: 15px;
    color:#4d4d4d;
    position: relative;
}

a{text-decoration: none;}

div.wpforms-container-full {
  margin-left: 0% !important;
  margin-right: 0% !important;
}

/****************** TOP *********************/

.pointer{
  cursor: pointer;
}

header {
    position: absolute;
    top: 10px;
    width: 100%;
    z-index: 1;
    font-family: 'Montserrat', sans-serif;
}

.aloj-nofound div {
  padding: 26px;
  background-color: #bab0a0;
  border-radius: 14px;
  color: #fff;
}

.aloj-nofound {
  display: flex;
  width: 100%;
  justify-content: center;
  margin: 100px 0px 100px 0px;
}

.error_field {
  border: 1px solid #d00 !important;
  color: #d00;
}

#pop-pay-message {
  background-color: #bab0a0;
  display: flex;
  flex-direction: column;
  padding: 17px;
  align-items: center;
  border: 1px solid #948a7a;
  border-radius: 10px;
  position: absolute;
  left: calc( 50% - 150px);
  width: 300px;
  height: 130px;
  justify-content: center;
  color: #FFF;
  margin-top: 130px;
  z-index: 999;
}

#pop-pay-message div i {
  font-size: 22px;
}

#pop-pay-message .spin_i {
  margin-bottom: 12px;
}

#pop-messg {
  text-align: center;
}

.opacity-back {
  background-color: #000;
  width: 100%;
  height: 100%;
  display: inline flow-root list-item;
  position: absolute;
  z-index: 99;
  opacity: 0.8;
}

.flex-row-form div {
  width: 50%;
  display: flex;
  flex-direction: column;
}

.flex-row-form {
  display: flex;
}
.flex-row-form div:last-child {
  margin-left: 15px;
}
.flex-row-form div:first-child {
  margin-right: 15px;
}

.container.show {
  z-index: 99;
}

.error {
  display: flex;
  flex-direction: column;
  padding: 12px;
  width: fit-content;
  border-radius: 10px;
  margin-top: 8px;
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}

.success {
  display: flex;
  flex-direction: column;
  padding: 12px;
  width: fit-content;
  border-radius: 10px;
  margin-top: 8px;
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}

.topLogo {
    width: 158px;
}


header .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 126px;
}


header .wrap.topForm {
    display: flex;
    align-items: center;
    gap: 20px;
    background-color: #bab0a0;
    padding: 10px 126px;
}

header.posRel{
    position: relative;
    top: 0;
}

.mobileBtreservar.p126 {
      position: absolute;
      top: 0;
      z-index: 1;
      width: 100%;
      top: 84px;
      display: none;
      left:0;
  }


.topSearch {

    display: flex;
    gap: 10px;
    background: #fff;
    padding: 12px 12px 12px 42px;
    border-radius: 44px;
    align-items: center;
    margin-right: 40px;
    transition: opacity 0.5s ease; 

}



.topSearch > div input {
    border:0;
    padding: 6px 0px;
    width: 110px;
    cursor: pointer;
}



.btnCloseSearch{
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: #bab0a0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btnCloseSearch span::before{color:#fff}
  

  .closeSearch {
        display: none;
        align-items: flex-end;
        justify-content: flex-end;
        position: absolute;
        z-index: 9999;
        top: 130px;
        right: 22px;
      }




.searchBtn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: #bab0a0;
    border: 0;
    cursor: pointer;
}

.searchBtn span::before {
    color: #fff;
}

.txtSearch{
   font-family: 'Montserrat-SemiBold';
  font-size: 14px;
  color:#fff;
  display: none;
}

header .wrap.topForm label {
    font-family: 'Montserrat-SemiBold';
    font-size: 14px;
    color: #000;
    margin-bottom: 4px;
}

.hospedes-container {
    position: relative;
    display: flex;
    flex-direction: column;
}


.hospedes-summary {
    border: 0;
    padding: 6px 0;
    width: 168px;
    text-align: left;
    background: none;
    cursor: pointer;
    font-size: 13px; 
    font-family: inherit;
    color: #000; 
}


.hospedes-popup-content {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 10px; 
    
    
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    padding: 15px 20px;
    z-index: 1000;
    min-width: 250px;
}


.hospedes-popup-content::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 16px;
    height: 16px;
    background: #fff;
    box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.05); 
    border-top-left-radius: 4px;
    z-index: 1001;
}


.guest-counter {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
}

.guest-counter:not(:last-child) {
    border-bottom: 1px solid #eee;
}

.guest-counter span {
   font-family: 'Montserrat-Medium';
    font-size: 16px;
    color:#000;
}


.counter-controls {
    display: flex;
    align-items: center;
    gap: 15px;
}

.counter-controls button {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid #ccc;
    background: #fff;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.counter-controls button:active {
    background: #f0f0f0;
}


.counter-controls span {
    font-weight: bold;
    min-width: 15px;
    text-align: center;
}



.idiomasNav {
    list-style: none;
    display: flex;
    gap: 10px;
    margin: 0;
    padding: 0;
}

.idiomasNav li {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid #eee6d8;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Montserrat-SemiBold';
    font-size: 14px;
}

.idiomasNav li.active {
    background-color: #eee6d8;
    color: #776c5d;
}

.idiomasNav li a {
    color: inherit;
    text-decoration: none;
}


#top-onde-localidade {
    width: 100%;
    border: 0;
    margin-top: 48px;
    width: 245px;
}

.topForm .logo {
    margin-right: auto;
}

.aInput {
    display: flex;
    flex-direction: column;
}

/* ******************SPINNER*************************** */
  .spin_i .icon-plus {
    display: block;
  }
  .spin_i {
      width: fit-content;
      padding: 0;
      /* background: #f00; */
      -webkit-animation-name: spin;
      -webkit-animation-duration: 500ms;
      -webkit-animation-iteration-count: infinite;
      -webkit-animation-timing-function: linear;
      -moz-animation-name: spin;
      -moz-animation-duration: 500ms;
      -moz-animation-iteration-count: infinite;
      -moz-animation-timing-function: linear;
      -ms-animation-name: spin;
      -ms-animation-duration: 500ms;
      -ms-animation-iteration-count: infinite;
      -ms-animation-timing-function: linear;
      
      animation-name: spin;
      animation-duration: 500ms;
      animation-iteration-count: infinite;
      animation-timing-function: linear;
  }
  @-ms-keyframes spin {
      from { -ms-transform: rotate(0deg); }
      to { -ms-transform: rotate(360deg); }
  }
  @-moz-keyframes spin {
      from { -moz-transform: rotate(0deg); }
      to { -moz-transform: rotate(360deg); }
  }
  @-webkit-keyframes spin {
      from { -webkit-transform: rotate(0deg); }
      to { -webkit-transform: rotate(360deg); }
  }
  @keyframes spin {
      from {
          transform:rotate(0deg);
      }
      to {
          transform:rotate(360deg);
      }
  }
/* **************************************************** */

/****************** CALENDARIO *********************/
.calendar>.header button{border-radius:50%; background-color:#bab0a0;}
.calendar>.header button>img, .calendar>.header button>svg{fill:#fff}
.container.range-plugin .calendar>.days-grid>.day.end, .container.range-plugin .calendar>.days-grid>.day.start{    background-color:#bab0a0;}
.container.range-plugin .calendar>.days-grid>.day.in-range{ background-color:#f1f2f2;}
.container.range-plugin .calendar>.days-grid>.day.start:after{     border-left: 8px solid #bab0a0;}
.container.range-plugin .calendar>.days-grid>.day.end:after{     border-right: 8px solid #bab0a0;}
.container.show {border-radius:12px; z-index:1; }
.home .easepick-wrapper{left: -50vw; }

/****************** FOOTER *********************/
footer{
    background-color:#c4beb4;padding:46px 126px;
    display:grid;
    grid-template-columns: 0.2fr 0.4fr 0.4fr;
    justify-content: space-between;
    color:#fff;    
    gap:22px;
    /*margin-top: 72px;*/
}

footer a{color:#fff;}

footer ul{
        display: flex; 
        gap:48px; 
        flex-direction: column;
        list-style: none;
        padding:0
    }

footer li a{display: block; margin-bottom:16px}


.footerBar{
    display:grid;
    grid-template-columns: 0.2fr 0.4fr 0.4fr;
   
}
.prr{max-width: 348px; width:100%;  padding:12px 0;}

/****************** LAYOUT *********************/
.menu {
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: flex;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    transition: opacity 0.5s ease; 
}


.menu.active {
  opacity: 1;
    pointer-events: auto;
}


.menu .nav {
    width: 50%;
    background: #e0dcd7;
    font-size: 25px;
    font-family: 'Montserrat-SemiBold';
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    transform: translateX(-100%);
    transition: transform 0.5s ease;
}


.menu .navshadow {
    width: 50%;
    background: rgba(109,111,113,0.8);
    transform: translateX(100%); 
    transition: transform 0.5s ease;
}


.menu.active .nav {
    transform: translateX(0);
}

.menu.active .navshadow {
    transform: translateX(0);
}


.menu .nav a {
    color: #776c5d;
}

.menu .nav ul.links {
  list-style: none;
  display: flex;
  gap: 70px;
  flex-direction: column;
  width: auto;
  padding: 0;
  text-transform: uppercase;
}

.menu .nav ul.social {
  list-style: none;
  display: flex;
  gap: 34px;
  flex-direction: row;
  padding: 0;
  margin-top: 14%;
  font-size: 42px;
}

.menu .nav ul.social span:before{color:#776c5d;}

#btMenu{position: absolute; width:32px;height: 32px;left:126px; top:42px;z-index: 1;}
#btMenu, #openMenu {
    cursor: pointer;
}

/****************** LAYOUT *********************/

.alignCenter{width: 100%;display: flex;justify-content: center;}
.dflexVert{display: flex; flex-direction: column;}
.p126{padding:0 126px}
.mtop50{margin-top:50px}
.mtop38{margin-top:38px}


.mleft70{margin-left:70px}
.mbottom32{margin-bottom:32px}

.gap22{gap:22px}

.title{font-family:"Nexa"; text-transform: uppercase;}
.singleTitle{font-family:"Nexa"; text-transform: uppercase; margin:36px 0; font-size: 32px;letter-spacing: 1rem;}


.semiBold{font-family:"Montserrat-SemiBold";font-size:16px}
.subTitle{font-family:"Montserrat-Bold"; text-transform: uppercase;}

.title21{font-family:"Montserrat-SemiBold"; font-size:21px;margin-top: 28px; text-align: center;}
.title21 a{ color: #4d4d4d; }



.text37{font-size: 37px; letter-spacing: 1rem;}
.text32{font-size: 32px;}
.text20{font-size: 20px;}
.colorWhite{color:#ffffff;}
.colorBrown{color:#776c5d;}
.colorBlack{color:#000;}

.roundBox{border-radius:20px; background-color:#ffffff;}
.roundBox .wrap{padding:44px 30px;}
.roundBox .wrap h3{font-family:"Montserrat-SemiBold"; text-transform: uppercase;font-size:16px; margin:0}
.roundBox .wrap h4{font-family:"Montserrat-SemiBold";font-size:16px;margin:6px 0;}


.roundBox img{width:100%;height: 184px;border-top-left-radius:18px;border-top-right-radius:18px; object-fit: cover;}

.btn{background-color:#bab0a0;color:#fff;font-family: 'Montserrat-Bold'; 
    font-size:16px; 
    padding:14px 22px; border-radius:42px;transition: all 0.2s ease-in-out;
    bordeR:1px solid #bab0a0;display: inline-block;
}
.btn:hover{background:#f1f2f2; color:#bab0a0;scale:1.04}

.backGrey{background:#f1f2f2}

.alignCantos{display:flex;align-items: center; justify-content: space-between;}

/****************** HOMEPAGE *********************/
.homeSection{
    min-height: 90vh;
    /*background-color:rgba(0,0,0,1);*/
    position: relative;
   
}

.title.colorWhite.text37.mleft70.mbottom32{
  position: absolute;
  width: 96%;
  top: 178px;
  text-align: center;
  margin:0 22px;
  padding:0;
}

.homeSlide {
  height: 350px;
}

.homeSlide .wrap .h-slide-bt div a {
  height: 35px;
  width: 110px;
  padding: 8px 9px;
  font-size: 14px;
  text-align: center;
}

.homeSlide .wrap .h-slide-bt {
  display: flex;
  justify-content: end;
  width: 100%;
  padding: 21px 30px 0px 30px;
}

.homeSlide .wrap h3{
  padding: 20px 30px 15px 30px;
}
.homeSlide .wrap .flexi-right h4 {
  margin: 0; padding-right: 10px;
}

.homeSlide .wrap .flexi-right {
  display: flex;
  align-content: center;
  width: 100%;
  padding: 0px 30px 0px 30px;
}

.homeSlide .wrap {
  background-color: #fff;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  padding: 0;
  height: 43%;
}
.homeSlide .slide-home-image a img {
  height: 100%;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
}
 

.homeSlide .slide-home-image {
  height: 57%;
}

.homeSlide {
  display: flex;
  flex-direction: column;
}

.homeSection img{
    width: 100%;
    height: 100%;
    object-fit: cover;    
    /*filter: brightness(50%);*/
}

.homeSection img::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background-color: #000;   */ 
}
.darken{filter: brightness(50%);}
/*
.homeSection .grid{
    display: grid;
    grid-template-columns: 0.5fr 0.4fr ;    
    position: absolute;
    width: 70%;    
    gap:20%;
    
    bottom: -70px;
    left: 50%;  
  transform: translate(-50%);
}*/


.homeSection .grid {
    position: absolute;
    bottom: -70px;
    left: 50%;
    transform: translateX(-50%);
    width: 70%;
    display: grid;
    grid-template-columns: 0.5fr 0.4fr;
    gap: 20%;
}

.resForm input[type='text'] {
    border: 0;
    border-bottom: 1px solid #ababab;
    padding: 10px 35px 10px 0;
    width: 96%;
    font-size: 16px;
}

.resForm .home-hosp-bt {
    border: 0;
    border-bottom: 1px solid #ababab;
    padding: 10px 35px 10px 0;
    width: 96%;
    font-size: 16px;
}

.inputWrap {
    position: relative;
    width: 100%;
}

.inputWrap i {
    position: absolute;
    right: 0;
    bottom: 12px;
    font-size: 20px;
    color: #bab0a0;
}


.localidades {
    position: absolute;
    background: #fff;
    width: 100%;
    border: 1px solid #ddd;
    border-top: none;
    max-height: 200px;
    overflow-y: auto;
    z-index: 10;
}

.itemLocalidades {
    padding: 8px 10px;
    cursor: pointer;
}

.itemLocalidades:hover {
    background-color: #f2f2f2;
}



.resForm label {
    font-family: 'Montserrat-SemiBold';
    margin-top: 32px;
    display: block;
}


.resButton{
    border:0; background-color:#bab0a0;  border:0; 
    border-bottom-left-radius: 20px;border-bottom-right-radius: 20px; padding:24px;
    width:100%;
    font-family: 'Montserrat-Bold';
    font-size: 19px;
    color:#fff;
    cursor: pointer;
}

.slidePromoContent{
    display: grid;
    grid-template-columns: 0.1fr 0.8fr 0.1fr;
    align-items: center;
    gap: 10px;
    justify-items: center;
    height: 350px;
}


.slidePromoContent .glide__track {
    width: 100%;
}


.slidePromoContent .glide__slides {
    width: 100%;
}


.slidePromoContent .glide__slide {
    /*width: 100% !important;*/
    display: flex;
    justify-content: center;
}



.slidePromoContent img {
    height: 350px;
    opacity: 1;
    border-radius: 20px;
}


.slidePromoContent .roundBox { background:none; }

.circleArrow{
    width:34px;
    height:34px;
    display: flex;
    background-color:#bab0a0;
    border:1px solid #bab0a0;
    align-items: center;
    color:#fff;
    border-radius:50%;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.circleArrow:hover{
    background:#f1f2f2;
    color:#bab0a0;
    scale:1.04;
}

.circleArrow:hover span::before{
  color:#bab0a0;
}

.glide__arrow--left { justify-self: end; }
.glide__arrow--right { justify-self: start; }


.greySection{
        background:#f1f2f2;
        color:#000;
        display: grid;
         grid-template-columns: 0.4fr 0.6fr;
        padding:48px 126px;    
        gap:20%
    }


/***** PAGE CONTACTOS ****/
.contactosTitle{
  
  font-family:"Nexa"; font-size: 25px;letter-spacing: 0.6rem; color:#776c5d;padding:0;margin:0; text-transform: uppercase;
  margin-bottom: 40px;

}

.contactos .simpleList li{
  
  display:flex;
  gap:56px;
  margin-bottom: 56px;
  color:#000;
}
.contactos .simpleList li span::before{font-size: 32px;}
.contactos .simpleList li .icon-morada::before{font-size: 48px;}

#mapa_contactos{width:100%;height: 100%;}

.contactos .social{
  font-size: 48px;
  list-style: none;
  display: inline-flex;
  gap:32px;
  padding:0;
  margin:0;
}
.inlinetitleSocial{
      display: flex;
    width: 100%;
    align-content: center;
    justify-content: space-between;
    flex-direction: row;
    align-items: center;

}

/***** LIST TESTEMUNHOS HOME ****/
 .testemunhos .guest{width:43px; height:43px; border-radius:50%}
 .testemunhos .info{display:flex; gap:20px}
 .testemunhosHome {padding-bottom: 32px;}
 ul.rating {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
    margin: 16px 0;
    gap:5px;
}
 ul.rating span::before{color:#ffc728;}
.testemunhosNav{display: flex; gap:18px;}

.profile{
  width:94px;
  height:94px;
  background-color:#c4beb4;
  border-radius: 50%;
  display: flex;
    justify-content: center;
    align-items: flex-end;
}

.profile::before{
  content:"\e917";
  font-family: "icomoon";
  color:#fff;
  font-size: 74px;
}


.miniprofile{
  width:43px;
  height:43px;
  background-color:#c4beb4;
  border-radius: 50%;
  display: flex;
    justify-content: center;
    align-items: flex-end;
}

.miniprofile::before{
  content:"\e917";
  font-family: "icomoon";
  color:#fff;
  font-size: 32px;
}

/***** LIST EXPERIENCIAS HOME ****/
.experienciasHome .listagem img{width: 100%;border-radius: 12px;object-fit: cover; height: 254px;}


/***** PAGE Testemenunhos ****/

.testemunhosPage .grid2 {
     display: grid;
    align-items: center;
    grid-template-columns: 1fr 1fr;
    gap: 48px;

}

.formTestemunho .content{
    border-radius: 12px;
    background-color: #f1f2f2;
    padding: 24px;
    display: flex;
    flex-direction: column;
}

.formTestemunho input, .formTestemunho textarea{padding:14px 8px; border-radius:8px; border:0; margin-bottom: 22px;}
.formTestemunho textarea{height: 168px;}

.formTestemunho .contact-sendbt  , .formTestemunho input[type="submit"], .formTestemunho button{
    padding:18px 24px !important;
    border-radius:8px !important;
    border:1px solid #bab0a0 !important;
    background-color:#bab0a0 !important;
    color:#fff !important;
    font-family: "Montserrat-SemiBold" !important;
    font-size:20px !important;
    margin-bottom: 0 !important;
    cursor:pointer !important;
    transition: all 0.2s ease-in-out !important;
    height: auto !important;
}

.formTestemunho input[type="submit"]:hover{
 background-color:#fff;
 color:#bab0a0;
}

.upfoto{width:94px; height: 94px; border-radius:50%; object-fit: cover;}
.formTestemunho h3{font-family:"Nexa"; font-size:23px; color:#776c5d;}
.formTestemunho label{color:#000;margin-bottom: 6px;}

.formTestemunho .rating {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline-flex;
  direction: rtl;
}

.formTestemunho .rating li {
  display: inline-block;
  cursor: pointer;
  position: relative;
}

.formTestemunho .rating input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.formTestemunho .rating label .icon-star::before {
 /* font-family: 'icomoon';
  content: '\e916';
   font-size: 22px;*/
  font-size: 20px;
  color: #ccc;
  transition: all 0.2s ease-in-out;
  
}


.formTestemunho .rating li:hover label .icon-star::before,
.formTestemunho .rating li:hover ~ li label .icon-star::before {
  /*font-family: 'icomoon';
  content: '\e914'; */
  color: gold;
  cursor: pointer;
  font-size: 20px
}


.formTestemunho .rating li.selected label .icon-star::before {
  /*font-family: 'icomoon';
  content: '\e914'; */
  color: gold;
  font-size: 20px;
}

.testFlex{
  display: flex;
    
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
    gap:36px
}


/***** PAGE SOBRE ****/

.sobre .grid2 {
  
    display: flex;
    align-items: center;    
    gap: 48px;
}

.sobre .grid2.reverse{
    flex-direction: row-reverse;
}

.sobre .grid2 img{
    border-radius:15px;
    width: 100%;
    object-fit: cover;
}


/***** PAGE EXPERIENCIAS ****/


.experiencias .grid {
       columns: 2;            
    column-gap: 25px;  

}

.experiencias .card {
    break-inside: avoid;    
    margin-bottom: 25px;  
    bordeR:1px solid #bab0a0;
}


.experiencias .card.vertical {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


.experiencias .card.vertical.reverse {
    flex-direction: column-reverse;
}

.experiencias .card img {
    width: 100%;
    height: auto;
    max-height: 80vh;
    object-fit: cover;
}

.experiencias .card .text {
    padding: 20px;
}

.experiencias .card .text h3 {
    font-size: 13px;
    letter-spacing: 2px;
    font-weight: bold;
    margin-bottom: 10px;
}

.experiencias .card .text p {
    font-size: 14px;
    line-height: 1.5;
    color: #555;
}

/***** SINGLE ALOJAMENTOS ****/
.termsTitle, .alojamentoTitle{font-family:"Nexa"; text-transform: uppercase; margin:36px 0; font-size: 29px;letter-spacing: 1rem; color:#776c5d;padding:0;margin:0; margin-bottom: 26px;}
.allimages { display: none; }
.alojamentodestaque img{width: 100%; height: 25vh; object-fit: cover;}
.borderGrey{border:1px solid #bab0a0}
.alojamentoContent{
    display:grid;
    grid-template-columns: 2fr 1fr; 
    gap: 32px;
    margin-top:32px;
}

  .gallery {
    margin-top:38px;
    display: grid;
    grid-template-columns: 2fr 1fr; 
    grid-template-rows: 1fr 1fr;    
    gap: 32px;
    align-items: stretch;
  }

  .card {
    border-radius: 12px;
    overflow: hidden;
    position: relative;
  }

  
  .main {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    display:block;
  }

  
  .side-top { grid-column: 2 / 3; grid-row: 1 / 2; }
  .side-bottom { grid-column: 2 / 3; grid-row: 2 / 3; }

  
  .card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  
  .badge {
    position: absolute;
    right: 18px;
    bottom: 18px;  
    cursor: pointer; 
  }

  .alojamentoContent  .roundBox .wrap {
    padding: 44px 16px;
}


  .alojamentoContent .list {display: flex;flex-wrap: wrap;gap:42px}
  .alojamentoContent .list span::before{color:#000; font-size: 20px;}
  .alojamentoContent .list span{margin-right: 10px;}
 .alojamentoContent .content {color:#000000;margin-top:34px }

 section.sectionMap {
    height: 40vh;
}

#map{width:100%;height: 100%;}
/***** LIST ALOJAMENTOS ****/

.listagem{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:50px;
  margin-top:38px;
  margin-bottom: 36px;
}
.listagem .roundBox{position: relative;overflow: hidden;}
.listagem .roundBox.backGrey img{transition: all 0.2s ease-in-out;}
.listagem .roundBox.backGrey img:hover{ border-radius:20px; height: 100%;position: absolute;}
.the_price {
  color: #000;
  font-weight: bold;
  margin-top: 5px;
}
.charList{
     display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap:22px;
    margin-top:22px;
}

.charList div span:nth-child(2){margin-left:20px}

.select-wrapper {
  position: relative;
  display: inline-block;
}

.select-wrapper:not(.select-wrapper:first-of-type){margin-left:28px;}

.select-wrapper select {
  background: #fff;
  border: 2px solid #d7d1c8;
  color: #7a6f63;
  padding: 0.7em 3.3em 0.7em 1em;
  border-radius: 40px;

  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  font-size: 1.1em;
  font-family: inherit;
  line-height: 1.3em;
  cursor: pointer;
}


.select-wrapper::after {
    font-family: 'icomoon';
  content: "\e905"; 
  font-size: 6px;
  color: white;

  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: #c8bfad;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;

  pointer-events: none;
}

/* ------- search location select ------- */
.srch-wrapper {
  padding-right: 25px;
  position: relative;
  display: inline-block;
 
  width: 96%;
  border-bottom: 1px solid #ababab;
}

.srch-wrapper:not(.srch-wrapper:first-of-type){margin-left:28px;}

.srch-wrapper select {
  background: #fff;
  border: 0px solid #d7d1c8;
  color: #000;
  padding: 0.1em 0em 0.7em 0em;
  border-radius: 0px;

  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  font-size: 16px;
  font-family: inherit;
  line-height: 1.3em;
  cursor: pointer;
  width: 95%;
}
.srch-wrapper.srch-header{
  border-bottom: 0px;
  padding-right: 0px;
  width: 100%;
}
.srch-wrapper.srch-header select{
  padding: 0;
  font-size: 15px;
}

.srch-wrapper::after {
  display: none;
}
/* ------------------------------------ */

.simpleList{margin:0; margin-top:12px;padding:0; list-style:none;}

.rightTitle{
    font-family: 'Montserrat-Bold';
    font-size:18px;
    color:#4d4d4d;
}

.textDisponibilidade{
     font-family: 'Montserrat-Medium';
     font-size: 14px;
}
.preco{
     font-family: 'Montserrat-Bold';
     font-size: 20px;
     color:#000000;
}


.form-container {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  width: 100%;
}

.flexFields {
    margin-top:20px;
    display: flex;
    gap: 20px;
}

.field {
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 10px 14px;
     width: auto;
}

.field.full {
  width: 100%;
}

label.single {
  font-size: 14px;
  color: #777;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}

.value {
  font-size: 16px;
  font-family: 'Montserrat-Medium';
  color: #000000;
  border:0;
}

.icon {
  font-size: 16px;
  opacity: 0.6;
}
/***********************RENT A CAR SECTION****************************/
#btReserva{
    background: #fff;
    border: 2px solid #d7d1c8;
    color: #808080;
    padding:10px 18px;
    border-radius: 40px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    font-size: 15px;
    font-family: 'Montserrat-SemiBold';    
    cursor: pointer;
    display: grid;
    grid-template-columns: 0.9fr 0.1fr;
    align-items: center;
    justify-content: center;
    justify-items: center;
}
#btReserva span::before{ color: #d7d1c8;}

/***********************RENT A CAR SECTION****************************/

.fotoContent{position: relative;}
.sticker{    position: absolute; left: -110px; top: -20px;}
.rentacarFoto{width: 100%;object-fit: cover;border-radius: 12px;}


@media only screen and (max-width: 1200px) {

    .homeSection .grid{width:86%}
    .listagem{grid-template-columns:repeat(3, 1fr)}
}

@media only screen and (max-width: 1100px) {
  
    .listagem{grid-template-columns:repeat(2, 1fr)}
     header .wrap{padding: 0 22px;}
    header .wrap.topForm{padding: 10px 22px;}
     .p126{padding:0 22px}
    .menu .navshadow{width: 0;}
    .menu .nav{width:100%;height:104vh; font-size: 16px;}
    .menu .nav ul.links{gap:50px}
    #btMenu{left:22px;}
      /*--------------------------------------------------------------*/

      .topForm .logo {margin: auto;}

      

      .topSearch > div {             
          width: 100%;
        }

    .mobileBtreservar {display: block !important;}

        .topSearch {
          /*display: none;*/
             position: relative;
                 transform: translateY(40px);
    transition: opacity .35s ease, transform .35s ease;
        z-index: 99;
        opacity: 0;
        flex-direction: column;
            display: flex;
            gap: 22px;
            background: #f1f2f2;
            padding: 22px;  
            position: absolute;
            top: 100px;
            width: 100%;
            height: 90vh;
            left: 0;
            border-radius: 0;
            flex-direction: column;
            width: 100%;
            justify-content: center;
             pointer-events: none;
        }
      .topSearch.show{
              opacity: 1;
          transform: translateY(0);
          pointer-events: all;
            
      }




      .topSearch > div input{
          width: 100%;
          cursor: pointer;
          border: 1px solid #c4beb4;
          padding:14px;
          border-radius:5px
      }

      .txtSearch{display: contents;}
      .searchBtn{
          border-radius: 5px;
          width: 100%;
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 10px;
      }

      .mobileBtreservar.p126 {top:120px}

      #top-onde-localidade{margin-top:0}
      .hospedes-summary {
          border: 1px solid #c4beb4;
          padding:14px;
          border-radius:5px;
          width: 100%;
      }
     .homeSection{margin-bottom: 96px;}
     section.testemunhosHome.p126 {padding-bottom: 32px;}
      /*--------------------------------------------------------------*/


      .homeSection .grid{gap:20px;grid-template-columns: 1fr 1fr;}
      .slidePromoContent{    grid-template-columns: 0.1fr 1fr 0.1fr;}
      .homeSection .darken {
          width: 100%;
          height: 90vh;
      }

      .inlinetitleSocial{    flex-direction: column;}

      .mobTop{margin-top: 100px;}

}

@media only screen and (max-width: 720px) {

      .p126{padding:22px}
      .homeSection .grid {
        display: flex;
        flex-direction: column-reverse;
    }
        .listagem {
        grid-template-columns: 1fr;
    }
   
    .singleTitle{font-size: 20px;}
    .greySection{grid-template-columns:1fr; padding:22px; gap: 110px;}
    footer{
          grid-template-columns: 1fr;
          padding: 46px 22px;
    } 

    .footerBar{    grid-template-columns: 1fr;}
    .prr{max-width: 100%;}
    .alignCantos .testemunhosNav{display: none;}
    .sticker {position: absolute;left: -68px; top: -76px;}

    /*.idiomasNav{display: none;}*/
    .homeSection {
        min-height: auto; /* evita espaço extra */
    }

    .homeSection .darken {
        height: 800px; /* controla altura visível da imagem */
    }

    .homeSection .grid {
        position: absolute;
        top: 20px;
        left: 50%;
        transform: translateX(-50%);
        width: 90%;
        display: flex;
        flex-direction: column-reverse;
        gap: 20px;
       bottom: -490px;
    }

    section.content.p126 {
       margin-top: 470px;
    }


    .slidePromoContent{grid-template-columns:1fr;margin-top: 54px;}
    .slidePromoContent .controls{display: none;}


    .select-wrapper{margin-bottom: 22px;}
    .select-wrapper:not(.select-wrapper:first-of-type){margin-left: 0;}
    .select-wrapper select,.select-wrapper{width:100%}

 

    header .wrap.topForm{padding:10px 22px;}

    .experiencias .grid {columns: 1;}

    .sobre .grid2{flex-direction: column; gap:24px; margin-top: 32px;}
    .sobre .grid2.reverse {display: flex;flex-direction: column; }


    .gallery {
    margin-top: -9px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 14px;
    align-items: stretch;
    }

    .alojamentoContent{    display: flex;     flex-direction: column;}
    .alojamentoContent .list{flex-direction: column;    gap: 16px;}     

    .alojamentoTitle{font-size:22px}

    .simpleList span::before{font-size: 22px !important;}
    .home .easepick-wrapper{left:0; }
    .testemunhosPage .grid2{grid-template-columns:1fr}

    .inlinetitleSocial{flex-direction: column;}
    .contactos .simpleList li{gap:22px}

    .flexFields{flex-direction: column; width: 100%;}

    
}

