/* Contact page specific styles (keeps to base.css design language) */
.hero { padding-block: var(--space-16) var(--space-12); }
.hero__inner { text-align: left; }
.hero__inner p { color: var(--color-text-muted); max-width: 60ch; }

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

.contact-list { display: grid; gap: var(--space-3); }
.contact-list dt { font-weight: 700; color: var(--color-text); }
.contact-list dd { margin: 0; }

.hours-list { margin: 0; padding-left: 1.25rem; }
.social-list { display: grid; gap: var(--space-2); margin: 0; padding-left: 1.25rem; }

.contact-form { display: grid; gap: var(--space-6); }
.form-actions { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.form-status { margin-bottom: var(--space-4); min-height: 1.25rem; color: var(--color-text-muted); }
.form-status.success { color: var(--color-success); }
.form-status.error { color: var(--color-danger); }

/* FAQ details */
.faq-list { display: grid; gap: var(--space-3); }
.faq-list details { border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); padding: var(--space-4); box-shadow: var(--shadow-sm); }
.faq-list summary { cursor: pointer; font-weight: 700; outline: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; float: right; font-weight: 700; color: var(--color-primary); }
.faq-list details[open] summary::after { content: "–"; }

/* Minor responsive tweak */
@media (min-width: 992px) { .hero__inner { text-align: left; } }
