/* Contact page specific styles */
.contact-hero {
  background: linear-gradient(180deg, rgba(37,99,235,0.06), transparent);
  padding: var(--space-40) 0 var(--space-24);
}
.contact-hero .lead { color: var(--gray-600); max-width: 70ch; }
.hero-cta { display: flex; gap: var(--space-12); margin-top: var(--space-12); flex-wrap: wrap; }

.contact-grid { display: grid; grid-template-columns: 2fr 1fr; gap: var(--space-24); }
@media (max-width: 900px) { .contact-grid { grid-template-columns: 1fr; } }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-16); }
.form-grid-sm { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-16); }
@media (max-width: 700px) { .form-grid, .form-grid-sm { grid-template-columns: 1fr; } }

.form-field { margin-bottom: var(--space-16); }
.form-field label { display: inline-block; font-weight: 600; margin-bottom: var(--space-8); }
.form-actions { display: flex; gap: var(--space-8); align-items: center; }
.consent .consent-label { display: inline-flex; gap: var(--space-8); align-items: flex-start; }
.topic-group { border: 0; padding: 0; margin: 0 0 var(--space-12) 0; }
.topic-group legend { font-weight: 600; margin-bottom: var(--space-8); }
.topic-options { display: flex; gap: var(--space-12); flex-wrap: wrap; }

.contact-aside .social-list { display: grid; gap: var(--space-8); }
.contact-aside hr { border: 0; border-top: 1px solid var(--gray-200); margin: var(--space-16) 0; }

.social-and-chat { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-24); }
@media (max-width: 900px) { .social-and-chat { grid-template-columns: 1fr; } }
.social-buttons { display: flex; flex-wrap: wrap; gap: var(--space-8); margin-top: var(--space-8); }

/* FAQ */
.faq-list details { border: 1px solid var(--gray-200); border-radius: var(--radius-md); padding: var(--space-12) var(--space-16); background: var(--color-surface); }
.faq-list details + details { margin-top: var(--space-12); }
.faq-list summary { cursor: pointer; font-weight: 600; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; float: right; color: var(--gray-500); }
.faq-list details[open] summary::after { content: "–"; }
.faq-body { margin-top: var(--space-8); color: var(--gray-700); }

/* Partnership */
.partnership .benefits { display: grid; gap: var(--space-8); margin-top: var(--space-8); }
.partnership .actions { display: flex; gap: var(--space-8); margin-top: var(--space-12); flex-wrap: wrap; }

/* Feedback */
.feedback .testimonials { display: grid; gap: var(--space-16); margin-bottom: var(--space-16); }
.feedback blockquote { padding: var(--space-16); border-left: 4px solid var(--color-primary); background: var(--gray-50); border-radius: var(--radius-md); }
.feedback blockquote p { margin: 0 0 var(--space-8) 0; }
.feedback-form .form-actions { margin-top: var(--space-8); }

/* Careers & Legal */
.careers-legal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-24); }
@media (max-width: 900px) { .careers-legal-grid { grid-template-columns: 1fr; } }
.links-inline { display: flex; gap: var(--space-8); flex-wrap: wrap; }

/* Live chat */
.live-chat[hidden] { display: none !important; }
.live-chat { position: fixed; right: var(--space-16); bottom: var(--space-16); z-index: 80; }
.chat-window { width: min(360px, 92vw); background: var(--color-surface); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overflow: hidden; display: grid; grid-template-rows: auto 1fr auto; }
.chat-header { display: flex; justify-content: space-between; align-items: center; padding: var(--space-12) var(--space-16); background: var(--gray-100); border-bottom: 1px solid var(--gray-200); }
.chat-close { background: transparent; border: none; font-size: 1.25rem; line-height: 1; cursor: pointer; color: var(--gray-700); }
.chat-messages { max-height: 50vh; overflow: auto; padding: var(--space-12) var(--space-16); display: grid; gap: var(--space-8); }
.chat-msg { padding: var(--space-8) var(--space-12); border-radius: var(--radius-md); max-width: 80%; }
.chat-msg.agent { background: var(--gray-100); justify-self: start; }
.chat-msg.user { background: var(--color-primary); color: var(--color-primary-contrast); justify-self: end; }
.chat-form { display: grid; grid-template-columns: 1fr auto; gap: var(--space-8); padding: var(--space-12); border-top: 1px solid var(--gray-200); }
.chat-form input { width: 100%; }
