/* FAQ Page Styles */
.faq-shell { 
  margin: 0 auto; 
}

.faq-hero {
  background: linear-gradient(135deg, #f8f9fa 0%, #eef5f9 100%);
  border: 1px solid #e5e7eb; border-radius: .75rem; padding: 1rem 1.25rem;
}

/* Layout: sticky TOC on desktop */
.faq-layout { display: grid; grid-template-columns: 260px 1fr; gap: 1.25rem; }
@media (max-width: 992px) { .faq-layout { grid-template-columns: 1fr; } }

.faq-toc {
  position: sticky; top: 1rem;
  background: #fff; border: 1px solid #e5e7eb; border-radius: .75rem; padding: .75rem .9rem;
}
.faq-toc h2 { font-size: .95rem; letter-spacing: .03em; text-transform: uppercase; color: #0b3d52; margin-bottom: .5rem; }
.faq-toc a { display: block; padding: .35rem .4rem; border-radius: .5rem; text-decoration: none; color: #0b3d52; }
.faq-toc a:hover, .faq-toc a:focus { background: #e9f5fa; }

/* Global counter across the whole page */
.faq-page { counter-reset: faq-counter; }

.faq-item {
  counter-increment: faq-counter;
  border-left: 4px solid #046B99; border-radius: 6px; margin-bottom: .75rem;
}
.faq-item .accordion-button::before {
  content: "Q" counter(faq-counter) ": ";
  font-weight: 700; color: #046B99; margin-right: .25rem;
}

.accordion-button { font-weight: 600; font-size: 1.05rem; }
.accordion-button:not(.collapsed) { color: #046B99; background-color: #e9f5fa; }
.accordion-body { font-size: .95rem; color: #333; }

.faq-group-title {
  margin-top: 2rem; margin-bottom: .75rem;
  font-size: 1.15rem; font-weight: 800; letter-spacing: .02em; color: #0b3d52;
}

.muted { color: #6c757d; font-style: italic; }

