/* ============================================================================
   HAMIA — Contact page (ported from contact.astro, adapted to block DOM).
   Booking CTAs + detail cards + map + FAQ accordion. No form (matches source).
   ========================================================================== */

/* ── Section header (shared) ── */
.hamia-section-header { text-align: center; max-width: 700px; margin: 0 auto var(--space-xl); }
.hamia-section-header h2 { font-size: var(--text-3xl); margin-bottom: var(--space-md); }
.hamia-divider.wp-block-separator {
  width: 60px !important; max-width: 60px; height: 2px; background: var(--color-terracotta);
  border: none; opacity: 1; margin: var(--space-sm) auto var(--space-md);
}

/* ── Contact grid (booking card + details) ── */
.hamia-contact.wp-block-group { background: var(--color-cream); padding-block: var(--space-2xl); }
.hamia-contact-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-xl); align-items: start; }
@media (max-width: 768px) { .hamia-contact-grid { grid-template-columns: 1fr; } }

.hamia-contact-card--primary { background: var(--color-sand-light); padding: var(--space-xl); border-radius: var(--radius-xl); }
.hamia-contact-card__title { font-size: var(--text-2xl); margin-bottom: var(--space-md); }
.hamia-contact-card__desc { color: var(--color-warm-gray); margin-bottom: var(--space-xl); line-height: 1.7; }
.hamia-booking-options { display: flex; flex-direction: column; gap: var(--space-sm); }
.hamia-booking-option { width: 100%; justify-content: center; }
.hamia-booking-option__hint { text-align: center; font-size: var(--text-xs); color: var(--color-warm-gray-light); margin: 0; }
.hamia-booking-divider { display: flex; align-items: center; gap: var(--space-md); margin: var(--space-md) 0; color: var(--color-warm-gray-light); font-size: var(--text-sm); }
.hamia-booking-divider::before, .hamia-booking-divider::after { content: ''; flex: 1; height: 1px; background: var(--color-sand-dark); }

.hamia-contact-details { display: flex; flex-direction: column; gap: var(--space-md); }
.hamia-detail-card { padding: var(--space-lg); background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.hamia-detail-card__title { font-family: var(--font-body); font-size: var(--text-base); font-weight: 600; margin-bottom: var(--space-sm); }
.hamia-detail-card p, .hamia-detail-card li { color: var(--color-warm-gray); line-height: 1.6; font-size: var(--text-sm); }
.hamia-detail-card ul { margin: 0; padding: 0; list-style: none; }
.hamia-detail-card li::before { content: '✓ '; color: var(--color-palm); font-weight: 600; }

/* ── Map ── */
.hamia-contact-map.wp-block-group { background: var(--color-cream); padding-bottom: var(--space-2xl); }
.hamia-map-wrap { border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-md); line-height: 0; }
.hamia-map-wrap iframe { display: block; width: 100%; height: 450px; border: 0; }
@media (max-width: 768px) { .hamia-map-wrap iframe { height: 300px; } }

/* ── FAQ accordion ── */
.hamia-faq.wp-block-group { background: var(--color-sand-light); padding-block: var(--space-2xl); }
.hamia-faq-list { display: flex; flex-direction: column; gap: var(--space-sm); }
.hamia-faq-item { background: #fff; border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); }
.hamia-faq-item__question { padding: var(--space-lg); font-weight: 600; cursor: pointer; font-size: var(--text-base); list-style: none; display: flex; justify-content: space-between; align-items: center; font-family: var(--font-display); }
.hamia-faq-item__question::-webkit-details-marker { display: none; }
.hamia-faq-item__question::after { content: '+'; font-size: 1.5em; color: var(--color-terracotta); transition: transform var(--duration-base) var(--ease-out); flex-shrink: 0; margin-left: var(--space-md); }
.hamia-faq-item[open] .hamia-faq-item__question::after { transform: rotate(45deg); }
.hamia-faq-item__answer { padding: 0 var(--space-lg) var(--space-lg); color: var(--color-warm-gray); line-height: 1.7; margin: 0; }
