/* =============================================================================
   Guides France-USA-Net — Contraste fond clair / fond sombre
   Palette harmonisée avec realestate-guide.css
   ============================================================================= */

:root {
  --guide-text-on-light: #14110e;
  --guide-text-muted-on-light: #3d3834;
  --guide-accent: #2c5f4e;
  --guide-accent-dark: #1a3d32;
  --guide-accent-gold: #f4d58a;
  --guide-link-on-light: #1d4ed8;
  --guide-link-warm: #b8703a;
  --guide-surface-light: linear-gradient(145deg, #fdfbf8 0%, #ffffff 100%);
  --guide-surface-dark: linear-gradient(135deg, #2c5f4e 0%, #0b1020 100%);
  --guide-text-on-dark: #f1f5f9;
  --guide-text-muted-on-dark: #e2e8f0;
  --guide-link-on-dark: #93c5fd;
}

/* ----- Surfaces CLAIRES → texte SOMBRE ----- */

.realestate-topic-card,
.realestate-callout,
.realestate-forms-grid .realestate-panel--light,

.immigration-visa-card,
.immigration-forms-split .immigration-forms-panel--light,

.work-visa-category-card,
.work-visa-mini-card,
.work-visa-callout,
.work-visa-forms-grid .work-visa-panel--light,

.study-category-card,
.study-callout,
.study-forms-grid .study-panel--light,

.taxes-category-card,
.taxes-callout,
.taxes-forms-grid .taxes-panel--light,

.jobs-income-card,
.jobs-income-callout,
.jobs-income-mini-card,
.jobs-income-forms-grid .jobs-income-panel--light,
.jobs-income-occ-item,
.jobs-income-table-wrap,

.drivers-license-card,
.drivers-license-callout,
.drivers-license-mini-card,
.drivers-license-forms-grid .drivers-license-panel--light,
.drv-status-table-wrap,
.drv-checklist-box,
.drv-flow-step,

.wv-compare-table-wrap,
.wv-checklist-box,
.wv-flow-step,
.wv-orientation-q,
.wv-orientation-results,

.education-skills-card,
.education-skills-callout,
.education-skills-table-wrap,

.law-enforcement-card,
.law-enforcement-callout,
.law-enforcement-note-box,
.law-enforcement-table-wrap,
.law-enforcement-links-grid a,

.bank-account-card,
.bank-account-callout,
.bank-account-note-box,
.bank-account-table-wrap,
.bank-account-links-grid a,

.civil-war-section-panel,
.civil-war-event-card,
.civil-war-anecdote,
.civil-war-timeline-mini,
.civil-war-links-grid a,

.h1b-section-panel,
.h1b-event-card,
.h1b-anecdote,
.h1b-timeline-mini,
.h1b-links-grid a,
.h1b-topic-card,
.h1b-panel--light,
.h1b-table-wrap .data-table,

.error401-card,
.error403-card,
.error404-card,
.error429-card,
.error500-card,
.error502-card,
.error503-card,
.error504-card,

.visas-page .visas-filter-section,
.visas-page .visas-card,
.visas-page .visas-disclaimer,

.sitemap-section,
.sitemap-item a,
.sitemap-xml-card,

.privacy-intro-shell,
.privacy-page .legal-section.privacy-section,
.privacy-notice,
.privacy-right-card,
.privacy-contact-card,
.privacy-links-grid a,

.contact-page .contact-aside,
.contact-page .contact-card,

.blog-page .blog-stat,
.blog-page .toc,
.blog-page .blog-card,
.blog-page .blog-post {
  color: var(--guide-text-muted-on-light);
}

/* Titres sur fond clair */
.realestate-topic-card h3,
.realestate-forms-panel--light h3,

.immigration-visa-card h3,
.immigration-forms-split .immigration-forms-panel--light h3,
.immigration-forms-panel--light h3,

.work-visa-category-card h3,
.work-visa-panel--light h3,
.work-visa-mini-card h3,

.study-category-card h3,
.study-panel--light h3,

.taxes-category-card h3,
.taxes-panel--light h3,

.jobs-income-card h3,
.jobs-income-card h4,
.jobs-income-panel--light h3,
.jobs-income-occ-sum,

.drivers-license-card h3,
.drivers-license-panel--light h3,
.drivers-license-mini-card h3,

.education-skills-card h3,
.law-enforcement-card h3,
.bank-account-card h3,

.visas-page .visas-filter-title,
.visas-page .visas-card-head h2,
.visas-page .visas-card-body h3,

.sitemap-section h2,
.privacy-page .legal-section.privacy-section h2,
.privacy-page .legal-section.privacy-section h3,
.privacy-right-card h4,

.contact-page .contact-aside h2,
.blog-page .toc-head h2,
.wv-orientation-q-text {
  color: var(--guide-accent);
}

/* Texte fort / listes sur fond clair */
.realestate-topic-card strong,
.realestate-callout strong,
.realestate-panel--light strong,

.work-visa-callout strong,
.work-visa-panel--light strong,
.work-visa-category-card strong,

.study-callout strong,
.taxes-callout strong,

.jobs-income-callout strong,
.jobs-income-panel--light strong,
.drivers-license-callout strong,
.education-skills-callout strong,

.visas-page .visas-card-body strong,

.sitemap-label,
.sitemap-xml-card strong,
.privacy-intro-shell strong,
.privacy-page .legal-section.privacy-section strong,
.privacy-notice strong,

.blog-page .blog-stat .num,
.blog-page .blog-card h3,
.blog-page .blog-post h2 {
  color: var(--guide-text-on-light);
}

.realestate-topic-card p,
.realestate-topic-card li,
.realestate-panel--light li,

.immigration-visa-card p,
.immigration-forms-panel--light li,

.work-visa-category-card p,
.work-visa-panel--light li,

.study-category-card p,
.study-panel--light li,

.taxes-category-card p,
.taxes-panel--light li,

.jobs-income-card p,
.jobs-income-card li,
.jobs-income-panel--light li,

.drivers-license-card p,
.drivers-license-card li,
.drivers-license-panel--light li,

.education-skills-card p,
.education-skills-card li,

.law-enforcement-card p,
.law-enforcement-card li,

.bank-account-card p,
.bank-account-card li,

.visas-page .visas-card-body p,
.visas-page .visas-card-body li,

.sitemap-desc,
.sitemap-xml-card p,
.privacy-intro-shell p,
.privacy-page .legal-section.privacy-section p,
.privacy-page .legal-section.privacy-section li,
.privacy-notice,
.privacy-right-card p,
.privacy-contact-card p,
.privacy-retention-table tbody td,

.blog-page .blog-stat .label,
.blog-page .blog-card p,
.blog-page .blog-post-body p,
.blog-page .blog-post .lead,
.blog-page .toc-links a {
  color: var(--guide-text-muted-on-light);
}

.contact-page .contact-aside p,
.contact-page .contact-info-item .ci-text,
.contact-page .field label,
.contact-page .form-feedback,
.wv-orientation-q label {
  color: var(--guide-text-muted-on-light);
}

.contact-page .field input,
.contact-page .field select,
.contact-page .field textarea {
  color: var(--guide-text-on-light);
  background: #ffffff;
}

/* Liens sur fond clair */
.realestate-topic-card a,
.realestate-panel--light a,

.immigration-forms-panel--light a,

.work-visa-category-card a,
.work-visa-panel--light a,

.study-category-card a,
.study-panel--light a,

.taxes-category-card a,
.taxes-panel--light a,

.jobs-income-card a,
.jobs-income-panel--light a,
.jobs-income-occ-body a,

.drivers-license-card a,
.drivers-license-panel--light a,

.education-skills-card a,
.law-enforcement-card a,

.visas-page .visas-card-body a:not(.visas-card-link),

.sitemap-item a:hover .sitemap-label,
.sitemap-item a:focus-visible .sitemap-label,
.privacy-page .legal-section.privacy-section a,
.privacy-notice a,
.privacy-links-grid a,
.privacy-contact-card a,
.privacy-retention-table a {
  color: var(--guide-link-on-light);
  font-weight: 600;
}

.contact-page .contact-info-item .ci-text strong,
.contact-page .field label {
  color: var(--guide-text-on-light);
}

.contact-page .contact-info-item a {
  color: var(--guide-link-on-light);
  font-weight: 600;
}

.contact-page .contact-info-item a:hover,
.contact-page .contact-info-item a:focus-visible {
  color: var(--guide-link-warm);
}

.sitemap-item a:hover,
.sitemap-item a:focus-visible,
.privacy-links-grid a:hover,
.privacy-links-grid a:focus-visible {
  color: var(--guide-link-on-light);
}

.realestate-panel--light a,
.jobs-income-panel--light a,
.drivers-license-panel--light a,
.work-visa-panel--light a,
.study-panel--light a,
.taxes-panel--light a,
.immigration-forms-panel--light a {
  color: var(--guide-link-on-light);
}

/* Tableaux dans enveloppes claires */
.jobs-income-table-wrap .data-table caption,
.jobs-income-table-wrap .data-table thead th,
.education-skills-table-wrap .data-table caption,
.education-skills-table-wrap .data-table thead th,
.law-enforcement-table-wrap .data-table caption,
.law-enforcement-table-wrap .data-table thead th,
.bank-account-table-wrap .data-table caption,
.bank-account-table-wrap .data-table thead th {
  color: var(--guide-accent);
}

.jobs-income-table-wrap .data-table tbody td,
.education-skills-table-wrap .data-table tbody td,
.law-enforcement-table-wrap .data-table tbody td,
.bank-account-table-wrap .data-table tbody td {
  color: var(--guide-text-muted-on-light);
}

.jobs-income-table-wrap .data-table a,
.education-skills-table-wrap .data-table a,
.law-enforcement-table-wrap .data-table a,
.bank-account-table-wrap .data-table a {
  color: var(--guide-link-on-light);
  font-weight: 600;
}

/* ----- Surfaces SOMBRES → texte CLAIR ----- */

.realestate-forms-grid .realestate-panel--dark,
.immigration-forms-split .immigration-forms-panel--dark,
.work-visa-forms-grid .work-visa-panel--dark,
.study-forms-grid .study-panel--dark,
.taxes-forms-grid .taxes-panel--dark,
.jobs-income-forms-grid .jobs-income-panel--dark,
.drivers-license-forms-grid .drivers-license-panel--dark {
  color: var(--guide-text-on-dark);
}

.realestate-panel--dark h3,
.immigration-forms-panel--dark h3,
.work-visa-panel--dark h3,
.study-panel--dark h3,
.taxes-panel--dark h3,
.jobs-income-panel--dark h3,
.drivers-license-panel--dark h3 {
  color: var(--guide-accent-gold);
}

.realestate-panel--dark li,
.immigration-forms-panel--dark li,
.work-visa-panel--dark li,
.study-panel--dark li,
.taxes-panel--dark li,
.jobs-income-panel--dark li,
.drivers-license-panel--dark li {
  color: var(--guide-text-muted-on-dark);
}

.realestate-panel--dark a,
.immigration-forms-panel--dark a,
.work-visa-panel--dark a,
.study-panel--dark a,
.taxes-panel--dark a,
.jobs-income-panel--dark a,
.drivers-license-panel--dark a {
  color: var(--guide-link-on-dark);
  font-weight: 600;
}

.realestate-panel--dark a:hover,
.realestate-panel--dark a:focus-visible,
.immigration-forms-panel--dark a:hover,
.immigration-forms-panel--dark a:focus-visible,
.work-visa-panel--dark a:hover,
.work-visa-panel--dark a:focus-visible,
.study-panel--dark a:hover,
.study-panel--dark a:focus-visible,
.taxes-panel--dark a:hover,
.taxes-panel--dark a:focus-visible,
.jobs-income-panel--dark a:hover,
.jobs-income-panel--dark a:focus-visible,
.drivers-license-panel--dark a:hover,
.drivers-license-panel--dark a:focus-visible {
  color: #ffffff;
}

/* Listes d'étapes — fond page sombre */
.realestate-step-list > li,
.immigration-step-list > li,
.work-visa-step-list > li,
.jobs-income-step-list > li,
.drivers-license-step-list > li,
.education-skills-step-list > li,
.law-enforcement-step-list > li,
.bank-account-step-list > li {
  color: var(--text-300);
}

.realestate-step-list > li strong,
.immigration-step-list > li strong,
.work-visa-step-list > li strong,
.jobs-income-step-list > li strong,
.drivers-license-step-list > li strong,
.education-skills-step-list > li strong,
.law-enforcement-step-list > li strong,
.bank-account-step-list > li strong {
  color: var(--text-100);
}

/* Zones institutionnelles sombres (toutes pages guides) */
main .retirement-link-card,
main .retirement-link-card li {
  color: var(--text-300);
}

main .retirement-link-card h3 {
  color: var(--gold);
}

main .retirement-link-card a {
  color: var(--text-300);
}

main .retirement-link-card a:hover,
main .retirement-link-card a:focus-visible {
  color: var(--gold);
}

main .cta-inner h2 {
  color: #ffffff;
}

main .cta-inner p {
  color: rgba(255, 255, 255, 0.92);
}

main .cta-inner .btn {
  color: var(--us-blue);
}

main .cta-inner .btn-ghost {
  color: var(--gold);
}

/* FAQ / sommaire — fond sombre du site (inchangé, rappel) */
main .faq-item summary {
  color: var(--text-100);
}

main .faq-item p {
  color: var(--text-300);
}

main .toc-head h2 {
  color: var(--text-100);
}

main .toc-links a {
  color: var(--text-300);
}

/* Prose sur fond sombre (sections standard) */
main .prose,
main .prose p {
  color: var(--text-300);
}

main .prose strong {
  color: var(--text-100);
}

main .prose a {
  color: var(--accent-blue);
  font-weight: 600;
}

main .prose a:hover,
main .prose a:focus-visible {
  color: var(--gold);
}

/* Tableaux data-table hors enveloppe claire = fond sombre */
main .table-wrap:not(.jobs-income-table-wrap):not(.education-skills-table-wrap):not(.law-enforcement-table-wrap):not(.bank-account-table-wrap):not(.drv-status-table-wrap):not(.wv-compare-table-wrap) .data-table caption {
  color: var(--text-300);
}

main .table-wrap:not(.jobs-income-table-wrap):not(.education-skills-table-wrap):not(.law-enforcement-table-wrap):not(.bank-account-table-wrap):not(.drv-status-table-wrap):not(.wv-compare-table-wrap) .data-table thead th {
  color: var(--text-100);
}

main .table-wrap:not(.jobs-income-table-wrap):not(.education-skills-table-wrap):not(.law-enforcement-table-wrap):not(.bank-account-table-wrap):not(.drv-status-table-wrap):not(.wv-compare-table-wrap) .data-table tbody td {
  color: var(--text-300);
}

main .table-wrap:not(.jobs-income-table-wrap):not(.education-skills-table-wrap):not(.law-enforcement-table-wrap):not(.bank-account-table-wrap):not(.drv-status-table-wrap):not(.wv-compare-table-wrap) .data-table a {
  color: var(--guide-link-on-dark);
  font-weight: 600;
}

/* immigration h3 gold sur carte claire → accent vert lisible */
.immigration-visa-card h3 {
  color: var(--guide-accent);
}

/* ----- Zones SOMBRES globales → texte CLAIR ----- */

/* Héros travel-hero (fond dégradé sombre) */
main .travel-hero-text h1,
main .page-hero h1 {
  color: var(--guide-text-on-dark);
}

main .travel-hero-text .lead,
main .page-hero p {
  color: var(--guide-text-muted-on-dark);
}

main .travel-hero-text .eyebrow,
main .page-hero .eyebrow {
  color: var(--guide-accent-gold);
}

main .travel-hero-text .legal-meta .pill,
main .breadcrumb a,
main .breadcrumb span {
  color: var(--guide-text-muted-on-dark);
}

main .breadcrumb a:hover,
main .breadcrumb a:focus-visible {
  color: var(--guide-accent-gold);
}

/* Alertes sur fond sombre semi-transparent */
main .alert.info,
main .alert.info strong {
  color: var(--guide-text-on-dark);
}

main .alert.warning {
  color: var(--guide-text-on-dark);
}

main .alert.warning strong {
  color: var(--guide-accent-gold);
}

/* Accordéons ambassades — panneau sur fond page sombre */
main .acc-panel-inner,
main .acc-panel-inner address {
  color: var(--guide-text-muted-on-dark);
}

main .acc-panel-inner .contact-line .lbl {
  color: var(--guide-text-muted-on-dark);
}

main .acc-panel-inner a {
  color: var(--guide-link-on-dark);
}

main .acc-panel-inner .acc-note,
main .acc-panel-inner .acc-hours {
  color: var(--guide-text-muted-on-dark);
}

main .acc-panel-inner .acc-hours strong {
  color: var(--guide-text-on-dark);
}

/* Sections légales sur fond sombre (mentions sans privacy override) */
main .legal-section:not(.privacy-section) {
  color: var(--guide-text-muted-on-dark);
}

main .legal-section:not(.privacy-section) h2,
main .legal-section:not(.privacy-section) h3 {
  color: var(--guide-text-on-dark);
}

main .legal-section:not(.privacy-section) p,
main .legal-section:not(.privacy-section) li {
  color: var(--guide-text-muted-on-dark);
}

main .legal-section:not(.privacy-section) strong {
  color: var(--guide-text-on-dark);
}

main .legal-section:not(.privacy-section) a {
  color: var(--guide-link-on-dark);
}

/* Plan du site, confidentialité, contact — héros sombres */
.sitemap-page .sitemap-hero h1,
.sitemap-page .sitemap-no-results,
.privacy-page .travel-hero-text h1,
.privacy-page .travel-hero-text .lead,
.privacy-page .travel-hero-text .legal-meta .pill,
.privacy-flag-pill,
.contact-page .contact-hero .travel-hero-text h1,
.contact-page .contact-hero .travel-hero-text .lead {
  color: var(--guide-text-on-dark);
}

.contact-page .contact-hero .travel-hero-text .eyebrow,
.blog-page .blog-hero .travel-hero-text .eyebrow {
  color: var(--guide-accent-gold);
}

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

.blog-page .blog-hero-badges .pill {
  color: var(--guide-text-muted-on-dark);
}

.blog-page .blog-filter-btn {
  color: var(--guide-text-muted-on-light);
}

.blog-page .blog-filter-btn.active {
  color: var(--guide-text-on-dark);
}

.blog-page .section-head h2 {
  color: var(--guide-text-on-dark);
}

.about-page .section-head .eyebrow {
  color: var(--guide-accent-gold);
}

.about-page .section-head h2 {
  color: var(--guide-text-on-dark);
}

.about-page .section-head p {
  color: var(--guide-text-muted-on-dark);
}

.about-page .feature-text h2 {
  color: var(--guide-text-on-dark);
}

.about-page .feature-text p {
  color: var(--guide-text-muted-on-dark);
}

.about-page .highlight-box,
.about-page .feature-visual,
.about-page .value,
.about-page .logo-card {
  color: var(--guide-text-muted-on-light);
}

.about-page .highlight-box p,
.about-page .value p,
.about-page .logo-card p {
  color: var(--guide-text-muted-on-light);
}

.about-page .value h3,
.about-page .logo-card h3 {
  color: var(--guide-text-on-light);
}

.sitemap-page .sitemap-hero .lead,
.sitemap-page .sitemap-stat {
  color: var(--guide-text-muted-on-dark);
}

.sitemap-kicker span:nth-child(1),
.sitemap-kicker span:nth-child(2),
.privacy-kicker span:nth-child(1),
.privacy-kicker span:nth-child(2) {
  color: var(--guide-text-muted-on-dark);
}

.sitemap-kicker span:nth-child(3),
.privacy-kicker span:nth-child(3) {
  color: var(--guide-accent-gold);
}

.sitemap-xml-btn {
  color: var(--guide-text-on-dark);
}

.sitemap-xml-btn:hover,
.sitemap-xml-btn:focus-visible {
  color: var(--guide-accent-gold);
}

.contact-page .contact-hero-badges .pill {
  color: var(--guide-text-muted-on-dark);
}

.privacy-page .legal-section.privacy-section h2 .num {
  color: #ffffff;
}

.privacy-retention-table thead th {
  color: var(--guide-text-on-dark);
}
