/* ── FAQ Section ── */
.lp-faq { position: relative; }

.lp-faq-list {
  max-width: 720px;
  margin: var(--space-16) auto 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.lp-faq-item {
  background: var(--color-white);
  border-radius: 16px;
  border: 1px solid rgba(232,114,154,0.15);
  box-shadow: 0 4px 20px rgba(232,114,154,0.08);
  overflow: hidden;
  transition: box-shadow 0.2s;
}
.lp-faq-item[open] {
  box-shadow: 0 8px 32px rgba(232,114,154,0.16);
}

.lp-faq-question {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-6) var(--space-8);
  cursor: pointer;
  font-size: var(--text-base);
  font-weight: var(--weight-semibold);
  color: var(--color-primary);
  list-style: none;
  transition: background 0.2s;
}
.lp-faq-question:hover { background: var(--color-secondary); }
.lp-faq-question::-webkit-details-marker { display: none; }

.lp-faq-q-icon { flex-shrink: 0; }
.lp-faq-chevron {
  margin-left: auto;
  flex-shrink: 0;
  color: var(--color-gray-400);
  transition: transform 0.3s ease;
}
details[open] .lp-faq-chevron { transform: rotate(180deg); }

.lp-faq-answer {
  padding: 0 var(--space-8) var(--space-8) calc(var(--space-8) + var(--space-6));
  border-top: 1px solid var(--color-gray-100);
}
.lp-faq-answer p {
  padding-top: var(--space-6);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
  color: var(--color-gray-600);
}

@media (max-width: 768px) {
  .lp-faq-list { margin: var(--space-10) auto 0; gap: var(--space-3); }
  .lp-faq-question { padding: var(--space-5) var(--space-5); font-size: var(--text-sm); }
  .lp-faq-answer { padding: 0 var(--space-5) var(--space-5) var(--space-5); }
  .lp-faq-answer p { padding-top: var(--space-4); font-size: var(--text-sm); }
}
