/* MotoAgenda — charte refonte 2026 */
:root{
  --bg:#15110d; --bg2:#1f1813; --bg3:#241c15;
  --line:#332a20; --orange:#ff6a00; --orange-2:#ff8c3a;
  --text:#f1ece5; --muted:#a99e90;
  /* badges par type */
  --t-concentration:#9c27b0; --t-rassemblement:#ff8c1a; --t-balade:#43a047;
  --t-salon:#1e88e5; --t-course:#e53935; --t-hivernale:#00bcd4; --t-bourse:#8d6e63; --t-default:#607d8b;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Roboto,system-ui,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--orange-2);text-decoration:none}
a:hover{color:var(--orange)}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
h1,h2,h3{font-family:Oswald,sans-serif;font-weight:700;line-height:1.15}

/* ---- topbar ---- */
.topbar{position:sticky;top:0;z-index:50;background:rgba(21,17,13,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{display:inline-flex;align-items:center;gap:9px;font-family:Oswald,sans-serif;font-weight:700;font-size:1.45rem;letter-spacing:1px;color:var(--orange)}
.brand span{color:var(--text)}
.brand-ico{height:30px;width:auto;display:block}
.topnav a{margin-left:18px;font-weight:500;color:var(--text)}
.topnav a:hover{color:var(--orange)}

/* ---- hero ---- */
.hero{background:var(--bg2) center/cover no-repeat;border-bottom:4px solid var(--orange);padding:74px 0 64px;text-align:center}
.hero-sm{padding:46px 0 38px;text-align:left}
.hero-in{position:relative}
.hero h1{font-size:clamp(2rem,5vw,3.4rem);color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.6)}
.hero-sub{color:#e7ddd1;font-size:1.15rem;max-width:680px;margin:14px auto 0}
.hero-sm .hero-sub{margin-left:0}
.hero-cta{margin-top:26px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero-stats{margin-top:34px;display:flex;gap:38px;justify-content:center;flex-wrap:wrap}
.hero-stats div{display:flex;flex-direction:column}
.hero-stats b{font-family:Oswald,sans-serif;font-size:2rem;color:var(--orange)}
.hero-stats span{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:1px}

/* ---- buttons ---- */
.btn{display:inline-block;padding:12px 24px;border-radius:30px;font-weight:700;font-family:Oswald,sans-serif;letter-spacing:.5px;cursor:pointer;border:2px solid transparent;transition:.18s;text-transform:uppercase;font-size:.92rem}
.btn-primary{background:var(--orange);color:#1a1208}
.btn-primary:hover{background:var(--orange-2);color:#1a1208;transform:translateY(-2px)}
.btn-ghost{border-color:var(--orange);color:var(--orange)}
.btn-ghost:hover{background:rgba(255,106,0,.12);color:var(--orange-2)}
.btn-block{display:block;width:100%;text-align:center;margin-top:10px}
.btn-lg{padding:15px 30px;font-size:1.08rem}

/* ---- map promo (argument clé) ---- */
.map-promo{background:linear-gradient(135deg,#1c1813,#15110d);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0}
.map-promo-in{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.map-promo-tag{display:inline-block;background:rgba(255,140,26,.16);color:var(--orange);font-weight:700;font-size:.82rem;padding:5px 12px;border-radius:20px;font-family:Oswald,sans-serif;letter-spacing:.04em;margin-bottom:12px}
.map-promo-txt h2{font-size:1.95rem;color:#fff;margin:0 0 10px;border:none}
.map-promo-txt p{color:var(--muted);font-size:1.02rem;margin:0 0 20px;max-width:520px}
.map-promo-card{position:relative;display:block;height:240px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#243524 url('https://tile.openstreetmap.org/6/32/22.png') center/cover;box-shadow:0 12px 30px rgba(0,0,0,.4)}
.map-promo-card::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(21,17,13,.25),rgba(21,17,13,.55))}
.map-promo-pins span{position:absolute;width:18px;height:18px;border-radius:50% 50% 50% 0;background:var(--c);transform:rotate(-45deg);box-shadow:0 2px 6px rgba(0,0,0,.5);z-index:2;animation:pinpop .5s ease both}
.map-promo-pins span::after{content:'';position:absolute;inset:5px;background:#fff;border-radius:50%}
@keyframes pinpop{from{transform:rotate(-45deg) scale(0);opacity:0}to{transform:rotate(-45deg) scale(1);opacity:1}}
.map-promo-go{position:absolute;left:0;right:0;bottom:0;z-index:3;background:linear-gradient(transparent,rgba(21,17,13,.92));color:#fff;font-family:Oswald,sans-serif;font-weight:700;padding:24px 18px 16px;text-align:center}
.map-promo-card:hover{border-color:var(--orange);transform:translateY(-3px);transition:.2s}
@media(max-width:760px){.map-promo-in{grid-template-columns:1fr}.map-promo-txt h2{font-size:1.55rem}}

/* ---- page organisateurs ---- */
.orga-intro{margin:26px 0 8px;font-size:1.06rem;color:var(--text)}
.orga-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:18px 0 40px}
.orga-box{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:24px}
.orga-box h2{color:var(--orange);font-size:1.3rem;margin:0 0 12px;border:none}
.orga-box h3{color:#fff;font-size:1rem;margin:22px 0 8px}
.orga-list{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:9px}
.orga-list li{color:var(--text);font-size:.96rem;line-height:1.4}
.widget-preview{background:#fff;padding:16px;border-radius:10px;text-align:center;margin:8px 0;display:flex;justify-content:center;align-items:center}
.snip-lab{display:block;color:var(--muted);font-size:.8rem;margin:8px 0 4px;text-transform:uppercase;letter-spacing:.04em}
.snip{width:100%;height:92px;background:var(--bg);border:1px solid var(--line);border-radius:8px;color:#9fe0a0;font-family:Menlo,monospace;font-size:.78rem;padding:10px;resize:vertical}
.snip:focus{outline:none;border-color:var(--orange)}
@media(max-width:760px){.orga-grid{grid-template-columns:1fr}}

/* ---- legend ---- */
.legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:26px 0 6px;padding:14px 16px;background:var(--bg2);border:1px solid var(--line);border-radius:12px}
.legend-item{display:inline-flex;align-items:center;gap:7px;font-size:.86rem;color:var(--muted)}
.legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block}

/* ---- section titles ---- */
main h2{color:var(--orange);font-size:1.7rem;margin:38px 0 16px;padding-bottom:8px;border-bottom:2px solid var(--line)}

/* ---- region grid ---- */
.reg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.reg-link{display:flex;justify-content:space-between;align-items:center;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:13px 16px;color:var(--text);font-weight:500;transition:.16s}
.reg-link:hover{border-color:var(--orange);background:var(--bg3);color:#fff;transform:translateY(-2px)}
.reg-link span{background:var(--orange);color:#1a1208;border-radius:20px;padding:2px 10px;font-size:.8rem;font-weight:700}

/* ---- cards grid ---- */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.ev-card{display:block;background:var(--bg2);border:1px solid var(--line);border-radius:14px;overflow:hidden;color:var(--text);position:relative;transition:.18s}
.ev-card:hover{transform:translateY(-5px);border-color:var(--accent,var(--orange));box-shadow:0 10px 26px rgba(0,0,0,.45);color:var(--text)}
.ev-stripe{position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--accent,var(--orange));z-index:2}
.ev-thumb{position:relative;height:158px;background-size:cover;background-position:center;background-color:#1a1611}
.ev-thumb-ph{display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;background-color:#15110d}
.ev-thumb-ph::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#ff8c1a) 55%,rgba(21,17,13,.55)),rgba(21,17,13,.86))}
.ev-thumb-emoji{position:relative;z-index:1;font-size:3.1rem;opacity:.9;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.ev-thumb-badge{position:absolute;left:10px;bottom:10px}
.ev-thumb-badge .badge{box-shadow:0 2px 8px rgba(0,0,0,.5)}
.ev-card.has-img .ev-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(21,17,13,.55),rgba(21,17,13,0) 55%)}
.ev-card-in{padding:16px 18px 16px 22px}
.ev-poster{margin:0 0 22px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#15110d}
.ev-poster img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}
.ev-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.ev-title{font-size:1.16rem;color:#fff;margin-bottom:10px;line-height:1.25}
.ev-meta{color:var(--muted);font-size:.92rem;margin-top:3px}
.ev-meta strong{color:var(--text)}
.ev-go{display:inline-block;margin-top:12px;color:var(--accent,var(--orange));font-weight:700;font-family:Oswald,sans-serif;font-size:.9rem}
.more-note{margin-top:20px;color:var(--muted)}

/* ---- badge ---- */
.badge{display:inline-block;padding:4px 11px;border-radius:20px;font-size:.74rem;font-weight:700;font-family:Oswald,sans-serif;letter-spacing:.4px;color:#fff;text-transform:uppercase}
.badge.concentration{background:var(--t-concentration)}
.badge.rassemblement{background:var(--t-rassemblement);color:#221}
.badge.balade{background:var(--t-balade)}
.badge.salon{background:var(--t-salon)}
.badge.course{background:var(--t-course)}
.badge.hivernale{background:var(--t-hivernale);color:#012}
.badge.bourse{background:var(--t-bourse)}
.badge.default{background:var(--t-default)}
.badge.past{background:#555;color:#ddd}

/* ---- breadcrumbs ---- */
.crumbs{font-size:.86rem;color:var(--muted);margin-bottom:12px}
.crumbs a{color:var(--orange-2)}
.crumbs span{color:var(--muted)}

/* ---- event page ---- */
.ev-hero{background:linear-gradient(135deg,var(--bg2),var(--bg3));border-bottom:4px solid var(--accent,var(--orange));padding:30px 0 34px}
.ev-hero h1{font-size:clamp(1.7rem,4vw,2.8rem);color:#fff;margin:10px 0 0}
.ev-keyfacts{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:20px}
.kf{display:flex;align-items:center;gap:11px}
.kf-ic{font-size:1.5rem}
.kf b{display:block;color:#fff;font-size:1.05rem}
.kf small{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:.72rem}
.ev-main{display:grid;grid-template-columns:1fr 320px;gap:30px;padding-top:30px;padding-bottom:50px;align-items:start}
.ev-content h2{color:var(--orange);font-size:1.5rem;margin:0 0 14px;border:none;padding:0}
.ev-content p{margin-bottom:14px;color:#ddd4c8}
.ev-nodesc{color:var(--muted)}
.ev-map-wrap{margin:22px 0}
#evmap{height:320px;border-radius:14px;border:1px solid var(--line);z-index:1}
.src-line{margin-top:22px;font-size:.82rem;color:var(--muted)}
.src-line a{color:var(--muted);text-decoration:underline}
.src-line a:hover{color:var(--orange-2)}
.cta-box{margin-top:30px;background:linear-gradient(135deg,rgba(255,106,0,.14),rgba(255,140,58,.06));border:1px solid var(--orange);border-radius:14px;padding:20px 22px}
.cta-box h3{color:var(--orange);font-size:1.2rem;margin-bottom:8px}
.cta-box p{color:#e7ddd1;margin:0}
.ev-aside{position:sticky;top:78px}
.aside-box{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:20px}
.aside-box h3{color:#fff;font-size:1.15rem;margin-bottom:14px;font-family:Oswald,sans-serif}
.facts{list-style:none}
.facts li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.92rem}
.facts li:last-child{border-bottom:none}
.facts span{color:var(--muted)}
.facts b{color:#fff;text-align:right}

/* ---- footer ---- */
.site-footer{border-top:1px solid var(--line);background:var(--bg2);padding:34px 0;margin-top:50px;text-align:center;color:var(--muted);font-size:.9rem}
.site-footer p{margin:6px 0}

/* ---- responsive ---- */
@media(max-width:860px){
  .ev-main{grid-template-columns:1fr}
  .ev-aside{position:static}
}
@media(max-width:560px){
  .hero-stats{gap:24px}
  .topnav a{margin-left:12px;font-size:.9rem}
}

/* ===================== CARTE (carte.html) ===================== */
.map-page-wrap{display:grid;grid-template-columns:380px 1fr;gap:0;height:calc(100vh - 60px)}
.map-side{overflow-y:auto;background:var(--bg2);border-right:1px solid var(--line);padding:18px}
.map-side h2{color:var(--orange);font-size:1.3rem;border:none;margin:0 0 12px}
.map-filters{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.map-filters input,.map-filters select{width:100%;padding:11px;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:8px;font-size:.95rem}
.map-filters input:focus,.map-filters select:focus{outline:none;border-color:var(--orange)}
.filter-block{display:flex;flex-direction:column;gap:6px}
.filter-lab{color:var(--muted);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.filter-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:11px;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:8px;font-size:.95rem;cursor:pointer;text-align:left;font-family:inherit}
.filter-toggle:hover{border-color:var(--orange)}
.filter-toggle .fcount{color:var(--orange);font-weight:700;font-size:.85rem}
.filter-toggle .chev{margin-left:auto;transition:.2s;color:var(--muted)}
.filter-toggle.open .chev{transform:rotate(180deg)}
.filter-panel{display:none;max-height:230px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;padding:6px;background:var(--bg);flex-direction:column;gap:2px}
.filter-panel.open{display:flex}
.chk{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;cursor:pointer;font-size:.9rem;color:var(--text)}
.chk:hover{background:var(--bg2)}
.chk input{width:auto;margin:0;accent-color:var(--orange);flex:none}
.chk span{flex:1}
.chk i{color:var(--muted);font-style:normal;font-size:.78rem;background:var(--bg2);padding:1px 7px;border-radius:10px}
.date-row{display:flex;align-items:center;gap:6px}
.date-row input{flex:1;padding:9px;color-scheme:dark}
.date-row span{color:var(--muted)}
.date-quick{display:flex;gap:6px;flex-wrap:wrap}
.date-quick button{flex:1;min-width:70px;padding:7px 6px;background:var(--bg);border:1px solid var(--line);color:var(--muted);border-radius:7px;font-size:.78rem;cursor:pointer;font-family:inherit}
.date-quick button:hover{border-color:var(--orange);color:var(--text)}
.map-count{color:var(--muted);font-size:.85rem;margin-bottom:10px}
.map-list .ev-card{margin-bottom:12px}
#map{height:100%;width:100%;z-index:1}
.map-main{position:relative}
.leaflet-popup-content{font-family:Roboto,sans-serif}
.lpop b{font-family:Oswald,sans-serif;font-size:1.05em;color:#15110d;display:block;margin-bottom:3px}
.lpop .lpop-meta{color:#555;font-size:.85em;margin:2px 0}
.lpop a.lpop-link{display:inline-block;margin-top:7px;background:#ff6a00;color:#1a1208!important;font-weight:700;padding:5px 12px;border-radius:16px;text-decoration:none;font-size:.85em}
@media(max-width:820px){
  .map-page-wrap{grid-template-columns:1fr;height:auto}
  .map-side{max-height:none;border-right:none;border-bottom:1px solid var(--line)}
  .map-main{height:60vh}
}
