/* FAQ acordeón (home). Adaptado de atherosai/ui (accordion-01), solo tokens --sd-*.
   La animación de altura la maneja faq_accordion.js (WAAPI); el chevron rota por CSS
   con el atributo [open]. CSP-safe. */

.home-faq {
  padding-block: 1rem 3rem;
}

.faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 760px;
  margin: 0 auto;
}

.faq-accordion__item {
  background: hsl(var(--sd-surface));
  border: 1px solid hsl(var(--sd-primary) / 0.1);
  border-radius: var(--sd-radius-lg);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.faq-accordion__item:hover {
  border-color: hsl(var(--sd-primary) / 0.32);
  box-shadow: var(--sd-shadow-soft);
}

.faq-accordion__item[open] {
  border-color: hsl(var(--sd-primary) / 0.22);
  background: linear-gradient(180deg, hsl(var(--sd-paper-warm) / 0.55), hsl(var(--sd-surface)));
  box-shadow: var(--sd-shadow-soft), inset 3px 0 0 hsl(var(--sd-primary));
}

.faq-accordion__summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.2rem 1.4rem;
  font-family: var(--sd-font-display);
  font-size: 1.12rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: hsl(var(--sd-text-primary));
  user-select: none;
}

.faq-accordion__summary::-webkit-details-marker {
  display: none;
}

.faq-accordion__summary:focus-visible {
  outline: 2px solid hsl(var(--sd-primary));
  outline-offset: -2px;
}

.faq-accordion__icon {
  flex: none;
  width: 2rem;
  height: 2rem;
  padding: 0.4rem;
  border-radius: 50%;
  background: hsl(var(--sd-primary) / 0.08);
  stroke: hsl(var(--sd-primary));
  fill: none;
  transition: transform 0.25s ease, background 0.25s ease;
}

.faq-accordion__item[open] .faq-accordion__icon {
  transform: rotate(180deg);
  background: hsl(var(--sd-primary) / 0.16);
}

.faq-accordion__content {
  padding: 0 1.4rem 1.3rem;
  color: hsl(var(--sd-text-muted));
  line-height: 1.6;
}

.faq-accordion__content p {
  margin: 0;
}

@media (prefers-reduced-motion: reduce) {
  .faq-accordion__icon {
    transition: none;
  }
}
