/* ============================================
   CONTACT SECTION
   ============================================ */
.contact-section{ padding-block:90px 100px; }
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }

.contact-form{ display:flex; flex-direction:column; gap:20px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-field{ display:flex; flex-direction:column; gap:8px; }
.form-field label{ font-size:13px; font-weight:600; color:var(--text-secondary); }
.form-field input, .form-field select, .form-field textarea{
  background:var(--bg-surface); border:1px solid var(--border-hairline-strong); border-radius:var(--radius-sm);
  color:var(--text-primary); padding:13px 15px; font-family:var(--font-body); font-size:14.5px;
  transition:border-color .16s ease;
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{
  outline:none; border-color:var(--accent-flame);
}
.form-field textarea{ resize:vertical; min-height:120px; }
.form-note{ font-size:12.5px; color:var(--text-tertiary); }

@media (max-width:560px){ .form-row{ grid-template-columns:1fr; } }
@media (max-width:900px){ .contact-grid{ grid-template-columns:1fr; } }

/* Sidebar: booking widget slot + map + info */
.contact-sidebar{ display:flex; flex-direction:column; gap:28px; }
.booking-embed{
  border:1px solid var(--border-hairline-strong); border-radius:var(--radius-md);
  background:var(--bg-surface); padding:28px; text-align:center;
}
.booking-embed .eyebrow{ justify-content:center; }
.booking-embed h3{ font-family:var(--font-display); font-size:24px; text-transform:uppercase; margin-bottom:10px; }
html[dir="rtl"] .booking-embed h3{ text-transform:none; font-weight:800; }
.booking-embed p{ color:var(--text-secondary); font-size:14px; margin-bottom:20px; }
.booking-frame-placeholder{
  aspect-ratio:4/3; border-radius:var(--radius-sm); border:1px dashed var(--border-hairline-strong);
  display:flex; align-items:center; justify-content:center; margin-bottom:20px;
  font-family:var(--font-mono); font-size:12px; color:var(--text-tertiary); text-align:center; padding:20px;
  background:var(--bg-void);
}

.info-card{ border:1px solid var(--border-hairline); border-radius:var(--radius-md); padding:26px 28px; }
.info-row{ display:flex; gap:14px; padding-block:14px; border-bottom:1px solid var(--border-hairline); }
.info-row:last-child{ border-bottom:none; padding-bottom:0; }
.info-row:first-child{ padding-top:0; }
.info-row .info-label{ font-family:var(--font-mono); font-size:11.5px; text-transform:uppercase; color:var(--text-tertiary); letter-spacing:0.06em; width:110px; flex-shrink:0; padding-top:2px; }
html[dir="rtl"] .info-row .info-label{ letter-spacing:normal; text-transform:none; }
.info-row .info-value{ font-size:14.5px; color:var(--text-primary); }
.info-row .info-value a{ color:var(--accent-ember); }

.map-embed{
  aspect-ratio:16/10; border-radius:var(--radius-md); overflow:hidden;
  border:1px solid var(--border-hairline-strong);
  background:linear-gradient(155deg, #23272B, #16191b 70%);
  position:relative; display:flex; align-items:center; justify-content:center;
}
.map-embed .map-pin{ font-family:var(--font-mono); font-size:12px; color:var(--text-tertiary); background:rgba(11,13,14,0.7); padding:8px 14px; border-radius:2px; border:1px solid var(--border-hairline-strong); }

/* Contact FAQ reuses .mem-faq / .faq-list / .faq-item styles */
