/* FAQ Accordion */
.upside-faq.surf-care { background: var(--surface-care); }
.upside-faq.surf-white { background: #fff; }
.upside-faq-inner { display: grid; grid-template-columns: 340px 1fr; gap: 48px; align-items: start; }
.upside-faq-head h2 { max-width: 300px; }
.upside-faq-list { display: flex; flex-direction: column; gap: 12px; }
.upside-faq-item {
  background: #fff; border: 1px solid #eef2f6; border-radius: var(--r-md); padding: 0 24px;
  box-shadow: 0 14px 36px -30px rgba(9, 76, 138, .2);
}
body.theme-warm .upside-faq-item { border-color: #f0e7d6; }
.upside-faq-item summary {
  list-style: none; cursor: pointer; padding: 22px 0; font-weight: 600; font-size: 17px; color: var(--dark);
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
.upside-faq-item summary::-webkit-details-marker { display: none; }
.upside-faq-icon { position: relative; width: 16px; height: 16px; flex-shrink: 0; }
.upside-faq-icon::before, .upside-faq-icon::after {
  content: ""; position: absolute; background: var(--brand-primary); transition: .25s;
}
.upside-faq-icon::before { top: 7px; left: 0; width: 16px; height: 2px; }
.upside-faq-icon::after { top: 0; left: 7px; width: 2px; height: 16px; }
.upside-faq-item[open] .upside-faq-icon::after { transform: rotate(90deg); opacity: 0; }
.upside-faq-answer { padding: 0 0 22px; font-size: 15.5px; color: var(--secdark); }
.upside-faq-answer p { margin-bottom: 10px; }
@media (max-width: 900px) { .upside-faq-inner { grid-template-columns: 1fr; gap: 24px; } }
