/* ==========================================================================
   PROPERTY DETAILS
   ========================================================================== */

.breadcrumbs--top {
  padding-top: var(--space-6);
}

/* ---- Gallery ---- */
.gallery {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: var(--space-3);
  margin-top: var(--space-4);
  margin-bottom: var(--space-4);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.gallery__main {
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, var(--navy-700), var(--navy-900));
  cursor: pointer;
}

.gallery__thumbs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3);
}

.gallery__thumb {
  aspect-ratio: 1 / 1;
  background: linear-gradient(135deg, var(--navy-600), var(--navy-800));
  cursor: pointer;
  transition: opacity var(--duration-fast) var(--ease-standard);
}

.gallery__thumb:hover { opacity: 0.85; }

.gallery .property-card__placeholder { color: rgba(228, 203, 122, 0.3); }

/* ---- Layout ---- */
.property-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: var(--space-16);
  align-items: start;
}

.property-main {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

/* ---- Summary header ---- */
.property-summary__community {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--gold-600);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.property-summary__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  margin-block: var(--space-2) var(--space-4);
}

.property-summary__price {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  color: var(--navy-900);
}

.property-summary__price span {
  display: block;
  font-family: var(--font-body);
  font-size: var(--text-xs);
  color: var(--slate-400);
  font-weight: 500;
}

.property-summary__specs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
  padding-top: var(--space-5);
  border-top: 1px solid var(--border);
}

.property-summary__spec {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.property-summary__spec strong {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  color: var(--navy-900);
}

.property-summary__spec span {
  font-size: var(--text-xs);
  color: var(--slate-400);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* ---- Blocks ---- */
.property-block h2 {
  margin-bottom: var(--space-5);
}

/* ---- Spec grid ---- */
.spec-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-3) var(--space-8);
}

.spec-row {
  display: flex;
  justify-content: space-between;
  padding-block: var(--space-3);
  border-bottom: 1px solid var(--border);
  font-size: var(--text-sm);
}

.spec-row span:first-child { color: var(--slate-400); }
.spec-row span:last-child { color: var(--slate-900); font-weight: 600; }

/* ---- Floor plan ---- */
.floor-plan-media {
  aspect-ratio: 16 / 10;
  background: var(--cream-100);
  border: 1px dashed var(--border);
  border-radius: var(--radius-md);
}

.floor-plan-media .property-card__placeholder { color: var(--slate-400); }

/* ---- Payment options ---- */
.payment-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}

.payment-option-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--space-5);
}

.payment-option-card h3 {
  font-size: var(--text-base);
  margin-bottom: var(--space-2);
  color: var(--gold-600);
}

.payment-option-card p {
  font-size: var(--text-sm);
}

/* ---- Calculator ---- */
.calculator-note {
  font-size: var(--text-xs);
  color: var(--slate-400);
  margin-bottom: var(--space-5);
}

.calculator {
  padding: var(--space-8);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-8);
}

.calculator__inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
}

.calculator__inputs .form-group { margin-bottom: 0; }

.calculator__result {
  background: var(--navy-900);
  border-radius: var(--radius-md);
  padding: var(--space-8);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-2);
  text-align: center;
}

.calculator__result-label {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--gold-300);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.calculator__result-value {
  font-family: var(--font-display);
  font-size: var(--text-3xl);
  color: var(--white);
}

.calculator__result-sub {
  font-size: var(--text-xs);
  color: rgba(250, 248, 243, 0.6);
}

/* ---- Map ---- */
.map-embed {
  aspect-ratio: 16 / 7;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--border);
}

.map-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* ---- Inquiry sidebar ---- */
.inquiry-sidebar {
  position: sticky;
  top: calc(var(--space-16) + 60px);
}

.inquiry-card {
  padding: var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.inquiry-card__price {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  color: var(--navy-900);
}

.inquiry-card__meta {
  font-size: var(--text-xs);
  color: var(--slate-400);
}

.inquiry-card__divider {
  border-top: 1px solid var(--border);
}

.inquiry-card__contact-row {
  display: flex;
  gap: var(--space-2);
}

.inquiry-card__contact-row .btn { flex: 1; }

/* ---- Responsive ---- */
@media (max-width: 1080px) {
  .property-layout { grid-template-columns: 1fr; }
  .inquiry-sidebar { position: static; max-width: 460px; }
  .calculator { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .gallery { grid-template-columns: 1fr; }
  .spec-grid { grid-template-columns: 1fr; }
  .payment-options { grid-template-columns: 1fr; }
  .calculator__inputs { grid-template-columns: 1fr; }
  .property-summary__top { flex-direction: column; }
}
