:root{
  --accent:#0050c8;
  --accent-dim:#003c96;
  --bg:#fff;
  --fg:#111;
  --card:#f7f7f9;
}
[data-theme="dark"]{
  --bg:#121212;
  --fg:#eee;
  --card:#1b1b1f;
}

.faq-page{ background:var(--bg); color:var(--fg); font-family:"Inter","Segoe UI",sans-serif; }

/* Hero */
.faq-hero{
  padding:4.5rem 1rem 2rem;
  text-align:center;
  background:linear-gradient(180deg, rgba(0,80,200,.08), transparent);
}
[data-theme="dark"] .faq-hero{
  background:linear-gradient(180deg, rgba(0,80,200,.15), transparent);
}
.faq-title{ font-weight:800; font-size:clamp(2.2rem, 4vw + .5rem, 3.2rem); margin:0 0 .6rem; }
.faq-sub{ max-width:60ch; margin:0 auto 1.5rem; line-height:1.6; }

/* Tools */
.faq-tools{
  display:flex; gap:1rem; align-items:center; justify-content:center; flex-wrap:wrap;
}
.faq-search{
  position:relative; width:min(720px, 92vw);
}
.faq-search input{
  width:100%; padding:0.9rem 2.6rem 0.9rem 1rem;
  border-radius:10px; border:1px solid rgba(0,0,0,.12);
  background:var(--bg); color:var(--fg);
  box-shadow:0 6px 16px rgb(0 0 0 / .06);
}
[data-theme="dark"] .faq-search input{ border-color:rgba(255,255,255,.12); }
.faq-search button{
  position:absolute; right:.35rem; top:50%; transform:translateY(-50%);
  width:32px; height:32px; border:none; border-radius:8px; cursor:pointer;
  background:var(--card); color:var(--fg);
}
.faq-actions .btn{
  padding:.65rem 1rem; border-radius:8px; border:1px solid rgba(0,0,0,.12);
  background:var(--bg); color:var(--fg); cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
[data-theme="dark"] .faq-actions .btn{ border-color:rgba(255,255,255,.12); }
.btn.ghost:hover{ background:var(--card); transform:translateY(-1px); }

/* Grid */
.faq-section{ padding:2.5rem 1rem 4rem; }
.faq-grid{
  max-width:1100px; margin:0 auto;
  display:grid; gap:1rem;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
@media (max-width:820px){ .faq-grid{ grid-template-columns:1fr; }}

/* Items */
.faq-item{
  border:1px solid rgba(0,0,0,.08);
  background:var(--card);
  border-radius:14px; overflow:hidden;
}
[data-theme="dark"] .faq-item{ border-color:rgba(255,255,255,.10); }

.faq-q{
  width:100%; text-align:left;
  background:none; border:none; padding:1rem 1.1rem;
  font-weight:700; font-size:1.05rem; color:var(--fg);
  display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  cursor:pointer;
}
.faq-q:hover{ color:var(--accent); }
.chev{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; transition:transform .25s ease; }
.faq-q[aria-expanded="true"] .chev{ transform:rotate(180deg); }

.faq-a{
  height:0; overflow:hidden; transition:height .3s ease;
  padding:0 1.1rem;
}
.faq-a.open{ padding:0 1.1rem 1rem; }
.faq-a p{ margin:1rem 0 0; line-height:1.65; }

/* Search highlight */
mark.found{
  background: rgba(0,80,200,.15);
  color: inherit;
  padding: 0 .15em;
  border-radius: 4px;
}

.faq-link {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}
.faq-link:hover {
  color: var(--accent-dim);
}