/* Sun House — platform compatibility
   OS-specific fixes only where browser engines require them. */

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

button,a,input,select,textarea{
  -webkit-tap-highlight-color:transparent;
}

img,svg{
  max-width:100%;
}

/* iOS / Safari */
@supports (-webkit-touch-callout:none){
  body{
    min-height:100svh;
  }

  .v7-hero{
    min-height:100svh;
  }

  .sunhouse-mobile-bottom-nav{
    bottom:max(10px,env(safe-area-inset-bottom))!important;
  }

  body{
    padding-bottom:calc(86px + env(safe-area-inset-bottom));
  }

  input,
  textarea,
  select{
    font-size:16px;
  }
}

/* Android / coarse pointer devices */
@media (hover:none) and (pointer:coarse){
  button,
  a,
  [role="button"]{
    touch-action:manipulation;
  }

  .property-carousel{
    -webkit-overflow-scrolling:touch;
  }
}

/* Windows: keep scrollbars predictable without affecting mobile */
@media (hover:hover) and (pointer:fine){
  *{
    scrollbar-width:thin;
  }

  .property-carousel{
    scrollbar-width:none;
  }
}


/* =====================================================
   SUN HOUSE HERO SLOGAN — SUBTLE METALLIC FINISH
   Visual-only treatment across all platforms.
   Does not change font size, spacing, layout, position or breakpoints.
===================================================== */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .v7-copy h1{
    color:transparent!important;
    background:
      linear-gradient(
        180deg,
        #ffffff 0%,
        #f4f4f2 18%,
        #c9cbcd 42%,
        #ffffff 58%,
        #a9abad 78%,
        #ececeb 100%
      )!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
    -webkit-text-fill-color:transparent!important;
    text-shadow:none!important;
    filter:
      drop-shadow(0 1px 0 rgba(255,255,255,.25))
      drop-shadow(0 2px 3px rgba(0,0,0,.34))!important;
  }

  .v7-copy h1 span{
    color:transparent!important;
    background:
      linear-gradient(
        180deg,
        #fff0ad 0%,
        #eec45b 18%,
        #b97a18 43%,
        #f6d878 58%,
        #9d6412 78%,
        #e2ad3c 100%
      )!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
    -webkit-text-fill-color:transparent!important;
    filter:
      drop-shadow(0 1px 0 rgba(255,245,196,.22))
      drop-shadow(0 2px 3px rgba(0,0,0,.32))!important;
  }
}

/* Safe fallback for browsers without text clipping support. */
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .v7-copy h1{
    color:#e7e7e5!important;
    text-shadow:0 2px 3px rgba(0,0,0,.32)!important;
  }
  .v7-copy h1 span{
    color:#d6a53a!important;
  }
}


/* =====================================================
   PROPERTY CAROUSEL ARROWS — SAFE EDGE INSET
   Keep controls fully visible on every viewport.
===================================================== */
.property-carousel-arrow.is-prev{
  left:-14px!important;
}
.property-carousel-arrow.is-next{
  right:-14px!important;
}

@media (max-width:720px){
  .property-carousel-arrow.is-prev{
    left:-10px!important;
  }
  .property-carousel-arrow.is-next{
    right:-10px!important;
  }
}


/* =====================================================
   SUN HOUSE CAROUSEL CONTROLS — INTEGRATED SEMICIRCLE
   Charcoal glass + subtle gold edge. Same visual language
   across mobile, landscape, tablet and desktop.
===================================================== */
.property-carousel-arrow{
  width:42px!important;
  height:66px!important;
  top:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(226,184,94,.62)!important;
  background:linear-gradient(180deg,rgba(22,21,18,.88),rgba(8,8,8,.94))!important;
  color:#e4bc62!important;
  box-shadow:0 8px 22px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.07)!important;
  -webkit-backdrop-filter:blur(10px) saturate(115%)!important;
  backdrop-filter:blur(10px) saturate(115%)!important;
  transform:translateY(-50%)!important;
  font-size:1.55rem!important;
  line-height:1!important;
  z-index:12!important;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}

.property-carousel-arrow.is-prev{
  left:-1px!important;
  border-radius:0 34px 34px 0!important;
  border-left:0!important;
  padding-right:5px!important;
}

.property-carousel-arrow.is-next{
  right:-1px!important;
  border-radius:34px 0 0 34px!important;
  border-right:0!important;
  padding-left:5px!important;
}

@media (hover:hover){
  .property-carousel-arrow:hover{
    background:linear-gradient(180deg,rgba(38,31,18,.94),rgba(13,12,10,.98))!important;
    border-color:rgba(244,203,111,.9)!important;
    box-shadow:0 9px 25px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.1)!important;
  }
}

