/* ===============================
   Page: Contact Us – contact-us.css
   =============================== */

.section-pad {
  padding-top: var(--space-12);
  padding-bottom: var(--space-12);
}

.contact-hero {
  background: var(--color-gray-50);
  padding-top: var(--space-8);
  padding-bottom: var(--space-8);
}
.contact-hero h1 {
  color: var(--color-primary);
}
.contact-hero p {
  font-size: var(--font-size-lg);
  color: var(--color-gray-700);
}

.contact-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-8);
  margin-bottom: var(--space-8);
}
.contact-card {
  background: #fff;
  padding: var(--space-6) var(--space-4);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  min-width: 0;
}
.contact-card h2 {
  margin-bottom: var(--space-2);
  font-size: var(--font-size-xl);
}
.contact-list {
  list-style: none;
}
.contact-list li {
  margin-bottom: var(--space-2);
  font-size: var(--font-size-base);
}
.contact-list strong {
  color: var(--color-primary);
  min-width: 100px;
  display: inline-block;
}
.map-container {
  margin-top: var(--space-2);
}
.map-container iframe {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xs);
}

.feedback-form-card {
  max-width: 500px;
}
.feedback-form-card form {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.feedback-form-card label {
  margin-bottom: var(--space-1);
  font-weight: 500;
}
.feedback-form-card input,
.feedback-form-card textarea {
  margin-bottom: var(--space-3);
}
.feedback-form-card .form-actions {
  margin-top: var(--space-2);
  justify-content: flex-end;
}
#form-message {
  margin-top: var(--space-3);
  font-size: var(--font-size-base);
  color: var(--color-success);
}

.faq-list {
  margin-top: var(--space-4);
}
.faq {
  margin-bottom: var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--color-gray-50);
  box-shadow: var(--shadow-xs);
  padding: var(--space-3) var(--space-4);
  font-size: var(--font-size-base);
}
.faq summary {
  font-weight: 600;
  color: var(--color-primary);
  font-size: var(--font-size-base);
  cursor: pointer;
  outline: none;
}
.faq[open] {
  background-color: var(--color-gray-100);
}
.faq div {
  margin-top: var(--space-2);
  color: var(--color-text);
}

.partnerships-card {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}
.partnerships-card ul.partnership-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  padding: 0;
  margin-top: var(--space-4);
  list-style: none;
}
.partnerships-card .button {
  min-width: 220px;
}

.social-links {
  display: flex;
  justify-content: center;
  gap: var(--space-4);
  margin-top: var(--space-3);
  margin-bottom: var(--space-4);
  list-style: none;
  padding: 0;
}
.social-link svg {
  display: inline;
  vertical-align: middle;
  color: var(--color-primary);
  transition: color var(--transition);
}
.social-link:hover svg, .social-link:focus-visible svg {
  color: var(--color-danger);
}

@media (max-width: 900px) {
  .contact-info-grid {
    grid-template-columns: 1fr;
  }
  .partnerships-card ul.partnership-cta {
    flex-direction: column;
    gap: var(--space-2);
  }
}

@media (max-width: 600px) {
  .section-pad,
  .contact-hero {
    padding-top: var(--space-6);
    padding-bottom: var(--space-6);
  }
  .contact-info-grid {
    gap: var(--space-3);
  }
  .contact-card {
    padding: var(--space-4) var(--space-2);
  }
  .feedback-form-card {
    padding: var(--space-4) var(--space-2);
  }
  .faq {
    padding: var(--space-2) var(--space-2);
  }
}
