/* specialty-faq.css — content styles for /faq (standalone + forum-embedded).
   Scoped under .specialty-page--faq. */

.specialty-page--faq {
  --bg-surface: #161920;
  --bg-raised: #1e2229;
  --border: rgba(255, 255, 255, 0.08);
  --neon-blue: #00e5ff;
  --neon-green: #00ff88;
  --text-primary: #f0f2f5;
  --text-secondary: #9aa3b0;
  --text-muted: #5a6270;
  --radius: 12px;
  --font-body: 'Inter', sans-serif;
  --font-heading: 'Outfit', sans-serif;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.75;
  color: var(--text-primary);
  display: block;
}

.specialty-page--faq .page-hero { margin-bottom: 36px; padding-bottom: 24px; border-bottom: 1px solid var(--border); }
.specialty-page--faq .page-hero h1 { font-family: var(--font-heading); font-size: 34px; font-weight: 800; margin-bottom: 8px; color: var(--text-primary); }
.specialty-page--faq .page-hero h1 span { color: var(--neon-green); }
.specialty-page--faq .page-hero .meta { color: var(--text-muted); font-size: 13px; }

.specialty-page--faq .faq-section { display: flex; flex-direction: column; gap: 10px; }

.specialty-page--faq .faq-q {
  background: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0;
  overflow: hidden;
  transition: border-color .15s;
}
.specialty-page--faq .faq-q[open] { border-color: rgba(0, 229, 255, 0.25); }
.specialty-page--faq .faq-q summary {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 700;
  color: var(--text-primary);
  padding: 18px 22px;
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-right: 44px;
}
.specialty-page--faq .faq-q summary::-webkit-details-marker { display: none; }
.specialty-page--faq .faq-q summary::after {
  content: '+';
  position: absolute;
  right: 20px;
  top: 16px;
  font-size: 22px;
  color: var(--neon-blue);
  font-weight: 400;
  transition: transform .2s;
}
.specialty-page--faq .faq-q[open] summary::after {
  content: '\2212';
  transform: rotate(0deg);
}
.specialty-page--faq .faq-q summary:hover { color: var(--neon-blue); }

.specialty-page--faq .faq-a {
  padding: 0 22px 20px 22px;
  border-top: 1px solid var(--border);
}
.specialty-page--faq .faq-a p {
  color: var(--text-secondary);
  font-size: 14px;
  margin-top: 14px;
}
.specialty-page--faq .faq-a strong { color: var(--text-primary); }
.specialty-page--faq .faq-a em { color: var(--text-primary); font-style: italic; }
.specialty-page--faq .faq-a a { color: var(--neon-blue); }

.specialty-page--faq .faq-closing {
  background: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 28px;
  margin-top: 40px;
  text-align: center;
}
.specialty-page--faq .faq-closing p { font-size: 13px; color: var(--text-secondary); margin-bottom: 6px; }
.specialty-page--faq .faq-closing p:first-child { color: var(--text-primary); font-size: 14px; }
.specialty-page--faq .faq-closing strong { color: var(--neon-green); }

@media (max-width: 600px) {
  .specialty-page--faq .page-hero h1 { font-size: 26px; }
  .specialty-page--faq .faq-q summary { font-size: 14px; padding: 16px 18px; padding-right: 40px; }
}

body.light-mode .specialty-page--faq{--bg-surface:#fff;--bg-raised:#f7f8fa;--border:rgba(0,0,0,.1);--text-primary:#111827;--text-secondary:#4a5060;--text-muted:#6b7280}
