/* FAQ layout uses explicit components alongside the site's compiled utilities. */
.faq-content {
  width: 100%;
  max-width: 768px;
  margin-inline: auto;
}

.page-faq main > section[id],
.faq-content .faq-card,
.faq-buyer-section,
.faq-seller-section {
  scroll-margin-top: 48px;
}

.faq-section-heading {
  margin-bottom: 32px;
  padding-bottom: 20px;
  gap: 20px;
}

.faq-section-title {
  margin-top: 6px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3;
  color: #0d1b2a;
}

.faq-hero h1 {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.025em;
}

.faq-hero h1 + p {
  font-size: 15px;
  line-height: 1.7;
}

.faq-content .faq-card {
  margin-bottom: 12px;
  border-radius: 10px;
}

.faq-content .faq-card-summary {
  min-height: 64px;
  padding: 18px 20px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
}

.faq-content .faq-card-body {
  padding: 18px 20px 20px;
  font-size: 14px;
  line-height: 1.75;
}

.faq-content .faq-card-body li {
  line-height: 1.65;
}

.faq-subheading {
  margin-top: 32px;
  margin-bottom: 14px;
  padding-top: 24px;
}

.faq-subheading h3 {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}

.faq-cta h2 {
  font-size: 23px;
  line-height: 1.3;
}

.faq-section-links {
  flex-wrap: wrap;
  row-gap: 12px;
  font-size: 13.5px;
  line-height: 1.5;
}

.faq-section-links a {
  padding-block: 4px;
}

.faq-section-links a:focus-visible {
  outline: 2px solid #2589f5;
  outline-offset: 4px;
  border-radius: 2px;
}

.faq-seller-section .faq-section-heading .eyebrow {
  color: #c8791f;
}

.faq-navigation a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.faq-navigation a[href="#buyers"] {
  background: rgb(0 160 240 / 10%);
  border-color: rgb(0 160 240 / 40%);
}

.faq-navigation a[href="#buyers"]:hover {
  background: rgb(0 160 240 / 20%);
  border-color: rgb(0 160 240 / 60%);
}

.faq-navigation a[href="#sellers"] {
  color: #d9a778;
  background: rgb(217 167 120 / 10%);
  border-color: rgb(217 167 120 / 40%);
}

.faq-navigation a[href="#sellers"]:hover {
  background: rgb(217 167 120 / 20%);
  border-color: rgb(217 167 120 / 60%);
}

.faq-navigation a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.faq-seller-section .faq-card-summary:focus-visible {
  outline-color: #c8791f;
}

.faq-buyer-section .faq-card-summary:focus-visible {
  outline-color: #00a0f0;
}

@media (min-width: 768px) {
  .faq-section-heading {
    flex-direction: row;
    align-items: flex-end;
  }

  .faq-section-title {
    font-size: 23px;
  }
}

@media (min-width: 640px) {
  .faq-hero h1 {
    font-size: 36px;
  }

  .faq-cta h2 {
    font-size: 26px;
  }
}

@media (max-width: 767px) {
  .faq-section-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}

@media (max-width: 639px) {
  .faq-content .faq-card-summary {
    padding: 16px;
    font-size: 14px;
  }

  .faq-content .faq-card-body {
    padding: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:has(.page-faq) {
    scroll-behavior: auto;
  }

  .faq-content .faq-card,
  .faq-content .faq-chevron {
    transition: none;
  }
}
