/* Final property-section heading fix: exact markup selector. */
#alojamento .property-section-head,
#alojamento .property-section-head-mobile,
#alojamento .mobile-featured-title-row{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

#alojamento .mobile-featured-title-row{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0 0 16px!important;
  padding:0!important;
}

#alojamento .mobile-featured-title-row > h2{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  float:none!important;
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:calc(100% - 132px)!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:none!important;
  background-image:none!important;
  opacity:1!important;
  text-shadow:0 2px 12px rgba(0,0,0,.34)!important;
  font-weight:800!important;
  line-height:1.08!important;
  letter-spacing:.10em!important;
  text-align:left!important;
  z-index:1!important;
}

#alojamento .mobile-featured-title-row > .mobile-view-all{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  flex:0 0 auto!important;
  margin:0!important;
  z-index:2!important;
}

/* Desktop only: larger, easier-to-read property card typography + room stats. */
@media (min-width:1101px) and (hover:hover) and (pointer:fine), (min-width:1367px){
  #alojamento .property-card-heading h3{font-size:1.18rem!important;line-height:1.18!important}
  #alojamento .meta{font-size:.88rem!important;line-height:1.3!important}
  #alojamento .property-card-description{font-size:.94rem!important;line-height:1.5!important}
  #alojamento .property-description-toggle,#alojamento .property-card-link{font-size:.78rem!important}
  #alojamento .price{font-size:.94rem!important;line-height:1.25!important}

  /* Property stats are intentionally global on desktop so the homepage cards
     and the "Ver todas" property panel use exactly the same readable sizing. */
  .property-room-stats{
    gap:18px!important;
    padding-top:14px!important;
    margin-top:14px!important;
  }
  .property-room-stat{
    gap:8px!important;
    min-height:68px!important;
  }
  .property-room-icon{
    display:inline-flex!important;
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .property-room-icon svg{
    display:block!important;
    width:30px!important;
    height:30px!important;
    stroke-width:2.1!important;
  }
  .property-room-stat strong{
    font-size:1.16rem!important;
    line-height:1!important;
    font-weight:800!important;
  }
  .property-room-stat small{
    font-size:.90rem!important;
    line-height:1.15!important;
    font-weight:700!important;
  }

  /* Related properties: keep all CTA buttons perfectly aligned. */
  .property-related .property-grid{
    align-items:stretch!important;
  }
  .property-related .property-grid > .card{
    display:flex!important;
    height:100%!important;
  }
  .property-related .property-grid > .card > a{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    width:100%!important;
    height:100%!important;
  }
  .property-related .property-grid .card-body{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  .property-related .property-grid .price{
    margin-bottom:12px!important;
  }
  .property-related .property-grid .property-card-link{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    margin-top:auto!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:720px){
  #alojamento .mobile-featured-title-row{gap:8px!important;margin-bottom:10px!important;align-items:center!important}
  #alojamento .mobile-featured-title-row > h2{max-width:calc(100% - 102px)!important;font-size:clamp(.62rem,2.75vw,.76rem)!important;line-height:1.05!important;letter-spacing:.065em!important}
  #alojamento .property-carousel-shell{overflow:visible!important}
  #alojamento .property-carousel{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;scroll-behavior:smooth!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain!important;touch-action:pan-x pan-y!important;scrollbar-width:none!important}
  #alojamento .property-carousel::-webkit-scrollbar{display:none!important}
  #alojamento .property-carousel > .property-card,#alojamento .property-carousel > .card{flex:0 0 calc((100% - 8px)/2)!important;min-width:calc((100% - 8px)/2)!important;max-width:calc((100% - 8px)/2)!important;scroll-snap-align:start!important;scroll-snap-stop:always!important}
  #alojamento .property-card-description-wrap{display:block!important;margin-top:8px!important}
  #alojamento .property-card-description{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;margin:0!important;font-size:.68rem!important;line-height:1.35!important;color:rgba(247,241,232,.78)!important}
  #alojamento .property-card-description-wrap.is-expanded .property-card-description{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important}
  #alojamento .property-description-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;margin-top:7px!important;padding:6px 10px!important;border:1px solid rgba(218,181,103,.56)!important;border-radius:999px!important;background:rgba(164,119,58,.16)!important;color:#f6e4c5!important;font-size:.62rem!important;font-weight:900!important;line-height:1!important;text-transform:uppercase!important;box-shadow:none!important}
  #alojamento .property-card-heading h3{font-size:.66rem!important}
  #alojamento .meta{font-size:.54rem!important}
  #alojamento .price{font-size:.58rem!important}
}

/* Mobile landscape: keep the same pill/button treatment as the other versions. */
@media (min-width:721px) and (max-width:1366px) and (hover:none) and (pointer:coarse) and (orientation:landscape){
  #alojamento .property-description-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:34px!important;
    margin-top:9px!important;
    padding:7px 13px!important;
    border:1px solid rgba(218,181,103,.56)!important;
    border-radius:999px!important;
    background:rgba(164,119,58,.16)!important;
    color:#f6e4c5!important;
    font-size:.70rem!important;
    font-weight:900!important;
    line-height:1!important;
    text-transform:uppercase!important;
    text-decoration:none!important;
    box-shadow:none!important;
  }

  #alojamento .property-description-toggle:hover,
  #alojamento .property-description-toggle:focus-visible{
    background:rgba(164,119,58,.26)!important;
    border-color:rgba(230,198,137,.78)!important;
  }
}

/* Click-safety: no decorative layer may sit above property controls. */
#alojamento .property-carousel-shell::before,
#alojamento .property-carousel-shell::after,
#alojamento .property-carousel::before,
#alojamento .property-carousel::after,
#alojamento .property-card::before,
#alojamento .property-card::after,
#alojamento .card-body::before,
#alojamento .card-body::after{
  pointer-events:none!important;
}

#alojamento .property-card,
#alojamento .card-body,
#alojamento .property-card-description-wrap{
  position:relative!important;
}

#alojamento .property-description-toggle,
#alojamento .property-card-link{
  position:relative!important;
  z-index:50!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}

/* Mobile navigation must always sit above the hero/brand layers. */
@media (max-width:1366px) and (hover:none) and (pointer:coarse){
  .v7-nav{
    z-index:10000!important;
    isolation:isolate!important;
  }

  .v7-nav-inner{
    position:relative!important;
    z-index:10001!important;
  }

  .v7-mobile-menu{
    position:absolute!important;
    z-index:10002!important;
    isolation:isolate!important;
  }

  .v7-mobile-menu[hidden]{
    display:none!important;
  }

  .v7-mobile-menu:not([hidden]){
    z-index:10002!important;
  }

  .v7-mobile-menu-toggle,
  .v7-lang,
  .v7-greeting{
    position:relative!important;
    z-index:10003!important;
  }

  .v7-hero,
  .v7-hero-inner,
  .sunhouse-horizontal-brand,
  .v7-copy{
    z-index:auto!important;
  }
}
