
/* Parcours VTT - Chalet Montriond | CSS scope sous .cml-parcours */

/* ===== HUB (liste) ===== */
.cmlp-scope .cml-parcours{
      --ink:#0F1419;
      --ink-2:#2C3338;
      --muted:#5B6770;
      --muted-2:#8B95A0;
      --line:#E5E7EA;
      --line-2:#EFF1F3;
      --bg:#FFFFFF;
      --bg-2:#FAFAF9;
      --bg-3:#F4F5F4;

      --accent:#1F6F43;
      --accent-dark:#13502F;
      --accent-soft:#E6F0EA;

      
      --easy:#2C70C3;       --easy-bg:#2C70C3;
      --moyen:#D3343A;      --moyen-bg:#D3343A;
      --hard:#7A1E22;       --hard-bg:#7A1E22;

      
      --activity:#C5343B;
      --activity-bike:#1F6F43;

      --radius:8px;
      --radius-sm:5px;
    }
.cmlp-scope .cml-parcours *{box-sizing:border-box}
.cmlp-scope .cml-parcours{ scroll-behavior:smooth; }
.cmlp-scope .cml-parcours{
      margin:0;
      background:var(--bg);
      color:var(--ink);
      font-family:-apple-system,BlinkMacSystemFont,"Jost","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
      font-size:15px;
      line-height:1.5;
      -webkit-font-smoothing:antialiased;
    }
.cmlp-scope .cml-parcours a{ color:inherit; text-decoration:none; }
.cmlp-scope .cml-parcours .topbar{
      position:sticky;
      top:0;
      z-index:50;
      background:rgba(255,255,255,.95);
      backdrop-filter:saturate(180%) blur(10px);
      -webkit-backdrop-filter:saturate(180%) blur(10px);
      border-bottom:1px solid var(--line);
    }
.cmlp-scope .cml-parcours .topbar-inner{
      max-width:1280px;
      margin:0 auto;
      padding:12px 24px;
      display:flex;
      align-items:center;
      gap:18px;
    }
.cmlp-scope .cml-parcours .topbar .back{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--muted);
      font-size:13px;
      font-weight:500;
      transition:color .15s ease;
    }
.cmlp-scope .cml-parcours .topbar .back:hover{ color:var(--ink); }
.cmlp-scope .cml-parcours .topbar .brand{
      margin-left:auto;
      font-size:13px;
      color:var(--muted);
      font-weight:600;
    }
.cmlp-scope .cml-parcours .topbar .brand strong{ color:var(--ink); font-weight:700; }
.cmlp-scope .cml-parcours .breadcrumb{
      max-width:1280px;
      margin:18px auto 0;
      padding:0 24px;
      font-size:13px;
      color:var(--muted);
    }
.cmlp-scope .cml-parcours .breadcrumb a{ color:var(--muted); }
.cmlp-scope .cml-parcours .breadcrumb a:hover{ color:var(--ink); text-decoration:underline; }
.cmlp-scope .cml-parcours .breadcrumb .sep{ margin:0 8px; color:var(--muted-2); }
.cmlp-scope .cml-parcours .page-head{
      max-width:1280px;
      margin:0 auto;
      padding:14px 24px 32px;
    }
.cmlp-scope .cml-parcours .kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:11px;
      font-weight:700;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:var(--accent);
      margin-bottom:10px;
    }
.cmlp-scope .cml-parcours .kicker::before{
      content:"";
      width:18px;
      height:1.5px;
      background:var(--accent);
    }
.cmlp-scope .cml-parcours h1{
      margin:0 0 12px;
      font-size:clamp(26px, 3.4vw, 38px);
      line-height:1.15;
      letter-spacing:-0.01em;
      font-weight:700;
    }
.cmlp-scope .cml-parcours .lead{
      max-width:780px;
      margin:0;
      color:var(--muted);
      font-size:16px;
      line-height:1.6;
    }
.cmlp-scope .cml-parcours .filters{
      max-width:1280px;
      margin:24px auto 0;
      padding:0 24px;
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      align-items:center;
    }
.cmlp-scope .cml-parcours .filter-label{
      font-size:12px;
      color:var(--muted);
      font-weight:600;
      letter-spacing:.04em;
      margin-right:4px;
    }
.cmlp-scope .cml-parcours .filter{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:7px 13px;
      border:1px solid var(--line);
      border-radius:999px;
      font-size:13px;
      font-weight:500;
      color:var(--ink-2);
      background:var(--bg);
      cursor:pointer;
      transition:all .15s ease;
      font-family:inherit;
    }
.cmlp-scope .cml-parcours .filter:hover{ background:var(--bg-3); border-color:var(--muted-2); }
.cmlp-scope .cml-parcours .filter.active{
      background:var(--ink);
      color:#fff;
      border-color:var(--ink);
    }
.cmlp-scope .cml-parcours .filter .count{
      font-size:11px;
      opacity:.7;
      font-weight:600;
    }
.cmlp-scope .cml-parcours .results-count{
      margin-left:auto;
      font-size:13px;
      color:var(--muted);
    }
.cmlp-scope .cml-parcours .results-count strong{ color:var(--ink); font-weight:700; }
.cmlp-scope .cml-parcours .grid{
      max-width:1280px;
      margin:24px auto 0;
      padding:0 24px;
      display:grid;
      grid-template-columns:repeat(4, 1fr);
      gap:18px;
    }
@media  (max-width:1100px) {
.cmlp-scope .cml-parcours .grid{ grid-template-columns:repeat(3, 1fr); }
 
}
@media  (max-width:820px) {
.cmlp-scope .cml-parcours .grid{ grid-template-columns:repeat(2, 1fr); }
 
}
@media  (max-width:540px) {
.cmlp-scope .cml-parcours .grid{ grid-template-columns:1fr; }
 
}
.cmlp-scope .cml-parcours .card{
      display:flex;
      flex-direction:column;
      background:var(--bg);
      border:1px solid var(--line);
      border-radius:var(--radius);
      overflow:hidden;
      cursor:pointer;
      transition:transform .18s ease, box-shadow .2s ease, border-color .2s ease;
    }
.cmlp-scope .cml-parcours .card:hover{
      transform:translateY(-3px);
      box-shadow:0 12px 30px rgba(15,20,25,.10);
      border-color:var(--muted-2);
    }
.cmlp-scope .cml-parcours .card .photo{
      aspect-ratio:4/3;
      background-size:cover;
      background-position:center;
      background-color:#dde2e8;
      position:relative;
    }
.cmlp-scope .cml-parcours .activity-pin{
      position:absolute;
      top:12px;
      left:12px;
      width:34px;
      height:34px;
      border-radius:var(--radius-sm);
      background:var(--activity-bike);
      display:flex;
      align-items:center;
      justify-content:center;
      color:#fff;
      box-shadow:0 2px 8px rgba(0,0,0,.15);
    }
.cmlp-scope .cml-parcours .activity-pin svg{ width:18px; height:18px; }
.cmlp-scope .cml-parcours .top-flag{
      position:absolute;
      bottom:12px;
      left:12px;
      background:rgba(15,20,25,.92);
      color:#fff;
      font-size:10.5px;
      font-weight:800;
      letter-spacing:.12em;
      padding:5px 9px;
      border-radius:3px;
    }
