/* ============================================================
   PAGE — FAQS
   ============================================================ */

.faq-layout{
  display:grid; grid-template-columns: minmax(0,.34fr) minmax(0,1fr);
  gap: clamp(1.8rem,5vw,5rem); align-items:start;
}
@media (max-width:900px){ .faq-layout{ grid-template-columns:1fr; } }

.faq-aside{
  position:sticky; top: calc(var(--header-h) + 2rem);
  display:grid; gap:1.4rem;
}
@media (max-width:900px){ .faq-aside{ position:static; } }

.faq-search{ position:relative; }
.faq-search input{
  width:100%; padding: .95rem 2.6rem .95rem 1.1rem;
  background: var(--bg-elev); color: var(--text);
  border:1px solid var(--line); border-radius: var(--r-pill);
  font-family: var(--f-body); font-size: var(--t-sm);
  transition: border-color .35s var(--e-out), box-shadow .35s var(--e-out);
}
.faq-search input:focus{ border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-wash); }
.faq-search svg{
  position:absolute; right:1rem; top:50%; margin-top:-9px;
  width:18px; height:18px; stroke:var(--text-mut); fill:none; stroke-width:1.4;
  pointer-events:none;
}

.faq-help{
  padding: clamp(1.3rem,2.4vw,1.9rem);
  border:1px solid var(--line-soft); border-radius: var(--r-md);
  background: var(--surface); display:grid; gap:.8rem;
}
.faq-help h3{ font-size: var(--t-base); }
.faq-help p{ font-size:var(--t-sm); color:var(--text-mut); }

.faq-empty{
  display:none; padding: 2.4rem 0; text-align:center; color:var(--text-mut);
  font-size:var(--t-sm);
}
.faq-empty.is-on{ display:block; }

.acc__item.is-hidden{ display:none; }
.acc__btn mark{ background: var(--accent-wash); color: var(--accent); border-radius:3px; }
