/* Contact Us page-specific styles (do not duplicate base.css) */

.contact-hero h1 { color: var(--color-navy); }

.contact-cta { display: grid; gap: var(--space-6); grid-template-columns: 1fr; }
.contact-cta .cta-item { display: flex; flex-direction: column; gap: var(--space-2); }
@media (min-width: 720px) {
  .contact-cta { grid-template-columns: 1fr 1fr; }
}

.contact-grid { display: grid; gap: var(--space-6); grid-template-columns: 1fr; }
@media (min-width: 960px) {
  .contact-grid { grid-template-columns: 1fr 2fr; }
}

.support-grid { display: grid; gap: var(--space-6); grid-template-columns: 1fr; }
@media (min-width: 720px) {
  .support-grid { grid-template-columns: repeat(2, 1fr); }
}
.support-card { background: var(--color-surface-elevated); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-5); box-shadow: var(--shadow-sm); }
.support-card h3 { margin-bottom: var(--space-2); }

/* Form */
.form-grid { display: grid; gap: var(--space-4); grid-template-columns: 1fr; }
@media (min-width: 720px) {
  .form-grid { grid-template-columns: 1fr 1fr; }
}
.form-field label, fieldset legend { display: block; font-weight: 600; margin-bottom: 8px; }
.radio-row { display: flex; gap: var(--space-6); align-items: center; }
.checkbox-row { display: flex; gap: var(--space-3); align-items: flex-start; }
.field-error { color: var(--color-danger); font-size: var(--fs-sm); min-height: 1.2em; }
.form-alert { padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-elevated); }
.form-alert.success { border-color: color-mix(in srgb, var(--color-success) 40%, white); background: color-mix(in srgb, var(--color-success) 10%, white); color: var(--color-success); }
.form-alert.error { border-color: color-mix(in srgb, var(--color-danger) 40%, white); background: color-mix(in srgb, var(--color-danger) 10%, white); color: var(--color-danger); }

/* Map */
.map-embed { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--color-border); }
.map-embed iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; }

/* FAQ */
.faq-list details { border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.faq-list details + details { margin-top: var(--space-3); }
.faq-list summary { cursor: pointer; font-weight: 600; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list details[open] { background: var(--color-surface-elevated); }
.faq-list details > div { margin-top: var(--space-3); color: var(--color-text); }