.cmlp-scope .cml-parcours .card .body{
      padding:14px 16px 16px;
      flex:1;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
.cmlp-scope .cml-parcours .card .cat{
      font-size:11px;
      font-weight:600;
      letter-spacing:.06em;
      text-transform:uppercase;
      color:var(--muted);
    }
.cmlp-scope .cml-parcours .card h3{
      margin:0;
      font-size:16px;
      line-height:1.3;
      font-weight:700;
      color:var(--ink);
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
      min-height:2.6em;
    }
.cmlp-scope .cml-parcours .badges{
      display:flex;
      flex-wrap:wrap;
      gap:5px;
      align-items:center;
    }
.cmlp-scope .cml-parcours .badge{
      display:inline-flex;
      align-items:center;
      gap:4px;
      padding:3px 8px;
      border-radius:3px;
      font-size:11px;
      font-weight:700;
      letter-spacing:.02em;
      line-height:1.2;
    }
.cmlp-scope .cml-parcours .badge.cas{
      background:var(--bg);
      border:1.5px solid var(--ink);
      color:var(--ink);
    }
.cmlp-scope .cml-parcours .badge.diff-easy{ background:var(--easy-bg); color:#fff; }
.cmlp-scope .cml-parcours .badge.diff-moyen{ background:var(--moyen-bg); color:#fff; }
.cmlp-scope .cml-parcours .badge.diff-hard{ background:var(--hard-bg); color:#fff; }
.cmlp-scope .cml-parcours .badge.season{
      background:#FCEBEC;
      color:#A23838;
      font-weight:600;
    }
.cmlp-scope .cml-parcours .badge.season::before{
      content:"";
      width:6px;
      height:6px;
      border-radius:50%;
      background:#A23838;
    }
.cmlp-scope .cml-parcours .stats-mini{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:6px 14px;
      margin-top:auto;
      padding-top:10px;
      border-top:1px solid var(--line-2);
      font-size:13.5px;
      color:var(--ink);
    }
.cmlp-scope .cml-parcours .stats-mini .stat{
      display:inline-flex;
      align-items:center;
      gap:6px;
      font-weight:500;
    }
.cmlp-scope .cml-parcours .stats-mini .stat .ico{
      color:var(--muted);
      font-weight:700;
      font-size:13px;
      width:14px;
      text-align:center;
      flex-shrink:0;
    }
.cmlp-scope .cml-parcours .card .src{
      margin-top:6px;
      padding-top:10px;
      border-top:1px solid var(--line-2);
      font-size:12px;
      color:var(--muted);
      display:flex;
      align-items:center;
      gap:5px;
    }
.cmlp-scope .cml-parcours .card .src .verified{
      color:var(--accent);
      font-size:14px;
      line-height:1;
    }
.cmlp-scope .cml-parcours .featured-section{
      max-width:1280px;
      margin:8px auto 0;
      padding:0 24px;
    }
.cmlp-scope .cml-parcours .featured-card{
      display:grid;
      grid-template-columns:1.2fr 1fr;
      gap:0;
      border:1px solid var(--line);
      border-radius:var(--radius);
      overflow:hidden;
      background:var(--bg);
      margin-bottom:36px;
      cursor:pointer;
      transition:box-shadow .2s ease, border-color .2s ease;
    }
.cmlp-scope .cml-parcours .featured-card:hover{
      box-shadow:0 12px 30px rgba(15,20,25,.10);
      border-color:var(--muted-2);
    }
.cmlp-scope .cml-parcours .featured-photo{
      aspect-ratio:auto;
      min-height:340px;
      background:url("https://new.swissexplorerscamp.com/wp-content/uploads/2026/05/Alpage_La_Palaz.webp") center/cover;
      position:relative;
    }
.cmlp-scope .cml-parcours .featured-body{
      padding:32px 36px;
      display:flex;
      flex-direction:column;
      gap:14px;
      justify-content:center;
    }
.cmlp-scope .cml-parcours .featured-body .cat{
      font-size:11px;
      font-weight:600;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:var(--muted);
    }
.cmlp-scope .cml-parcours .featured-body h2{
      margin:0;
      font-size:clamp(22px, 2.4vw, 30px);
      font-weight:700;
      line-height:1.2;
      letter-spacing:-0.01em;
    }
.cmlp-scope .cml-parcours .featured-body p{
      margin:0;
      color:var(--ink-2);
      font-size:15px;
      line-height:1.6;
      max-width:500px;
    }
.cmlp-scope .cml-parcours .featured-stats{
      display:flex;
      flex-wrap:wrap;
      gap:0;
      margin:6px 0;
      border:1px solid var(--line);
      border-radius:var(--radius-sm);
      overflow:hidden;
    }
.cmlp-scope .cml-parcours .featured-stats .stat{
      flex:1 1 0;
      min-width:90px;
      padding:10px 12px;
      border-right:1px solid var(--line);
    }
.cmlp-scope .cml-parcours .featured-stats .stat:last-child{ border-right:0; }
.cmlp-scope .cml-parcours .featured-stats .stat .lbl{
      display:block;
      font-size:10.5px;
      font-weight:600;
      letter-spacing:.06em;
      text-transform:uppercase;
      color:var(--muted);
      margin-bottom:2px;
    }
.cmlp-scope .cml-parcours .featured-stats .stat .val{
      display:block;
      font-size:15px;
      font-weight:700;
      color:var(--ink);
    }
.cmlp-scope .cml-parcours .featured-cta{
      display:inline-flex;
      align-items:center;
      gap:8px;
      align-self:flex-start;
      padding:11px 18px;
      background:var(--accent);
      color:#fff;
      border-radius:var(--radius-sm);
      font-size:14px;
      font-weight:600;
      margin-top:6px;
      transition:background .15s ease;
    }
.cmlp-scope .cml-parcours .featured-cta:hover{ background:var(--accent-dark); }
.cmlp-scope .cml-parcours .featured-cta svg{ width:14px; height:14px; }
.cmlp-scope .cml-parcours .section-head{
      max-width:1280px;
      margin:48px auto 0;
      padding:0 24px;
    }
.cmlp-scope .cml-parcours .section-head h2{
      margin:0 0 6px;
      font-size:22px;
      font-weight:700;
      letter-spacing:-0.01em;
    }
.cmlp-scope .cml-parcours .section-head p{
      margin:0;
      color:var(--muted);
      font-size:14.5px;
    }
.cmlp-scope .cml-parcours .info-banner{
      max-width:1280px;
      margin:60px auto 0;
      padding:0 24px;
    }
.cmlp-scope .cml-parcours .info-banner-inner{
      display:grid;
      grid-template-columns:1fr auto;
      gap:24px;
      align-items:center;
      padding:24px 28px;
      background:linear-gradient(135deg, var(--accent-soft) 0%, var(--bg-2) 100%);
      border:1px solid var(--line);
      border-radius:var(--radius);
    }
.cmlp-scope .cml-parcours .info-banner h3{
      margin:0 0 4px;
      font-size:17px;
      font-weight:700;
    }
.cmlp-scope .cml-parcours .info-banner p{
      margin:0;
      color:var(--ink-2);
      font-size:14px;
      line-height:1.55;
    }
.cmlp-scope .cml-parcours .info-banner .btn{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:11px 18px;
      background:var(--ink);
      color:#fff;
      border-radius:var(--radius-sm);
      font-size:14px;
      font-weight:600;
      white-space:nowrap;
      transition:background .15s ease;
    }
.cmlp-scope .cml-parcours .info-banner .btn:hover{ background:var(--ink-2); }
@media  (max-width:640px) {
.cmlp-scope .cml-parcours .info-banner-inner{ grid-template-columns:1fr; }
.cmlp-scope .cml-parcours .featured-card{ grid-template-columns:1fr; }
.cmlp-scope .cml-parcours .featured-photo{ min-height:240px; aspect-ratio:16/10; }
.cmlp-scope .cml-parcours .featured-body{ padding:24px; }
.cmlp-scope .cml-parcours h1{ font-size:24px; }
.cmlp-scope .cml-parcours .topbar .brand{ display:none; }

    
}
.cmlp-scope .cml-parcours footer{
      max-width:1280px;
      margin:60px auto 0;
      padding:32px 24px 48px;
      border-top:1px solid var(--line);
      color:var(--muted);
      font-size:13px;
      line-height:1.6;
    }
.cmlp-scope .cml-parcours footer .foot-grid{
      display:flex;
      justify-content:space-between;
      gap:24px;
      flex-wrap:wrap;
    }
.cmlp-scope .cml-parcours footer a{ color:var(--muted); }
.cmlp-scope .cml-parcours footer a:hover{ color:var(--ink); text-decoration:underline; }
.cmlp-scope .cml-parcours footer strong{ color:var(--ink); }


  

/* ===== FICHE DETAIL ===== */
.cmlp-scope .cml-parcours{
      --ink:#0F1419;
      --ink-2:#2C3338;
      --muted:#5B6770;
      --muted-2:#8B95A0;
      --line:#E5E7EA;
      --line-2:#EFF1F3;
      --bg:#FFFFFF;
      --bg-2:#FAFAF9;
      --bg-3:#F4F5F4;

      --accent:#1F6F43;        
      --accent-dark:#13502F;
      --accent-soft:#E6F0EA;

      --warning:#B25A1A;
      --warning-soft:#FBEFE2;
      --danger:#A23838;
      --danger-soft:#F7E4E4;

      
      --t1:#3F8C5E;  --t1-bg:#E6F0EA;
      --t2:#4E7FA9;  --t2-bg:#E5EDF3;
      --t3:#C28A1F;  --t3-bg:#F8EED9;
      --t4:#B25A1A;  --t4-bg:#FBEFE2;
      --t5:#A23838;  --t5-bg:#F7E4E4;

      --radius:10px;
      --radius-sm:6px;
      --shadow:0 1px 2px rgba(15,20,25,.04), 0 8px 24px rgba(15,20,25,.06);
    }
.cmlp-scope .cml-parcours *{box-sizing:border-box}
.cmlp-scope .cml-parcours{ scroll-behavior:smooth; }
.cmlp-scope .cml-parcours{
      margin:0;
      background:var(--bg);
      color:var(--ink);
      font-family:-apple-system,BlinkMacSystemFont,"Jost","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
      font-size:15px;
      line-height:1.55;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }
.cmlp-scope .cml-parcours a{ color:inherit; }
.cmlp-scope .cml-parcours .topbar{
      position:sticky;
      top:0;
      z-index:50;
      background:rgba(255,255,255,.94);
      backdrop-filter:saturate(180%) blur(10px);
      -webkit-backdrop-filter:saturate(180%) blur(10px);
      border-bottom:1px solid var(--line);
    }
.cmlp-scope .cml-parcours .topbar-inner{
      max-width:1240px;
      margin:0 auto;
      padding:12px 24px;
      display:flex;
      align-items:center;
      gap:18px;
    }
.cmlp-scope .cml-parcours .topbar a.back{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--muted);
      text-decoration:none;
      font-size:13px;
      font-weight:500;
      transition:color .15s ease;
    }
.cmlp-scope .cml-parcours .topbar a.back:hover{ color:var(--ink); }
.cmlp-scope .cml-parcours .topbar .brand{
      margin-left:auto;
      font-size:13px;
      color:var(--muted);
      font-weight:600;
      letter-spacing:.04em;
    }
.cmlp-scope .cml-parcours .topbar .brand strong{ color:var(--ink); font-weight:700; }
.cmlp-scope .cml-parcours .breadcrumb{
      max-width:1240px;
      margin:18px auto 0;
      padding:0 24px;
      font-size:13px;
      color:var(--muted);
    }
.cmlp-scope .cml-parcours .breadcrumb a{ color:var(--muted); text-decoration:none; }
.cmlp-scope .cml-parcours .breadcrumb a:hover{ color:var(--ink); text-decoration:underline; }
.cmlp-scope .cml-parcours .breadcrumb .sep{ margin:0 8px; color:var(--muted-2); }
.cmlp-scope .cml-parcours .fiche-head{
      max-width:1240px;
      margin:0 auto;
      padding:14px 24px 0;
    }
.cmlp-scope .cml-parcours .kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:11px;
      font-weight:700;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:var(--accent);
      margin-bottom:10px;
    }
.cmlp-scope .cml-parcours .kicker::before{
      content:"";
      width:18px;
      height:1.5px;
      background:var(--accent);
    }
.cmlp-scope .cml-parcours h1.title{
      margin:0 0 14px;
      font-size:clamp(28px, 3.6vw, 42px);
      line-height:1.15;
      letter-spacing:-0.01em;
      font-weight:700;
      color:var(--ink);
    }
.cmlp-scope .cml-parcours .subtitle{
      margin:0 0 24px;
      font-size:17px;
      color:var(--muted);
      max-width:780px;
      line-height:1.55;
    }
.cmlp-scope .cml-parcours .stats-bar{
      display:flex;
      flex-wrap:wrap;
      gap:0;
      margin:6px 0 22px;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:var(--bg);
      overflow:hidden;
    }
.cmlp-scope .cml-parcours .stat-cell{
      flex:1 1 0;
      min-width:130px;
      padding:14px 18px;
      border-right:1px solid var(--line);
    }
.cmlp-scope .cml-parcours .stat-cell:last-child{ border-right:0; }
.cmlp-scope .cml-parcours .stat-cell .lbl{
      display:block;
      font-size:11px;
      font-weight:600;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:var(--muted);
      margin-bottom:4px;
    }
.cmlp-scope .cml-parcours .stat-cell .val{
      display:block;
      font-size:18px;
      font-weight:700;
      color:var(--ink);
      letter-spacing:-0.01em;
    }
.cmlp-scope .cml-parcours .stat-cell .val small{
      font-weight:500;
      color:var(--muted);
      font-size:12px;
      margin-left:3px;
    }
.cmlp-scope .cml-parcours .diff{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:3px 9px;
      border-radius:999px;
      font-size:12px;
      font-weight:700;
      letter-spacing:.02em;
    }
.cmlp-scope .cml-parcours .diff.t1{ background:var(--t1-bg); color:var(--t1); }
.cmlp-scope .cml-parcours .diff.t2{ background:var(--t2-bg); color:var(--t2); }
.cmlp-scope .cml-parcours .diff.t3{ background:var(--t3-bg); color:var(--t3); }
.cmlp-scope .cml-parcours .diff.t4{ background:var(--t4-bg); color:var(--t4); }
.cmlp-scope .cml-parcours .diff.t5{ background:var(--t5-bg); color:var(--t5); }
.cmlp-scope .cml-parcours .diff::before{
      content:"";
      width:7px;
      height:7px;
      border-radius:50%;
      background:currentColor;
    }
.cmlp-scope .cml-parcours .actions-row{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-bottom:24px;
    }
.cmlp-scope .cml-parcours .btn{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:11px 18px;
      border-radius:var(--radius-sm);
      border:1px solid var(--line);
      background:var(--bg);
      color:var(--ink);
      font-size:14px;
      font-weight:600;
      text-decoration:none;
      cursor:pointer;
      transition:background .15s ease, border-color .15s ease, transform .1s ease;
      font-family:inherit;
    }
.cmlp-scope .cml-parcours .btn:hover{ background:var(--bg-3); border-color:var(--muted-2); }
.cmlp-scope .cml-parcours .btn:active{ transform:translateY(1px); }
.cmlp-scope .cml-parcours .btn.primary{
      background:var(--accent);
      color:#fff;
      border-color:var(--accent);
    }
.cmlp-scope .cml-parcours .btn.primary:hover{ background:var(--accent-dark); border-color:var(--accent-dark); }
.cmlp-scope .cml-parcours .btn svg{ width:16px; height:16px; flex-shrink:0; }
.cmlp-scope .cml-parcours .hero-img{
      max-width:1240px;
      margin:0 auto 0;
      padding:0 24px;
    }
.cmlp-scope .cml-parcours .hero-img-frame{
      width:100%;
      aspect-ratio:21/9;
      border-radius:var(--radius);
      overflow:hidden;
      background-color:#cfd4dc;
      background-image:url("https://new.swissexplorerscamp.com/wp-content/uploads/2026/05/vtt_montagne_2400x1200.webp");
      background-size:cover;
      background-position:center;
      position:relative;
    }
.cmlp-scope .cml-parcours .hero-img-caption{
      position:absolute;
      bottom:14px;
      right:18px;
      font-size:11px;
      color:rgba(255,255,255,.85);
      background:rgba(15,20,25,.4);
      padding:4px 10px;
      border-radius:999px;
      backdrop-filter:blur(4px);
    }
.cmlp-scope .cml-parcours .map-section{
      max-width:1240px;
      margin:32px auto 0;
      padding:0 24px;
    }
.cmlp-scope .cml-parcours .section-label{
      display:flex;
      align-items:baseline;
      justify-content:space-between;
      margin-bottom:14px;
      gap:14px;
      flex-wrap:wrap;
    }
.cmlp-scope .cml-parcours .section-label h2{
      margin:0;
      font-size:13px;
      font-weight:700;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:var(--muted);
    }
.cmlp-scope .cml-parcours .section-label .meta{
      font-size:13px;
      color:var(--muted);
    }
.cmlp-scope .cml-parcours .section-label .meta strong{ color:var(--ink); font-weight:600; }
.cmlp-scope .cml-parcours .map-wrap{
      border:1px solid var(--line);
      border-radius:var(--radius);
      overflow:hidden;
      background:var(--bg-2);
    }
.cmlp-scope .cml-parcours #cml-map{
      width:100%;
      height:560px;
    }
.cmlp-scope .cml-parcours .leaflet-container{ font-family:inherit; font-size:13px; }
.cmlp-scope .cml-parcours .basemap-pastel{
      filter:saturate(.32) brightness(1.16) contrast(.86);
    }
.cmlp-scope .cml-parcours .profile-section{
      max-width:1240px;
      margin:24px auto 0;
      padding:0 24px;
    }
.cmlp-scope .cml-parcours .profile-wrap{
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:18px 20px 14px;
      background:var(--bg);
    }
.cmlp-scope .cml-parcours .profile-wrap svg{ width:100%; height:240px; display:block; touch-action:none; }
.cmlp-scope .cml-parcours .profile-frame{ fill:#FCFBF8; stroke:var(--line); }
.cmlp-scope .cml-parcours .profile-grid{ stroke:var(--line-2); stroke-width:1; }
.cmlp-scope .cml-parcours .profile-grid-v{ stroke:var(--line-2); stroke-width:1; stroke-dasharray:2 4; }
.cmlp-scope .cml-parcours .profile-line{ fill:none; stroke:#D63A2F; stroke-width:2.2; stroke-linejoin:round; stroke-linecap:round; }
.cmlp-scope .cml-parcours .profile-axis-label{ font-size:11px; fill:var(--muted); font-weight:600; }
.cmlp-scope .cml-parcours .profile-axis-label.x{ text-anchor:middle; }
.cmlp-scope .cml-parcours .profile-poi-line{ stroke:var(--muted-2); stroke-width:1; stroke-dasharray:3 3; }
.cmlp-scope .cml-parcours .profile-poi-dot{ fill:#fff; stroke:#1F6F43; stroke-width:2; }
.cmlp-scope .cml-parcours .profile-poi-label{ font-size:10.5px; fill:var(--accent-dark); font-weight:700; }
.cmlp-scope .cml-parcours .profile-hover-line{ stroke:var(--ink-2); stroke-width:1; opacity:0; }
.cmlp-scope .cml-parcours .profile-hover-dot{ fill:#D63A2F; stroke:#fff; stroke-width:2; opacity:0; }
.cmlp-scope .cml-parcours .profile-tip{
      position:absolute; pointer-events:none; opacity:0; transition:opacity .1s ease;
      background:var(--ink); color:#fff; font-size:12px; font-weight:600;
      padding:6px 10px; border-radius:6px; white-space:nowrap;
      transform:translate(-50%, -120%); box-shadow:0 4px 12px rgba(15,20,25,.25);
      z-index:5;
    }
.cmlp-scope .cml-parcours .profile-tip small{ display:block; font-weight:500; color:rgba(255,255,255,.75); font-size:10.5px; margin-top:1px; }
.cmlp-scope .cml-parcours .profile-legend-mini{
      display:flex; flex-wrap:wrap; gap:18px; margin-top:12px;
      font-size:12px; color:var(--muted);
    }
.cmlp-scope .cml-parcours .profile-legend-mini b{ color:var(--ink); font-weight:700; }
.cmlp-scope .cml-parcours .profile-legend-mini .up{ color:#1F6F43; }
.cmlp-scope .cml-parcours .profile-legend-mini .down{ color:#B25A1A; }
.cmlp-scope .cml-parcours .body-grid{
      max-width:1240px;
      margin:48px auto 0;
      padding:0 24px;
      display:grid;
      grid-template-columns:minmax(0, 1fr) 320px;
      gap:56px;
      align-items:start;
    }
.cmlp-scope .cml-parcours .body-main h2{
      margin:32px 0 12px;
      font-size:22px;
      font-weight:700;
      color:var(--ink);
      letter-spacing:-0.01em;
    }
.cmlp-scope .cml-parcours .body-main h2:first-child{ margin-top:0; }
.cmlp-scope .cml-parcours .body-main h3{
      margin:24px 0 8px;
      font-size:17px;
      font-weight:700;
      color:var(--ink);
    }
.cmlp-scope .cml-parcours .body-main p{
      margin:0 0 14px;
      color:var(--ink-2);
      font-size:16px;
      line-height:1.65;
    }
.cmlp-scope .cml-parcours .body-main p.lead{
      font-size:17px;
      color:var(--ink);
      line-height:1.6;
    }
.cmlp-scope .cml-parcours .stages{
      margin:18px 0 8px;
      padding:0;
      list-style:none;
      counter-reset:stage;
    }
.cmlp-scope .cml-parcours .stages li{
      counter-increment:stage;
      padding:18px 0 18px 56px;
      border-top:1px solid var(--line);
      position:relative;
    }
.cmlp-scope .cml-parcours .stages li:last-child{ border-bottom:1px solid var(--line); }
.cmlp-scope .cml-parcours .stages li::before{
      content:"J" counter(stage);
      position:absolute;
      left:0;
      top:18px;
      width:38px;
      height:38px;
      border-radius:50%;
      background:var(--accent-soft);
      color:var(--accent-dark);
      font-size:13px;
      font-weight:700;
      display:flex;
      align-items:center;
      justify-content:center;
      letter-spacing:.02em;
    }
.cmlp-scope .cml-parcours .stages li h4{
      margin:0 0 4px;
      font-size:16px;
      font-weight:700;
      color:var(--ink);
    }
.cmlp-scope .cml-parcours .stages li .stage-meta{
      font-size:13px;
      color:var(--muted);
      margin-bottom:6px;
    }
.cmlp-scope .cml-parcours .stages li .stage-meta strong{ color:var(--ink-2); font-weight:600; }
.cmlp-scope .cml-parcours .stages li p{ margin:0; font-size:14.5px; color:var(--ink-2); }
.cmlp-scope .cml-parcours .body-aside{ position:sticky; top:80px; }
.cmlp-scope .cml-parcours .info-box{
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:0;
      background:var(--bg);
      margin-bottom:20px;
      overflow:hidden;
    }
.cmlp-scope .cml-parcours .info-box h3{
      margin:0;
      padding:14px 18px;
      font-size:12px;
      font-weight:700;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:var(--muted);
      border-bottom:1px solid var(--line);
      background:var(--bg-2);
    }
.cmlp-scope .cml-parcours .info-box dl{
      margin:0;
      padding:8px 0;
    }
.cmlp-scope .cml-parcours .info-box dl > div{
      display:flex;
      justify-content:space-between;
      gap:12px;
      padding:8px 18px;
      font-size:14px;
      border-bottom:1px solid var(--line-2);
    }
.cmlp-scope .cml-parcours .info-box dl > div:last-child{ border-bottom:0; }
.cmlp-scope .cml-parcours .info-box dt{
      color:var(--muted);
      font-weight:500;
    }
.cmlp-scope .cml-parcours .info-box dd{
      margin:0;
      color:var(--ink);
      font-weight:600;
      text-align:right;
    }
.cmlp-scope .cml-parcours .info-box .pad{ padding:14px 18px; }
.cmlp-scope .cml-parcours .info-box ul.refuges{
      list-style:none;
      padding:8px 0;
      margin:0;
    }
.cmlp-scope .cml-parcours .info-box ul.refuges li{
      padding:9px 18px;
      font-size:13.5px;
      border-bottom:1px solid var(--line-2);
    }
.cmlp-scope .cml-parcours .info-box ul.refuges li:last-child{ border-bottom:0; }
.cmlp-scope .cml-parcours .info-box ul.refuges li strong{
      display:block;
      color:var(--ink);
      font-weight:600;
    }
.cmlp-scope .cml-parcours .info-box ul.refuges li span{
      color:var(--muted);
      font-size:12.5px;
    }
.cmlp-scope .cml-parcours .cta-aside{
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:20px;
      background:linear-gradient(180deg, var(--accent-soft) 0%, var(--bg) 100%);
    }
.cmlp-scope .cml-parcours .cta-aside h3{
      margin:0 0 8px;
      font-size:16px;
      font-weight:700;
      color:var(--ink);
    }
.cmlp-scope .cml-parcours .cta-aside p{
      margin:0 0 14px;
      font-size:13.5px;
      color:var(--ink-2);
      line-height:1.55;
    }
.cmlp-scope .cml-parcours .cta-aside .btn{ width:100%; justify-content:center; }
.cmlp-scope .cml-parcours .cta-aside .btn + .btn{ margin-top:8px; }
.cmlp-scope .cml-parcours .related-section{
      max-width:1240px;
      margin:80px auto 0;
      padding:48px 24px;
      border-top:1px solid var(--line);
    }
.cmlp-scope .cml-parcours .related-section h2.section-h2{
      margin:0 0 6px;
      font-size:24px;
      font-weight:700;
      letter-spacing:-0.01em;
    }
.cmlp-scope .cml-parcours .related-section .section-sub{
      margin:0 0 28px;
      color:var(--muted);
      font-size:15px;
    }
.cmlp-scope .cml-parcours .trail-grid{
      display:grid;
      grid-template-columns:repeat(3, 1fr);
      gap:18px;
    }
.cmlp-scope .cml-parcours .trail-card{
      border:1px solid var(--line);
      border-radius:var(--radius);
      overflow:hidden;
      background:var(--bg);
      transition:border-color .2s ease, transform .15s ease, box-shadow .2s ease;
      display:flex;
      flex-direction:column;
    }
.cmlp-scope .cml-parcours .trail-card:hover{
      border-color:var(--muted-2);
      transform:translateY(-2px);
      box-shadow:var(--shadow);
    }
.cmlp-scope .cml-parcours .trail-card .photo{
      aspect-ratio:16/10;
      background-size:cover;
      background-position:center;
      background-color:#dde2e8;
      position:relative;
    }
.cmlp-scope .cml-parcours .trail-card .photo .num{
      position:absolute;
      top:12px;
      left:12px;
      background:rgba(255,255,255,.95);
      color:var(--ink);
      font-size:11px;
      font-weight:700;
      padding:5px 9px;
      border-radius:4px;
      letter-spacing:.02em;
    }
.cmlp-scope .cml-parcours .trail-card .body{
      padding:16px 18px 18px;
      flex:1;
      display:flex;
      flex-direction:column;
    }
.cmlp-scope .cml-parcours .trail-card h3{
      margin:0 0 6px;
      font-size:17px;
      font-weight:700;
      line-height:1.25;
      color:var(--ink);
    }
.cmlp-scope .cml-parcours .trail-card .tagline{
      margin:0 0 14px;
      font-size:13.5px;
      color:var(--muted);
      line-height:1.5;
    }
.cmlp-scope .cml-parcours .trail-card .mini-stats{
      display:flex;
      gap:14px;
      margin-top:auto;
      padding-top:12px;
      border-top:1px solid var(--line-2);
      font-size:12.5px;
      color:var(--ink-2);
    }
.cmlp-scope .cml-parcours .trail-card .mini-stats span{
      display:inline-flex;
      align-items:center;
      gap:5px;
    }
.cmlp-scope .cml-parcours .trail-card .mini-stats strong{ font-weight:700; color:var(--ink); }
.cmlp-scope .cml-parcours .trail-card.expanded{
      grid-column:1 / -1;
    }
.cmlp-scope .cml-parcours .trail-card .expand-content{
      display:none;
      border-top:1px solid var(--line);
    }
.cmlp-scope .cml-parcours .trail-card.expanded .expand-content{ display:block; }
.cmlp-scope .cml-parcours .trail-card .expand-grid{
      display:grid;
      grid-template-columns:1.4fr 1fr;
      gap:0;
    }
.cmlp-scope .cml-parcours .trail-card .expand-map{
      height:340px;
      background:var(--bg-2);
      border-right:1px solid var(--line);
    }
.cmlp-scope .cml-parcours .trail-card .expand-detail{
      padding:22px 24px;
      font-size:14.5px;
      line-height:1.6;
      color:var(--ink-2);
    }
.cmlp-scope .cml-parcours .trail-card .expand-detail p{ margin:0 0 14px; }
.cmlp-scope .cml-parcours .trail-card .expand-detail .row-stats{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:10px;
      margin-bottom:14px;
    }
.cmlp-scope .cml-parcours .trail-card .expand-detail .row-stats > div{
      background:var(--bg-2);
      padding:10px 12px;
      border-radius:var(--radius-sm);
    }
.cmlp-scope .cml-parcours .trail-card .expand-detail .row-stats .lbl{
      display:block;
      font-size:10.5px;
      letter-spacing:.06em;
      text-transform:uppercase;
      color:var(--muted);
      font-weight:600;
      margin-bottom:2px;
    }
.cmlp-scope .cml-parcours .trail-card .expand-detail .row-stats .val{
      display:block;
      font-size:15px;
      font-weight:700;
      color:var(--ink);
    }
.cmlp-scope .cml-parcours .trail-card .expand-actions{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:10px;
    }
.cmlp-scope .cml-parcours .trail-card .expand-profile{
      grid-column:1 / -1;
      padding:14px 24px 20px;
      border-top:1px solid var(--line);
    }
.cmlp-scope .cml-parcours .trail-card .expand-profile svg{ width:100%; height:140px; }
.cmlp-scope .cml-parcours .expand-toggle{
      width:100%;
      padding:11px 14px;
      background:var(--bg-2);
      border:0;
      border-top:1px solid var(--line);
      font-size:13px;
      font-weight:600;
      color:var(--ink-2);
      cursor:pointer;
      font-family:inherit;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:6px;
      transition:background .15s ease;
    }
.cmlp-scope .cml-parcours .expand-toggle:hover{ background:var(--bg-3); }
.cmlp-scope .cml-parcours .expand-toggle .chev{ transition:transform .2s ease; }
.cmlp-scope .cml-parcours .trail-card.expanded .expand-toggle .chev{ transform:rotate(180deg); }
.cmlp-scope .cml-parcours .safety{
      max-width:1240px;
      margin:32px auto 0;
      padding:0 24px;
    }
.cmlp-scope .cml-parcours .safety-inner{
      border-left:3px solid var(--warning);
      background:var(--warning-soft);
      padding:14px 18px;
      border-radius:0 var(--radius-sm) var(--radius-sm) 0;
      font-size:14px;
      color:var(--ink-2);
      line-height:1.6;
    }
.cmlp-scope .cml-parcours .safety-inner strong{ color:var(--ink); }
.cmlp-scope .cml-parcours footer{
      max-width:1240px;
      margin:60px auto 0;
      padding:32px 24px 48px;
      border-top:1px solid var(--line);
      color:var(--muted);
      font-size:13px;
      line-height:1.6;
    }
.cmlp-scope .cml-parcours footer .foot-grid{
      display:flex;
      justify-content:space-between;
      gap:24px;
      flex-wrap:wrap;
    }
.cmlp-scope .cml-parcours footer a{
      color:var(--muted);
      text-decoration:none;
    }
.cmlp-scope .cml-parcours footer a:hover{ color:var(--ink); text-decoration:underline; }
@media  (max-width:980px) {
.cmlp-scope .cml-parcours .body-grid{
        grid-template-columns:1fr;
        gap:32px;
      }
.cmlp-scope .cml-parcours .body-aside{ position:static; }
.cmlp-scope .cml-parcours #cml-map{ height:420px; }
.cmlp-scope .cml-parcours .trail-grid{ grid-template-columns:repeat(2, 1fr); }
.cmlp-scope .cml-parcours .trail-card.expanded .expand-grid{ grid-template-columns:1fr; }
.cmlp-scope .cml-parcours .trail-card.expanded .expand-map{ border-right:0; border-bottom:1px solid var(--line); height:300px; }

    
}
@media  (max-width:640px) {
.cmlp-scope .cml-parcours{ font-size:14.5px; }
.cmlp-scope .cml-parcours .topbar .brand{ display:none; }
.cmlp-scope .cml-parcours h1.title{ font-size:26px; }
.cmlp-scope .cml-parcours .subtitle{ font-size:15.5px; }
.cmlp-scope .cml-parcours .stats-bar{ flex-direction:column; }
.cmlp-scope .cml-parcours .stat-cell{
        border-right:0;
        border-bottom:1px solid var(--line);
        min-width:0;
        display:flex;
        justify-content:space-between;
        align-items:baseline;
        padding:12px 16px;
      }
.cmlp-scope .cml-parcours .stat-cell:last-child{ border-bottom:0; }
.cmlp-scope .cml-parcours .stat-cell .lbl{ margin-bottom:0; }
.cmlp-scope .cml-parcours .stat-cell .val{ font-size:16px; }
.cmlp-scope .cml-parcours .hero-img-frame{ aspect-ratio:16/10; }
.cmlp-scope .cml-parcours #cml-map{ height:340px; }
.cmlp-scope .cml-parcours .trail-grid{ grid-template-columns:1fr; }
.cmlp-scope .cml-parcours .related-section{ padding:32px 24px; }
.cmlp-scope .cml-parcours .related-section h2.section-h2{ font-size:20px; }
.cmlp-scope .cml-parcours .body-main h2{ font-size:19px; }
.cmlp-scope .cml-parcours .stages li{ padding-left:48px; }
.cmlp-scope .cml-parcours .stages li::before{ width:32px; height:32px; font-size:12px; }

    
}
.cmlp-scope .cml-parcours .icon-inline{
      width:14px; height:14px;
      display:inline-block;
      vertical-align:-2px;
      fill:currentColor;
    }
.cmlp-scope .cml-parcours .body-side{ display:flex; flex-direction:column; gap:16px; }
.cmlp-scope .cml-parcours .side-card{ background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius); padding:18px 18px 20px; }
.cmlp-scope .cml-parcours .side-card h3{ margin:0 0 12px; font-size:15px; font-weight:700; color:var(--ink); letter-spacing:.01em; }
.cmlp-scope .cml-parcours .side-card.accent{ background:var(--accent-soft); border-color:#cfe3d7; }
.cmlp-scope .cml-parcours .side-card.accent p{ color:var(--ink-2); font-size:14px; margin:0 0 14px; line-height:1.5; }
.cmlp-scope .cml-parcours dl.kv{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:6px 14px; }
.cmlp-scope .cml-parcours dl.kv dt{ color:var(--muted); font-size:13px; }
.cmlp-scope .cml-parcours dl.kv dd{ margin:0; text-align:right; font-size:13px; font-weight:600; color:var(--ink-2); }
.cmlp-scope .cml-parcours .btn.full{ width:100%; justify-content:center; }
.cmlp-scope .cml-parcours ul.kit{ margin:0 0 8px; padding-left:0; list-style:none; }
.cmlp-scope .cml-parcours ul.kit li{ position:relative; padding-left:24px; margin-bottom:8px; font-size:15px; color:var(--ink-2); line-height:1.5; }
.cmlp-scope .cml-parcours ul.kit li::before{ content:""; position:absolute; left:4px; top:9px; width:7px; height:7px; border-radius:50%; background:var(--accent); }
.cmlp-scope .cml-parcours .safety-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:18px; }
.cmlp-scope .cml-parcours .safe-card{ background:var(--bg); border:1px solid var(--line); border-radius:var(--radius); padding:16px 18px; }
.cmlp-scope .cml-parcours .safe-card h4{ margin:0 0 8px; font-size:14px; font-weight:700; color:var(--accent-dark); }
.cmlp-scope .cml-parcours .safe-card p{ margin:0; font-size:13px; color:var(--muted); line-height:1.5; }
.cmlp-scope .cml-parcours .related-row{ display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.cmlp-scope .cml-parcours .related-link{ display:inline-flex; align-items:center; gap:8px; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius-sm); padding:10px 16px; font-size:14px; font-weight:600; color:var(--ink-2); text-decoration:none; transition:background .15s, border-color .15s; }
.cmlp-scope .cml-parcours .related-link:hover{ background:var(--accent-soft); border-color:#cfe3d7; color:var(--accent-dark); }
.cmlp-scope .cml-parcours .site-footer{ max-width:1240px; margin:40px auto 0; padding:28px 24px 48px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.cmlp-scope .cml-parcours .site-footer p{ margin:0 0 6px; }
.cmlp-scope .cml-parcours .site-footer strong{ color:var(--ink-2); }
.cmlp-scope .cml-parcours .site-footer .muted{ color:var(--muted-2); font-size:12px; line-height:1.5; }
@media  (max-width:720px) {
.cmlp-scope .cml-parcours .safety-grid{ grid-template-columns:1fr; }
 
}
.cmlp-scope .cml-parcours .poi-pin{
      background:#fff;
      border:2.5px solid #D63A2F;
      color:#D63A2F;
      width:30px; height:30px;
      border-radius:50% 50% 50% 0;
      transform:rotate(-45deg);
      display:flex; align-items:center; justify-content:center;
      box-shadow:0 2px 8px rgba(15,20,25,.28);
    }
.cmlp-scope .cml-parcours .poi-pin svg{ width:15px; height:15px; transform:rotate(45deg); }
.cmlp-scope .cml-parcours .lodge-pin{
      background:#1A2E1A;
      border:2.5px solid #C9952E;
      color:#C9952E;
      width:34px; height:34px;
      border-radius:50% 50% 50% 0;
      transform:rotate(-45deg);
      display:flex; align-items:center; justify-content:center;
      box-shadow:0 2px 9px rgba(4,44,83,.4);
    }
.cmlp-scope .cml-parcours .lodge-pin svg{ width:17px; height:17px; transform:rotate(45deg); }
.cmlp-scope .cml-parcours .poi-pop .poi-lodge-tag{
      display:inline-block; margin-bottom:4px; padding:2px 8px;
      background:#1A2E1A; color:#C9952E;
      font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
      border-radius:999px;
    }
.cmlp-scope .cml-parcours .poi-pop a.poi-link.lodge{ color:#1A2E1A; }
.cmlp-scope .cml-parcours .leaflet-popup-content-wrapper{ border-radius:10px; box-shadow:0 6px 24px rgba(15,20,25,.18); }
.cmlp-scope .cml-parcours .leaflet-popup-content{ margin:14px 16px; font-family:inherit; }
.cmlp-scope .cml-parcours .poi-pop h4{ margin:0 0 3px; font-size:14.5px; font-weight:700; color:var(--ink); }
.cmlp-scope .cml-parcours .poi-pop .poi-alt{ font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); }
.cmlp-scope .cml-parcours .poi-pop .poi-hours{ margin:8px 0 0; font-size:12.5px; color:var(--ink-2); line-height:1.5; }
.cmlp-scope .cml-parcours .poi-pop .poi-hours .lbl{ font-weight:600; color:var(--ink); }
.cmlp-scope .cml-parcours .poi-pop a.poi-link{
      display:inline-flex; align-items:center; gap:5px;
      margin-top:10px; font-size:12.5px; font-weight:700;
      color:#D63A2F; text-decoration:none;
    }
.cmlp-scope .cml-parcours .poi-pop a.poi-link:hover{ text-decoration:underline; }
.cmlp-scope .cml-parcours .poi-pop .poi-closed{
      display:inline-block; margin-top:8px; padding:3px 9px;
      background:var(--danger-soft); color:var(--danger);
      font-size:11px; font-weight:700; border-radius:999px;
      letter-spacing:.02em;
    }
.cmlp-scope .cml-parcours .map-legend{
      display:flex; flex-wrap:wrap; gap:16px; align-items:center;
      margin-top:12px; font-size:12.5px; color:var(--muted);
    }
.cmlp-scope .cml-parcours .map-legend .lg{ display:inline-flex; align-items:center; gap:7px; }
.cmlp-scope .cml-parcours .map-legend .lg .swatch-line{ width:24px; height:3px; border-radius:2px; background:#D63A2F; position:relative; }
.cmlp-scope .cml-parcours .map-legend .lg .swatch-arrow{
      display:inline-flex; align-items:center; justify-content:center;
      width:16px; height:16px; border-radius:3px; background:#D63A2F;
      color:#fff; font-weight:900; font-size:11px; line-height:1;
    }
.cmlp-scope .cml-parcours .map-legend .lg .swatch-poi{
      width:14px; height:14px; border-radius:50% 50% 50% 0;
      transform:rotate(-45deg); border:2px solid #D63A2F; background:#fff;
      display:inline-block;
    }
.cmlp-scope .cml-parcours .map-legend .lg .swatch-start{
      width:15px; height:15px; border-radius:50%;
      background:#1F6F43; border:2.5px solid #fff; box-shadow:0 0 0 1px var(--line);
      display:inline-block;
    }
.cmlp-scope .cml-parcours .map-legend .lg .swatch-lodge{
      width:14px; height:14px; border-radius:50% 50% 50% 0;
      transform:rotate(-45deg); border:2px solid #C9952E; background:#1A2E1A;
      display:inline-block;
    }

  
/* ============================================================
   HERO + intégration WordPress (ajouté v1.2)
   ============================================================ */

/* Titres en Playfair Display pour le cachet "hôtel" */
.cmlp-scope .cml-parcours h1,.cmlp-scope .cml-parcours h2,.cmlp-scope .cml-parcours h3,.cmlp-scope .cml-parcours .cml-hero h1{
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  letter-spacing: 0;
}

/* Texte courant en Jost */
.cmlp-scope .cml-parcours,.cmlp-scope .cml-parcours p,.cmlp-scope .cml-parcours .filter,.cmlp-scope .cml-parcours .lead{
  font-family: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* HERO bandeau image */
.cmlp-scope .cml-parcours .cml-hero{
  position: relative;
  margin: 0 0 8px;
  min-height: 520px;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center 60%;
  background-repeat: no-repeat;
  border-radius: 0;
}
.cmlp-scope .cml-parcours .cml-hero-inner{
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  padding: 0 24px 40px;
  color: #fff;
}
.cmlp-scope .cml-parcours .cml-hero-kicker{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Jost", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #C9952E;
  margin-bottom: 12px;
}
.cmlp-scope .cml-parcours .cml-hero-kicker::before{
  content: "";
  width: 22px;
  height: 1.5px;
  background: #C9952E;
}
.cmlp-scope .cml-parcours .cml-hero h1{
  margin: 0 0 12px;
  font-size: clamp(30px, 4.4vw, 52px);
  line-height: 1.08;
  font-weight: 800;
  color: #fff;
  text-shadow: 0 2px 24px rgba(0,0,0,.35);
}
.cmlp-scope .cml-parcours .cml-hero p{
  max-width: 760px;
  margin: 0;
  font-size: clamp(15px, 1.6vw, 18px);
  line-height: 1.6;
  color: rgba(255,255,255,.92);
  text-shadow: 0 1px 12px rgba(0,0,0,.30);
}

/* La page hub démarre proprement (pas de chevauchement du menu du thème) */
.cmlp-scope .cml-parcours.cml-hub{
  margin-top: 0;
}
.cmlp-scope .cml-parcours.cml-hub .filters{
  margin-top: 22px;
}

@media  (max-width: 640px) {
  .cmlp-scope .cml-parcours .cml-hero{ min-height: 360px; }
  .cmlp-scope .cml-parcours .cml-hero-inner{ padding: 0 18px 26px; }
}

/* ============================================================
   PAGE DÉTAIL — HERO bandeau image (même style que le hub) v1.3
   Le header du thème est en position:absolute (~145px) et se pose
   PAR-DESSUS le contenu (comme sur le hub). On reproduit ce
   comportement : le hero démarre en haut, le menu se pose dessus,
   et le contenu du hero (kicker/titre/stats) est poussé sous la
   zone occupée par le menu.
   ============================================================ */

/* Lien retour : dans le hero, poussé sous la zone du menu */
.cmlp-scope .cml-parcours .cml-detail-hero .actions-row .btn-allroutes{
  margin-left: 0;
  order: -1;            /* v2.8 : à GAUCHE (premier de la barre d'actions) */
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.55);
  color: #fff;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.cmlp-scope .cml-detail-hero .actions-row .btn-allroutes:hover{
  background: rgba(255,255,255,.28);
  border-color: #fff;
}
.cmlp-scope .cml-parcours .cml-detail-back a{ pointer-events: auto; }
.cmlp-scope .cml-parcours .cml-detail-back a{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: "Jost", sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.92);
  letter-spacing: .01em;
  text-shadow: 0 1px 8px rgba(0,0,0,.5);
}
.cmlp-scope .cml-parcours .cml-detail-back a:hover{ color: #fff; }

/* Le fiche-head devient un hero image PLEIN ÉCRAN (100vh).
   Démarre en haut (top:0) : le header absolute (~145px) se pose dessus.
   Le contenu est centré verticalement sous la zone du menu. min-height
   au lieu de height fixe pour ne jamais tronquer un contenu long (Grand 8). */
.cmlp-scope .cml-parcours .fiche-head.cml-detail-hero{
  position: relative;
  max-width: none;
  width: 100vw;
  margin: 0 0 8px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0;
  min-height: 520px;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center 55%;
  background-repeat: no-repeat;
}
.cmlp-scope .cml-parcours .cml-detail-hero-inner{
  max-width: 1240px;
  width: 100%;
  margin: 0 auto;
  padding: 210px 56px 64px;   /* descendu + décollé du bord gauche */
}

/* Kicker doré sur le hero */
.cmlp-scope .cml-parcours .cml-detail-hero .kicker{ color: #C9952E; margin-bottom: 12px; }
.cmlp-scope .cml-parcours .cml-detail-hero .kicker::before{ background: #C9952E; }

/* Titre blanc Playfair */
.cmlp-scope .cml-parcours .cml-detail-hero h1.title{
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 800;
  font-size: clamp(28px, 4vw, 48px);
  text-shadow: 0 2px 24px rgba(0,0,0,.4);
  margin: 0 0 12px;
}
.cmlp-scope .cml-parcours .cml-detail-hero .subtitle{
  color: rgba(255,255,255,.92);
  text-shadow: 0 1px 12px rgba(0,0,0,.35);
  margin: 0 0 20px;
}

/* Stats sur fond translucide pour rester lisibles sur la photo */
.cmlp-scope .cml-parcours .cml-detail-stats-below{
  max-width: 1240px;
  margin: -18px auto 0;
  padding: 0 24px;
  position: relative;
  z-index: 4;
}
.cmlp-scope .cml-detail-stats-below .stats-bar{
  margin: 0;
  background: var(--bg);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

@media  (max-width: 640px) {
  .cmlp-scope .cml-parcours .fiche-head.cml-detail-hero{ min-height: 390px; }
  .cmlp-scope .cml-parcours .cml-detail-hero-inner{ padding: 130px 22px 30px; }
  .cmlp-scope .cml-parcours 
  .cml-parcours .cml-detail-stats-below{ padding: 0 18px; margin-top: -12px; }
}

.cmlp-scope .cml-parcours .gpx-short{ display:none; }
.cmlp-scope .cml-parcours .gpx-long{ display:inline; }
@media  (max-width:640px){
  .cmlp-scope .cml-parcours .gpx-short{ display:inline; }
  .cmlp-scope .cml-parcours .gpx-long{ display:none; }
}
@media  (max-width:640px){
  .cmlp-scope .cml-parcours .profile-wrap{ padding:14px 12px 12px; }
  .cmlp-scope .cml-parcours .profile-wrap svg{ height:320px; }
}

/* ===== v2.1 — encarts séjour (offre individuels) + location VTT ===== */
.cmlp-scope .cml-parcours .side-card .cml-side-eyebrow{ margin:0 0 6px; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); }
.cmlp-scope .cml-parcours .side-card.accent h3{ margin:0 0 8px; }
.cmlp-scope .cml-parcours .cml-side-price{ display:flex; align-items:baseline; gap:6px; margin:0 0 2px; }
.cmlp-scope .cml-parcours .cml-side-price-num{ font-size:26px; font-weight:700; color:var(--accent); line-height:1; }
.cmlp-scope .cml-parcours .cml-side-price-cur{ font-size:14px; font-weight:700; color:var(--accent); }
.cmlp-scope .cml-parcours .cml-side-price-sub{ margin:2px 0 12px; font-size:12.5px; color:var(--ink-2); }
.cmlp-scope .cml-parcours .side-card.cml-side-location h3{ margin:0 0 10px; }
.cmlp-scope .cml-parcours .btn.accent{ border-color:var(--accent); color:var(--accent); background:var(--bg); }
.cmlp-scope .cml-parcours .btn.accent:hover{ background:var(--accent-soft); border-color:var(--accent); }

/* ============================================================
   v2.5 — Hub rendu serveur : intro SEO + description de carte
   ============================================================ */
.cmlp-scope .cml-hub .cml-hub-intro{
    max-width:820px;
    margin:0 auto 32px;
    text-align:center;
}
.cmlp-scope .cml-hub .cml-hub-intro h2{
    font-family:"Playfair Display",Georgia,serif;
    color:#1A2E1A;
    font-size:clamp(22px,3vw,30px);
    margin:0 0 12px;
}
.cmlp-scope .cml-hub .cml-hub-intro p{
    color:#56616f;
    font-size:16px;
    line-height:1.65;
    margin:0;
}
.cmlp-scope .cml-hub .card .card-desc{
    color:#56616f;
    font-size:14px;
    line-height:1.55;
    margin:6px 0 12px;
}
.cmlp-scope .cml-hub .stats-mini .stat .lbl{
    font-weight:600;
    color:#1A2E1A;
}

/* ============================================================
   2.5.1 — Correctifs d'affichage du HUB (rendu serveur)
   Ciblé .cml-hub uniquement : ne touche pas la fiche détail.
   ============================================================ */
.cmlp-scope .cml-hub .card .photo{ display:block; }
.cmlp-scope .cml-hub .card .photo img{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover; display:block;
}
.cmlp-scope .cml-hub .stats-mini{ grid-template-columns:1fr; }
.cmlp-scope .cml-hub .stats-mini .stat{ white-space:nowrap; }

/* ============================================================
   2.6 — Barre de filtres du HUB (rendu serveur + JS de masquage)
   ============================================================ */
.cmlp-scope .cml-hub .cml-hub-filters{
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:12px; margin:26px 0 22px;
}
.cmlp-scope .cml-hub .cml-hub-filter-group{
    display:flex; flex-wrap:wrap; align-items:center; gap:10px;
}
.cmlp-scope .cml-hub .cml-hub-filter-label{
    font-family:"Jost",sans-serif; font-size:14px; font-weight:600;
    color:#56616f; margin-right:2px;
}
.cmlp-scope .cml-hub .cml-hub-filter{
    font-family:"Jost",sans-serif; font-size:14px; font-weight:600;
    color:#1A2E1A; background:#fff;
    border:1px solid #d9dee5; border-radius:999px;
    padding:9px 18px; line-height:1; cursor:pointer;
    transition:background .15s, border-color .15s, color .15s;
}
.cmlp-scope .cml-hub .cml-hub-filter .n{ color:#8a93a0; font-weight:600; }
.cmlp-scope .cml-hub .cml-hub-filter:hover{ border-color:#1A2E1A; }
.cmlp-scope .cml-hub .cml-hub-filter.is-active{ background:#0f1722; border-color:#0f1722; color:#fff; }
.cmlp-scope .cml-hub .cml-hub-filter.is-active .n{ color:rgba(255,255,255,.7); }
.cmlp-scope .cml-hub .cml-hub-count{ font-family:"Jost",sans-serif; font-size:14px; color:#56616f; }
.cmlp-scope .cml-hub .cml-hub-count strong{ color:#1A2E1A; font-weight:700; }
.cmlp-scope .cml-hub .card.cml-hide{ display:none; }

/* ============================================================
   2.6.1 — Hero en pleine largeur (full-bleed) depuis une colonne contrainte
   ============================================================ */
.cmlp-scope .cml-hub .cml-hero{
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* ============================================================
   v2.8 — MULTI-ACTIVITÉ
   ------------------------------------------------------------
   1) Bouton « Tous les itinéraires <activité> » à droite (hero + mobile)
   2) Encarts séjour + location déplacés en fin de colonne principale
      (donc après les buvettes), au lieu de la sidebar.
   ============================================================ */

/* 1) « Tous les itinéraires » à GAUCHE de la barre d'actions (hero + mobile). */
.cmlp-scope .cml-parcours .cml-detail-hero .actions-row .btn-allroutes{
  margin-left: 0;
  order: -1;
}
@media  (max-width: 640px) {
  .cmlp-scope .cml-parcours .cml-detail-hero .actions-row{ align-items: center; }
  .cmlp-scope .cml-parcours .cml-detail-hero .actions-row .btn-allroutes{
    margin-left: 0;
    order: -1;          /* reste à gauche, en tête de barre, même après wrap */
  }
}

/* 2) Bloc offres (séjour + location) en colonne principale, après buvettes.
      Deux colonnes côte à côte sur desktop, empilées sur mobile. */
.cmlp-scope .cml-parcours .cml-detail-offers{
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  align-items: start;
}
.cmlp-scope .cml-parcours .cml-detail-offers .side-card{ margin: 0; }
@media  (max-width: 760px) {
  .cmlp-scope .cml-parcours .cml-detail-offers{ grid-template-columns: 1fr; }
}
