/* ============================================================
   Property Detail Page (pages/web/property-detail.php)
   ============================================================ */

/* ── Gallery ─────────────────────────────────────────────── */
.pd-gallery__main {
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--colour-grey-200, #eceef1);
}
.pd-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pd-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.pd-gallery__thumb {
  border: 2px solid transparent;
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  padding: 0;
  cursor: pointer;
  background: none;
  opacity: 0.7;
  transition: opacity 150ms, border-color 150ms;
}
.pd-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-gallery__thumb:hover { opacity: 1; }
.pd-gallery__thumb.is-active { opacity: 1; border-color: var(--colour-gold, #b8973a); }

/* ── Layout ──────────────────────────────────────────────── */
.pd-layout { display: grid; grid-template-columns: 1fr 380px; gap: 48px; align-items: start; }
@media (max-width: 1024px) {
  .pd-layout { grid-template-columns: 1fr; }
}

.pd-header { margin-bottom: 24px; }
.pd-header__type { font-size: 0.8125rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--colour-gold, #b8973a); font-weight: 600; margin-bottom: 8px; }
.pd-header__title { font-family: var(--font-display, 'Cormorant Garamond', serif); font-size: 2.25rem; font-weight: 700; color: var(--colour-navy, #0d1b2a); margin: 0 0 12px; }
.pd-header__price { font-size: 1.5rem; font-weight: 700; color: var(--colour-navy, #0d1b2a); }
.pd-header__price-sub { font-size: 0.9375rem; font-weight: 500; color: var(--colour-text-muted, #6b7280); margin-left: 10px; }

.pd-specs {
  display: flex; flex-wrap: wrap; gap: 28px; padding: 20px 0; margin-bottom: 24px;
  border-top: 1px solid var(--colour-grey-200, #eceef1); border-bottom: 1px solid var(--colour-grey-200, #eceef1);
}
.pd-spec { display: flex; flex-direction: column; }
.pd-spec__value { font-size: 1.125rem; font-weight: 700; color: var(--colour-navy, #0d1b2a); }
.pd-spec__label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--colour-text-muted, #6b7280); margin-top: 2px; }

.pd-summary { font-size: 1rem; line-height: 1.7; color: var(--colour-text-muted, #6b7280); margin-bottom: 8px; }

.pd-section { margin-top: 36px; }
.pd-section__title { font-family: var(--font-display, serif); font-size: 1.375rem; font-weight: 700; color: var(--colour-navy, #0d1b2a); margin: 0 0 16px; }
.pd-prose { font-size: 0.9375rem; line-height: 1.75; color: var(--colour-text-muted, #6b7280); }

.pd-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px 20px; }
.pd-list li { font-size: 0.9375rem; color: var(--colour-text-muted, #6b7280); padding-left: 22px; position: relative; }
.pd-list li::before { content: '✓'; position: absolute; left: 0; color: var(--colour-gold, #b8973a); font-weight: 700; }

.pd-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px 24px; }
.pd-fact { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px dashed var(--colour-grey-200, #eceef1); padding-bottom: 8px; }
.pd-fact__label { font-size: 0.875rem; color: var(--colour-text-muted, #6b7280); }
.pd-fact__value { font-size: 0.875rem; font-weight: 600; color: var(--colour-navy, #0d1b2a); text-align: right; }

/* ── Sidebar / enquiry form ─────────────────────────────── */
.pd-sidebar { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 24px; }
.pd-enquiry-card { background: var(--colour-off-white, #f7f5f0); padding: 32px; border-top: 3px solid var(--colour-gold, #b8973a); }
.pd-enquiry-card__title { font-family: var(--font-display, serif); font-size: 1.375rem; font-weight: 600; color: var(--colour-navy, #0d1b2a); margin: 0 0 8px; }
.pd-enquiry-card__body { font-size: 0.875rem; color: var(--colour-text-muted, #6b7280); margin: 0 0 24px; line-height: 1.6; }
.pd-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.pd-enquiry-error { margin-top: 12px; font-size: 0.8125rem; color: #b42318; }
.pd-enquiry-success { display: flex; flex-direction: column; gap: 4px; background: #eafaf1; border: 1px solid #b7ebc6; color: #157347; padding: 16px; border-radius: 6px; font-size: 0.875rem; margin-bottom: 20px; }
.pd-enquiry-success[hidden] { display: none; }

.pd-contact-card { background: var(--colour-navy, #0d1b2a); color: #fff; padding: 24px 32px; text-align: center; }
.pd-contact-card__label { font-size: 0.8125rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--colour-gold, #b8973a); margin-bottom: 8px; }
.pd-contact-card__phone { color: #fff; font-size: 1.25rem; font-weight: 700; text-decoration: none; }
.pd-contact-card__phone:hover { color: var(--colour-gold, #b8973a); }
