
.jtm-courses,.jtm-detail{font-family:Arial,Helvetica,sans-serif}.jtm-courses{max-width:1400px;margin:40px auto;padding:20px}.jtm-title{margin:0 0 24px;position:relative;z-index:1}.jtm-title small{display:block;color:#D92F3D!important;font-size:13px;line-height:1.2;font-weight:900;letter-spacing:.08em;text-transform:uppercase;opacity:1!important;margin-bottom:8px;text-shadow:0 1px 2px rgba(0,0,0,.28)}.jtm-title h2{color:#fff!important;font-size:52px;line-height:1;margin:0;font-weight:950;font-style:italic;text-transform:uppercase;letter-spacing:-.02em;text-shadow:0 3px 14px rgba(0,0,0,.4)}.jtm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,260px));justify-content:center;gap:14px;width:100%}.jtm-card{min-width:0;width:100%;max-width:260px}.jtm-photo{position:relative;min-height:510px;background:linear-gradient(145deg,#48523b,#111);background-size:cover;background-position:center;border-radius:6px;overflow:hidden}.jtm-photo-8{background-image:linear-gradient(180deg,transparent,#07100d),url('https://images.unsplash.com/photo-1551698618-1dfe5d97d256?auto=format&fit=crop&w=900&q=80')}.jtm-photo-15{background-image:linear-gradient(180deg,transparent,#07100d),url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=900&q=80')}.jtm-photo-25{background-image:linear-gradient(180deg,transparent,#07100d),url('https://images.unsplash.com/photo-1551632811-561732d1e306?auto=format&fit=crop&w=900&q=80')}.jtm-photo-35{background-image:linear-gradient(180deg,transparent,#07100d),url('https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=900&q=80')}.jtm-photo-50{background-image:linear-gradient(180deg,transparent,#07100d),url('https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=900&q=80')}.jtm-card-content{position:absolute;inset:auto 16px 16px;color:#fff}.jtm-distance{font-size:58px;font-weight:950;font-style:italic;line-height:.9}.jtm-distance span{font-size:24px}.jtm-card h3{color:#ffd51f;text-transform:uppercase;margin:9px 0}.jtm-badge{font-size:11px;background:#ffd51f;color:#111;padding:5px 7px}.jtm-profile-svg{display:block;width:100%;height:75px;margin:15px 0 4px}.jtm-dplus{display:block;font-size:20px}.jtm-dots{color:#ffd51f;letter-spacing:4px;margin:8px 0 14px}.jtm-card a,.jtm-primary,.jtm-secondary{display:inline-block;text-decoration:none;font-weight:900}.jtm-card a{background:#fff;color:#111;width:100%;text-align:center;padding:12px;border-radius:3px}.jtm-detail{background:#f7f7f4;color:#111}.jtm-hero{min-height:520px;border-radius:0;background-position:center;background-size:cover}.jtm-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,9,8,.92),rgba(4,9,8,.35))}.jtm-hero-inner{position:relative;z-index:2;max-width:1320px;margin:auto;padding:45px 40px;color:#fff}.jtm-back{color:#fff;text-decoration:none;font-weight:800}.jtm-hero-copy{display:grid;grid-template-columns:1.5fr .65fr;gap:60px;align-items:end;margin-top:55px}.jtm-big{font-size:76px;font-weight:950;font-style:italic;line-height:.9}.jtm-status{background:#ff8b22;padding:7px 10px;font-weight:900}.jtm-hero h1{color:#ffd51f;text-transform:uppercase;font-size:32px;margin:8px 0}.jtm-hero p{max-width:620px;font-size:17px;line-height:1.6}.jtm-actions{display:flex;gap:14px;margin-top:24px}.jtm-primary{background:#ffd51f;color:#111;padding:16px 26px}.jtm-secondary{border:2px solid #fff;color:#fff;padding:14px 24px}.jtm-statbox{background:rgba(15,18,18,.88);display:grid;grid-template-columns:1fr 1fr;padding:25px}.jtm-statbox b{font-size:28px;padding:18px;border-bottom:1px solid #555}.jtm-statbox small{display:block;font-size:11px;margin-top:9px}.jtm-tabs{display:flex;justify-content:center;gap:42px;background:#fff;padding:18px;position:sticky;top:0;z-index:4;border-bottom:1px solid #ddd}.jtm-tabs a{color:#111;text-decoration:none;font-weight:900;font-size:13px}.jtm-content{max-width:1320px;margin:auto;padding:28px 30px}.jtm-topgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}.jtm-bottomgrid{display:grid;grid-template-columns:.85fr 1.2fr .8fr;gap:18px;margin-top:18px}.jtm-panel{background:#fff;border:1px solid #ddd;border-radius:6px;padding:22px}.jtm-panel h2{font-size:19px}.jtm-profile-svg{height:220px}.jtm-card .jtm-profile-svg{height:75px}.jtm-axis{display:flex;justify-content:space-between;font-weight:700}.jtm-map-placeholder{height:280px;background:radial-gradient(circle at 35% 35%,#546947,#1c2d23 55%,#101713);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ffd51f;font-size:30px;font-weight:950}.jtm-map-placeholder small{color:#fff;font-size:13px;margin-top:8px}.jtm-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.jtm-panel dt{font-weight:700}.jtm-panel dd{margin:0;font-weight:800}.jtm-yellow{color:#f4c900}.jtm-aid{display:flex;flex-direction:column;border-bottom:1px solid #ddd;padding:14px 0}.jtm-aid strong{color:#e77a1a;margin:4px 0}.jtm-landscape{height:150px;background:linear-gradient(145deg,#34533c,#94aa73);margin-top:15px}.jtm-cta{margin:26px 0 10px;background:#111;color:#fff;padding:25px;display:flex;align-items:center;gap:20px}.jtm-cta div{margin-right:auto}.jtm-cta h2{margin:4px 0}.jtm-cta small{color:#ffd51f;font-weight:900}
@media(max-width:900px){.jtm-cards{grid-template-columns:1fr 1fr}.jtm-hero-copy,.jtm-topgrid,.jtm-bottomgrid{grid-template-columns:1fr}.jtm-statbox{margin-top:20px}.jtm-tabs{overflow:auto;justify-content:flex-start;gap:24px}.jtm-cta{flex-direction:column;align-items:stretch}.jtm-cta div{margin:0}.jtm-big{font-size:58px}}
@media(max-width:560px){.jtm-cards{grid-template-columns:1fr}.jtm-photo{min-height:440px}.jtm-hero-inner{padding:30px 20px}.jtm-content{padding:18px 12px}.jtm-statbox b{font-size:22px}.jtm-actions{flex-direction:column}}

.jtm-extra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.jtm-cta p{max-width:650px;margin:8px 0 0}@media(max-width:900px){.jtm-extra-grid{grid-template-columns:1fr}}

/* v0.5.1 - contain hero overlay inside the hero only */
.jtm-detail .jtm-hero{position:relative!important;overflow:hidden!important;isolation:isolate}
.jtm-detail .jtm-hero-overlay{position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none}
.jtm-detail .jtm-hero-inner{position:relative!important;z-index:2!important}

@media(max-width:767px){.jtm-courses{margin:24px auto;padding:16px}.jtm-title{margin-bottom:18px}.jtm-title small{font-size:11px;margin-bottom:6px}.jtm-title h2{font-size:38px;line-height:1.02}}

/* =========================================================
   v0.7.0 — vignettes premium personnalisables
   ========================================================= */
.jtm-cards{grid-template-columns:repeat(auto-fit,minmax(240px,290px));gap:20px}
.jtm-card{max-width:290px}
.jtm-photo{min-height:560px;background:#07100d;isolation:isolate;border-radius:12px;box-shadow:0 14px 38px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08);transition:transform .25s ease,box-shadow .25s ease}
.jtm-card:hover .jtm-photo{transform:translateY(-4px);box-shadow:0 20px 46px rgba(0,0,0,.3)}
.jtm-photo.jtm-has-card-image{background-image:none!important;background:#07100d!important}
.jtm-photo.jtm-has-card-image:before{content:"";position:absolute;z-index:0;left:0;right:0;top:0;height:64%;background-image:var(--jtm-card-image);background-size:cover;background-position:var(--jtm-card-position,center center);background-repeat:no-repeat;transition:transform .35s ease}
.jtm-card:hover .jtm-photo.jtm-has-card-image:before{transform:scale(1.025)}
.jtm-photo.jtm-has-card-image:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(5,15,18,.04) 0%,rgba(5,15,18,.15) 35%,rgba(5,15,18,var(--jtm-card-overlay,.68)) 60%,#07100d 73%,#07100d 100%);pointer-events:none}
.jtm-shade{z-index:1}
.jtm-card-content{position:relative;z-index:3;inset:auto;margin-top:250px;padding:18px 18px 16px;color:#fff}
.jtm-card-status{position:absolute;z-index:5;top:14px;right:14px;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:950;letter-spacing:.05em;line-height:1;text-transform:uppercase;background:#1d8747;color:#fff;box-shadow:0 5px 16px rgba(0,0,0,.22)}
.jtm-card-status.jtm-status-full{background:#c92838}.jtm-card-status.jtm-status-soon{background:#bd7b00}.jtm-card-status.jtm-status-closed{background:#5f6873}.jtm-card-status.jtm-status-open{background:#168047}
.jtm-badge{display:inline-flex;width:auto;border-radius:999px;background:var(--jtm-card-badge,var(--jtm-card-accent,#d92f3d));color:var(--jtm-card-badge-text,#fff);padding:6px 10px;font-size:10px;letter-spacing:.03em;text-transform:uppercase}
.jtm-distance{font-size:56px;margin-top:14px}.jtm-distance span{font-size:21px}
.jtm-card h3{color:var(--jtm-card-accent,#d92f3d)!important;font-size:24px;line-height:1.08;margin:7px 0 12px}
.jtm-card-meta{display:flex;flex-wrap:wrap;gap:8px 13px;padding:10px 0 2px;border-top:1px solid rgba(255,255,255,.13);font-size:11px;font-weight:800;color:#eef2f4}
.jtm-card-meta span{white-space:nowrap}
.jtm-card .jtm-profile-svg{height:70px;margin:12px 0 3px}
.jtm-dplus{display:none}
.jtm-dots{color:var(--jtm-card-accent,#d92f3d);margin:7px 0 12px;letter-spacing:4px}
.jtm-card a{background:var(--jtm-card-button,#fff)!important;color:var(--jtm-card-button-text,#111)!important;border-radius:7px;padding:13px 10px;transition:transform .2s ease,filter .2s ease}
.jtm-card a:hover{transform:translateY(-1px);filter:brightness(.93)}
@media(max-width:900px){.jtm-cards{grid-template-columns:repeat(2,minmax(220px,290px));justify-content:center}.jtm-card-content{margin-top:235px}}
@media(max-width:560px){.jtm-cards{grid-template-columns:minmax(0,1fr)}.jtm-card{max-width:100%}.jtm-photo{min-height:535px}.jtm-card-content{margin-top:225px}}


/* v0.7.3 — UNE COULEUR PAR PARCOURS */
.jtm-card { --jtm-course-color: var(--jtm-card-accent,#D92F3D); }
.jtm-card h3,
.jtm-card .jtm-dots { color: var(--jtm-course-color) !important; }
.jtm-card .jtm-badge { background: var(--jtm-course-color) !important; color:#fff !important; }

.jtm-detail,
.jtm-course-accent-scope,
.jtm-hero { --jtm-course-color:#D92F3D; }
.jtm-detail .jtm-hero h1,
.jtm-detail .jtm-yellow,
.jtm-detail .jtm-cta small,
.jtm-course-accent-scope .jtm-yellow,
.jtm-course-accent-scope .jtm-aid strong { color:var(--jtm-course-color) !important; }
.jtm-detail .jtm-status,
.jtm-course-accent-scope .jtm-status { background:var(--jtm-course-color) !important; color:#fff !important; }
.jtm-detail .jtm-profile-svg polyline,
.jtm-course-accent-scope .jtm-profile-svg polyline { stroke:var(--jtm-course-color) !important; }
.jtm-detail .jtm-map-placeholder,
.jtm-course-accent-scope .jtm-map-placeholder { color:var(--jtm-course-color) !important; }

/* Le bouton d'inscription reste piloté par les réglages globaux de bouton. */


/* =========================================================
   v0.7.4 — BOUTON DÉCOUVRIR = COULEUR DU PARCOURS
   ========================================================= */

.jtm-course-card .jtm-card-button,
.jtm-course-card .jtm-btn,
.jtm-course-card .jtm-discover,
.jtm-course-card a.jtm-card-cta,
.jtm-course-card .jtm-course-cta {
    background: var(--jtm-course-color) !important;
    border-color: var(--jtm-course-color) !important;
    color: #ffffff !important;
    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease,
        filter .2s ease;
}

.jtm-course-card .jtm-card-button:hover,
.jtm-course-card .jtm-btn:hover,
.jtm-course-card .jtm-discover:hover,
.jtm-course-card a.jtm-card-cta:hover,
.jtm-course-card .jtm-course-cta:hover {
    background: var(--jtm-course-color) !important;
    border-color: var(--jtm-course-color) !important;
    color: #ffffff !important;
    filter: brightness(.88);
    transform: translateY(-1px);
}

/* fallback si le bouton est le seul lien direct dans la zone CTA */
.jtm-course-card .jtm-card-actions a {
    background: var(--jtm-course-color) !important;
    border-color: var(--jtm-course-color) !important;
    color: #ffffff !important;
}
.jtm-course-card .jtm-card-actions a:hover {
    filter: brightness(.88);
}

/* =========================================================
   v0.7.5 — CARTE GPX LEAFLET
   ========================================================= */
.jtm-gpx-map{
    width:100%;
    min-height:410px;
    border-radius:14px;
    overflow:hidden;
    background:#e9eef1;
    border:1px solid rgba(8,31,43,.12);
    box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.jtm-gpx-map .leaflet-control-attribution{font-size:9px}
.jtm-gpx-message{
    min-height:410px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    text-align:center;
    color:#7a2630;
    background:#fff1f2;
    font-weight:700;
}
@media(max-width:767px){
    .jtm-gpx-map,.jtm-gpx-message{min-height:300px}
}

/* =========================================================
   v0.7.7/0.7.8 — RESPONSIVE PAGES INTERNES PARCOURS
   Correctif mobile uniquement. Les couleurs/cartes d'accueil
   restent pilotées par les réglages existants du parcours.
   ========================================================= */
@media (max-width:767px){
    /* Contenir tous les shortcodes Trail Manager dans Elementor */
    .jtm-elementor-hero,
    .jtm-elementor-tabs,
    .jtm-panel-wrap,
    .jtm-detail,
    .jtm-hero,
    .jtm-hero-inner,
    .jtm-hero-copy,
    .jtm-content,
    .jtm-topgrid,
    .jtm-bottomgrid,
    .jtm-extra-grid,
    .jtm-panel,
    .jtm-cta{
        min-width:0!important;
        max-width:100%!important;
        box-sizing:border-box!important;
    }

    .jtm-elementor-hero,
    .jtm-elementor-tabs,
    .jtm-panel-wrap{
        width:100%!important;
        overflow-x:hidden!important;
    }

    /* Hero : aucun contenu ne peut élargir la page */
    .jtm-hero{
        width:100%!important;
        min-height:auto!important;
        overflow:hidden!important;
        background-position:center center!important;
    }
    .jtm-hero-inner{
        width:100%!important;
        margin:0 auto!important;
        padding:30px 20px 32px!important;
        overflow:hidden!important;
    }
    .jtm-hero-copy{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        gap:22px!important;
        align-items:stretch!important;
        margin-top:34px!important;
        width:100%!important;
    }
    .jtm-hero-copy > *{
        min-width:0!important;
        max-width:100%!important;
    }
    .jtm-back{
        display:inline-flex!important;
        max-width:100%!important;
        font-size:14px!important;
        line-height:1.25!important;
        white-space:normal!important;
    }
    .jtm-big{
        font-size:clamp(48px,15vw,62px)!important;
        line-height:.92!important;
        letter-spacing:-.035em!important;
        white-space:normal!important;
        overflow-wrap:anywhere!important;
        max-width:100%!important;
    }
    .jtm-status{
        display:inline-flex!important;
        max-width:100%!important;
        margin-top:10px!important;
        padding:6px 10px!important;
        font-size:12px!important;
        line-height:1.15!important;
        box-sizing:border-box!important;
    }
    .jtm-hero h1{
        max-width:100%!important;
        margin:12px 0 10px!important;
        font-size:clamp(34px,11vw,48px)!important;
        line-height:.96!important;
        letter-spacing:-.025em!important;
        white-space:normal!important;
        overflow-wrap:anywhere!important;
        word-break:normal!important;
    }
    .jtm-hero p{
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        font-size:16px!important;
        line-height:1.55!important;
        white-space:normal!important;
        overflow-wrap:anywhere!important;
        word-break:normal!important;
    }

    /* CTA du hero : pleine largeur, sans dépasser */
    .jtm-actions{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        gap:10px!important;
        width:100%!important;
        margin-top:22px!important;
    }
    .jtm-actions .jtm-primary,
    .jtm-actions .jtm-secondary{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        padding:14px 16px!important;
        box-sizing:border-box!important;
        text-align:center!important;
        white-space:normal!important;
        overflow-wrap:anywhere!important;
    }

    /* Statistiques : grille 2 x 2 compacte */
    .jtm-statbox{
        width:100%!important;
        margin:0!important;
        padding:10px!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:1px!important;
    }
    .jtm-statbox b{
        min-width:0!important;
        padding:13px 10px!important;
        font-size:21px!important;
        line-height:1.05!important;
        overflow-wrap:anywhere!important;
    }
    .jtm-statbox small{
        margin-top:6px!important;
        font-size:9px!important;
        line-height:1.25!important;
        letter-spacing:.03em!important;
    }

    /* v0.7.8 — navigation interne mobile en grille, sans scroll horizontal */
    .jtm-tabs{
        width:100%!important;
        max-width:100%!important;
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
        padding:10px 12px!important;
        overflow:visible!important;
        box-sizing:border-box!important;
        position:sticky!important;
        top:70px!important;
        z-index:30!important;
        background:rgba(255,255,255,.97)!important;
        border-top:1px solid #e3e6e8!important;
        border-bottom:1px solid #e3e6e8!important;
        box-shadow:0 8px 22px rgba(5,20,28,.08)!important;
        backdrop-filter:blur(10px)!important;
        -webkit-backdrop-filter:blur(10px)!important;
    }
    .jtm-tabs a{
        min-width:0!important;
        min-height:46px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        padding:9px 10px!important;
        border:1px solid #d9dfe3!important;
        border-radius:9px!important;
        background:#f5f7f8!important;
        color:#354052!important;
        font-size:11px!important;
        line-height:1.15!important;
        text-align:center!important;
        white-space:normal!important;
        overflow-wrap:anywhere!important;
        box-sizing:border-box!important;
        transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease!important;
    }
    .jtm-tabs a:last-child{
        grid-column:1/-1!important;
    }
    .jtm-tabs a:hover,
    .jtm-tabs a:focus-visible{
        border-color:var(--jtm-course-color,#D92F3D)!important;
        color:var(--jtm-course-color,#D92F3D)!important;
        outline:none!important;
    }
    .jtm-tabs a.is-active{
        background:var(--jtm-course-color,#D92F3D)!important;
        border-color:var(--jtm-course-color,#D92F3D)!important;
        color:#fff!important;
        box-shadow:0 5px 14px rgba(0,0,0,.12)!important;
    }
    #apercu,#parcours,#carte,#ravitos,#infos{
        scroll-margin-top:190px!important;
    }
    body.admin-bar .jtm-tabs{
        top:116px!important;
    }

    /* Contenu et panneaux */
    .jtm-content{
        width:100%!important;
        padding:18px 12px!important;
        overflow:hidden!important;
    }
    .jtm-topgrid,
    .jtm-bottomgrid,
    .jtm-extra-grid{
        grid-template-columns:minmax(0,1fr)!important;
        gap:14px!important;
        width:100%!important;
    }
    .jtm-panel{
        width:100%!important;
        padding:17px!important;
        overflow:hidden!important;
    }
    .jtm-panel h2{
        max-width:100%!important;
        margin-top:0!important;
        font-size:18px!important;
        line-height:1.15!important;
        overflow-wrap:anywhere!important;
    }
    .jtm-panel p,
    .jtm-panel dt,
    .jtm-panel dd,
    .jtm-aid{
        max-width:100%!important;
        overflow-wrap:anywhere!important;
        word-break:normal!important;
    }
    .jtm-panel dl{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
        gap:9px 12px!important;
    }
    .jtm-profile-svg{
        width:100%!important;
        height:auto!important;
        min-height:150px!important;
    }
    .jtm-axis{
        gap:8px!important;
        font-size:11px!important;
    }
    .jtm-landscape{
        width:100%!important;
        height:130px!important;
    }

    /* Carte GPX responsive */
    .jtm-gpx-map,
    .jtm-gpx-message,
    .jtm-map-placeholder{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        min-height:280px!important;
        height:auto!important;
        box-sizing:border-box!important;
        overflow:hidden!important;
    }
    .jtm-map-placeholder{
        padding:20px!important;
        font-size:24px!important;
        text-align:center!important;
    }

    /* CTA final */
    .jtm-cta{
        width:100%!important;
        margin:18px 0 6px!important;
        padding:20px!important;
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        gap:10px!important;
        align-items:stretch!important;
        overflow:hidden!important;
    }
    .jtm-cta > div{
        min-width:0!important;
        margin:0!important;
    }
    .jtm-cta h2,
    .jtm-cta p{
        max-width:100%!important;
        overflow-wrap:anywhere!important;
    }
    .jtm-cta .jtm-primary,
    .jtm-cta .jtm-secondary{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        padding:14px 15px!important;
        box-sizing:border-box!important;
        text-align:center!important;
        white-space:normal!important;
    }
}

@media (max-width:380px){
    .jtm-hero-inner{padding-left:16px!important;padding-right:16px!important}
    .jtm-big{font-size:46px!important}
    .jtm-hero h1{font-size:34px!important}
    .jtm-panel dl{grid-template-columns:1fr!important}
    .jtm-statbox b{font-size:19px!important}
}
