.wes-faq-list { margin: 0 auto; display: flex; flex-direction: column; gap: 10px; }

.wes-faq-item {
  background: var(--wes-card);
  border: 1px solid var(--wes-border);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}
.wes-faq-item:hover { border-color: rgba(220, 28, 28, 0.35); }
.wes-faq-item.open {
  border-color: var(--wes-red);
  box-shadow: 0 6px 22px -10px rgba(220, 28, 28, 0.35), var(--wes-shadow-md);
}

.wes-faq-q {
  width: 100%;
  background: none;
  border: 0;
  padding: 18px 20px;
  text-align: left;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  color: var(--wes-fg);
  cursor: pointer;
  transition: color 200ms ease, background 200ms ease;
}
.wes-faq-q:hover { background: var(--wes-bg); }
.wes-faq-q:hover, .wes-faq-item.open .wes-faq-q { color: var(--wes-red); }
.wes-faq-q > span:first-child { flex: 1 1 auto; }

/* Plus → Minus toggle via two CSS bars (no font glyph — avoids UTM Avo
   missing-symbol rendering). Vertical bar collapses on .open. */
.wes-faq-icon {
  flex: 0 0 auto;
  position: relative;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--wes-red-soft, rgba(220, 28, 28, 0.12));
  display: inline-block;
  transition: background 220ms ease, transform 220ms ease, box-shadow 220ms ease;
  /* Hide legacy "+" text glyph rendered inside the span */
  font-size: 0;
  color: transparent;
  line-height: 0;
}
.wes-faq-q:hover .wes-faq-icon { transform: scale(1.05); }
.wes-faq-icon::before,
.wes-faq-icon::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 12px;
  height: 2px;
  background: var(--wes-red);
  border-radius: 2px;
  transition: transform 260ms cubic-bezier(0.22, 0.61, 0.36, 1),
              opacity 200ms ease,
              background 220ms ease;
}
.wes-faq-icon::before { transform: translate(-50%, -50%); }
.wes-faq-icon::after  { transform: translate(-50%, -50%) rotate(90deg); }

/* Open: red disc, white bars, vertical bar collapses → minus sign */
.wes-faq-item.open .wes-faq-icon {
  background: var(--wes-red);
  box-shadow: 0 4px 12px -4px rgba(220, 28, 28, 0.55);
}
.wes-faq-item.open .wes-faq-icon::before { background: #fff; }
.wes-faq-item.open .wes-faq-icon::after  {
  transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
  opacity: 0;
  background: #fff;
}

.wes-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 320ms ease, padding 240ms ease;
  padding: 0 20px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--wes-fg-muted);
}
.wes-faq-item.open .wes-faq-a { max-height: 800px; padding: 0 20px 18px; }
