.vthd-category-faq { clear: both; padding-top: 20px; padding-bottom: 40px; }
.vthd-category-faq h2 { margin: 0 0 20px; font-size: 26px; line-height: 1.4; }
.vthd-category-faq-list { display: flex; flex-direction: column; gap: 12px; }
.vthd-category-faq-item { box-sizing: border-box; border: 1px solid #dedde5; border-radius: 5px; background: #fff; overflow: hidden; }
.vthd-category-faq-item > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; color: #13007d; font-weight: 600; line-height: 1.5; cursor: pointer; list-style: none; overflow-wrap: anywhere; }
.vthd-category-faq-item > summary::-webkit-details-marker { display: none; }
.vthd-category-faq-item > summary::after { content: ''; flex: 0 0 24px; display: block; width: 24px; height: 24px; background: linear-gradient(currentColor, currentColor) center / 16px 2px no-repeat, linear-gradient(currentColor, currentColor) center / 2px 16px no-repeat; transform-origin: 50% 50%; transform: rotate(0deg); transition: transform 300ms cubic-bezier(.22, 1, .36, 1); }
.vthd-category-faq-item[open]:not([data-faq-expanded="false"]) > summary::after { transform: rotate(45deg); }
.vthd-category-faq-item > summary:focus-visible { outline: 2px solid #13007d; outline-offset: -3px; }
.vthd-category-faq-answer { padding: 0 20px 18px; line-height: 1.7; overflow-wrap: anywhere; }
.vthd-category-faq-answer > :last-child { margin-bottom: 0; }
.vthd-category-faq-answer img { max-width: 100%; height: auto; }
.vthd-faq-row { display: flex; flex-direction: column; gap: 10px; padding: 16px; margin-bottom: 12px; border: 1px solid #c3c4c7; background: #fff; }
.vthd-faq-row label { display: flex; flex-direction: column; gap: 5px; font-weight: 600; }
.vthd-faq-row input, .vthd-faq-row textarea { box-sizing: border-box; width: 100% !important; }
.vthd-faq-row-actions { display: flex; flex-wrap: wrap; gap: 8px; }
@media (prefers-reduced-motion: reduce) {
  .vthd-category-faq-item > summary::after { transition: none; }
}
@media (max-width: 768px) {
  .vthd-category-faq h2 { font-size: 22px; }
  .vthd-category-faq-item > summary { padding: 14px 16px; }
  .vthd-category-faq-answer { padding: 0 16px 16px; }
}
