/* Contact page specific styles */
.hero-contact {
  background: linear-gradient(135deg, var(--color-primary-50), #ffffff 40%, var(--success-50));
  border-bottom: 1px solid var(--color-border);
}
.hero-inner { padding-block: var(--space-12); text-align: left; }
.hero-inner p { color: var(--color-muted); }
.hero-cta { display: flex; gap: var(--space-5); flex-wrap: wrap; margin-top: var(--space-6); }

.contact-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--space-10); padding-block: var(--space-12); }
.contact-left, .contact-right { min-width: 0; }

.info-card .info-row { display: grid; gap: var(--space-9); grid-template-columns: 1fr 1fr; }
.info-card h3 { margin-bottom: var(--space-3); font-size: var(--text-xl); }
.hours { color: var(--color-text); }
.muted { color: var(--color-muted); }

.support-list { display: grid; gap: var(--space-4); }
.chat-inline { margin-top: var(--space-4); }
.btn-sm { padding: calc(var(--space-4) - 1px) var(--space-6); font-size: var(--text-sm); }
.chat-panel { border: 1px dashed var(--color-border); border-radius: var(--radius-md); padding: var(--space-5); background: var(--color-primary-50); }

.social-list { display: flex; gap: var(--space-6); flex-wrap: wrap; }
.social-list a { text-decoration: none; font-weight: 600; color: var(--color-primary-700); }
.social-list a:hover { color: var(--color-primary); text-decoration: underline; }

.testimonials { margin-top: var(--space-12); }
.testimonials-grid { grid-template-columns: 1fr; }
.testimonials blockquote { font-style: italic; color: var(--gray-700); }
.testimonials figcaption { color: var(--color-muted); }

#contact-form-card h2 { margin-bottom: var(--space-4); }
.form-field { display: grid; gap: var(--space-3); }
.form-field label { font-weight: 600; }
.req { color: var(--danger-600); margin-left: 4px; }
.error { color: var(--danger-600); min-height: 1.25rem; }
.checkbox-field { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: var(--space-4); }
.form-actions { display: flex; gap: var(--space-5); align-items: center; flex-wrap: wrap; }
.form-status { margin-top: var(--space-5); font-weight: 600; }
.form-status.success { color: var(--success-700); }
.form-status.error { color: var(--danger-700); }

.map-section { background: var(--gray-50); padding-block: var(--space-12); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.map-wrap { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); border: 1px solid var(--gray-200); }
.map-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.map-actions { margin-top: var(--space-6); }

.faq-section { padding-block: var(--space-12); }
.faq-list { display: grid; gap: var(--space-5); }
.faq-list details { border: 1px solid var(--gray-200); border-radius: var(--radius-md); padding: var(--space-5); background: #fff; box-shadow: var(--shadow-xs); }
.faq-list summary { cursor: pointer; font-weight: 700; }
.faq-list details[open] { background: var(--color-primary-50); }

/* Responsive */
@media (max-width: 1024px) {
  .contact-grid { grid-template-columns: 1fr; }
  .info-card .info-row { grid-template-columns: 1fr; }
}
@media (min-width: 720px) {
  .testimonials-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
