/* FAQ-аккордеон — handoff «Цены», §3.5. Разметка: template-parts/sections/faq.php */
.vb-faq { gap: clamp(28px, 5vw, 96px); }
.vb-faq__intro { display: flex; flex-direction: column; gap: 18px; }
.vb-faq__intro .vb-pg-h2 { color: var(--vb-ink); }
.vb-faq__text { margin-top: 6px; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.6; color: var(--vb-ink-2); max-width: 440px; }
.vb-faq__cta { display: flex; padding-top: 6px; }
@media (min-width: 1100px) { .vb-faq__intro { position: sticky; top: var(--scroll-offset); } }

.vb-faq__list { border-top: 1px solid var(--vb-line); }
.vb-faq__item { border-bottom: 1px solid var(--vb-line); }
.vb-faq__q { margin: 0; }
.vb-faq__q button {
  width: 100%; min-height: 72px; padding: 18px 0; display: flex; align-items: center; justify-content: space-between; gap: 18px;
  background: none; border: 0; cursor: pointer; text-align: left;
  font-family: var(--font-brand); font-weight: 700; font-size: clamp(18px, 1.5vw, 22px); line-height: 1.3; color: var(--vb-ink);
}
.vb-faq__sign {
  flex: none; width: 40px; height: 40px; border-radius: var(--r-pill); border: 1.5px solid var(--vb-ink);
  display: flex; align-items: center; justify-content: center; font-size: 20px; color: var(--vb-ink);
  transition: background .2s ease, color .2s ease;
}
.vb-faq__sign::before { content: "+"; }
.vb-faq__item.is-open .vb-faq__sign { background: var(--vb-ink); color: var(--vb-gold); }
.vb-faq__item.is-open .vb-faq__sign::before { content: "−"; }
/* Ответ всегда в DOM; раскрытие через grid-template-rows */
.vb-faq__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.vb-faq__item.is-open .vb-faq__a { grid-template-rows: 1fr; }
.vb-faq__a > div { overflow: hidden; }
.vb-faq__a p { padding: 0 56px 24px 0; font-size: clamp(16px, 1.25vw, 18px); line-height: 1.65; color: var(--vb-ink-2); text-wrap: pretty; }
@media (max-width: 759.98px) { .vb-faq__a p { padding-right: 0; } }
@media (prefers-reduced-motion: reduce) { .vb-faq__a { transition: none; } }
