/* theme.css — identité visuelle de sftransit.us (chargé en DERNIER sur toutes les pages), portée de chitransit.us.
 * Palette « International Orange » assombrie : orange brûlé #fe7000 (5,4:1 avec le blanc, AA) pour l'en-tête, les boutons, les liens et les repères ;
 * accent bleu clair du drapeau #f6c9a8 TOUJOURS avec un texte foncé (jamais de blanc sur bleu clair : 1,5:1) ou en filet décoratif ;
 * neutres froids (slate) ; rouge #b91c1c réservé aux interruptions majeures, ambre aux perturbations ordinaires.
 * Les couleurs des lignes (GTFS) ne sont jamais modifiées. */
:root{
  --mm-brand:#fe7000; --mm-brand-dark:#e56500; --mm-brand-soft:#fbede6;
  --mm-accent:#f6c9a8;          /* filets des titres de section : bleu clair (décoratif, jamais support de texte blanc) */
  --mm-ink:#111827; --mm-muted:#4b5563;
  --brand:#fe7000; --brand-hover:#e56500; --brand-dark:#1c1917; --brand-light:#eef1f5; --brand-tint:#f8fafc;
  --accent:#f6c9a8; --accent-dark:#d98a5c; --accent-soft:#fbede6;
  --ink:#111827; --muted:#4b5563; --surface:#f3f4f6; --line:#e5e7eb;
}
body{background:#fff;color:#111827;}
/* Hiérarchie : titres en encre */
.mm-content h2, .mm-content h3, .mm-home-body h2, .mm-home-body h3,
.about-area5 h2, .about-area5 h3 { color:var(--mm-ink) !important; }
/* Liens de texte : encre soulignée, survol = soulignement bleu clair épais */
.mm-content p a, .mm-content li a, .mm-content td a,
.mm-home-body p a, .mm-home-body li a { color:#c2410c; text-decoration:underline; text-decoration-color:#9ca3af; text-decoration-thickness:1px; text-underline-offset:3px; font-weight:600; }
.mm-content p a:hover, .mm-content li a:hover, .mm-content td a:hover,
.mm-home-body p a:hover, .mm-home-body li a:hover { color:#000; text-decoration-color:#f6c9a8; text-decoration-thickness:3px; }
/* Focus clavier visible partout (WCAG 2.4.7 / 2.4.11) */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible{ outline:3px solid #fe7000; outline-offset:2px; box-shadow:0 0 0 5px #f6c9a8; }
.header-area a:focus-visible, .header-area button:focus-visible{ outline:3px solid #f6c9a8; outline-offset:2px; box-shadow:none; }
/* Lien d'évitement : bleu clair + encre */
.bm-skip{ background:#f6c9a8 !important; color:#111827 !important; }
.bm-skip:focus{ outline:3px solid #111827 !important; }
/* En-tête : soulignement bleu clair au survol, sous-menus desktop */
.header-area .main-menu nav > ul > li > a:hover{ text-decoration-color:#f6c9a8 !important; text-decoration-thickness:3px !important; }
.main-menu .nav-dd > .sub-menu li a:hover, .main-menu .nav-dd > .sub-menu li a:focus{ color:#111827 !important; background:#fbede6 !important; }
.bm-it-badge{ background:#f6c9a8 !important; color:#111827 !important; }
/* Bandeau titre : motif San Francisco (pont suspendu stylisé : deux pylônes, câble, tablier), remplace tout motif hérité */
.breadcrumb-area > .container{ background:linear-gradient(120deg,#fe7000 0%,#f26a00 62%,#e56500 100%) !important; }
.breadcrumb-area > .container::after{ opacity:.22 !important; background:no-repeat right bottom/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 120'%3E%3Cg fill='none' stroke='%23f6c9a8' stroke-width='7' stroke-linecap='round'%3E%3Cpath d='M70 108H238'/%3E%3Cpath d='M70 50Q125 98 180 50Q205 74 238 70'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Crect x='112' y='16' width='10' height='92' rx='2'/%3E%3Crect x='175' y='16' width='10' height='92' rx='2'/%3E%3C/g%3E%3C/svg%3E") !important; }
.mm-hero-sub{ color:#e5e7eb !important; }
/* Boutons : primaire encre / texte blanc ; secondaire bleu clair / texte encre */
.btn-primary, .mm-btn{ background:#fe7000 !important; border-color:#fe7000 !important; color:#111827 !important; }
.btn-primary:hover, .mm-btn:hover{ background:#e56500 !important; }
.mm-btn-accent{ display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:10px 18px; border-radius:10px; background:#f6c9a8; color:#111827 !important; font-weight:700; text-decoration:none !important; border:1px solid #d98a5c; }
.mm-btn-accent:hover{ background:#cbe7f6; }
/* Tuiles « Explore » : appel en encre, flèche bleu clair au survol ; carte vedette encre + accent bleu clair */
.bmx-card:not(.bmx-feature) .bmx-more{ color:var(--mm-ink) !important; }
.bmx-card:hover{ border-color:#f6c9a8 !important; }
.bmx-ic{ background:#fbede6 !important; color:#c2410c !important; }
.bmx-card.bmx-feature{ background:linear-gradient(135deg,#fe7000,#e56500) !important; }
.bmx-card.bmx-feature .bmx-ic{ background:#f6c9a8 !important; color:#111827 !important; }
.bmx-card.bmx-feature .bmx-more{ color:#f6c9a8 !important; }
.bmx-feature h2, .bmx-feature h3, .bmx-feature h4, .mm-home-body .bmx-feature h3 { color:#fff !important; }
.bmx-feature p{ color:#e5e7eb !important; }
/* Encadré « Last verified » et notes */
.mm-updated{ color:#4b5563 !important; }
.mm-verified{ display:inline-flex; gap:6px; align-items:center; background:#fbede6; border:1px solid #9fcbe6; color:#111827; border-radius:999px; padding:3px 12px; font-size:13.5px; font-weight:600; }
/* Badges de ligne maison : carré arrondi (≠ pastille ronde officielle), texte toujours présent, couleur GTFS comme repère */
.nyl{ display:inline-flex; align-items:center; justify-content:center; min-width:30px; height:30px; padding:0 6px; border-radius:7px; font-weight:800; font-size:15px; line-height:1; letter-spacing:0; font-family:inherit; text-decoration:none !important; }
.nyl-sm{ min-width:24px; height:24px; font-size:13px; border-radius:6px; }
/* Bandeau info trafic : ambre pour les perturbations ordinaires, rouge réservé aux interruptions majeures (.bm-it-major) */
.bm-it:not(.bm-it-major){ background:#fef3c7 !important; color:#78350f !important; border-bottom:1px solid #fcd34d; }
.bm-it:not(.bm-it-major) .bm-it-toggle{ background:#92400e !important; color:#fff !important; }
.bm-it:not(.bm-it-major) .bm-it-toggle:hover{ background:#78350f !important; }
.bm-it:not(.bm-it-major) .bm-it-close{ color:#78350f !important; }
.bm-it.bm-it-major{ background:#b91c1c !important; color:#fff !important; }
/* Module itinéraire (bmob-itineraire.css) : neutres froids accordés à l'encre */
.mmob-scope, .mmob-itn-page{
  --mmob-ink:#111827; --mmob-ink-soft:#374151; --mmob-muted:#4b5563;
  --mmob-line:#e5e7eb; --mmob-surface-2:#f9fafb;
  --mmob-shadow-sm:0 1px 2px rgba(17,24,39,.06), 0 1px 3px rgba(17,24,39,.10);
  --mmob-shadow:0 4px 12px rgba(17,24,39,.10), 0 2px 4px rgba(17,24,39,.06);
  --mmob-shadow-lg:0 18px 40px rgba(17,24,39,.16);
}
/* Cartes cliquables (hub Airports) */
a.mm-card{display:block;text-decoration:none !important;color:inherit;transition:border-color .15s, box-shadow .15s;}
a.mm-card:hover{border-color:#f6c9a8 !important;box-shadow:0 10px 24px rgba(17,24,39,.10);}
a.mm-card h3{text-decoration:underline;text-decoration-color:#f6c9a8;text-decoration-thickness:3px;text-underline-offset:4px;}
.mm-card .mm-card-ic{background:#fbede6 !important;color:#c2410c !important;}

/* ===== Orange vif #FE7000 (choix de l'éditeur, 18/10/2026) : TEXTE ENCRE sur toutes les surfaces orange =====
 * Blanc sur #FE7000 = 2,9:1 (échec WCAG AA) ; encre #111827 sur #FE7000 = 6,4:1, sur #E56500 = 5,2:1.
 * Les liens dans le texte courant restent en orange foncé #c2410c (5,2:1 sur blanc). */
.header-area, .header-area .main-menu a, .header-area .main-menu nav > ul > li > a,
.header-area .bm-install-menu, .header-area .nav-dd > a::after { color:#111827 !important; }
.header-area .main-menu nav > ul > li > a:hover{ text-decoration-color:#111827 !important; }
.header-area .main-menu .nav-dd > .sub-menu li a{ color:#111827 !important; }
.header-area .bm-burger{ background:rgba(255,255,255,.28) !important; border-color:rgba(17,24,39,.5) !important; }
.header-area .bm-burger span{ background:#111827 !important; }
.header-area a:focus-visible, .header-area button:focus-visible{ outline:3px solid #111827 !important; outline-offset:2px; box-shadow:none !important; }
.bm-it-badge{ background:#111827 !important; color:#ffffff !important; }
/* Bandeau titre et héros de l'accueil */
.breadcrumb-area h1, .breadcrumb-area h2, .breadcrumb-area p, .mm-hero-sub,
.breadcrumb-area .breadcrumb, .breadcrumb-area .breadcrumb li, .breadcrumb-area .breadcrumb a,
.breadcrumb-area a.mm-hl-all, .mm-hl-all { color:#111827 !important; }
.mm-hl-all{ text-decoration-color:#111827 !important; }
/* Carte mise en avant de l'accueil (« Plan a trip ») */
.bmx-feature h2, .bmx-feature h3, .bmx-feature h4, .mm-home-body .bmx-feature h3, .bmx-feature .bmx-more{ color:#111827 !important; }
.bmx-feature p{ color:#1f2937 !important; }
.bmx-feature .bmx-ic{ background:#ffffff !important; color:#c2410c !important; }
/* Formulaire d'itinéraire : boutons et onglets sur fond orange */
.mmob-btn--primary, .mmob-btn--primary:hover, .mmob-itn__geo:hover, .mmob-itn__segbtn.is-active span{ color:#111827 !important; }
/* Cibles tactiles >= 24 px (WCAG 2.5.8, audit du 2026-10-18) : listes d arrêts, de gares et de lignes */
.stops-line li > a, .nyc-list li > a{ display:inline-block; min-height:24px; line-height:24px; }
