/*
Theme Name: JdM Trail Bures
Theme URI: https://jdm-trail.fr
Description: Thème officiel du club JdM Trail Bures — design moderne, authentification membres, carte Leaflet, profil altimétrique.
Version: 3.9.5
Author: JdM Trail
Text Domain: jdm-trail
*/

/*
 * Les partiaux CSS (_variables, _reset, _header...) sont desormais charges
 * via wp_enqueue_style() dans inc/setup.php. Les @import ont ete retires
 * car ils bloquent le rendu (chargement sequentiel).
 * Ce fichier contient les surcharges spécifiques et tous les overrides
 * body.jdm-light (mode clair), chargé en dernier pour garantir la priorité.
 */

/* ── Surcharge dégradé prochaine sortie ── */
.next-run {
  background: linear-gradient(135deg, rgb(57 9 9 / 69%), rgba(172,21,21,.8)) !important;
}


/* ============================================================
   MODE CLAIR GLOBAL — body.jdm-light
   Sélecteur dans "Mon Compte" → s'applique sur tout le site.
   Couvre : header, hero, sections, cards, sorties, planning,
            actus, parcours, pages intérieures, footer, kebab.
   ============================================================ */

/* ── Variables locales ── */
body.jdm-light {
  --jl-text:        #1e2a22;
  --jl-text-mid:    #3d4d42;
  --jl-text-soft:   #5a6b5e;
  --jl-text-faint:  #8a9b8e;
  --jl-bg:          rgba(238,242,233,.92);
  --jl-card:        rgba(255,255,255,.94);
  --jl-border:      rgba(0,0,0,.1);
  --jl-border-sub:  rgba(0,0,0,.06);
}

/* ── Fond de page ── */
body.jdm-light .page-bg-overlay {
  background: linear-gradient(160deg,rgba(238,242,233,.85) 0%,rgba(220,228,215,.7) 100%) !important;
}

