/* Contact page specific styles (lean, building on base.css) */
.section { padding-block: var(--space-12); }
.hero { padding-block: var(--space-12) var(--space-8); background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0)); border-bottom: 1px solid rgba(255,255,255,0.06); }
.hero .hero__tagline { color: var(--color-text-muted); margin-top: var(--space-2); max-width: 70ch; }
.hero .hero__actions { margin-top: var(--space-5); display: flex; gap: var(--space-3); flex-wrap: wrap; }

.contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--space-6); margin-top: var(--space-5); }
.contact-list { display: grid; gap: var(--space-2); }
.muted { color: var(--color-text-muted); }

.hours { margin-top: var(--space-8); }
.hours__grid { display: grid; grid-template-columns: 2fr 1fr; gap: var(--space-6); }
@media (max-width: 900px) { .hours__grid { grid-template-columns: 1fr; } }
.hours-table th { width: 40%; color: var(--color-text); font-weight: var(--font-weight-medium); }
.hours-table td { color: var(--color-text-muted); }

.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-5); margin-top: var(--space-2); }
.form-field--full { grid-column: 1 / -1; }
.form-consent { margin-top: var(--space-4); }
.consent-label { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-text-muted); }
.form-actions { margin-top: var(--space-5); display: flex; gap: var(--space-3); justify-content: flex-end; flex-wrap: wrap; }
@media (max-width: 720px) { .form-grid { grid-template-columns: 1fr; } .form-actions { justify-content: stretch; } }

.map-embed { aspect-ratio: 16 / 9; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid rgba(255,255,255,0.08); box-shadow: var(--shadow-md); }
.map-embed iframe { width: 100%; height: 100%; border: 0; }
.map .map-actions { margin-top: var(--space-4); }

.social-links { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-4); }

/* Details/FAQ tweaks */
details { padding: var(--space-3) 0; border-bottom: 1px solid rgba(255,255,255,0.06); }
details summary { cursor: pointer; color: var(--color-text); font-weight: var(--font-weight-medium); }
details[open] summary { color: var(--color-primary); }
details p { color: var(--color-text-muted); margin-top: var(--space-2); }

/* Status alerts spacing inside form */
#form-status { margin-bottom: var(--space-4); }
.alert--success { border-left: 3px solid var(--color-success); }
.alert--danger { border-left: 3px solid var(--color-danger); }
