/* ============================================================
   SUN HOUSE — HOMEPAGE BACKGROUND CLEANUP
   One continuous Algarve cover now runs behind the hero and the
   available-properties area, ending visually where the next content
   section begins. The property glass panel stays on top of that image.
============================================================ */

body:has(.v7-hero){
  position:relative!important;
  background-image:none!important;
  background-attachment:scroll!important;
}

/* Single continuous cover layer for desktop, tablet and mobile. */
body:has(.v7-hero)::before{
  content:""!important;
  display:block!important;
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100svh!important;
  z-index:0!important;
  pointer-events:none!important;
  opacity:1!important;
  background:
    linear-gradient(rgba(3,8,12,.06),rgba(3,8,12,.06)),
    url('/images/sunhouse-cover-blue.png?v=20260914-blue-04') center center/cover no-repeat!important;
  background-attachment:fixed!important;
  filter:none!important;
  -webkit-filter:none!important;
  transform:none!important;
}

body:has(.v7-hero)::after{
  content:none!important;
  display:none!important;
}

.v7-nav,
main,
.footer{
  position:relative!important;
  z-index:1!important;
}

/* Hero and property section share the exact same cover layer. */
.v7-hero,
#alojamento{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
}

.v7-hero::before,
.v7-hero::after,
#alojamento::before,
#alojamento::after{
  content:none!important;
  display:none!important;
  background:none!important;
  background-image:none!important;
}

/* Do not render a second copy of the hero image. */
.v7-hero>.v7-hero-media{
  display:none!important;
}

#alojamento .property-carousel-shell,
#alojamento .property-carousel{
  background-image:none!important;
}

.owner-management,
.v7-services,
#obras:not(.sh-works-section){
  background-image:none!important;
  background-attachment:scroll!important;
}

/* Touch devices keep the same single cover source. */
@media (max-width:1366px) and (hover:none) and (pointer:coarse){
  body:has(.v7-hero)::before{
    background:
      linear-gradient(rgba(3,8,12,.08),rgba(3,8,12,.08)),
      url('/images/sunhouse-cover-blue.png?v=20260914-blue-04') center center/cover no-repeat!important;
    background-attachment:fixed!important;
  }

  .owner-management,
  .v7-services,
  #obras,
  #orcamento,
  .footer{
    background-color:#070a0d!important;
  }
}

