/* Real Property Guru — Property Detail Final Premium V4
   Precision polish over Exact V2 + V3.1 foundation.
*/
body.rpg-property-detail-final-premium-v4{
  --rpg4-green:#078e48;
  --rpg4-green-bright:#11b965;
  --rpg4-deep:#033f30;
  --rpg4-ink:#17211c;
  --rpg4-muted:#66736c;
  --rpg4-line:#e3ebe6;
  --rpg4-soft:#eff9f3;
  --rpg4-gold:#f4b43d;
  --rpg4-page:#f4f7f5;
  --rpg4-shadow:0 18px 46px rgba(9,50,35,.075);
  --primary-color:#078e48!important;
  --hover-color:#05783c!important;
}

/* ----- page scale / typography ----- */
.rpg-property-detail-final-premium-v4 .rpgpd3-container{
  width:min(1420px,calc(100% - 48px))!important;
}
.rpg-property-detail-final-premium-v4 .rpgx-header-inner{
  min-height:76px!important;
}
.rpg-property-detail-final-premium-v4 .rpgx-nav a{
  font-size:15px!important;
  font-weight:750!important;
}
.rpg-property-detail-final-premium-v4 .rpgx-brand-copy b{
  font-size:13px!important;
}
.rpg-property-detail-final-premium-v4 .rpgx-brand-copy span{
  font-size:12.5px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-breadcrumb{
  min-height:56px!important;
  font-size:13px!important;
}

/* ----- gallery + agency showcase ----- */
.rpg-property-detail-final-premium-v4 .rpgpd3-showcase{
  grid-template-columns:minmax(0,1fr) 370px!important;
  gap:18px!important;
  margin-bottom:20px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd2-gallery{
  height:530px!important;
  grid-template-rows:260px 260px!important;
  gap:10px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd2-gallery-item{
  border-radius:19px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd2-gallery-badge{
  padding:8px 11px!important;
  font-size:12.5px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-agency-card{
  height:530px!important;
  padding:24px!important;
  border-radius:21px!important;
  box-shadow:var(--rpg4-shadow)!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-agency-card:before{
  height:5px!important;
  background:linear-gradient(90deg,var(--rpg4-green),#39c777)!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-agency-logo{
  width:96px!important;
  height:96px!important;
  flex-basis:96px!important;
  border-radius:24px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-agency-name{
  font-size:21px!important;
  line-height:1.14!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-agency-role{
  font-size:13px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-agency-verified{
  font-size:12.5px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-agency-location{
  min-height:44px!important;
  font-size:13px!important;
  padding:11px 13px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd4-agency-metrics>div{
  padding:13px 7px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd4-agency-metrics strong{
  font-size:14px!important;
  font-weight:900!important;
  color:var(--rpg4-deep)!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd4-agency-metrics span{
  font-size:12.5px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-agency-profile-btn{
  min-height:48px!important;
  font-size:13.5px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-agency-direct a{
  min-height:44px!important;
  font-size:13px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-agency-note{
  font-size:12.5px!important;
  line-height:1.5!important;
}

/* ----- main content / sidebar ratio ----- */
.rpg-property-detail-final-premium-v4 .rpgpd3-layout{
  grid-template-columns:minmax(0,1fr) 385px!important;
  gap:24px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-card,
.rpg-property-detail-final-premium-v4 .rpgpd2-summary-card,
.rpg-property-detail-final-premium-v4 .rpgpd3-enquiry-card,
.rpg-property-detail-final-premium-v4 .rpgpd3-sidebar-widgets>.widget,
.rpg-property-detail-final-premium-v4 .rpgpd3-sidebar-widgets>div{
  border-color:var(--rpg4-line)!important;
  box-shadow:0 14px 38px rgba(9,50,35,.06)!important;
}

/* ----- summary ----- */
.rpg-property-detail-final-premium-v4 .rpgpd2-summary-card{
  padding:25px!important;
  margin-bottom:13px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd2-summary-card h1{
  font-size:29px!important;
  line-height:1.14!important;
  letter-spacing:-.025em!important;
  max-width:760px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd2-price{
  font-size:31px!important;
  color:var(--rpg4-green)!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd2-meta{
  font-size:13.5px!important;
  gap:11px 18px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd2-location{
  font-size:14px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd2-icon-btn{
  width:46px!important;
  height:46px!important;
}

/* ----- quick facts ----- */
.rpg-property-detail-final-premium-v4 .rpgpd3-facts-strip{
  margin-bottom:17px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-facts-strip .rpgpd2-overview-grid{
  gap:10px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-facts-strip .rpgpd2-overview-item{
  min-height:78px!important;
  padding:14px!important;
  border-radius:15px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-facts-strip .rpgpd2-overview-icon{
  width:40px!important;
  height:40px!important;
  flex-basis:40px!important;
  border-radius:12px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-facts-strip .rpgpd2-overview-icon svg{
  width:20px!important;
  height:20px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-facts-strip .rpgpd2-overview-item small{
  font-size:12.5px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-facts-strip .rpgpd2-overview-item strong{
  font-size:15px!important;
}

/* ----- description / highlights ----- */
.rpg-property-detail-final-premium-v4 .rpgpd3-description-card{
  padding:26px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-section-heading span{
  font-size:12.5px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-section-heading h2{
  font-size:23px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-description{
  font-size:15.5px!important;
  line-height:1.8!important;
  color:#4d5952!important;
  max-height:145px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-description.is-expanded{
  max-height:none!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-description:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:38px;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);
  pointer-events:none;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-description.is-expanded:after{
  display:none;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-private-note{
  background:#f2f6fb!important;
  border-color:#d8e2ef!important;
  color:#445a73!important;
  font-size:13px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-highlight-grid{
  gap:11px 18px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-highlight-grid>div{
  font-size:13.5px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-show-more{
  min-height:36px!important;
  font-size:12.5px!important;
}

/* ----- location / features ----- */
.rpg-property-detail-final-premium-v4 .rpgpd3-map-features{
  grid-template-columns:1.08fr .92fr!important;
  gap:17px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-map-card,
.rpg-property-detail-final-premium-v4 .rpgpd3-features-card{
  padding:24px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-map-card iframe{
  min-height:320px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-features-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:11px 14px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-features-list>div{
  font-size:13px!important;
  line-height:1.45!important;
}

/* ----- enquiry ----- */
.rpg-property-detail-final-premium-v4 .rpgpd3-enquiry-card{
  padding:24px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-enquiry-heading h3{
  font-size:20px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-enquiry-form label{
  font-size:12.5px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-enquiry-form .form-control{
  min-height:46px!important;
  font-size:14px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-enquiry-form textarea.form-control{
  min-height:104px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-send-button{
  min-height:48px!important;
  font-size:14px!important;
}

/* ----- mortgage: force RPG green + tighter result panel ----- */
.rpg-property-detail-final-premium-v4 .rpgpd3-mortgage-target .mortgage-calculator{
  --primary-color:var(--rpg4-green)!important;
  --mc-primary:var(--rpg4-green)!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-mortgage-target .mortgage-calculator__title{
  font-size:19px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-mortgage-target .mortgage-calculator__tab--active,
.rpg-property-detail-final-premium-v4 .rpgpd3-mortgage-target .mortgage-calculator__tab.active{
  color:var(--rpg4-green)!important;
  border-color:var(--rpg4-green)!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-mortgage-target .mortgage-calculator__slider{
  accent-color:var(--rpg4-green)!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-mortgage-target .mortgage-calculator__slider::-webkit-slider-thumb{
  background:var(--rpg4-green)!important;
  border-color:var(--rpg4-green)!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-mortgage-target .mortgage-calculator__slider::-moz-range-thumb{
  background:var(--rpg4-green)!important;
  border-color:var(--rpg4-green)!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-mortgage-target .mortgage-calculator__slider::-moz-range-progress{
  background:var(--rpg4-green)!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-mortgage-target .mortgage-calculator__input:focus{
  border-color:var(--rpg4-green)!important;
  box-shadow:0 0 0 3px rgba(7,142,72,.10)!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-mortgage-target .mortgage-calculator__results-panel{
  min-height:130px!important;
  background:linear-gradient(145deg,#effaf4,#e7f6ed)!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-mortgage-target .mortgage-calculator__result-value,
.rpg-property-detail-final-premium-v4 .rpgpd3-mortgage-target [data-result="monthly-payment"]{
  color:var(--rpg4-green)!important;
}

/* ----- disclaimer / reviews ----- */
.rpg-property-detail-final-premium-v4 .rpgpd3-review-disclaimer{
  grid-template-columns:.58fr 1.42fr!important;
  gap:17px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-disclaimer-target>.property-disclaimer{
  background:#fffaf0!important;
  border-color:#efe0b9!important;
  padding:20px!important;
}
.rpg-property-detail-final-premium-v4 .property-disclaimer-body{
  font-size:12.5px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-review-card{
  padding:24px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-review-card .h7,
.rpg-property-detail-final-premium-v4 .rpgpd3-review-card h4,
.rpg-property-detail-final-premium-v4 .rpgpd3-review-card h5{
  font-size:19px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-review-card .review-item,
.rpg-property-detail-final-premium-v4 .rpgpd3-review-card .comment-item{
  border-radius:14px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd3-review-card .list-review:empty:after,
.rpg-property-detail-final-premium-v4 .rpgpd3-review-card .review-list:empty:after{
  content:"No reviews yet. Be the first to share your experience.";
  display:block;
  padding:26px;
  text-align:center;
  color:#7c8982;
  background:#f8fbf9;
  border-radius:13px;
}

/* ----- similar properties ----- */
.rpg-property-detail-final-premium-v4 .rpgpd2-related{
  margin-top:38px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd2-related-head h2{
  font-size:31px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd2-related-grid{
  gap:17px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd2-related-grid .homelengo-box,
.rpg-property-detail-final-premium-v4 .rpgpd2-related-grid .property-card{
  border-radius:18px!important;
  box-shadow:0 14px 34px rgba(8,49,34,.07)!important;
  transition:transform .22s ease,box-shadow .22s ease!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd2-related-grid .homelengo-box:hover,
.rpg-property-detail-final-premium-v4 .rpgpd2-related-grid .property-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 20px 44px rgba(8,49,34,.10)!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd2-related-grid .archive-top img,
.rpg-property-detail-final-premium-v4 .rpgpd2-related-grid .property-card img{
  height:220px!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd2-related-grid .title,
.rpg-property-detail-final-premium-v4 .rpgpd2-related-grid .property-title{
  font-size:16px!important;
  line-height:1.35!important;
}
.rpg-property-detail-final-premium-v4 .rpgpd2-related-grid .price{
  font-size:18px!important;
  color:var(--rpg4-green)!important;
}

/* ----- footer readability ----- */
.rpg-property-detail-final-premium-v4 .rpgx-footer{
  padding-top:52px!important;
  margin-top:54px!important;
}
.rpg-property-detail-final-premium-v4 .rpgx-footer h4{
  font-size:14px!important;
  margin-bottom:12px!important;
}
.rpg-property-detail-final-premium-v4 .rpgx-footer a,
.rpg-property-detail-final-premium-v4 .rpgx-footer p{
  font-size:12.5px!important;
  line-height:1.7!important;
}

/* ----- desktop-only mobile bar protection ----- */
@media(min-width:768px){
  .rpg-property-detail-final-premium-v4 .rpg-mobile-contact-bar{
    display:none!important;
  }
}

@media(max-width:1180px){
  .rpg-property-detail-final-premium-v4 .rpgpd3-showcase{
    grid-template-columns:minmax(0,1fr) 340px!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-layout{
    grid-template-columns:minmax(0,1fr) 350px!important;
  }
}

@media(max-width:991px){
  .rpg-property-detail-final-premium-v4 .rpgpd3-container{
    width:min(100% - 32px,1420px)!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-showcase{
    grid-template-columns:1fr!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-agency-card{
    height:auto!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-layout{
    grid-template-columns:1fr!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-sticky{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:16px!important;
    position:static!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-enquiry-card{
    margin:0!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-sidebar-widgets{
    grid-column:1/-1;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd2-related-grid{
    grid-template-columns:repeat(2,1fr)!important;
  }
}

@media(max-width:767px){
  body.rpg-property-detail-final-premium-v4{
    padding-bottom:92px!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-container{
    width:min(100% - 24px,1420px)!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-showcase{
    gap:12px!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd2-gallery{
    height:auto!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-agency-card{
    padding:19px!important;
    border-radius:18px!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-agency-logo{
    width:76px!important;height:76px!important;flex-basis:76px!important;border-radius:19px!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-agency-name{
    font-size:18px!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd4-agency-metrics{
    grid-template-columns:repeat(3,1fr)!important;
    display:grid!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd4-agency-metrics>div{
    padding:10px 5px!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd2-summary-card{
    padding:19px!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd2-summary-card h1{
    font-size:24px!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd2-price{
    font-size:25px!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-facts-strip .rpgpd2-overview-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-description-card,
  .rpg-property-detail-final-premium-v4 .rpgpd3-map-card,
  .rpg-property-detail-final-premium-v4 .rpgpd3-features-card,
  .rpg-property-detail-final-premium-v4 .rpgpd3-review-card,
  .rpg-property-detail-final-premium-v4 .rpgpd3-share-card{
    padding:19px!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-map-features{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-features-list{
    grid-template-columns:1fr!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-review-disclaimer{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-sticky{
    display:block!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd3-enquiry-card{
    margin-bottom:12px!important;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd2-related-grid{
    display:flex!important;
    overflow-x:auto!important;
    gap:12px!important;
    scroll-snap-type:x mandatory;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd2-related-grid>*{
    min-width:84%!important;
    scroll-snap-align:start;
  }
  .rpg-property-detail-final-premium-v4 .rpgpd2-related-grid .archive-top img,
  .rpg-property-detail-final-premium-v4 .rpgpd2-related-grid .property-card img{
    height:230px!important;
  }
  .rpg-property-detail-final-premium-v4 .rpg-mobile-contact-bar{
    display:flex!important;
  }
}
