/* ============================================================
   FAQ Engine — atomic node + hub styling
   Loaded globally via default.hbs; all rules scoped to .faq-*
   Uses theme variables from style.css :root
   ============================================================ */

.faq-node, .faq-hub { padding: var(--space-2xl) 0; }

/* Breadcrumb */
.faq-breadcrumb {
  font-size: 0.875rem;
  color: var(--color-text-light);
  margin-bottom: var(--space-lg);
}
.faq-breadcrumb a { color: var(--color-primary); }
.faq-breadcrumb .sep { margin: 0 0.4rem; color: var(--color-border); }

/* Titles */
.faq-node-title, .faq-hub-title { margin-bottom: var(--space-lg); }

/* The citable short answer — lead block */
.faq-short-answer {
  font-size: 1.25rem;
  line-height: 1.6;
  color: var(--color-text);
  background: var(--color-bg-light);
  border-left: 4px solid var(--color-accent);
  padding: var(--space-md) var(--space-lg);
  border-radius: 0 var(--border-radius) var(--border-radius) 0;
  margin-bottom: var(--space-xl);
}

.faq-node-body h2 { margin-top: var(--space-xl); }
.faq-node-body h3 { margin-top: var(--space-lg); }

/* Video + transcript */
.faq-video { margin: var(--space-xl) 0; }
.faq-video-embed {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: var(--border-radius);
  background: #000;
}
.faq-video-embed iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: 0;
}
.faq-transcript {
  margin-top: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  background: var(--color-bg-light);
  border-radius: var(--border-radius);
  font-size: 0.95rem;
}
.faq-transcript h3 { margin-top: 0; font-size: 1rem; color: var(--color-text-light); text-transform: uppercase; letter-spacing: 0.04em; }

/* Relationship graph block */
.faq-relationships {
  margin: var(--space-xl) 0;
  padding: var(--space-lg);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
  background: var(--color-bg);
}
.faq-relationships h2 { margin-top: 0; font-size: 1.25rem; }
.faq-rel { margin: 0.5rem 0; }
.faq-rel-label {
  font-weight: 700;
  color: var(--color-primary);
  margin-right: 0.35rem;
}

/* Sources */
.faq-sources { margin: var(--space-xl) 0; }
.faq-sources h2 { font-size: 1.25rem; }
.faq-sources ul { padding-left: 1.25rem; }

/* Authority / review line */
.faq-authority {
  margin-top: var(--space-2xl);
  padding-top: var(--space-md);
  border-top: 1px solid var(--color-border);
  font-size: 0.9rem;
  color: var(--color-text-light);
}
.faq-reviewed strong { color: var(--color-text); }
.faq-disclaimer { font-style: italic; margin-top: 0.5rem; }

/* Hub */
.faq-hub-body h2 {
  margin-top: var(--space-2xl);
  padding-bottom: 0.5rem;
  border-bottom: 3px solid var(--color-accent);
}
.faq-hub-body h3 { margin-top: var(--space-lg); margin-bottom: 0.25rem; font-size: 1.15rem; }
.faq-hub-body h3 a { color: var(--color-primary); }
.faq-hub-body h3 + p { margin-top: 0; color: var(--color-text-light); }

/* ---- Right-to-left (Urdu / Arabic) ---- */
.faq-node-rtl { direction: rtl; text-align: right; }
.faq-node-rtl .faq-breadcrumb { text-align: right; }
.faq-node-rtl .faq-short-answer {
  border-left: 0;
  border-right: 4px solid var(--color-accent);
  border-radius: var(--border-radius) 0 0 var(--border-radius);
}
.faq-node-rtl .faq-relationships,
.faq-node-rtl .faq-sources ul { text-align: right; }
.faq-node-rtl .faq-sources ul { padding-right: 1.25rem; padding-left: 0; }
.faq-node-rtl .faq-rel-label { margin-right: 0; margin-left: 0.35rem; }
.faq-node-rtl .faq-translated-note { color: var(--color-text-light); font-style: italic; margin-top: 0.5rem; }
/* larger line-height helps Arabic/Urdu scripts */
.faq-node-rtl .faq-node-body { line-height: 1.9; }
