/* =============================================================================
   FAQ États-Unis — France-USA-Net.Com
   Contraste fond clair/sombre · réponses justifiées · sources officielles
   ============================================================================= */

.faq-page .travel-hero,
.faq-page .travel-hero-text,
.faq-page .travel-hero-text h1,
.faq-page .travel-hero-text .lead,
.faq-page .travel-hero-text .eyebrow {
  color: var(--guide-text-on-dark, #f1f5f9);
}

.faq-page .breadcrumb {
  color: var(--guide-text-muted-on-dark, #e2e8f0);
}

.faq-page .breadcrumb a {
  color: var(--guide-link-on-dark, #93c5fd);
}

/* Sommaire — fond clair */
.faq-page .toc {
  background: var(--guide-surface-light, linear-gradient(145deg, #fdfbf8 0%, #fff 100%));
  border: 1px solid rgba(44, 95, 78, 0.18);
  border-radius: var(--radius-md, 12px);
  padding: 18px 22px;
  color: var(--guide-text-muted-on-light, #3d3834);
}

.faq-page .toc-head h2 {
  color: var(--guide-accent, #2c5f4e);
}

.faq-page .toc-links a {
  color: var(--guide-link-on-light, #1d4ed8);
}

.faq-page .toc-links a:hover {
  color: var(--guide-accent-dark, #1a3d32);
}

/* Catégories — titres sur fond sombre du main */
.faq-page .faq-category .section-head h2 {
  color: var(--guide-text-on-dark, #f1f5f9);
}

.faq-page .faq-category .cat-intro {
  color: var(--guide-text-muted-on-dark, #e2e8f0);
}

.faq-page .faq-category .cat-badge {
  color: var(--guide-accent-gold, #f4d58a);
  background: rgba(244, 213, 138, 0.12);
  border-color: rgba(244, 213, 138, 0.35);
}

/* Cartes FAQ — fond clair, texte sombre */
.faq-page .faq-item {
  background: var(--guide-surface-light, linear-gradient(145deg, #fdfbf8 0%, #fff 100%));
  border: 1px solid rgba(44, 95, 78, 0.2);
  box-shadow: 0 2px 12px rgba(11, 16, 32, 0.06);
}

.faq-page .faq-item summary {
  color: var(--guide-text-on-light, #14110e);
}

.faq-page .faq-item summary:hover {
  background: rgba(44, 95, 78, 0.06);
}

.faq-page .faq-item summary::after {
  color: var(--guide-accent, #2c5f4e);
}

.faq-page .faq-body {
  padding: 0 22px 16px;
  border-top: 1px solid rgba(44, 95, 78, 0.12);
}

.faq-page .faq-answer {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  color: var(--guide-text-muted-on-light, #3d3834);
  line-height: 1.75;
  margin: 14px 0 10px;
  padding: 0;
}

.faq-page .faq-source {
  font-size: 0.88rem;
  color: var(--guide-text-muted-on-light, #3d3834);
  margin: 0 0 4px;
  padding: 10px 12px;
  background: rgba(44, 95, 78, 0.07);
  border-left: 3px solid var(--guide-accent, #2c5f4e);
  border-radius: 0 6px 6px 0;
  line-height: 1.55;
}

.faq-page .faq-source strong {
  color: var(--guide-accent-dark, #1a3d32);
}

.faq-page .faq-source a {
  color: var(--guide-link-on-light, #1d4ed8);
  word-break: break-word;
}

.faq-page .faq-source a:hover {
  color: var(--guide-accent, #2c5f4e);
}

.faq-page .faq-answer a {
  color: var(--guide-link-on-light, #1d4ed8);
}

.faq-page .faq-answer code {
  color: var(--guide-accent-dark, #1a3d32);
  background: rgba(44, 95, 78, 0.1);
  border-color: rgba(44, 95, 78, 0.22);
}

/* Recherche */
.faq-page .faq-search {
  background: #fff;
  color: var(--guide-text-on-light, #14110e);
  border-color: rgba(44, 95, 78, 0.25);
}

.faq-page .faq-search::placeholder {
  color: #6b6560;
}

.faq-page .faq-search-count {
  color: var(--guide-text-muted-on-dark, #e2e8f0);
}

.faq-page .faq-noresult {
  background: var(--guide-surface-light);
  color: var(--guide-text-muted-on-light);
  border-color: rgba(44, 95, 78, 0.25);
}

.faq-page .faq-noresult a {
  color: var(--guide-link-on-light, #1d4ed8);
}

/* Bandeau info & CTA */
.faq-page .alert.info {
  background: var(--guide-surface-light);
  color: var(--guide-text-muted-on-light);
  border-color: rgba(44, 95, 78, 0.25);
}

.faq-page .alert.info strong {
  color: var(--guide-accent-dark);
}

.faq-page .alert.info code {
  color: var(--guide-accent-dark);
}

@media (max-width: 720px) {
  .faq-page .faq-body {
    padding: 0 16px 14px;
  }

  .faq-page .faq-answer {
    font-size: 0.95rem;
  }
}
