/* Cartes animées de la section Voyages — styles communs à tous les voyages (bloc .rt26). */
.rt26{
  --bg:#E9EEEA; --panel:#F8FAF7; --ink:#1C2B33; --muted:#5E6F72; --line:#CBD5CF;
  --water:#CFE0E6; --land:#F7F8F3; --border:#B7C3BC; --country:#8FA39B;
  --accent:#D9731A; --accent-soft:#F6DDC4; --plan:#6D8791; --stay:#2F7A78; --stay-soft:#D4E8E4;
  --shadow:0 1px 2px rgba(28,43,51,.08),0 8px 24px rgba(28,43,51,.06);
  --display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
}
.rt26 *{box-sizing:border-box}
.rt26 [hidden]{display:none!important}
.rt26{color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.45}
.rt26 .wrap{max-width:1240px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.rt26 header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 24px}
.rt26 .sub{color:var(--muted);margin:4px 0 0}
.rt26 .totals{display:flex;gap:20px;font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:13px;color:var(--muted)}
.rt26 .totals b{display:block;font-size:24px;color:var(--ink);letter-spacing:.01em;font-variant-numeric:tabular-nums}
.rt26 .rt-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:16px;align-items:start}
.rt26 .mapbox{position:relative;background:#2C6AA0;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);height:min(82vh,860px);min-height:460px}
.rt26 canvas{display:block;width:100%;height:100%}
.rt26 .sign{position:absolute;left:55%;top:58%;transform:translateY(-50%);text-align:left;background:#D9731A;color:#fff;border-radius:8px;padding:8px 14px 9px;border:2px solid #FFF3E0;box-shadow:0 0 0 2px #A8520D,0 6px 18px rgba(0,0,0,.35);font-family:var(--display);text-transform:uppercase;max-width:calc(100% - 28px)}
.rt26 .sign{transition:background-color .6s ease,color .6s ease,box-shadow .6s ease}
.rt26 .play-wrap{position:relative;display:inline-flex}
.rt26 #map{cursor:pointer}
.rt26 .sign{pointer-events:none}
.rt26 .mapplay{display:none;position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:3;background:#FF1744;color:#fff;border:3px solid #fff;border-radius:999px;padding:12px 24px;font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.35);animation:map-pulse 1.8s ease-out infinite}

@keyframes map-pulse{0%{box-shadow:0 0 0 0 rgba(255,23,68,.65),0 8px 24px rgba(0,0,0,.35)}70%{box-shadow:0 0 0 18px rgba(255,23,68,0),0 8px 24px rgba(0,0,0,.35)}100%{box-shadow:0 0 0 0 rgba(255,23,68,0),0 8px 24px rgba(0,0,0,.35)}}
@media (max-width:900px){.rt26 .mapplay{display:block}
}
@media (max-width:600px){.rt26 .mapplay{left:auto;right:12px;bottom:14px;transform:none;font-size:17px;padding:9px 16px}
}
@media (prefers-reduced-motion: reduce){.rt26 .mapplay{animation:none}
}
.rt26 .play-hint{position:absolute;left:0;bottom:calc(100% + 4px);display:flex;flex-direction:column;align-items:flex-start;pointer-events:none;color:#FF1744;filter:drop-shadow(0 0 6px rgba(255,23,68,.55));font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:15px;white-space:nowrap;animation:hint-bob 1s ease-in-out infinite}
.rt26 .play-hint svg{display:block;margin-left:44px}
.rt26 .play-hint .ph-t{background:#FF1744;color:#fff;border-radius:5px;padding:2px 9px 1px}

@keyframes hint-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
.rt26 button.primary.idle{animation:play-pulse 1.6s ease-out infinite}

@keyframes play-pulse{0%{box-shadow:0 0 0 0 rgba(217,115,26,.7)}70%{box-shadow:0 0 0 12px rgba(217,115,26,0)}100%{box-shadow:0 0 0 0 rgba(217,115,26,0)}}
@media (prefers-reduced-motion: reduce){.rt26 .play-hint,.rt26 button.primary.idle{animation:none}
}
.rt26 .sign.game{background:#111;box-shadow:0 0 0 2px var(--away,#FB4F14),0 6px 18px rgba(0,0,0,.35);border-color:var(--away,#FB4F14);color:#fff;background-image:repeating-linear-gradient(115deg,transparent 0 14px,var(--away-raye,rgba(251,79,20,.22)) 14px 20px)}
.rt26 .ticket{margin-top:12px;border-radius:8px;overflow:hidden;display:grid;grid-template-columns:1fr auto;background:var(--bg);border:1.5px dashed var(--line)}
.rt26 .ticket .tk-main{padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.rt26 .ticket .tk-label{font-family:var(--display);text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--muted)}
.rt26 .ticket .tk-teams{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:24px;line-height:1.05;letter-spacing:.02em;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.rt26 .ticket .tk-teams .at{font-size:15px;color:var(--muted);font-weight:600}
.rt26 .ticket .tk-away{color:var(--away-texte,#E8480F)}
.rt26 .ticket .tk-meta{font-size:13px;color:var(--muted)}
.rt26 .ticket .tk-stub{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:#fff;padding:8px 6px;text-align:center;background:var(--home,#008E97);border-left:1.5px dashed var(--line)}
.rt26 .cal button.game::after{content:"";position:absolute;top:3px;right:3px;width:11px;height:7px;border-radius:50%;background:#7B3F1E;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.rt26 .cal button.game::before{content:"";position:absolute;top:6px;right:5px;width:7px;height:1px;background:#fff;z-index:1}
.rt26 .chip{display:inline-block;margin-left:6px;font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:#111;color:var(--away,#FB4F14);border-radius:4px;padding:0 5px;vertical-align:1px}
.rt26 .sign small{display:block;font-size:12px;letter-spacing:.12em;opacity:.85}
.rt26 .sign span{display:block;font-size:22px;text-wrap:balance;font-weight:600;line-height:1.1;letter-spacing:.02em}
.rt26 .side{display:flex;flex-direction:column;gap:12px}
.rt26 .rt-card{background:var(--panel);border-radius:10px;box-shadow:var(--shadow);padding:16px}
.rt26 .today{display:flex;gap:14px;align-items:center}
.rt26 .datebox{flex:none;width:74px;border:2px solid var(--ink);border-radius:8px;text-align:center;overflow:hidden;font-family:var(--display);text-transform:uppercase}
.rt26 .datebox .m{background:var(--ink);color:var(--panel);font-size:13px;letter-spacing:.14em;padding:2px 0;font-weight:600}
.rt26 .datebox .d{font-size:38px;font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums}
.rt26 .datebox .w{font-size:12px;letter-spacing:.1em;color:var(--muted);padding-bottom:3px}
.rt26 .today h2{margin:0;font-size:18px;line-height:1.25;text-wrap:balance}
.rt26 .today p{margin:2px 0 0;color:var(--muted);font-size:14px}
.rt26 .shields{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.rt26 .shield{font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.04em;padding:1px 6px;border-radius:4px 4px 7px 7px;background:#23508F;color:#fff}
.rt26 .shield.us{background:var(--panel);color:var(--ink);border:1.5px solid var(--ink);border-radius:4px}
.rt26 .shield.qc{background:#2B6CB0}
.rt26 .bar{height:6px;border-radius:3px;background:var(--line);margin-top:12px;overflow:hidden}
.rt26 .bar i{display:block;height:100%;background:var(--accent);width:0}
.rt26 .meta{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:6px;font-variant-numeric:tabular-nums}
.rt26 .controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rt26 button,.rt26 select{font:inherit;font-weight:600;border-radius:7px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink);padding:7px 12px;cursor:pointer}
.rt26 button.primary{background:var(--accent);border-color:var(--accent);color:#1A1208;min-width:96px}
.rt26 button:focus-visible,.rt26 select:focus-visible,.rt26 input:focus-visible,.rt26 .cal button:focus-visible,.rt26 .rt-list button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.rt26 input[type=range]{width:100%;accent-color:var(--accent);margin:10px 0 0}
.rt26 .cal-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.rt26 .cal-h h3{margin:0;font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;font-size:15px}
.rt26 .legend{display:flex;gap:10px;font-size:12px;color:var(--muted)}
.rt26 .legend span{display:inline-flex;align-items:center;gap:4px}
.rt26 .legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.rt26 .cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.rt26 .cal .wd{font-family:var(--display);text-align:center;font-size:12px;letter-spacing:.1em;color:var(--muted)}
.rt26 .cal button{position:relative;padding:0;height:40px;border-radius:6px;border:1px solid transparent;background:transparent;font-variant-numeric:tabular-nums;font-weight:600;font-size:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.rt26 .cal button small{font-size:9px;font-weight:600;letter-spacing:.04em;color:var(--muted);margin-top:2px;text-transform:uppercase;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 2px}
.rt26 .cal button.off{color:var(--muted);opacity:.45;cursor:default}
.rt26 .cal button.travel{background:var(--accent-soft)}
.rt26 .cal button.stay{background:var(--stay-soft)}
.rt26 .cal button.past{opacity:.55}
.rt26 .cal button.now{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);opacity:1}
.rt26 .cal .mlabel{grid-column:1/-1;font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--muted);margin-top:2px}
.rt26 .rt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.rt26 .rt-list button{width:100%;text-align:left;border:0;border-radius:6px;background:transparent;padding:7px 8px;display:grid;grid-template-columns:78px 1fr auto;gap:8px;font-weight:400;font-size:14px;align-items:baseline}
.rt26 .rt-list button .dt{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums}
.rt26 .rt-list button .mi{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.rt26 .rt-list button.cur{background:var(--accent-soft)}
.rt26 .rt-list button.cur .dt{color:var(--ink)}
.rt26 .rt-note{font-size:12px;color:var(--muted);margin:0}
@media (max-width:520px){.rt26 .sign{padding:6px 10px 7px}
.rt26 .sign span{font-size:17px}
.rt26 .sign small{font-size:10.5px}
}
@media (max-width:900px){.rt26 .rt-grid{grid-template-columns:1fr}
.rt26 .mapbox{height:min(72vh,620px);min-height:380px}

}

.rt26 .totals{color:#A9B0BB}
.rt26 .totals b{color:#F4F1E8}
/* Jour de match de hockey dans le calendrier : une rondelle au lieu du ballon */
.rt26 .cal button.game.hockey::after{background:#111;height:6px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.rt26 .cal button.game.hockey::before{display:none}
/* Camping du jour et températures (carte du jour) ; camping dans la liste de l'itinéraire */
.rt26 .today .lieu{margin:6px 0 0;font-size:13px;line-height:1.35;color:var(--muted)}
.rt26 .today .lieu .camp-nom{display:block;color:var(--ink);font-weight:600}
.rt26 .today .lieu .camp-nom::before{content:"Camping : ";font-weight:400;color:var(--muted)}
.rt26 .today .lieu .meteo{display:block}
.rt26 .rt-list .camp{display:block;font-size:12px;color:var(--muted);font-weight:400}
