
/* MASTER PROPERTY DETAIL TEMPLATE — matches MSP 51R */
.property-master-hero{
  padding:38px 0 24px;
  background:var(--cream,#fbf5eb);
}
.property-master-inner{
  width:min(1380px,92%);
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,57fr) minmax(390px,43fr);
  gap:32px;
}
.property-master-slideshow,
.property-master-details{
  height:530px;
  min-height:530px;
  border:1px solid var(--line,#dccbb5);
  border-radius:20px;
  background:#fffdf9;
  box-shadow:0 16px 36px rgba(62,34,23,.11);
}
.property-master-slideshow{
  position:relative;
  overflow:hidden;
  background:#e8ded0;
}
.property-master-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transition:opacity .45s ease;
  border-radius:inherit;
}
.property-master-slide.active{opacity:1}
.property-master-caption{
  position:absolute;
  left:18px;
  bottom:18px;
  max-width:68%;
  padding:10px 14px;
  color:white;
  background:rgba(35,18,15,.72);
  border-radius:10px;
  font-size:12px;
  z-index:3;
}
.property-master-controls{
  position:absolute;
  right:18px;
  bottom:18px;
  display:flex;
  gap:8px;
  z-index:4;
}
.property-master-controls button{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.65);
  border-radius:50%;
  background:rgba(83,31,36,.90);
  color:white;
  cursor:pointer;
  font-size:20px;
}
.property-master-dots{
  position:absolute;
  left:50%;
  bottom:29px;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  z-index:4;
}
.property-master-dot{
  width:9px;
  height:9px;
  border:0;
  border-radius:50%;
  background:rgba(255,250,242,.68);
  cursor:pointer;
  padding:0;
}
.property-master-dot.active{background:#7a2029}
.property-master-details{
  padding:34px 36px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
}
.property-master-details h1{
  margin:7px 0 12px;
  color:var(--maroon-dark,#4b171c);
  font-size:44px;
  line-height:1;
}
.property-master-subtitle{
  margin:0 0 18px;
  color:var(--ink,#241f1c);
  font:400 23px Georgia,"Times New Roman",serif;
}
.property-master-address{
  margin:0 0 22px;
  color:var(--muted,#665d55);
  font-size:15px;
}
.property-master-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:24px;
}
.property-master-actions .btn{
  min-height:46px;
  padding:0 17px;
  font-size:10px;
}
.property-master-actions .btn.outline{
  background:#fffaf2!important;
  color:#7a2029!important;
  border-color:#bd9148!important;
}
.property-master-actions .btn.outline:hover{
  background:#7a2029!important;
  color:#fffaf2!important;
}
.property-master-facts{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--line,#dccbb5);
  border-bottom:1px solid var(--line,#dccbb5);
}
.property-master-facts div{
  min-width:0;
  padding:15px 12px 15px 0;
}
.property-master-facts div:nth-child(even){
  padding-left:16px;
  border-left:1px solid var(--line,#dccbb5);
}
.property-master-facts strong{
  display:block;
  color:var(--maroon-dark,#4b171c);
  font:400 18px Georgia,"Times New Roman",serif;
  overflow-wrap:anywhere;
}
.property-master-facts span{
  display:block;
  margin-top:3px;
  color:var(--muted,#665d55);
  font-size:10px;
  line-height:1.35;
  letter-spacing:.05em;
  text-transform:uppercase;
}

/* Matching bold property navigation */
.property-master-nav{
  background:#f4eadf;
  border-top:1px solid var(--line,#dccbb5);
  border-bottom:1px solid var(--line,#dccbb5);
}
.property-master-nav .container{
  min-height:66px;
  display:flex;
  align-items:center;
  gap:28px;
  overflow-x:auto;
  scrollbar-width:none;
}
.property-master-nav .container::-webkit-scrollbar{display:none}
.property-master-nav a{
  position:relative;
  padding:23px 0 20px;
  color:var(--ink,#241f1c);
  font-size:11px;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
  white-space:nowrap;
}
.property-master-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:13px;
  height:2px;
  background:var(--maroon,#7a2029);
  transform:scaleX(0);
}
.property-master-nav a:hover,
.property-master-nav a.active{color:var(--maroon,#7a2029)}
.property-master-nav a:hover::after,
.property-master-nav a.active::after{transform:scaleX(1)}

/* Soften all property photography */
.gallery-item,
.land-card,
.related-card,
.custom-home-single-image,
.property-builder-image,
.school-card,
.fact-card,
.highlight{
  border-radius:18px!important;
  overflow:hidden;
}
.gallery-item img,
.land-card img,
.related-card img,
.custom-home-single-image,
.property-builder-image{
  border-radius:inherit!important;
}
.gallery-layout,
.land-grid,
.related-grid{
  gap:18px!important;
}

/* Remove oversized empty "Imagine Your Home Here" blocks if present */
.imagine-home-section,
.property-imagine-section{
  padding:54px 0!important;
}
.imagine-home-section h2,
.property-imagine-section h2{
  font-size:38px!important;
}

/* Uniform inquiry section */
.inquiry-section{
  padding:58px 0!important;
}
.inquiry-grid{
  align-items:start;
}
.inquiry-form{
  border-radius:18px;
  box-shadow:0 12px 28px rgba(62,34,23,.07);
}
.inquiry-form input,
.inquiry-form textarea{
  border-radius:8px;
}
.inquiry-form .btn{
  background:#7a2029!important;
  color:white!important;
  border-color:#7a2029!important;
}

/* Homepage minimal footer */
.minimal-footer{
  background:var(--maroon-dark,#4b171c);
  color:var(--cream,#fbf5eb);
  padding:22px 0;
  border-top:1px solid var(--gold,#bd9148);
  text-align:center;
}
.minimal-footer p{
  margin:3px 0;
  font-size:13px;
}

@media(max-width:1050px){
  .property-master-inner{
    grid-template-columns:minmax(0,55fr) minmax(350px,45fr);
    gap:26px;
  }
  .property-master-slideshow,
  .property-master-details{
    height:500px;
    min-height:500px;
  }
}
@media(max-width:850px){
  .property-master-inner{grid-template-columns:1fr}
  .property-master-slideshow{
    height:410px;
    min-height:410px;
  }
  .property-master-details{
    height:auto;
    min-height:0;
  }
}
@media(max-width:600px){
  .property-master-inner{width:min(94%,680px)}
  .property-master-slideshow{
    height:290px;
    min-height:290px;
    border-radius:16px;
  }
  .property-master-details{
    padding:25px 22px;
    border-radius:16px;
  }
  .property-master-facts{grid-template-columns:1fr}
  .property-master-facts div:nth-child(even){
    padding-left:0;
    border-left:0;
  }
  .property-master-caption{max-width:55%;font-size:11px}
  .property-master-dots{display:none}
}


/* ==========================================================
   SINGLE PROPERTY NAVIGATION — SAME STYLE, PAGE-SPECIFIC WORDING
   ========================================================== */
.property-master-nav{
  background:#f4eadf;
  border-top:1px solid var(--line,#dccbb5);
  border-bottom:1px solid var(--line,#dccbb5);
}
.property-master-nav .container{
  min-height:66px;
  display:flex;
  align-items:center;
  gap:28px;
  overflow-x:auto;
  scrollbar-width:none;
}
.property-master-nav .container::-webkit-scrollbar{display:none}
.property-master-nav a{
  position:relative;
  padding:23px 0 20px;
  color:var(--ink,#241f1c);
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
  white-space:nowrap;
}
.property-master-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:13px;
  height:2px;
  background:var(--maroon,#7a2029);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .2s ease;
}
.property-master-nav a:hover,
.property-master-nav a.active{
  color:var(--maroon,#7a2029);
}
.property-master-nav a:hover::after,
.property-master-nav a.active::after{
  transform:scaleX(1);
}
