/* ===== Property page, on top of css/style.css ===== */
.property{ padding: 112px 0 80px; }
.property-back{ display:inline-block; margin-bottom:20px; font-size:.9rem; font-weight:600; color: var(--wine); }
.property-top{ display:grid; grid-template-columns: minmax(0,3fr) minmax(0,2fr); gap:36px; align-items:start; }
#property-photo{ width:100%; aspect-ratio: 3 / 2; object-fit:cover; border-radius: var(--radius); box-shadow: var(--shadow); background: var(--sand); }
.property-thumbs{ display:grid; grid-template-columns:repeat(auto-fill,minmax(84px,1fr)); gap:10px; margin-top:12px; }
.property-thumbs button{ padding:0; border:2px solid transparent; border-radius: var(--radius-sm); overflow:hidden; cursor:pointer; background:none; }
.property-thumbs button.active{ border-color: var(--wine); }
.property-thumbs img{ width:100%; height:64px; object-fit:cover; }
.property-summary{ display:flex; flex-direction:column; align-items:stretch; gap:12px; background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); padding:26px; }
.property-tag{ align-self:flex-start; background: var(--green); color: var(--white); padding:6px 14px; border-radius:999px; font-size:.75rem; font-weight:700; }
.property-summary h1{ font-size: clamp(1.4rem, 2.4vw, 1.8rem); margin:0; }
.property-price{ font-family: var(--ff-head); font-size:1.5rem; color: var(--wine); }
.property-summary .listing-specs{ margin:0; }
.property-desc{ padding:0; margin-top:44px; max-width:760px; }
.property-desc h2{ font-size:1.3rem; }
.property-desc p{ font-size:1rem; }

@media (max-width:860px){
  .property{ padding-top:96px; }
  .property-top{ grid-template-columns:1fr; gap:22px; }
  .property-desc{ margin-top:32px; }
}