#alojamento>.wrap{background:rgba(10,17,23,.36)!important;background-image:none!important;-webkit-backdrop-filter:blur(16px) saturate(122%)!important;backdrop-filter:blur(16px) saturate(122%)!important;border:1px solid rgba(218,181,103,.30)!important}
#alojamento .property-carousel>.card,#alojamento .property-card{background:transparent!important;background-image:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
#alojamento .property-carousel .card-body,#alojamento .property-card .card-body{background:linear-gradient(180deg,rgba(49,31,20,.48),rgba(8,11,14,.68))!important;background-image:linear-gradient(180deg,rgba(49,31,20,.48),rgba(8,11,14,.68))!important;-webkit-backdrop-filter:blur(6px) saturate(112%)!important;backdrop-filter:blur(6px) saturate(112%)!important}
.v7-copy>.v7-service-strip{background:transparent!important;background-image:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.v7-copy>.v7-service-strip>a{background:rgba(12,15,18,.42)!important;background-image:none!important;-webkit-backdrop-filter:blur(8px) saturate(112%)!important;backdrop-filter:blur(8px) saturate(112%)!important}

/* PROPERTY SECTION HEADING — same placement and white treatment on every device */
#alojamento>.wrap>h2,#alojamento .section-title,#alojamento .properties-title{position:static!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;float:none!important;display:block!important;width:auto!important;max-width:calc(100% - 150px)!important;margin:0 0 18px 0!important;padding:0!important;color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;background-image:none!important;text-shadow:0 2px 12px rgba(0,0,0,.32)!important;font-weight:800!important;line-height:1.08!important;letter-spacing:.10em!important;z-index:auto!important}
#alojamento>.wrap{box-sizing:border-box!important;padding-top:20px!important}
#alojamento .mobile-view-all{position:absolute!important;top:16px!important;right:16px!important;z-index:3!important}

/* PROPERTY CARDS — unified visual system */
#alojamento .property-carousel{align-items:stretch!important;gap:14px!important}
#alojamento .property-carousel>.property-card,#alojamento .property-carousel>.card{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;min-width:0;overflow:hidden!important;border:1px solid rgba(218,181,103,.34)!important;border-radius:16px!important;background:rgba(12,15,18,.30)!important;box-shadow:0 14px 34px rgba(0,0,0,.18)!important}
#alojamento .property-carousel .photo{position:relative!important;display:block!important;width:100%!important;aspect-ratio:1.45/1!important;overflow:hidden!important;border-radius:15px 15px 0 0!important;background:#101418!important}
#alojamento .property-carousel .photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
#alojamento .property-carousel .card-body{box-sizing:border-box!important;display:flex!important;flex:1 1 auto!important;flex-direction:column!important;width:100%!important;min-width:0!important;padding:14px!important;border-radius:0 0 15px 15px!important;color:#f7f1e8!important;overflow:visible!important}
#alojamento .property-card-heading,#alojamento .property-card-heading h3,#alojamento .property-card-heading h3 a,#alojamento .meta,#alojamento .property-card-description-wrap,#alojamento .property-room-stats,#alojamento .price,#alojamento .property-card-link{position:static!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;float:none!important}
#alojamento .property-card-heading{display:block!important;flex:0 0 auto!important;min-width:0!important;min-height:2.35em!important;margin:0!important;overflow:hidden!important}
#alojamento .property-card-heading h3{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;width:100%!important;max-width:100%!important;margin:0!important;color:#fff7eb!important;font-size:clamp(.82rem,1.15vw,1.08rem)!important;line-height:1.12!important;font-weight:800!important}
#alojamento .property-card-heading h3 a{display:block!important;color:#fff7eb!important;text-decoration:none!important;white-space:normal!important}
#alojamento .meta{flex:0 0 auto!important;margin-top:6px!important;color:rgba(247,241,232,.68)!important;font-size:clamp(.62rem,.82vw,.78rem)!important;line-height:1.2!important}
#alojamento .property-card-description-wrap{flex:0 0 auto!important;margin-top:9px!important}
#alojamento .property-card-description{margin:0!important;color:rgba(247,241,232,.74)!important;font-size:clamp(.66rem,.85vw,.80rem)!important;line-height:1.4!important}
#alojamento .property-room-stats{display:flex!important;flex:0 0 auto!important;align-items:center!important;gap:10px!important;margin-top:10px!important;padding-top:9px!important;border-top:1px solid rgba(255,255,255,.10)!important;color:#f4e8d4!important}
#alojamento .property-room-stat{display:inline-flex!important;align-items:center!important;gap:4px!important}
#alojamento .property-room-stat strong{font-size:clamp(.66rem,.85vw,.80rem)!important;line-height:1!important}
#alojamento .property-room-stat small{color:rgba(247,241,232,.64)!important}
#alojamento .price{flex:0 0 auto!important;margin-top:auto!important;padding-top:11px!important;color:#e1bd7d!important;font-size:clamp(.70rem,.9vw,.84rem)!important;font-weight:800!important;line-height:1.2!important}
#alojamento .property-card-link,#alojamento .property-description-toggle,#alojamento .mobile-view-all{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:36px!important;padding:8px 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-family:inherit!important;font-size:.72rem!important;font-weight:800!important;line-height:1!important;text-decoration:none!important;white-space:nowrap!important;box-shadow:none!important}
#alojamento .property-card-link{flex:0 0 auto!important;align-self:flex-start!important;margin-top:10px!important;z-index:auto!important}
#alojamento .property-card-link:hover,#alojamento .property-description-toggle:hover,#alojamento .mobile-view-all:hover{background:rgba(164,119,58,.26)!important;border-color:rgba(230,198,137,.78)!important}
#alojamento .property-featured-badge{position:absolute!important;top:10px!important;left:10px!important;z-index:2!important;display:inline-flex!important;align-items:center!important;min-height:28px!important;padding:6px 9px!important;border:1px solid rgba(235,202,141,.55)!important;border-radius:999px!important;background:rgba(14,16,18,.68)!important;color:#f2cf8f!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;font-size:.62rem!important;font-weight:900!important;line-height:1!important}
#alojamento .property-carousel-arrow{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;flex:0 0 36px!important;padding:0!important;border:1px solid rgba(218,181,103,.46)!important;border-radius:50%!important;background:rgba(12,15,18,.54)!important;color:#f2d29a!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}

@media (min-width:721px){#alojamento .property-carousel>.property-card,#alojamento .property-carousel>.card{flex:0 0 calc((100% - 28px)/3)!important;min-width:calc((100% - 28px)/3)!important;max-width:calc((100% - 28px)/3)!important}#alojamento .property-carousel .card-body{min-height:220px!important}}
@media (max-width:720px){
 #alojamento>.wrap{padding-top:14px!important}
 #alojamento>.wrap>h2,#alojamento .section-title,#alojamento .properties-title{max-width:calc(100% - 105px)!important;margin-bottom:12px!important;font-size:clamp(.88rem,4.3vw,1.08rem)!important;line-height:1.08!important;letter-spacing:.08em!important}
 #alojamento .mobile-view-all{top:10px!important;right:10px!important}
 #alojamento .property-carousel{gap:7px!important}
 #alojamento .property-carousel>.property-card,#alojamento .property-carousel>.card{flex:0 0 calc((100% - 14px)/3)!important;min-width:calc((100% - 14px)/3)!important;max-width:calc((100% - 14px)/3)!important;border-radius:12px!important}
 #alojamento .property-carousel .photo{aspect-ratio:1.28/1!important;border-radius:11px 11px 0 0!important}
 #alojamento .property-carousel .card-body{min-height:190px!important;padding:8px 7px 7px!important;border-radius:0 0 11px 11px!important;overflow:visible!important}
 #alojamento .property-card-heading{min-height:2.45em!important}
 #alojamento .property-card-heading h3{font-size:.69rem!important;line-height:1.15!important;-webkit-line-clamp:2!important}
 #alojamento .meta{margin-top:5px!important;font-size:.56rem!important}
 #alojamento .property-card-description-wrap,#alojamento .property-card-description,#alojamento .property-description-toggle{display:none!important}
 #alojamento .property-room-stats{gap:5px!important;margin-top:7px!important;padding-top:6px!important}
 #alojamento .property-room-stat small{display:none!important}
 #alojamento .property-room-stat strong{font-size:.62rem!important}
 #alojamento .price{margin-top:auto!important;padding-top:8px!important;font-size:.60rem!important}
 #alojamento .property-card-link{position:static!important;width:100%!important;min-height:30px!important;margin-top:8px!important;padding:6px 7px!important;font-size:.60rem!important}
 #alojamento .mobile-view-all{min-height:30px!important;padding:6px 9px!important;font-size:.60rem!important}
 #alojamento .property-featured-badge{top:6px!important;left:6px!important;min-height:22px!important;padding:4px 6px!important;font-size:.50rem!important}
 #alojamento .property-carousel-arrow{width:28px!important;height:28px!important;flex-basis:28px!important;font-size:1rem!important}
}
