/* Estilos para o componente de acordeão (accordion)
 * Implementa: design responsivo, interações de expansão/colapso e estados visuais
 * Utiliza variáveis do sistema de design para manter consistência visual
 */
.accordion {
  margin: 0 auto;
  max-width: 800px;
  border-radius: var(--radius);
  background-color: var(--white);
  box-shadow: var(--shadow-lg);
}

.accordion-item {
  border-bottom: 1px solid var(--gray-200);
}

.accordion-item:first-child .accordion-header {
  border-radius: var(--radius) var(--radius) 0 0;
}

.accordion-item:last-child {
  border-bottom: none;
}

.accordion-item:last-child .accordion-header {
  border-radius: 0 0 var(--radius) var(--radius);
}

.accordion-header {
  width: 100%;
  padding: var(--spacing-lg) var(--spacing-xl);
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  background-color: var(--white);
  border: none;
  text-align: left;
  transition: background-color var(--transition-fast);
}

.accordion-header:hover {
  background-color: var(--gray-100);
}

.accordion-header h3 {
  margin: 0;
  font-size: var(--font-size-xl);
  font-weight: 500;
  color: var(--gray-800);
  transition: color var(--transition-fast);
}

.accordion-item.active .accordion-header h3 {
  color: var(--secondary);
}

.accordion-icon {
  color: var(--secondary);
  transition: transform 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.accordion-item.active .accordion-icon {
  transform: rotate(180deg);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  background-color: var(--gray-50);
  transition: max-height 0.3s ease-in-out;
}

.accordion-content-inner {
  padding: var(--spacing-lg) var(--spacing-xl);
  color: var(--gray-700);
  font-size: var(--font-size-base);
}

/* Responsividade */
@media (max-width: 992px) {
  .accordion {
    max-width: 90%;
  }
}