/* vars: --c-bg-alt,--c-border,--c-primary,--c-dark,--ff-heading */

/* faq.css — details/summary accordion, schema.org FAQPage compatible */

.faq__list { display: flex; flex-direction: column; gap: .75rem; margin-top: 2rem; }

.faq_item {
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border);
  border-radius: 8px;
  overflow: hidden;
}
.faq_item[open] { border-color: var(--c-primary); }

.faq_question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  cursor: pointer;
  font-family: var(--ff-heading);
  font-weight: 600;
  font-size: 1rem;
  color: var(--c-dark);
  list-style: none;
  user-select: none;
  transition: color .2s;
}
.faq_question::-webkit-details-marker { display: none; }
.faq_question:hover { color: var(--c-primary); }

.faq_indicator {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--c-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  font-weight: 700;
  transition: transform .25s;
  line-height: 1;
}
.faq_item[open] .faq_indicator { transform: rotate(45deg); }

.faq_answer {
  padding: .75rem 1.25rem 1.25rem;
  font-size: .95rem;
  line-height: 1.7;
}
.faq_answer p { margin-bottom: .5rem; }
.faq_answer p:last-child { margin-bottom: 0; }

@media (max-width: 480px) {
  .faq_question { font-size: .9rem; padding: .875rem 1rem; }
  .faq_answer { padding: .5rem 1rem 1rem; }
}