@media (max-width:720px){
  .property-carousel-arrow{
    width:34px!important;
    height:56px!important;
    font-size:1.3rem!important;
  }
  .property-carousel-arrow.is-prev{
    left:-1px!important;
    border-radius:0 29px 29px 0!important;
    padding-right:4px!important;
  }
  .property-carousel-arrow.is-next{
    right:-1px!important;
    border-radius:29px 0 0 29px!important;
    padding-left:4px!important;
  }
}


/* Carousel arrows live in the outer glass gutter, never over card copy. */
.property-carousel-arrow.is-prev{
  left:-36px!important;
}
.property-carousel-arrow.is-next{
  right:-36px!important;
}

@media (max-width:720px){
  .property-carousel-arrow.is-prev{
    left:-27px!important;
  }
  .property-carousel-arrow.is-next{
    right:-27px!important;
  }
}


/* =====================================================
   SUN HOUSE CAROUSEL PALETTE — BRAND CHAMPAGNE GOLD
   Align carousel accents with the lower-site visual system.
===================================================== */
:root{
  --sunhouse-champagne:#caa66a;
  --sunhouse-champagne-light:#e3c58d;
  --sunhouse-champagne-dark:#9e7947;
}

.property-carousel-arrow{
  border-color:rgba(202,166,106,.62)!important;
  color:var(--sunhouse-champagne-light)!important;
}

@media (hover:hover){
  .property-carousel-arrow:hover{
    border-color:rgba(227,197,141,.88)!important;
    color:#f2dfb9!important;
  }
}

.property-description-toggle,
.property-carousel .property-card-link,
.property-all-grid .property-card-link{
  color:var(--sunhouse-champagne-light)!important;
}

.property-carousel .property-card-link,
.property-all-grid .property-card-link{
  background:linear-gradient(
    135deg,
    var(--sunhouse-champagne-light) 0%,
    var(--sunhouse-champagne) 58%,
    var(--sunhouse-champagne-dark) 100%
  )!important;
  color:#17120d!important;
  border-color:rgba(202,166,106,.46)!important;
}

.property-carousel .property-featured-badge,
.property-all-grid .property-featured-badge{
  background:linear-gradient(
    135deg,
    var(--sunhouse-champagne-light) 0%,
    var(--sunhouse-champagne) 58%,
    var(--sunhouse-champagne-dark) 100%
  )!important;
  color:#17120d!important;
  border-color:rgba(202,166,106,.44)!important;
}

.property-carousel .property-card[data-property-url]:focus-visible{
  outline-color:var(--sunhouse-champagne-light)!important;
}

.property-carousel .property-card .card-body,
.property-all-grid .property-card .card-body{
  border-color:rgba(202,166,106,.16)!important;
}

.property-carousel .price,
.property-all-grid .price,
.property-carousel .meta,
.property-all-grid .meta{
  color:rgba(255,255,255,.78)!important;
}


/* =====================================================
   PROPERTY ROOM STATS — SINGLE SOURCE OF TRUTH
   Same component on portrait, landscape, tablet and desktop.
===================================================== */
.property-carousel .property-room-stats,
.property-all-grid .property-room-stats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:start!important;
  gap:8px!important;
}

.property-carousel .property-room-stat,
.property-all-grid .property-room-stat{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:auto auto!important;
  grid-template-rows:20px auto!important;
  justify-content:center!important;
  align-items:center!important;
  column-gap:5px!important;
  row-gap:2px!important;
  text-align:center!important;
}

.property-carousel .property-room-icon,
.property-all-grid .property-room-icon{
  grid-column:1!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
}

.property-carousel .property-room-icon svg,
.property-all-grid .property-room-icon svg{
  display:block!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  transform:none!important;
}

.property-carousel .property-room-stat strong,
.property-all-grid .property-room-stat strong{
  grid-column:2!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:18px!important;
  margin:0!important;
  line-height:18px!important;
  font-variant-numeric:tabular-nums!important;
}

.property-carousel .property-room-stat small,
.property-all-grid .property-room-stat small{
  grid-column:1 / -1!important;
  grid-row:2!important;
  display:block!important;
  visibility:visible!important;
  opacity:.78!important;
  width:100%!important;
  min-height:0!important;
  margin:2px 0 0!important;
  text-align:center!important;
  line-height:1.15!important;
}

@media (max-width:720px){
  .property-carousel .property-room-stats,
  .property-all-grid .property-room-stats{
    gap:4px!important;
  }

  .property-carousel .property-room-stat,
  .property-all-grid .property-room-stat{
    grid-template-rows:18px auto!important;
    column-gap:4px!important;
  }

  .property-carousel .property-room-icon,
  .property-carousel .property-room-icon svg,
  .property-all-grid .property-room-icon,
  .property-all-grid .property-room-icon svg{
    width:16px!important;
    height:16px!important;
  }

  .property-carousel .property-room-stat strong,
  .property-all-grid .property-room-stat strong{
    min-height:16px!important;
    line-height:16px!important;
  }
}


