:root{
  --brand:#0ea5e9;   /* sky-500 */
  --ink:#0b7285;
}
.hero-faq{
  background:
    radial-gradient(1200px 600px at 10% 0%, rgba(14,165,233,.12), transparent 60%),
    radial-gradient(1000px 500px at 90% 20%, rgba(14,165,233,.10), transparent 60%);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.badge-brand{ background:var(--brand); }
.card-soft{ border:1px solid rgba(0,0,0,.06); border-radius:1rem; }
.toc .nav-link{ border-left:3px solid transparent; color:inherit; padding-left:.75rem; }
.toc .nav-link.active{ border-left-color:var(--brand); color:var(--ink); font-weight:600; }
h2,h3{ scroll-margin-top:6rem; }
.divider{ height:1px; background:rgba(0,0,0,.08); }

.faq-item{
  border:1px solid rgba(0,0,0,.08);
  border-radius:.85rem;
  padding:.5rem .75rem;
  background:var(--bs-body-bg);
}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; font-weight:600;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item[open]{ border-color:rgba(14,165,233,.35); box-shadow:0 0 0 3px rgba(14,165,233,.12) inset; }
.faq-item .faq-caret{
  flex:0 0 auto; width:1rem; height:1rem; border:2px solid currentColor; border-left:0; border-top:0;
  transform:rotate(45deg); transition:transform .2s ease;
  opacity:.7;
}
.faq-item[open] .faq-caret{ transform:rotate(-135deg); opacity:1; }
.faq-item .content{ padding:.25rem .25rem .75rem 0; color:var(--bs-secondary-color); }

.search-wrap .form-control{
  border-radius:.75rem;
}
.search-stats{
  font-size:.9rem; color:var(--bs-secondary-color);
}

@media (prefers-color-scheme: dark){
  .hero-faq{ border-bottom-color:rgba(255,255,255,.12); }
  .card-soft{ border-color:rgba(255,255,255,.12); }
  .divider{ background:rgba(255,255,255,.12); }
  .faq-item{ border-color:rgba(255,255,255,.14); }
}
