/* ============================================================
   Complya — site-faq.css
   ============================================================ */

.faq-hero { text-align: center; }

.faq-search {
  display: flex; align-items: center; gap: 12px;
  max-width: 560px; margin: 28px auto 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 16px;
  box-shadow: var(--shadow-sm);
}
.faq-search > i { color: var(--ink-light); font-size: 1.1rem; }
.faq-search input {
  flex: 1; border: 0; outline: 0; background: transparent;
  font: inherit; color: var(--ink); padding: 10px 0;
}
.faq-search input::placeholder { color: var(--ink-light); }
.faq-count {
  font-size: .82rem; color: var(--ink-light);
  background: var(--bg-alt);
  padding: 4px 10px; border-radius: 999px;
  white-space: nowrap;
}

.faq-section { padding: 56px 0 80px; }

.faq-layout { display: grid; grid-template-columns: 240px 1fr; gap: 56px; align-items: start; }
@media (max-width: 900px) { .faq-layout { grid-template-columns: 1fr; gap: 32px; } }

.faq-nav { position: sticky; top: 96px; }
@media (max-width: 900px) { .faq-nav { position: static; } }
.faq-nav h3 { font-size: .82rem; color: var(--ink-light); text-transform: uppercase; letter-spacing: .12em; margin: 0 0 12px; font-weight: 700; }
.faq-nav ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; }
.faq-nav a {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 12px; border-radius: 8px;
  color: var(--ink); font-size: .94rem;
  transition: background .15s, color .15s;
}
.faq-nav a:hover { background: var(--bg-alt); color: var(--primary); }
.faq-nav i { color: var(--primary); }
.faq-cat-count {
  margin-left: auto;
  background: var(--line-soft);
  color: var(--ink-light);
  padding: 1px 8px; border-radius: 999px;
  font-size: .78rem; font-weight: 600;
}

.faq-group { margin-bottom: 48px; scroll-margin-top: 96px; }
.faq-group[hidden] { display: none; }
.faq-group:last-child { margin-bottom: 0; }

.faq-group-head {
  display: flex; align-items: center; gap: 12px;
  padding-bottom: 12px; border-bottom: 1px solid var(--line);
  margin-bottom: 20px;
}
.faq-group-head i { color: var(--primary); font-size: 1.3rem; }
.faq-group-head h2 { margin: 0; font-size: 1.5rem; }
.faq-group-head .faq-cat-count { background: var(--bg-alt); color: var(--primary); }

.faq-item[hidden] { display: none; }

.faq-no-results {
  text-align: center; padding: 64px 24px;
  border: 1px dashed var(--line); border-radius: var(--radius-lg);
  color: var(--ink-light);
}
.faq-no-results i { font-size: 2.5rem; color: var(--line); display: block; margin-bottom: 12px; }
.faq-no-results p { margin: 0; }
