/* ── CONTACT PAGE STYLES ── */

.contact-section { padding: 100px 60px; background: var(--cream); }
.contact-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.3fr; gap: 100px; align-items: start; }
.contact-info { position: sticky; top: 120px; }
.body-text { font-size: 18px; line-height: 1.9; color: var(--text-mid); margin-bottom: 20px; }

/* CONTACT DETAIL CARDS */
.contact-details { display: flex; flex-direction: column; gap: 2px; margin-top: 40px; margin-bottom: 40px; }
.contact-detail { background: var(--espresso); padding: 28px 32px; display: flex; align-items: flex-start; gap: 20px; }
.cd-icon { font-size: 22px; flex-shrink: 0; margin-top: 2px; }
.cd-title { font-size: 13px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; font-weight: 500; }
.cd-text { font-size: 16px; color: rgba(250,246,240,0.6); line-height: 1.7; }
.cd-text a { color: var(--gold); text-decoration: none; }

/* MAP EMBED */
.map-embed { width: 100%; height: 300px; border: none; display: block; margin-top: 4px; }

/* MINI CTA */
.book-cta-mini {
  background: var(--warm-dark);
  padding: 100px 60px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.book-cta-mini-inner { position: relative; z-index: 1; max-width: 640px; margin: 0 auto; }

/* RESPONSIVE */
@media (max-width: 900px) {
  .contact-section { padding: 60px 24px; }
  .contact-inner { grid-template-columns: 1fr; gap: 60px; }
  .contact-info { position: static; }
  .book-cta-mini { padding: 80px 24px; }
}
