/* SUN HOUSE — FINAL SINGLE COVER AUTHORITY
   Exactly one Algarve image behind hero + properties. Desktop geometry stays unchanged. */

body:has(.v7-hero){position:relative!important;background:#070a0d!important;}
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-image:url('/images/sunhouse-cover-clear.webp?v=20260917-clear-cover-01')!important;background-repeat:no-repeat!important;background-position:center center!important;background-size:cover!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;}
body:has(.v7-hero) .v7-hero,body:has(.v7-hero) #alojamento{background:transparent!important;background-color:transparent!important;background-image:none!important;}
body:has(.v7-hero) .v7-hero::before,body:has(.v7-hero) .v7-hero::after,body:has(.v7-hero) #alojamento::before,body:has(.v7-hero) #alojamento::after{content:none!important;display:none!important;background:none!important;background-image:none!important;}
body:has(.v7-hero) .v7-hero > .v7-hero-media{display:none!important;visibility:hidden!important;opacity:0!important;}
body:has(.v7-hero) #alojamento .property-carousel-shell,body:has(.v7-hero) #alojamento .property-carousel{background-image:none!important;}
body:has(.v7-hero) #alojamento > .wrap{background:rgba(10,17,23,.34)!important;background-image:none!important;-webkit-backdrop-filter:blur(14px) saturate(118%)!important;backdrop-filter:blur(14px) saturate(118%)!important;}

/* Desktop/web: keep hero copy/logo and service cards where they are; reduce only the gap between services and properties by another 5cm. */
@media (min-width:1101px) and (hover:hover) and (pointer:fine), (min-width:1367px){
  .v7-copy{transform:translateY(-6cm)!important;}
  .sunhouse-horizontal-brand{transform:translateY(-6cm)!important;}
  .v7-hero-inner>.v7-service-strip-desktop{transform:translateY(-3cm)!important;}
  #alojamento{margin-top:-11cm!important;}
}

@media (max-width:932px) and (hover:none) and (pointer:coarse){body:has(.v7-hero)::before{position:fixed!important;inset:0!important;width:100vw!important;height:100svh!important;min-height:100svh!important;max-height:none!important;background-image:url('/images/sunhouse-cover-clear.webp?v=20260917-clear-cover-01')!important;background-repeat:no-repeat!important;background-size:cover!important;background-attachment:scroll!important;opacity:1!important;}}

/* Portrait keeps the existing cover image and all existing geometry/positioning rules. */
@media (orientation:portrait){body:has(.v7-hero)::before{background-image:url('/images/sunhouse-cover-blue.webp?v=20260914-mobile-cover-fix-01')!important;}}
@media (max-width:720px) and (orientation:portrait){body:has(.v7-hero)::before{background-position:68% center!important;}}

@media (max-width:932px) and (orientation:landscape) and (hover:none) and (pointer:coarse){
  body:has(.v7-hero)::before{background-position:center center!important;}
  .v7-hero-inner{padding-top:40px!important;align-content:start!important;}
  .v7-copy>.v7-kicker{margin-top:0!important;}
  .v7-copy>h1,.v7-copy>p{transform:translateY(-2.5cm)!important;}
  .v7-hero-inner>.sunhouse-horizontal-brand{transform:translateY(-2.5cm)!important;}

  .v7-copy>.v7-service-strip{margin-top:10px!important;gap:12px!important;}
  .v7-copy>.v7-service-strip>a{min-height:68px!important;padding:7px 10px!important;border-radius:15px!important;}
  .v7-copy>.v7-service-strip .v7-service-strip-icon{margin-bottom:2px!important;font-size:1.05rem!important;}
  .v7-copy>.v7-service-strip strong{font-size:.72rem!important;line-height:1.05!important;}
  .v7-copy>.v7-service-strip small{margin-top:2px!important;font-size:clamp(.54rem,1vw,.64rem)!important;line-height:1.1!important;}

  #alojamento{margin-top:calc(-24px - 2.5cm)!important;}
  #alojamento>.wrap{padding-top:14px!important;}
}
