/* =========================================================
   PROPERTY HARD LOCK FIX
   This file loads AFTER style.css. It overrides all old/conflicting
   property.php rules so the page cannot exceed the header boundary.
   ========================================================= */
body.property-page{
  --property-page-boundary:min(1120px, calc(100vw - 32px));
  overflow-x:hidden !important;
}
body.property-page *,
body.property-page *::before,
body.property-page *::after{box-sizing:border-box !important;}
body.property-page main,
body.property-page .page-hero,
body.property-page .section,
body.property-page .property-detail-section,
body.property-page #reviews{
  width:100% !important;
  max-width:100vw !important;
  overflow-x:hidden !important;
}
body.property-page .page-hero > .container,
body.property-page .property-detail-section > .container,
body.property-page #reviews > .container,
body.property-page .property-boundary,
body.property-page .property-detail-grid,
body.property-page .property-reviews-grid{
  width:var(--property-page-boundary) !important;
  max-width:var(--property-page-boundary) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
body.property-page .property-detail-grid{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) clamp(270px, 26vw, 310px) !important;
  gap:18px !important;
  align-items:start !important;
  overflow:hidden !important;
}
body.property-page .property-detail-grid > .property-slider{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  max-height:430px !important;
  justify-self:stretch !important;
  border-radius:16px !important;
  overflow:hidden !important;
}
body.property-page .property-slider-track,
body.property-page .property-slide,
body.property-page .property-slide img,
body.property-page .property-slide video{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
body.property-page .property-slide img,
body.property-page .property-slide video{
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
body.property-page .property-detail-grid > .detail-panel{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  justify-self:stretch !important;
  padding:16px !important;
  border-radius:16px !important;
  overflow:hidden !important;
}
body.property-page .detail-panel,
body.property-page .payment-safe-box,
body.property-page .locked-contact-box,
body.property-page .feature-list,
body.property-page .payment-inline-strip,
body.property-page .premium-contact-list,
body.property-page .property-contact-list,
body.property-page .payment-summary,
body.property-page .listing-top,
body.property-page .section-head,
body.property-page form,
body.property-page input,
body.property-page select,
body.property-page textarea,
body.property-page button,
body.property-page .btn{
  min-width:0 !important;
  max-width:100% !important;
}
body.property-page .detail-panel > div[style*="display:flex"],
body.property-page .listing-top,
body.property-page .feature-list,
body.property-page .payment-inline-strip,
body.property-page .section-head{
  flex-wrap:wrap !important;
}
body.property-page .payment-summary,
body.property-page .property-contact-list{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:8px !important;
}
body.property-page .payment-summary > div,
body.property-page .premium-contact-list > a,
body.property-page .property-contact-list > a,
body.property-page .payment-chip,
body.property-page .feature-pill,
body.property-page .tag,
body.property-page .kicker,
body.property-page .btn,
body.property-page .price,
body.property-page p,
body.property-page span,
body.property-page strong,
body.property-page a,
body.property-page div{
  max-width:100% !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  white-space:normal !important;
}
body.property-page .property-detail-grid > .detail-panel .price{
  font-size:clamp(.95rem, 1.15vw, 1.08rem) !important;
  line-height:1.25 !important;
}
body.property-page .property-detail-grid > .detail-panel .btn,
body.property-page .property-detail-grid > .detail-panel .payment-chip,
body.property-page .property-detail-grid > .detail-panel .feature-pill{
  padding:8px 10px !important;
  font-size:.8rem !important;
}
body.property-page .payment-safe-box{
  padding:13px !important;
  border-radius:14px !important;
}
body.property-page .property-reviews-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:18px !important;
  overflow:hidden !important;
}
body.property-page .property-reviews-grid > .detail-panel{
  width:100% !important;
  max-width:100% !important;
}
@media(max-width:980px){
  body.property-page{--property-page-boundary:calc(100vw - 24px);}
  body.property-page .property-detail-grid,
  body.property-page .property-reviews-grid{
    grid-template-columns:minmax(0, 1fr) !important;
  }
  body.property-page .property-detail-grid > .property-slider{
    max-height:none !important;
  }
}
@media(max-width:640px){
  body.property-page{--property-page-boundary:calc(100vw - 18px);}
  body.property-page .property-detail-grid > .property-slider{
    aspect-ratio:4 / 3 !important;
  }
  body.property-page .payment-summary,
  body.property-page .property-contact-list,
  body.property-page .property-reviews-grid{
    grid-template-columns:minmax(0, 1fr) !important;
  }
  body.property-page .property-detail-grid > .detail-panel{
    padding:15px !important;
  }
}

/* Poster profile / brand logo card above property side panel */
body.property-page .property-page-hero > .property-hero-grid{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) clamp(270px, 26vw, 310px) !important;
  gap:18px !important;
  align-items:end !important;
  width:var(--property-page-boundary) !important;
  max-width:var(--property-page-boundary) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
body.property-page .property-hero-copy{min-width:0 !important;max-width:100% !important;}
body.property-page .property-poster-card{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:56px minmax(0, 1fr) 34px !important;
  gap:12px !important;
  align-items:center !important;
  padding:12px 13px !important;
  border:1px solid #dce6ef !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(15,23,42,.07) !important;
  text-decoration:none !important;
  color:inherit !important;
  overflow:hidden !important;
}
body.property-page .property-poster-avatar{
  width:56px !important;
  height:56px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  flex:0 0 56px !important;
  background:linear-gradient(135deg,#0f8f81,#0b6f66) !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:1.2rem !important;
  background-size:cover !important;
  background-position:center !important;
  border:3px solid #eef8f6 !important;
}
body.property-page .property-poster-avatar.has-image{background-color:#eef8f6 !important;}
body.property-page .property-poster-info{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
}
body.property-page .property-poster-info span{
  color:#64748b !important;
  font-size:.78rem !important;
  font-weight:700 !important;
}
body.property-page .property-poster-info strong{
  color:#06142b !important;
  font-size:1rem !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
body.property-page .property-poster-info small{
  color:#64748b !important;
  font-size:.78rem !important;
  font-weight:700 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
body.property-page .property-poster-badge{
  width:30px !important;
  height:30px !important;
  border-radius:12px !important;
  display:grid !important;
  place-items:center !important;
  background:#e9fbf6 !important;
  color:#00796b !important;
  border:1px solid #bfeee4 !important;
  font-weight:900 !important;
  font-size:1rem !important;
}
body.property-page .property-poster-card:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 14px 32px rgba(15,23,42,.10) !important;
}
@media(max-width:980px){
  body.property-page .property-page-hero > .property-hero-grid{
    grid-template-columns:minmax(0, 1fr) !important;
    align-items:start !important;
  }
  body.property-page .property-poster-card{
    max-width:360px !important;
    justify-self:start !important;
  }
}
@media(max-width:640px){
  body.property-page .property-poster-card{
    grid-template-columns:48px minmax(0, 1fr) 30px !important;
    padding:10px 11px !important;
    border-radius:16px !important;
  }
  body.property-page .property-poster-avatar{width:48px !important;height:48px !important;flex-basis:48px !important;}
}
