/* NORZAR Real Estate v209 polish
   Repairs Cascais presentation sizing and keeps the Real Estate detail pages
   on the cream / deep-green / sage visual system. Loaded last. */
:root{
  --estate-ink:#173b34;
  --estate-paper:#f6f4ee;
  --estate-muted:#66736b;
  --estate-line:#d8ddd3;
  --estate-sage:#e8ebe1;
  --estate-accent:#49685f;
  --estate-accent-soft:#eef1e9;
}

.estate-detail .eyebrow,
.estate-detail .kicker{color:#6d786f!important;}
.estate-detail .meta-card svg,
.estate-detail .mini-icon svg{stroke:var(--estate-ink)!important;}
.estate-detail .mini-icon{background:var(--estate-accent-soft)!important;}
.estate-detail .notice{
  border-left-color:var(--estate-ink)!important;
  background:#f1f3ed!important;
  color:#586a61!important;
}
.estate-detail .side-card,
.estate-detail .detail-contact .contact-card{background:var(--estate-ink)!important;}
.estate-detail .big-price,
.estate-detail .detail-price-box strong{color:#f6f4ee!important;}
.estate-detail .general-contact-btn span,
.estate-detail .qr-item,
.estate-detail .qr-item span{color:#d9e2d9!important;}

.estate-detail .concept-image-link{background:#e9ece3!important;}
.estate-detail .concept-view{
  background:rgba(23,59,52,.92)!important;
  border-color:rgba(255,255,255,.35)!important;
  color:#fff!important;
}
.estate-detail .concept-disclaimer{
  background:#f1f3ed!important;
  border-color:#d8ddd3!important;
  color:#586a61!important;
}
.estate-detail .concept-figure{
  border-color:var(--estate-line)!important;
  box-shadow:0 14px 34px rgba(23,59,52,.075)!important;
}
.estate-detail .concept-figure figcaption strong{color:var(--estate-ink)!important;}

.estate-detail .photo-lightbox-image{background:#122f2a!important;}
.estate-detail .photo-lightbox-close:hover,
.estate-detail .photo-lightbox-prev:hover,
.estate-detail .photo-lightbox-next:hover{
  background:#f6f4ee!important;
  color:#173b34!important;
  border-color:#f6f4ee!important;
}

/* Cascais: deliberately compact project gallery. Prevent legacy responsive
   rules from turning each render into an oversized full-width poster. */
body[data-page="cascais-development-plot.html"] .concept-inner{
  max-width:1180px!important;
}
body[data-page="cascais-development-plot.html"] .concept-gallery{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
}
body[data-page="cascais-development-plot.html"] .concept-figure{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  border-radius:3px!important;
  overflow:hidden!important;
}
body[data-page="cascais-development-plot.html"] .concept-image-link{
  aspect-ratio:16/10!important;
  min-height:0!important;
}
body[data-page="cascais-development-plot.html"] .concept-image-link img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}
body[data-page="cascais-development-plot.html"] .concept-figure figcaption{
  flex:1 1 auto!important;
  padding:15px 17px 17px!important;
}
body[data-page="cascais-development-plot.html"] .concept-head{
  margin-bottom:26px!important;
}
body[data-page="cascais-development-plot.html"] .concept-disclaimer{
  margin-top:18px!important;
}

/* Keep the primary property image controlled even if an image fails to load. */
body[data-page="cascais-development-plot.html"] .property-gallery{
  min-height:0!important;
  background:#e9ece3!important;
}
body[data-page="cascais-development-plot.html"] .property-gallery img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}

@media(max-width:760px){
  body[data-page="cascais-development-plot.html"] .concept-gallery{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  body[data-page="cascais-development-plot.html"] .concept-image-link{
    aspect-ratio:16/10!important;
  }
}
@media(max-width:620px){
  .estate-detail .property-meta{gap:10px!important;}
  .estate-detail .meta-card{padding:14px!important;}
  .estate-detail .concept-view{font-size:.72rem!important;padding:7px 10px!important;}
}
