/* Contact Us page specific styles - avoid duplicating base.css */

.page-hero { padding: var(--space-12) 0 var(--space-10); }
.section-contact { margin: var(--space-10) auto; align-items: start; }
.form-grid { align-items: start; }

.contact-list { display: grid; gap: var(--space-6); margin: var(--space-6) 0; }
.contact-list dt { font-weight: 700; font-family: var(--font-serif); margin-bottom: var(--space-2); }
.contact-list dd { margin: 0; }

.hours { margin: var(--space-4) 0; display: grid; gap: var(--space-2); }
.support-options { display: grid; gap: var(--space-2); margin: var(--space-4) 0; }
.social-links { display: flex; gap: var(--space-6); margin-top: var(--space-4); flex-wrap: wrap; }

.consent-row { margin-top: var(--space-4); }
.consent-label { display: inline-flex; gap: var(--space-3); align-items: flex-start; }
.form-status { margin-top: var(--space-4); min-height: 1.25rem; }

/* FAQ */
.faq { display: grid; gap: var(--space-4); margin-top: var(--space-6); }
.faq details { border: 1px solid var(--gray-200); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.faq summary { cursor: pointer; padding: var(--space-5) var(--space-6); font-weight: 700; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq details[open] summary { border-bottom: 1px solid var(--gray-200); background: var(--gray-100); }
.faq__content { padding: var(--space-6); }

/* Partnerships */
.partnership-list { display: grid; gap: var(--space-2); margin: var(--space-4) 0 var(--space-0); }

/* Chat widget styling (ensures usable UI if base styles not present) */
.chat-toggle { position: fixed; right: 16px; bottom: 16px; z-index: 70; padding: 0.75rem 1rem; border-radius: var(--radius-round); border: 1px solid var(--gray-300); background: var(--color-primary); color: #fff; box-shadow: var(--shadow-md); font-weight: 700; }
.chat-toggle:hover { background: var(--color-primary-600); }

.chat-panel { position: fixed; right: 16px; bottom: 76px; width: min(92vw, 360px); max-height: 70vh; display: flex; flex-direction: column; background: var(--color-surface); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overflow: hidden; transition: transform var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out); transform: translateY(12px); opacity: 0; pointer-events: none; z-index: 70; }
.chat-panel[aria-hidden="false"] { transform: translateY(0); opacity: 1; pointer-events: auto; }
.chat-panel__header { display: flex; align-items: center; justify-content: space-between; padding: var(--space-5) var(--space-6); background: var(--gray-100); border-bottom: 1px solid var(--gray-200); }
.chat-panel__body { padding: var(--space-6); overflow: auto; }
.chat-close { width: 36px; height: 36px; border: 1px solid var(--gray-300); border-radius: var(--radius-md); background: var(--color-surface); cursor: pointer; }
.chat-close:focus-visible { box-shadow: var(--focus-ring); }

/* Responsive adjustments */
@media (max-width: 900px) {
  .section-contact { grid-template-columns: 1fr; }
}
