.faq-hero-layout {
  align-items: stretch;
}

.faq-hero-content {
  min-width: 0;
}

.faq-hero-aside {
  min-width: 0;
}

.faq-hero-card {
  height: 100%;
}

.faq-hero-card-title {
  font-size: var(--font-size-xl);
}

.faq-hero-actions {
  margin-top: var(--space-lg);
}

.faq-hero-meta {
  margin-top: var(--space-md);
}

.faq-search {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.faq-search-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.faq-search-submit {
  flex: 0 0 auto;
  max-width: 100%;
}

.faq-quick-links {
  margin-top: var(--space-md);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.faq-chip {
  max-width: 100%;
}

.faq-section-header {
  max-width: var(--container-md);
  margin-bottom: var(--space-2xl);
}

.faq-grid {
  margin-top: var(--space-lg);
}

.faq-item {
  min-width: 0;
}

.faq-question {
  font-size: var(--font-size-lg);
}

.faq-answer {
  font-size: var(--font-size-md);
}

.faq-cta-card {
  align-self: stretch;
}

.faq-cta-actions {
  margin-top: var(--space-md);
}

.faq-cta-actions .btn {
  max-width: 100%;
}

.faq-search-highlight {
  background: var(--color-accent-yellow, #fff3c4);
}

@media (min-width: 768px) {
  .faq-hero-layout {
    flex-direction: row;
    justify-content: space-between;
  }
  .faq-hero-content {
    flex: 1 1 340px;
  }
  .faq-hero-aside {
    flex: 1 1 320px;
    max-width: 460px;
  }
}

@media (max-width: 767.98px) {
  .section {
    padding-top: var(--space-2xl);
    padding-bottom: var(--space-2xl);
  }
  .faq-section-header {
    margin-bottom: var(--space-xl);
  }
  .faq-question {
    font-size: var(--font-size-md);
  }
}