/* ════════════ HEADER ════════════ */
body.jdm-light .site-header {
  background: rgba(238,242,233,.94) !important;
  border-bottom: 1px solid rgba(0,0,0,.1) !important;
  backdrop-filter: blur(14px) !important;
}
body.jdm-light .logo-text .name { color: var(--forest,#1a3a2a) !important; }
body.jdm-light .logo-text .sub  { color: var(--jl-text-soft) !important; }

/* Nav principale */
body.jdm-light .nav-list > li > a { color: var(--jl-text-mid) !important; }
body.jdm-light .nav-list > li > a:hover { color: var(--forest,#1a3a2a) !important; }
body.jdm-light .mega-menu { background: rgba(238,242,233,.98) !important; border-color: var(--jl-border) !important; }
body.jdm-light .mega-menu a { color: var(--jl-text-mid) !important; }

/* User menu */
body.jdm-light .user-menu-toggle {
  background: rgba(0,0,0,.06) !important;
  border-color: rgba(0,0,0,.12) !important;
}
body.jdm-light .user-menu-toggle .uname { color: var(--jl-text-mid) !important; }
body.jdm-light .user-menu-toggle svg    { color: var(--jl-text-soft) !important; }
body.jdm-light .user-dropdown {
  background: #fff !important;
  border-color: var(--jl-border) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.12) !important;
}
body.jdm-light .user-dropdown a,
body.jdm-light .user-dropdown button { color: var(--jl-text-mid) !important; }
body.jdm-light .user-dropdown a:hover,
body.jdm-light .user-dropdown button:hover { background: rgba(0,0,0,.04) !important; color: var(--jl-text) !important; }
body.jdm-light .user-dropdown .sep { background: var(--jl-border) !important; }

/* Kebab */
body.jdm-light .kebab-btn {
  background: rgba(0,0,0,.06) !important;
  border-color: rgba(0,0,0,.1) !important;
}
body.jdm-light .kebab-btn span { background: var(--forest,#1a3a2a) !important; }
body.jdm-light .kebab-panel {
  background: rgba(238,242,233,.99) !important;
  border-right-color: var(--jl-border) !important;
}
body.jdm-light .kebab-logo-name { color: var(--forest,#1a3a2a) !important; }
body.jdm-light .kebab-logo-sub  { color: var(--jl-text-soft) !important; }
body.jdm-light .kebab-close-btn { background: rgba(0,0,0,.06) !important; }
body.jdm-light .kebab-close-btn svg { color: var(--jl-text-mid) !important; }
body.jdm-light .kebab-menu-list li a {
  color: var(--jl-text-mid) !important;
  border-bottom-color: var(--jl-border-sub) !important;
}
body.jdm-light .kebab-menu-list li a:hover {
  color: var(--lime-dark,#4fa830) !important;
  background: rgba(0,0,0,.04) !important;
}

/* ════════════ HERO ════════════ */
body.jdm-light .hero-title { color: #fff !important; } /* reste blanc sur photo */
body.jdm-light .hero-desc  { color: rgba(255,255,255,.85) !important; }
body.jdm-light .hero-info-card {
  background: rgba(238,242,233,.88) !important;
  border-color: rgba(0,0,0,.12) !important;
}
body.jdm-light .hero-info-card h3  { color: var(--jl-text) !important; }
body.jdm-light .hero-info-card p   { color: var(--jl-text-soft) !important; }
body.jdm-light .next-run-info .nr-meta { color: var(--jl-text-soft) !important; }

/* ════════════ SECTIONS GÉNÉRIQUES ════════════ */
body.jdm-light .section,
body.jdm-light .has-bg-section {
  background: var(--jl-bg) !important;
}
body.jdm-light .section-title { color: var(--jl-text) !important; }
body.jdm-light .section-tag {
  color: var(--forest,#1a3a2a) !important;
  background: rgba(26,58,42,.1) !important;
  border-color: rgba(26,58,42,.2) !important;
}
body.jdm-light .has-bg-section span { color: var(--jl-text-mid) !important; }
body.jdm-light .has-bg-section label { color: var(--jl-text-mid) !important; }
body.jdm-light .has-bg-section .btn.btn-outline {
  border-color: rgba(0,0,0,.25) !important;
  color: var(--jl-text-mid) !important;
}
body.jdm-light .has-bg-section .no-results { color: var(--jl-text-soft) !important; }
body.jdm-light .has-bg-section #past-events-badge {
  background: rgba(0,0,0,.08) !important;
  color: var(--jl-text-mid) !important;
}

/* Tabs */
body.jdm-light .tab-btn,
/* .ptab-btn : voir règles complètes dans la section corrections sorties */
body.jdm-light .tab-btn:hover,
body.jdm-light .ptab-btn:hover  { color: var(--jl-text) !important; }
body.jdm-light .tab-btn.active,
body.jdm-light .ptab-btn.active {
  color: var(--lime-dark,#4fa830) !important;
  border-bottom-color: var(--lime-dark,#4fa830) !important;
}
body.jdm-light .has-bg-section .tab-btn  { color: var(--jl-text-mid) !important; }
body.jdm-light .has-bg-section .ptab-btn { color: var(--jl-text-mid) !important; }

/* ════════════ CARDS GPX / PARCOURS ════════════ */
body.jdm-light .gpx-card {
  background: var(--jl-card) !important;
  border-color: var(--jl-border) !important;
}
body.jdm-light .gpx-card:hover { border-color: var(--lime-dark,#4fa830) !important; }
body.jdm-light .gpx-card-title { color: var(--jl-text) !important; }
body.jdm-light .gpx-card-stat__lbl { color: var(--jl-text-faint) !important; }
body.jdm-light .gpx-card-statsbar  { background: rgba(0,0,0,.04) !important; border-color: var(--jl-border-sub) !important; }
body.jdm-light .gpx-card-footer    { background: rgba(0,0,0,.03) !important; border-color: var(--jl-border-sub) !important; }
body.jdm-light .gpx-stat-item      { color: var(--jl-text-mid) !important; }
body.jdm-light .gpx-lock-icon      { color: var(--jl-text-faint) !important; }
body.jdm-light .gpx-featured h3    { color: var(--jl-text) !important; }
body.jdm-light .gpx-featured-desc  { color: var(--jl-text-soft) !important; }
body.jdm-light .gpx-meta-item .gval { color: var(--jl-text) !important; }
body.jdm-light .gpx-meta-item .gkey { color: var(--jl-text-faint) !important; }
body.jdm-light .badge-members { color: var(--jl-text-mid) !important; }

/* Info / spirit */
body.jdm-light .info-card { background: rgba(255,255,255,.88) !important; border-color: var(--jl-border) !important; }
body.jdm-light .spirit-title { color: var(--jl-text) !important; }
body.jdm-light .spirit-text  { color: var(--jl-text-soft) !important; }
body.jdm-light .spirit-val strong { color: var(--jl-text) !important; }
body.jdm-light .spirit-val span   { color: var(--jl-text-soft) !important; }
body.jdm-light .has-bg-section .spirit-val span { color: var(--jl-text-soft) !important; }

/* ════════════ ACTUALITÉS ════════════ */
body.jdm-light .actu-card {
  background: var(--jl-card) !important;
  border-color: var(--jl-border) !important;
}
body.jdm-light .actu-card:hover { border-color: rgba(234,88,12,.45) !important; box-shadow: 0 4px 16px rgba(234,88,12,.1) !important; }
body.jdm-light .actu-date,
body.jdm-light .actu-date-author { color: #c2410c !important; }
body.jdm-light .actu-date-sep { color: rgba(194,65,12,.4) !important; }
body.jdm-light .actu-body h3 a:hover { color: #ea580c !important; }
body.jdm-light .actu-cat-badge { background: #ea580c !important; color: #fff !important; }
body.jdm-light .actu-card-title { color: var(--jl-text) !important; }
body.jdm-light .actu-date,
body.jdm-light .actu-date-sep,
body.jdm-light .actu-date-author { color: var(--jl-text-faint) !important; }
body.jdm-light .actu-body p { color: var(--jl-text-soft) !important; }
body.jdm-light .has-bg-section .actu-body .actu-date { color: var(--jl-text-faint) !important; }

/* ════════════ PLANNING & SORTIES ════════════ */
/* .sortie-card jdm-light : voir règles complètes plus bas (corrections page sorties) */
body.jdm-light .planning-locked {
  background: rgba(0,0,0,.06) !important;
  border-color: rgba(0,0,0,.12) !important;
}
body.jdm-light .planning-locked h3 { color: var(--jl-text) !important; }
body.jdm-light .planning-locked > p { color: var(--jl-text-soft) !important; }
body.jdm-light .planning-pill {
  background: rgba(0,0,0,.06) !important;
  color: var(--jl-text-mid) !important;
  border-color: rgba(0,0,0,.1) !important;
}
body.jdm-light .has-bg-section .planning-pill { background: rgba(0,0,0,.06) !important; color: var(--jl-text-mid) !important; border-color: rgba(0,0,0,.1) !important; }
body.jdm-light .perk-item { color: var(--jl-text-soft) !important; }

/* ════════════ PAGES INTÉRIEURES (single, sorties, parcours) ════════════ */
body.jdm-light .breadcrumb    { color: rgba(255,255,255,.6) !important; }
body.jdm-light .breadcrumb a  { color: rgba(255,255,255,.7) !important; }
body.jdm-light .meta-pill     { background: rgba(255,255,255,.15) !important; color: rgba(255,255,255,.9) !important; }

body.jdm-light .card-block {
  background: var(--jl-card) !important;
  border-color: var(--jl-border) !important;
}
body.jdm-light .card-block-header { background: rgba(238,242,233,.95) !important; border-bottom-color: var(--jl-border) !important; }
body.jdm-light .card-block-header h3 { color: var(--jl-text) !important; }
body.jdm-light .card-block-body { color: var(--jl-text-mid) !important; }
body.jdm-light .card-block-body strong { color: var(--jl-text) !important; }

body.jdm-light .notice-info {
  background: rgba(238,242,233,.9) !important;
  border-color: rgba(0,0,0,.1) !important;
  color: var(--jl-text-mid) !important;
}
body.jdm-light .inscription-box-header { background: rgba(238,242,233,.92) !important; border-bottom-color: var(--jl-border) !important; }
body.jdm-light .inscription-box-header h3 { color: var(--jl-text) !important; }
body.jdm-light .inscription-box-header p  { color: var(--jl-text-soft) !important; }
body.jdm-light .inscription-box-body label { color: var(--jl-text-mid) !important; }
body.jdm-light .inscription-box-body select {
  background: #fff !important;
  color: var(--jl-text) !important;
  border-color: var(--jl-border) !important;
}
body.jdm-light .inscription-box-body textarea::placeholder { color: rgba(0,0,0,.3) !important; }

/* sortie-stats/stat/excerpt : voir règles complètes dans la section corrections sorties */
body.jdm-light .gpx-stat-inline span { color: var(--jl-text-mid) !important; }

/* Contenu éditeur */
body.jdm-light .page-entry-content,
body.jdm-light .page-entry-content p,
body.jdm-light .page-entry-content li { color: var(--jl-text-mid) !important; }
body.jdm-light .page-entry-content h2,
body.jdm-light .page-entry-content h3 { color: var(--jl-text) !important; }
body.jdm-light .page-entry-content blockquote { border-left-color: var(--lime-dark,#4fa830) !important; color: var(--jl-text-soft) !important; }
body.jdm-light .page-entry-content code {
  background: rgba(0,0,0,.06) !important;
  color: var(--jl-text-mid) !important;
}

/* ════════════ FOOTER ════════════ */
body.jdm-light .site-footer {
  background: rgba(238,242,233,.97) !important;
  color: var(--jl-text-mid) !important;
  border-top-color: var(--jl-border) !important;
}
body.jdm-light .footer-brand .fb-name   { color: var(--forest,#1a3a2a) !important; }
body.jdm-light .footer-brand .fb-sub    { color: var(--jl-text-soft) !important; }
body.jdm-light .footer-brand p          { color: var(--jl-text-soft) !important; }
body.jdm-light .footer-col h4           { color: var(--jl-text-mid) !important; }
body.jdm-light .footer-col ul li a      { color: var(--jl-text-soft) !important; }
body.jdm-light .footer-col ul li a:hover { color: var(--lime-dark,#4fa830) !important; }
body.jdm-light .footer-bottom           { color: var(--jl-text-faint) !important; border-top-color: var(--jl-border) !important; }
body.jdm-light .footer-legal a          { color: var(--jl-text-faint) !important; }
body.jdm-light .footer-legal a:hover    { color: var(--lime-dark,#4fa830) !important; }

/* ════════════ CORRECTIONS SPÉCIFIQUES PAGE SORTIES ════════════ */

/* Le .single-hero a un fond sombre (forest/moss) —
   le titre reste blanc, c'est correct.
   On cible les éléments SOUS le hero (section blanche). */

/* Cards sortie — tous les textes */
body.jdm-light .sortie-card {
  background: #fff !important;
  border-color: rgba(0,0,0,.1) !important;
  backdrop-filter: none !important;
}
body.jdm-light .sortie-card:hover { border-color: var(--lime-dark,#4fa830) !important; box-shadow: 0 4px 16px rgba(0,0,0,.1) !important; }
body.jdm-light .sortie-card-meta h3 { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .sortie-card-footer  { border-top-color: rgba(0,0,0,.07) !important; color: var(--jl-text-mid,#3d4d42) !important; }

/* Stats pills dans les cards */
body.jdm-light .sortie-stat {
  background: rgba(0,0,0,.06) !important;
  color: var(--jl-text-mid,#3d4d42) !important;
}
body.jdm-light .sortie-stats span {
  background: rgba(0,0,0,.06) !important;
  color: var(--jl-text-mid,#3d4d42) !important;
}
body.jdm-light .sortie-excerpt { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .sortie-card-participants-count { color: var(--jl-text-soft,#5a6b5e) !important; }

/* .has-bg-section override pour les cards sortie dans le planning */
body.jdm-light .has-bg-section .sortie-stat {
  background: rgba(0,0,0,.06) !important;
  color: var(--jl-text-mid,#3d4d42) !important;
}

/* Tabs "A venir" / "Passées" */
body.jdm-light .ptab-btn {
  color: var(--jl-text-mid,#3d4d42) !important;
  border-color: rgba(0,0,0,.2) !important;
  background: rgba(255,255,255,.7) !important;
}
body.jdm-light .ptab-btn:hover,
body.jdm-light .ptab-btn.active {
  background: var(--forest,#1a3a2a) !important;
  color: #fff !important;
  border-color: var(--forest,#1a3a2a) !important;
}
body.jdm-light .has-bg-section .ptab-btn {
  color: var(--jl-text-mid,#3d4d42) !important;
  border-color: rgba(0,0,0,.2) !important;
  background: rgba(255,255,255,.7) !important;
}
body.jdm-light .has-bg-section .ptab-btn.active,
body.jdm-light .has-bg-section .ptab-btn:hover {
  background: var(--forest,#1a3a2a) !important;
  color: #fff !important;
  border-color: var(--forest,#1a3a2a) !important;
}

/* Tabs de type "planning" (Tout / Sorties régulières / Week-ends / Courses) */
body.jdm-light .planning-tabs .ptab-btn {
  color: var(--jl-text-mid,#3d4d42) !important;
  border-color: rgba(0,0,0,.15) !important;
}

/* Checkbox "Inclure les événements passés" */
body.jdm-light #toggle-past-events + label,
body.jdm-light label[for="toggle-past-events"],
body.jdm-light .has-bg-section label {
  color: var(--jl-text-mid,#3d4d42) !important;
}
body.jdm-light #past-events-badge {
  background: rgba(0,0,0,.08) !important;
  color: var(--jl-text-mid,#3d4d42) !important;
}

/* Titre de la section sorties (h1 dans .single-hero reste blanc — fond sombre) */
/* Mais le h1 de la section .section au-dessus doit être sombre */
body.jdm-light .section h1,
body.jdm-light .section h2 { color: var(--jl-text,#1e2a22) !important; }

/* Badge "À venir" / bouton en bas de card */
body.jdm-light .btn--no-pointer {
  background: rgba(0,0,0,.07) !important;
  color: var(--jl-text-mid,#3d4d42) !important;
  border-color: rgba(0,0,0,.15) !important;
}
body.jdm-light .btn.btn-primary.btn--no-pointer {
  background: var(--lime-dark,#4fa830) !important;
  color: #fff !important;
}

/* Résultats vides */
body.jdm-light .no-results { color: var(--jl-text-soft,#5a6b5e) !important; }

/* Section title dans les sections has-bg */
body.jdm-light .has-bg-section .section-title { color: var(--jl-text,#1e2a22) !important; }

/* Sorties passées : légèrement atténuées */
body.jdm-light .sortie-card--past { opacity: .7; }
body.jdm-light .badge-past { background: rgba(0,0,0,.06) !important; color: var(--jl-text-soft,#5a6b5e) !important; }

/* ════════════ ANNUAIRE — HERO STATS BOX ════════════ */
body.jdm-light .jdm-ann-hero-stats {
  background: rgba(255,255,255,.75) !important;
  border-color: rgba(0,0,0,.1) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.1) !important;
}
body.jdm-light .jdm-ann-hstat:hover { background: rgba(0,0,0,.03) !important; }
body.jdm-light .jdm-ann-hstat--accent { background: rgba(79,168,48,.08) !important; }
body.jdm-light .jdm-ann-hstat-sep    { background: rgba(0,0,0,.1) !important; }
body.jdm-light .jdm-ann-hstat-icon   { color: rgba(0,0,0,.3) !important; }
body.jdm-light .jdm-ann-hstat--accent .jdm-ann-hstat-icon { color: var(--lime-dark,#4fa830) !important; }
body.jdm-light .jdm-ann-hstat-num    { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .jdm-ann-hstat-num small { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .jdm-ann-hstat-lbl    { color: var(--jl-text-faint,#8a9b8e) !important; }
body.jdm-light .jdm-ann-hstat--accent .jdm-ann-hstat-lbl { color: var(--lime-dark,#4fa830) !important; }

/* ════════════ PAGE SORTIES — TITRE h1 ════════════ */
/* Le .single-hero a un fond sombre (forest) : le h1 blanc est correct.
   Mais la section sous le hero est blanche → on force le h1 sombre là. */
body.jdm-light .section > .container h1,
body.jdm-light .archive-hero h1 { color: var(--jl-text,#1e2a22) !important; }
/* Le h1 dans single-hero doit rester blanc (fond sombre) */
body.jdm-light .single-hero h1  { color: #fff !important; }

/* Checkbox "Inclure les événements passés" */
body.jdm-light #toggle-past-events ~ *,
body.jdm-light label:has(#toggle-past-events),
body.jdm-light .planning-past-toggle label { color: var(--jl-text-mid,#3d4d42) !important; }

/* ════════════ DASHBOARD HOME ════════════ */
/* Header du dashboard */
body.jdm-light .jdm-db-header {
  background: rgba(255,255,255,.82) !important;
  border-color: rgba(0,0,0,.1) !important;
}
body.jdm-light .jdm-db-greeting    { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .jdm-db-eyebrow     { color: var(--lime-dark,#4fa830) !important; }

/* Toggle Mon club / Moi */
body.jdm-light .jdm-db-view-toggle {
  background: rgba(0,0,0,.06) !important;
  border-color: rgba(0,0,0,.1) !important;
}
body.jdm-light .jdm-db-view-btn { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .jdm-db-view-btn--active {
  background: rgba(255,255,255,.9) !important;
  color: var(--jl-text,#1e2a22) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.12) !important;
}

/* Raccourcis (Actus, Sorties, Parcours…) */
body.jdm-light .jdm-db-sc {
  background: rgba(255,255,255,.8) !important;
  border-color: rgba(0,0,0,.1) !important;
  color: var(--jl-text-mid,#3d4d42) !important;
}
body.jdm-light .jdm-db-sc:hover { background: rgba(255,255,255,.95) !important; color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .jdm-db-sc--new  { background: rgba(79,168,48,.1) !important; border-color: rgba(79,168,48,.3) !important; color: var(--lime-dark,#4fa830) !important; }

/* Cards du dashboard */
body.jdm-light .jdm-db-card {
  background: rgba(255,255,255,.82) !important;
  border-color: rgba(0,0,0,.1) !important;
}
body.jdm-light .jdm-db-card:hover { border-color: rgba(79,168,48,.3) !important; }
body.jdm-light .jdm-db-card--featured {
  background: linear-gradient(145deg,rgba(220,235,220,.8) 0%,rgba(238,242,233,.9) 100%) !important;
}
body.jdm-light .jdm-db-card-title { color: var(--jl-text-mid,#3d4d42) !important; }
body.jdm-light .jdm-db-card-ft {
  color: var(--lime-dark,#4fa830) !important;
  border-top-color: rgba(0,0,0,.07) !important;
}

/* Pills */
body.jdm-light .jdm-db-pill--ghost {
  background: rgba(0,0,0,.07) !important;
  color: var(--jl-text-mid,#3d4d42) !important;
}

/* Rows inscriptions */
body.jdm-light .jdm-db-insc-row {
  background: rgba(255,255,255,.7) !important;
  border-color: rgba(0,0,0,.08) !important;
}
body.jdm-light .jdm-db-insc-row:hover { background: rgba(79,168,48,.06) !important; }
body.jdm-light .jdm-db-insc-name { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .jdm-db-insc-meta { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .jdm-db-chevron   { color: var(--jl-text-faint,#8a9b8e) !important; opacity: .6 !important; }

/* État vide */
body.jdm-light .jdm-db-empty-txt { color: var(--jl-text-soft,#5a6b5e) !important; }

/* Profil */
body.jdm-light .jdm-db-step--todo {
  background: rgba(255,255,255,.7) !important;
  border-color: rgba(0,0,0,.1) !important;
}
body.jdm-light .jdm-db-step-lbl      { color: var(--jl-text-mid,#3d4d42) !important; }
body.jdm-light .jdm-db-step--done .jdm-db-step-lbl { color: var(--jl-text-faint,#8a9b8e) !important; }
body.jdm-light .jdm-db-profile-done  { background: rgba(79,168,48,.08) !important; color: var(--jl-text-mid,#3d4d42) !important; }
body.jdm-light .jdm-db-profile-tip   { color: var(--jl-text-faint,#8a9b8e) !important; }

/* Prochaine sortie */
body.jdm-light .jdm-db-sortie-name-link { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .jdm-db-sortie-name-link:hover { color: var(--lime-dark,#4fa830) !important; }
body.jdm-light .jdm-db-chip {
  background: rgba(0,0,0,.07) !important;
  color: var(--jl-text-mid,#3d4d42) !important;
}

/* Actus dans le dashboard */
body.jdm-light .jdm-db-actu-row {
  background: rgba(255,255,255,.7) !important;
  border-color: rgba(0,0,0,.08) !important;
}
body.jdm-light .jdm-db-actu-row:hover { background: rgba(234,88,12,.05) !important; }
body.jdm-light .jdm-db-actu-thumb--placeholder { background: rgba(0,0,0,.06) !important; }
body.jdm-light .jdm-db-actu-title  { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .jdm-db-actu-date,
body.jdm-light .jdm-db-actu-sep,
body.jdm-light .jdm-db-actu-author { color: var(--jl-text-faint,#8a9b8e) !important; }

/* Qui court ce matin */
body.jdm-light .jdm-db-qcm-coureur {
  background: rgba(255,255,255,.7) !important;
  border-color: rgba(0,0,0,.08) !important;
}
body.jdm-light .jdm-db-qcm-nom   { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .jdm-db-qcm-heure { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .jdm-db-qcm-cancel { color: var(--jl-text-soft,#5a6b5e) !important; }

/* Nouveaux membres */
body.jdm-light .jdm-db-av-name  { color: var(--jl-text-mid,#3d4d42) !important; }
body.jdm-light .jdm-db-av-since { color: var(--jl-text-faint,#8a9b8e) !important; }

/* Photos */
body.jdm-light .jdm-db-photo-item { background: rgba(0,0,0,.06) !important; }

/* ════════════════════════════════════════════════════════════
   CORRECTIFS MODE CLAIR — textes illisibles (clair sur clair)
   Généré automatiquement — à placer en fin de _variables.css
   ════════════════════════════════════════════════════════════ */

/* ── gpx-stat-inline (strong / span) ── */
body.jdm-light .gpx-stat-inline strong { color: var(--jl-text,#1e2a22) !important; }

/* ── card-block-body paragraphes ── */
body.jdm-light .card-block-body > p,
body.jdm-light .card-block-body > .entry-content p { color: var(--jl-text-mid,#3d4d42) !important; }
body.jdm-light .card-block-body a { color: var(--lime-dark,#4fa830) !important; }

/* ── inscription-box ── */
body.jdm-light .inscription-box {
  background: rgba(255,255,255,.85) !important;
  border-color: var(--jl-border) !important;
}
body.jdm-light .inscription-box-header {
  background: rgba(238,242,233,.95) !important;
  border-bottom-color: var(--jl-border) !important;
}
body.jdm-light .inscription-box-header h3 { color: var(--jl-text) !important; }
body.jdm-light .inscription-box-body input,
body.jdm-light .inscription-box-body textarea {
  background: #fff !important;
  color: var(--jl-text) !important;
  border-color: var(--jl-border) !important;
}
body.jdm-light .inscription-box-body input::placeholder { color: rgba(0,0,0,.3) !important; }

/* ── PAGE COMPTE MEMBRE (account-*) ── */
body.jdm-light .account-header {
  background: var(--forest,#1a3a2a) !important;
}
body.jdm-light .account-header-info h2 { color: #fff !important; }
body.jdm-light .account-header-info p  { color: rgba(255,255,255,.65) !important; }

body.jdm-light .account-nav {
  background: rgba(255,255,255,.9) !important;
  border-color: var(--jl-border) !important;
}
body.jdm-light .account-nav a {
  color: var(--jl-text-mid,#3d4d42) !important;
  border-bottom-color: var(--jl-border-sub,rgba(0,0,0,.06)) !important;
}
body.jdm-light .account-nav a:hover,
body.jdm-light .account-nav a.active {
  background: rgba(26,58,42,.08) !important;
  color: var(--forest,#1a3a2a) !important;
}
body.jdm-light .account-nav a svg { color: var(--jl-text-faint,#8a9b8e) !important; }

body.jdm-light .account-content {
  background: rgba(255,255,255,.9) !important;
  border-color: var(--jl-border) !important;
  color: var(--jl-text-mid,#3d4d42) !important;
}
body.jdm-light .account-section-title { color: var(--jl-text,#1e2a22) !important; }

body.jdm-light .account-page   .entry-content,
body.jdm-light .account-content .entry-content { color: var(--jl-text-mid,#3d4d42) !important; }
body.jdm-light .account-page   .entry-content p,
body.jdm-light .account-content .entry-content p { color: var(--jl-text-mid,#3d4d42) !important; }
body.jdm-light .account-page   .entry-content h1,
body.jdm-light .account-page   .entry-content h2,
body.jdm-light .account-page   .entry-content h3 { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .account-content .entry-content a { color: var(--lime-dark,#4fa830) !important; }

/* ── Fiche sortie sidebar GPX ── */
body.jdm-light .fs-gpx-section {
  background: rgba(255,255,255,.88) !important;
  border-color: var(--jl-border) !important;
}
body.jdm-light .fs-gpx-section-title { color: var(--jl-text,#1e2a22) !important; }

/* Note / étoiles dans modal avis ── */
body.jdm-light .fs-note-label { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .fs-modal-textarea {
  background: #fff !important;
  border-color: var(--jl-border) !important;
  color: var(--jl-text,#1e2a22) !important;
}
body.jdm-light .fs-lightbox-caption { color: var(--jl-text-soft,#5a6b5e) !important; }

/* ── Favoris GPX (onglet compte) ── */
body.jdm-light .jdm-favoris-card {
  background: rgba(255,255,255,.88) !important;
  border-color: var(--jl-border) !important;
}
body.jdm-light .jdm-favoris-card:hover { border-color: var(--lime-dark,#4fa830) !important; }
body.jdm-light .jdm-favoris-card-title { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .jdm-favoris-card-meta  { color: var(--jl-text-faint,#8a9b8e) !important; }
body.jdm-light .jdm-favoris-card-footer {
  border-top-color: var(--jl-border-sub) !important;
}

/* ── Page 404 ── */
body.jdm-light .page-404-title { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .page-404-desc  { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .page-404-block {
  background: rgba(238,242,233,.92) !important;
  border-color: var(--jl-border) !important;
}
body.jdm-light .page-404-sortie-row { color: var(--jl-text-mid,#3d4d42) !important; }
body.jdm-light .page-404-sortie-row:hover { background: rgba(26,58,42,.06) !important; }
body.jdm-light .page-404-sortie-jour { color: var(--forest,#1a3a2a) !important; }
body.jdm-light .page-404-sortie-name { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .page-404-sortie-meta { color: var(--jl-text-faint,#8a9b8e) !important; }
body.jdm-light .page-404-sortie-row svg { color: var(--jl-text-faint,#8a9b8e) !important; }
body.jdm-light .page-404-voir-tout { color: var(--lime-dark,#4fa830) !important; }
body.jdm-light .page-404-voir-tout:hover { background: rgba(79,168,48,.06) !important; }

/* ── Dashboard — éléments manquants ── */
body.jdm-light .jdm-db-card-ft { color: var(--lime-dark,#4fa830) !important; border-top-color: var(--jl-border-sub) !important; }
body.jdm-light .jdm-db-view-btn:not(.jdm-db-view-btn--active):hover {
  background: rgba(0,0,0,.04) !important;
  color: var(--jl-text-mid,#3d4d42) !important;
}
body.jdm-light .jdm-db-profile-done {
  background: rgba(79,168,48,.06) !important;
  border-color: rgba(79,168,48,.15) !important;
  color: var(--jl-text-mid,#3d4d42) !important;
}

/* ── Spirit (valeurs / texte) ── */
body.jdm-light .spirit-title { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .spirit-text  { color: var(--jl-text-soft,#5a6b5e) !important; }

/* ── gpx-card-stat (valeur et label) ── */
body.jdm-light .gpx-card-stat__val { color: var(--jl-text,#1e2a22) !important; }

/* ── actu-body p (cartes actus) ── */
body.jdm-light .actu-body p { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .actu-card-title { color: var(--jl-text,#1e2a22) !important; }

/* ── footer texte de corps ── */
body.jdm-light .site-footer { color: var(--jl-text-mid,#3d4d42) !important; }
body.jdm-light .footer-brand .fb-sub { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .footer-col ul li a   { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .footer-bottom        { color: var(--jl-text-faint,#8a9b8e) !important; }

/* ── _reset.css body color global ── */
body.jdm-light { color: var(--jl-text,#1e2a22) !important; }

/* ════════════════════════════════════════════════════════════
   CORRECTIFS MODE CLAIR — lot 2 (post-audit visuel)
   ════════════════════════════════════════════════════════════ */

/* ── 1. Badge catégorie Actu : orange sombre (plus foncé que le hover) ── */
body.jdm-light .actu-cat-badge {
  background: #c2410c !important;   /* orange-700 — plus foncé que hover #ea580c */
  color: #fff !important;
}

/* ── 2. Fiches Actus — fond et tous les textes ── */
body.jdm-light .actu-card {
  background: #fff !important;
  border-color: rgba(0,0,0,.1) !important;
  backdrop-filter: none !important;
}
body.jdm-light .actu-card:hover {
  background: rgba(255,247,237,.85) !important;
  border-color: rgba(234,88,12,.35) !important;
}
body.jdm-light .actu-body h3 a     { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .actu-body h3 a:hover { color: #c2410c !important; }
body.jdm-light .actu-body p        { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .actu-date,
body.jdm-light .actu-date-author   { color: var(--jl-text-faint,#8a9b8e) !important; }
body.jdm-light .actu-date-sep      { color: rgba(0,0,0,.2) !important; }
body.jdm-light .actu-footer        { border-top-color: rgba(0,0,0,.07) !important; }

/* ── 3. Fiches Sorties — card-header, fond de card-body ── */
body.jdm-light .sortie-card {
  background: #fff !important;
  border-color: rgba(0,0,0,.1) !important;
  backdrop-filter: none !important;
}
body.jdm-light .sortie-card-header { background: transparent !important; }
body.jdm-light .sortie-card-body   { background: transparent !important; }

/* ── 4. Fiches Parcours GPX — card et statsbar ── */
body.jdm-light .gpx-card {
  background: #fff !important;
  border-color: rgba(0,0,0,.1) !important;
}
body.jdm-light .gpx-card-body h3,
body.jdm-light .has-bg-section .gpx-card-body h3 { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .gpx-card-stat__val { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .gpx-card-stat__lbl { color: var(--jl-text-faint,#8a9b8e) !important; }

/* Statsbar niveaux — fond et valeurs */
body.jdm-light .gpx-card-statsbar {
  background: rgba(0,0,0,.04) !important;
  border-top-color: rgba(0,0,0,.07) !important;
}
body.jdm-light .gpx-card-statsbar--facile  { background: rgba(42,100,150,.07) !important; border-top-color: rgba(74,159,212,.2) !important; }
body.jdm-light .gpx-card-statsbar--moyen   { background: rgba(245,166,35,.08) !important; border-top-color: rgba(245,166,35,.2) !important; }
body.jdm-light .gpx-card-statsbar--avance  { background: rgba(239,100,68,.08) !important; border-top-color: rgba(239,100,68,.2) !important; }
body.jdm-light .gpx-card-statsbar--expert  { background: rgba(180,30,30,.1)  !important; border-top-color: rgba(180,30,30,.25) !important; }

/* ── 5. Filtres parcours — labels illisibles ── */
body.jdm-light .jdm-filter-label {
  color: var(--jl-text-mid,#3d4d42) !important;
  text-shadow: none !important;
}
body.jdm-light .jdm-white   { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .jdm-subtitle { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .filters-wrap {
  background: rgba(0,0,0,.04) !important;
  border-color: rgba(0,0,0,.1) !important;
  backdrop-filter: none !important;
}

/* ── 6. Annuaire — description hero ("Retrouvez les coureurs…") ── */
body.jdm-light .jdm-ann-hero-desc {
  color: var(--jl-text-soft,#5a6b5e) !important;
  text-shadow: none !important;
}
body.jdm-light .jdm-ann-hero-title { color: #fff !important; } /* reste blanc sur photo */

/* Barre de recherche et filtres annuaire */
body.jdm-light .jdm-ann-search-bar {
  background: rgba(255,255,255,.85) !important;
  border-color: rgba(0,0,0,.1) !important;
  backdrop-filter: none !important;
}
body.jdm-light .jdm-ann-dir-search input[type="search"] {
  background: #fff !important;
  border-color: rgba(0,0,0,.15) !important;
  color: var(--jl-text,#1e2a22) !important;
}
body.jdm-light .jdm-ann-dir-search input[type="search"]::placeholder {
  color: rgba(0,0,0,.35) !important;
}
body.jdm-light .jdm-ann-filters select {
  background: #fff !important;
  border-color: rgba(0,0,0,.15) !important;
  color: var(--jl-text,#1e2a22) !important;
}

/* ── 7. Annuaire — Cards membres ── */
body.jdm-light .jdm-ann-card {
  background: #fff !important;
  border-color: rgba(0,0,0,.1) !important;
}
body.jdm-light .jdm-ann-card:hover { border-color: rgba(100,116,139,.4) !important; }
body.jdm-light .jdm-ann-card-name  { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .jdm-ann-meta-item  { color: var(--jl-text-faint,#8a9b8e) !important; }
body.jdm-light .jdm-ann-card-stats { border-top-color: rgba(0,0,0,.07) !important; }
body.jdm-light .jdm-ann-stat       { border-right-color: rgba(0,0,0,.07) !important; }
body.jdm-light .jdm-ann-stat strong { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .jdm-ann-stat em    { color: var(--jl-text-faint,#8a9b8e) !important; }
body.jdm-light .jdm-ann-no-results { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .jdm-ann-back-link  { color: var(--jl-text-soft,#5a6b5e) !important; }

/* ── 8. Profil membre (fiche annuaire) ── */
body.jdm-light .jdm-ann-fiche-header {
  background: rgba(238,242,233,.9) !important;
  border-color: rgba(0,0,0,.1) !important;
  box-shadow: 0 4px 28px rgba(0,0,0,.08) !important;
}
body.jdm-light .jdm-ann-fiche-header::before {
  background: linear-gradient(135deg,
    rgba(238,242,233,.9) 0%,
    rgba(220,228,215,.85) 100%) !important;
}
body.jdm-light .jdm-ann-fiche-identity h1 { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .jdm-ann-fiche-meta span {
  background: rgba(0,0,0,.06) !important;
  border-color: rgba(0,0,0,.1) !important;
  color: var(--jl-text-mid,#3d4d42) !important;
}
body.jdm-light .jdm-ann-fiche-bio           { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .jdm-ann-fiche-links-label   { color: var(--jl-text-faint,#8a9b8e) !important; }
body.jdm-light .jdm-ann-initial-lg          { background: rgba(0,0,0,.08) !important; border-color: rgba(0,0,0,.15) !important; color: var(--jl-text,#1e2a22) !important; }

/* Stats profil */
body.jdm-light .jdm-ann-stat-card {
  background: #fff !important;
  border-color: rgba(0,0,0,.08) !important;
}
body.jdm-light .jdm-ann-stat-number { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .jdm-ann-stat-label  { color: var(--jl-text-faint,#8a9b8e) !important; }

/* Tableau résultats de courses */
body.jdm-light .jdm-ann-fiche-results {
  background: #fff !important;
  border-color: rgba(0,0,0,.08) !important;
}
body.jdm-light .jdm-ann-results-header {
  background: rgba(79,168,48,.06) !important;
  border-bottom-color: rgba(0,0,0,.07) !important;
}
body.jdm-light .jdm-ann-results-title   { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .jdm-ann-results-count   { color: var(--jl-text-faint,#8a9b8e) !important; }
body.jdm-light .jdm-ann-table th {
  color: var(--jl-text-faint,#8a9b8e) !important;
  background: rgba(0,0,0,.03) !important;
  border-bottom-color: rgba(0,0,0,.07) !important;
}
body.jdm-light .jdm-ann-table td {
  color: var(--jl-text-mid,#3d4d42) !important;
  border-bottom-color: rgba(0,0,0,.05) !important;
}
body.jdm-light .jdm-ann-table tr:hover td { background: rgba(0,0,0,.02) !important; }
body.jdm-light .jdm-ann-race-name  { color: var(--jl-text,#1e2a22) !important; }
body.jdm-light .jdm-ann-race-year  { color: var(--jl-text-faint,#8a9b8e) !important; }
body.jdm-light .jdm-ann-perf       { color: var(--jl-text,#1e2a22) !important; }

/* Formulaire édition profil */
body.jdm-light .jdm-ann-profile-section {
  background: #fff !important;
  border-color: rgba(0,0,0,.08) !important;
}
body.jdm-light .jdm-ann-profile-block { border-bottom-color: rgba(0,0,0,.06) !important; }
body.jdm-light .jdm-ann-switch-label  { color: var(--jl-text-mid,#3d4d42) !important; }
body.jdm-light .jdm-ann-help          { color: var(--jl-text-faint,#8a9b8e) !important; }
body.jdm-light .jdm-ann-field label   { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .jdm-ann-field input,
body.jdm-light .jdm-ann-field textarea,
body.jdm-light .jdm-ann-field select {
  background: #fff !important;
  border-color: rgba(0,0,0,.15) !important;
  color: var(--jl-text,#1e2a22) !important;
}
body.jdm-light .jdm-ann-field input::placeholder,
body.jdm-light .jdm-ann-field textarea::placeholder { color: rgba(0,0,0,.3) !important; }
body.jdm-light .jdm-ann-sources-title { color: var(--jl-text-soft,#5a6b5e) !important; }
body.jdm-light .jdm-ann-source-card {
  background: rgba(0,0,0,.03) !important;
  border-color: rgba(0,0,0,.07) !important;
}
body.jdm-light .jdm-ann-fetch-row {
  background: rgba(0,0,0,.03) !important;
  border-color: rgba(0,0,0,.07) !important;
}
body.jdm-light .jdm-ann-last-fetch    { color: var(--jl-text-faint,#8a9b8e) !important; }
body.jdm-light .jdm-ann-save-row      { background: rgba(0,0,0,.04) !important; border-top-color: rgba(0,0,0,.07) !important; }
body.jdm-light .jdm-ann-btn-refresh {
  color: var(--jl-text-mid,#3d4d42) !important;
  border-color: rgba(0,0,0,.2) !important;
}
body.jdm-light .jdm-ann-btn-back {
  background: rgba(0,0,0,.05) !important;
  border-color: rgba(0,0,0,.1) !important;
  color: var(--jl-text-mid,#3d4d42) !important;
}

/* ════════════════════════════════════════════════════════════
   PATCH v4.0.0 — corrections header non connecté + hero
   ════════════════════════════════════════════════════════════ */

/* 1. Header : étirer header-inner sur toute la largeur */
.header-inner {
  width: 100% !important;
}

/* 2. pwa-header-title est toujours présent et prend l'espace libre
      (la nav horizontale est désactivée sur ce site) */
.pwa-header-title {
  flex-grow: 1 !important;
}

/* 3. Bouton Se connecter / Rejoindre : collé à droite avec marge */
.header-right {
  margin-left: auto !important;
  margin-right: 12px !important;
}

/* 4. Hero : réduire de moitié l'espace entre header et contenu */
.hero-content {
  padding-block: 40px 60px !important;
}

/* 5. Bouton Actualités dans le hero : vert lime bien visible */
.hero-btn-actus {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 22px !important;
  border-radius: 999px !important;
  background: var(--lime, #6fcf42) !important;
  border: none !important;
  color: var(--forest, #1a3a2a) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background .2s, transform .2s, box-shadow .2s !important;
}
.hero-btn-actus:hover {
  background: var(--lime-dark, #4fa830) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(111,207,66,.4) !important;
}
