/* AlmaFit FAQ styles */
.faq-section {
  margin-top: var(--space-16);
  margin-bottom: var(--space-16);
  max-width: 850px;
}
.faq-intro, .faq-use {
  margin-bottom: var(--space-8);
}
.faq-categories {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}
.faq-category {
  padding: var(--space-6) var(--space-8);
}
.faq-category-title {
  font-size: var(--font-xl);
  color: var(--color-primary);
  margin-top: 0;
}
.faq-list {
  margin-top: var(--space-2);
}
.faq-item {
  border-bottom: 1px solid var(--gray-200);
  padding: var(--space-3) 0;
}
.faq-question {
  width: 100%;
  background: none;
  border: none;
  color: var(--color-text);
  text-align: left;
  font: inherit;
  font-weight: 500;
  font-size: 1.08rem;
  padding: var(--space-2) 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: color var(--duration-fast);
  position: relative;
}
.faq-question::after {
  content: '\25BC'; /* caret down */
  margin-left: auto;
  font-size: 1rem;
  color: var(--gray-400);
  transition: transform .2s;
}
.faq-question[aria-expanded="true"]::after {
  transform: rotate(-180deg);
}
.faq-answer {
  margin-top: var(--space-2);
  margin-left: 0;
  font-size: 1rem;
  color: var(--gray-700);
  padding-left: 0;
  line-height: 1.6;
  transition: max-height .2s, opacity .2s;
}

.cta-row {
  margin-top: var(--space-8);
  background: var(--gray-100);
  border-radius: var(--radius-md);
  padding: var(--space-4) var(--space-6);
  display: flex;
  align-items: center;
  gap: var(--space-8);
}
@media (max-width: 900px) {
  .faq-section { margin-top: var(--space-10); margin-bottom: var(--space-10); }
  .faq-category { padding: var(--space-5) var(--space-4); }
}
@media (max-width: 600px) {
  .faq-section { padding: 0; }
  .faq-category { padding: var(--space-4) var(--space-1); }
  .cta-row { flex-direction: column; align-items: stretch; gap: var(--space-4); }
}
