/* FAQ Accordion Block Styles */

.bouw-faq-accordion-container {
  display: grid;
  gap: 0.5rem;
}

.bouw-faq-item {
  border: none;
  border-radius: 12px;
  background: var(--wp--preset--color--surface, #f7f8fa);
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: var(--shadow-xs);
}

.bouw-faq-item:hover {
  background: var(--bouw-base, #fff);
  box-shadow: var(--shadow-sm);
  transform: translateY(-2px);
}

.bouw-faq-question {
  margin: 0;
}

.bouw-faq-button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.875rem 1.125rem;
  background: transparent;
  border: none;
  font-size: 1rem;
  font-weight: 600;
  text-align: left;
  color: var(--bouw-contrast, #0f172a);
  cursor: pointer;
}

.bouw-faq-question-text {
  color: var(--bouw-contrast, #0f172a);
}

.bouw-faq-question-text {
  line-height: 1.4;
}

.bouw-faq-icon {
  color: var(--wp--preset--color--primary, #ef6c00);
  font-size: 0.875rem;
  transition: transform 0.3s ease;
}

.bouw-faq-open .bouw-faq-icon {
  transform: rotate(180deg);
}

.bouw-faq-answer {
  padding: 0 1.125rem 1rem;
  color: var(--wp--preset--color--contrast, #475569);
  font-size: 1rem; /* WCAG AA: minimum 16px for body text */
  line-height: 1.7;
}

.bouw-faq-answer p {
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 0.75rem;
}

.bouw-faq-answer p:last-child {
  margin-bottom: 0;
}

.bouw-faq-answer[hidden] {
  display: none;
}

.bouw-faq-open .bouw-faq-answer {
  display: block;
}

/* Accessibility focus */
.bouw-faq-button:focus-visible {
  outline: 3px solid var(--color-primary);
  outline-offset: 2px;
}
