/* Contact page specific styles */

.contact-hero {
  padding: var(--space-16) 0 var(--space-14);
}
.contact-hero .hero-sub { max-width: 62ch; opacity: 0.95; }
.hero-ctas { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }

.section { padding-block: var(--space-12); }

.contact-grid { grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr)); gap: var(--space-6); }
.contact-address { font-style: normal; margin-bottom: var(--space-4); }
.contact-list { list-style: none; padding: 0; margin: 0 0 var(--space-4) 0; display: grid; gap: var(--space-2); }
.social { margin-top: var(--space-4); }
.social .h5 { font-size: var(--fs-lg); margin-bottom: var(--space-2); }
.social-list { list-style: none; padding: 0; margin: 0; display: flex; gap: var(--space-4); flex-wrap: wrap; }

.support-list { list-style: none; padding: 0; margin: 0 0 var(--space-4) 0; display: grid; gap: var(--space-2); }
.hours { margin-top: var(--space-4); }

/* Form */
.contact-form { display: grid; gap: var(--space-4); margin-top: var(--space-2); }
.form-actions { display: flex; gap: var(--space-3); align-items: center; }
.form-status { margin-top: var(--space-3); min-height: 1.25rem; color: var(--color-muted); }

/* Map */
.map-embed { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--gray-200); box-shadow: var(--shadow-md); margin-top: var(--space-4); }
.map-embed iframe { width: 100%; height: 380px; border: 0; display: block; }

/* Partners */
.partners-list { list-style: none; padding: 0; margin: var(--space-3) 0 var(--space-5) 0; display: grid; gap: var(--space-2); }

/* Accessibility */
.access-list { list-style: disc; margin-left: 1.25rem; margin-bottom: var(--space-4); }
.access-controls { display: flex; gap: var(--space-3); flex-wrap: wrap; }

/* Page CTA */
.cta-section { padding-block: var(--space-12); }
.cta-inner { gap: var(--space-6); }
.cta-title { margin-bottom: var(--space-2); }

/* High-contrast and large-text toggles (page scoped) */
body.is-high-contrast { --color-background: #0b0d12; --color-surface: #0b0d12; --color-text: #ffffff; --color-muted: #d1d5db; --gray-200: #3b3b3b; --color-primary: #fff000; --color-primary-hover: #ffe34d; }
body.is-large-text { font-size: 1.0625rem; }

@media (max-width: 720px) {
  .map-embed iframe { height: 300px; }
}