/* Property nightly price — same champagne emphasis as VER MAIS */
.property-carousel .property-price,
.property-carousel .price,
.property-carousel [class*="price"],
.property-all-grid .property-price,
.property-all-grid .price,
.property-all-grid [class*="price"]{
  color:var(--sunhouse-champagne-light,#e3c58d)!important;
}


/* =====================================================
   PROPERTY CARD CONTENT — SINGLE VISUAL SYSTEM 2026-09-10
   Same hierarchy in portrait, landscape, tablet and desktop.
   Only available width changes between breakpoints.
===================================================== */
.property-carousel .property-card .card-body,
.property-all-grid .property-card .card-body{
  display:flex!important;
  flex-direction:column!important;
  color:#fff!important;
}

.property-carousel .property-card-heading,
.property-all-grid .property-card-heading{order:1!important}

.property-carousel .meta,
.property-all-grid .meta{
  order:2!important;
  color:rgba(255,255,255,.62)!important;
  font-size:.72rem!important;
  line-height:1.25!important;
}

.property-carousel .property-card-description-wrap,
.property-all-grid .property-card-description-wrap{
  order:3!important;
  margin-top:10px!important;
}

.property-carousel .property-card-description,
.property-all-grid .property-card-description{
  color:rgba(255,255,255,.92)!important;
}

.property-carousel .property-description-toggle,
.property-all-grid .property-description-toggle{
  display:inline-flex!important;
  align-items:center!important;
  align-self:flex-start!important;
  width:auto!important;
  min-height:26px!important;
  margin:5px 0 0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:var(--sunhouse-champagne-light,#e3c58d)!important;
  font-size:.72rem!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
}

.property-carousel .price,
.property-all-grid .price{
  order:4!important;
  width:100%!important;
  margin:10px 0 0!important;
  padding:0 0 9px!important;
  border-bottom:1px solid rgba(255,255,255,.20)!important;
  color:var(--sunhouse-champagne-light,#e3c58d)!important;
  font-size:.72rem!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-align:left!important;
}

.property-carousel .property-room-stats,
.property-all-grid .property-room-stats{
  order:5!important;
  margin:9px 0 0!important;
  padding:0!important;
  border-top:0!important;
}

.property-carousel .property-card-link,
.property-all-grid .property-card-link{
  order:6!important;
  margin-top:10px!important;
}

/* Real room/WC/guest component: identical geometry on all orientations. */
.property-carousel .property-room-stat,
.property-all-grid .property-room-stat{
  grid-template-columns:auto auto!important;
  grid-template-rows:18px 12px!important;
  column-gap:4px!important;
  row-gap:1px!important;
}

.property-carousel .property-room-icon,
.property-carousel .property-room-icon svg,
.property-all-grid .property-room-icon,
.property-all-grid .property-room-icon svg{
  width:16px!important;
  height:16px!important;
}

.property-carousel .property-room-stat strong,
.property-all-grid .property-room-stat strong{
  min-height:16px!important;
  font-size:.68rem!important;
  line-height:16px!important;
  color:rgba(255,255,255,.94)!important;
}

.property-carousel .property-room-stat small,
.property-all-grid .property-room-stat small{
  display:block!important;
  visibility:visible!important;
  opacity:.68!important;
  min-height:0!important;
  margin:0!important;
  color:rgba(255,255,255,.72)!important;
  font-size:.48rem!important;
  line-height:12px!important;
  white-space:nowrap!important;
  letter-spacing:0!important;
}

@media (max-width:720px){
  .property-carousel .meta,
  .property-all-grid .meta{
    font-size:.68rem!important;
  }

  .property-carousel .property-description-toggle,
  .property-all-grid .property-description-toggle,
  .property-carousel .price,
  .property-all-grid .price{
    font-size:.68rem!important;
  }

  .property-carousel .property-room-stats,
  .property-all-grid .property-room-stats{
    gap:2px!important;
  }

  .property-carousel .property-room-stat,
  .property-all-grid .property-room-stat{
    grid-template-rows:16px 10px!important;
    column-gap:3px!important;
  }

  .property-carousel .property-room-icon,
  .property-carousel .property-room-icon svg,
  .property-all-grid .property-room-icon,
  .property-all-grid .property-room-icon svg{
    width:14px!important;
    height:14px!important;
  }

  .property-carousel .property-room-stat strong,
  .property-all-grid .property-room-stat strong{
    min-height:14px!important;
    font-size:.56rem!important;
    line-height:14px!important;
  }

  .property-carousel .property-room-stat small,
  .property-all-grid .property-room-stat small{
    font-size:.38rem!important;
    line-height:10px!important;
  }
}
