/* ===== FitMotion FAQ Custom Styles ===== */
.faq-main {
  padding-top: var(--space-12);
  padding-bottom: var(--space-12);
  max-width: 820px;
}
.faq-main section {
  background: var(--color-surface);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: var(--space-6) var(--space-4);
  margin-bottom: var(--space-6);
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.faq-item {
  border: 1px solid var(--color-gray-800);
  border-radius: var(--radius-sm);
  background: var(--color-background);
  padding: var(--space-2) var(--space-3);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
  box-shadow: 0 2px 8px 0 rgba(255, 58, 83, 0.07);
}
.faq-item[open] {
  border-color: var(--color-primary);
  box-shadow: 0 3px 14px 0 rgba(255,58,83,0.11);
}
.faq-item summary {
  cursor: pointer;
  font-size: var(--font-size-lg);
  color: var(--color-primary-accent);
  font-weight: 600;
  outline: none;
  list-style: none;
  display: flex;
  align-items: center;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:focus-visible {
  outline: 2px solid var(--color-warning);
  outline-offset: 2px;
}
.faq-item div {
  margin-top: var(--space-2);
  color: var(--color-text);
}
.faq-item em {
  font-style: italic;
  color: var(--color-primary-accent);
}

.faq-steps {
  padding-left: 1.3em;
  margin-bottom: var(--space-4);
  list-style-type: decimal;
  color: var(--color-text);
  font-size: var(--font-size-base);
}
.faq-troubleshooting {
  padding-left: 1.3em;
  margin-bottom: var(--space-4);
  color: var(--color-text);
  font-size: var(--font-size-base);
}
.faq-troubleshooting li {
  margin-bottom: var(--space-2);
}
.faq-policies {
  padding-left: 1.1em;
  margin-bottom: var(--space-4);
}
.faq-links {
  display: flex;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin: 0 -6px;
  padding: 0;
}
.faq-links li {
  margin: 0 6px 8px 0;
}
.faq-links a {
  background: var(--color-background);
  color: var(--color-primary-accent);
  padding: 7px 16px;
  border-radius: var(--radius-full);
  font-weight: 600;
  font-size: var(--font-size-sm);
  box-shadow: var(--shadow-elevate);
  display: inline-block;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.faq-links a:hover, .faq-links a:focus-visible {
  background: var(--color-primary);
  color: #fff;
}

/* Responsive adjustments */
@media (max-width: 900px) {
  .faq-main {
    padding-top: var(--space-8);
    padding-bottom: var(--space-8);
  }
  .faq-main section {
    padding: var(--space-4) var(--space-2);
  }
}
@media (max-width: 600px) {
  .faq-main {
    padding-top: var(--space-4);
    padding-bottom: var(--space-4);
  }
  .faq-main section {
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-1);
  }
  .faq-links {
    flex-direction: column;
    gap: var(--space-2);
  }
}
/* Accessible details arrow indicator */
.faq-item summary::after {
  content: "▼";
  font-size: .9em;
  color: var(--color-gray-500);
  margin-left: var(--space-3);
  transition: transform var(--transition-fast);
}
.faq-item[open] summary::after {
  transform: rotate(-180deg);
}
