/* Palette du logo : turquoise, orange du tandem, corail, crème et vert des lettres. */
.roue-cool-page{--ride-ink:#30453b;--ride-teal:#256267;--ride-coral:#a0463f;--ride-ochre:#815318}
.ride-jump{display:flex;justify-content:center;position:relative;margin:0 auto 35px}
.ride-jump a{display:inline-flex;align-items:center;gap:14px;min-height:48px;padding:12px 24px;border-radius:999px;background:var(--roue-orange);color:var(--ride-ink);text-decoration:none;font-size:1.1rem;text-align:center;line-height:1.3}
.ride-jump a:hover{background:#f6b354}
.ride-history{width:min(100%,940px);margin:65px auto 0;color:var(--ride-ink);scroll-margin-top:25px}
.ride-history-heading{text-align:center;margin-bottom:28px;padding:28px 20px;background:var(--roue-paper);border:4px solid #fff;border-radius:32px;outline:3px solid #f4d5ac}
.ride-eyebrow{margin:0 0 12px;font-size:1rem;color:var(--ride-coral)}
.ride-history-heading h2{font-size:clamp(30px,3.5vw,46px);line-height:1.12;margin:0;color:var(--ride-ink)}
.ride-history-heading>p:last-child{margin:15px 0 0;font-size:1.2rem;line-height:1.4;color:#3e493d}
.ride-history-heading .ride-map-intro{font-size:1rem;color:var(--ride-teal)}
.ride-help{padding:24px 30px;border-left:6px solid var(--roue-teal);border-radius:0 22px 22px 0;background:#edf7f3;margin:0 0 30px}
.ride-help h3{font-size:24px;line-height:1.2;margin:0 0 10px;color:var(--ride-teal)}
.ride-help p{margin:8px 0;font-size:1.1rem;line-height:1.5;color:#3e493d}
.ride-help .ride-help-detail{font-size:1rem;color:#536153}
.ride-year{margin-bottom:24px}
.ride-year>summary{display:flex;align-items:center;gap:18px;min-height:64px;padding:13px 24px;list-style:none;cursor:pointer;border-radius:20px;background:var(--roue-teal);color:#27392f}
.ride-year:nth-of-type(even)>summary{background:#f0b3a1;color:#512e2b}
.ride-year>summary::-webkit-details-marker{display:none}
.ride-year>summary h3{margin:0;font-size:30px;line-height:1.2}
.ride-year>summary>span{font-size:1.1rem}
.ride-year>summary .ride-year-toggle{margin-left:auto;font-size:30px;line-height:1}
.ride-year[open]>summary .ride-year-toggle{transform:rotate(45deg)}
.ride-list{display:grid;gap:16px;margin-top:16px}
.ride-card{--ride-accent:var(--ride-coral);--ride-tint:#fce9df;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,1fr);gap:14px 22px;padding:20px;border:3px solid white;border-top:6px solid var(--roue-coral);border-radius:22px;background:#fffef8;box-shadow:0 8px 24px #49422b10;overflow:hidden;scroll-margin-top:90px}
.ride-card:nth-child(4n+2){--ride-accent:var(--ride-teal);--ride-tint:#e4f3ef;border-top-color:var(--roue-teal)}
.ride-card:nth-child(4n+3){--ride-accent:var(--ride-ochre);--ride-tint:#fff0cf;border-top-color:var(--roue-orange)}
.ride-card:nth-child(4n){--ride-accent:#4d6141;--ride-tint:#edf0df;border-top-color:#879a76}
.ride-card-heading{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;min-width:0}
.ride-map{--map-height:340px;min-width:0;margin:0;align-self:center}
.ride-map-preview{display:block;width:min(100%,calc(var(--map-ratio) * var(--map-height)));margin-inline:auto;border:1px solid #c5cfba;border-radius:12px;overflow:hidden;background:var(--ride-tint);text-decoration:none;color:var(--ride-accent)}
/* Le SVG cadre le tracé entier ; limiter sa taille sans en couper une partie. */
.ride-map img{display:block;width:100%;height:auto;object-fit:contain}
.ride-map-preview{cursor:zoom-in}
.ride-map-dialog{position:fixed;inset:0;margin:auto;padding:0;border:0;width:fit-content;height:fit-content;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:visible;background:transparent}
.ride-map-dialog::backdrop{background:#14261dcc;cursor:zoom-out}
.ride-map-dismiss{display:block;width:100%;margin:0;padding:0;border:0;border-radius:12px;overflow:hidden;background:#fffdf6;box-shadow:0 12px 50px #0005;cursor:zoom-out}
.ride-map-dismiss img{display:block;width:100%;height:auto}
.ride-map-dismiss:focus-visible{outline:3px solid #fff;outline-offset:4px}
html.ride-map-open{overflow:hidden;scrollbar-gutter:stable}
.ride-copy{min-width:0;align-self:center}
.ride-date{display:inline-block;flex-shrink:0;margin:0;padding:5px 9px;border-radius:8px;background:var(--ride-tint);font-size:.95rem;color:var(--ride-accent)}
.ride-card h4{margin:0;font-family:"Riffic Titres","Trebuchet MS",Arial,sans-serif;font-size:clamp(22px,2.2vw,28px);line-height:1.16;font-weight:700;color:var(--ride-accent);overflow-wrap:anywhere}
.ride-description{margin:0 0 12px;font-size:1rem;line-height:1.4;color:#3e493d}
.ride-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 12px}
.ride-stats>div{padding:8px;border-radius:9px;background:#e4f3ef;color:var(--ride-teal)}
.ride-stats>div:nth-child(2){background:#fff0cf;color:var(--ride-ochre)}
.ride-stats>div:nth-child(3){background:#fce9df;color:var(--ride-coral)}
.ride-stats dt{font-size:.78rem;color:#536153;line-height:1.3}
.ride-stats dd{margin:3px 0 0;font-size:1.05rem;line-height:1.2}
.ride-actions{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px}
.ride-download{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:9px 14px;border:2px solid transparent;border-radius:999px;background:var(--roue-orange);color:#27392f;text-decoration:none;line-height:1.3;font-size:.95rem}
.ride-download:hover{background:#f6b354;border-color:var(--ride-ochre)}
.ride-komoot{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:1rem;color:var(--ride-teal);text-underline-offset:4px}
.ride-history a:focus-visible,.ride-year>summary:focus-visible,.ride-qr-disclosure>summary:focus-visible,.ride-jump a:focus-visible{outline:3px solid #30453b;outline-offset:4px}
.ride-qr-disclosure{margin-top:4px}
.ride-qr-disclosure>summary{width:fit-content;max-width:100%;padding-block:10px;min-height:44px;cursor:pointer;font-size:.85rem;color:var(--ride-teal)}
.ride-qr{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:6px 0 0;text-align:left}
.ride-qr a{display:block;background:#fff;border:1px solid #dce0ce;border-radius:10px;overflow:hidden}
.ride-qr a{flex:0 0 180px}
.ride-qr img{display:block;width:180px;height:180px;max-width:100%;object-fit:contain}
.ride-qr figcaption{flex:1 1 90px;margin:0;font-size:.8rem;line-height:1.3;color:#536153}
.ride-note,.ride-unavailable{margin:10px 0 0;padding:8px 10px;border-radius:10px;background:#fff0d7;color:#704419;font-size:.85rem;line-height:1.35}
.ride-source{padding:16px 22px;border-radius:18px;background:#fffef8;font-size:.95rem;line-height:1.4;color:#536153}
@media(max-width:1000px){
  .ride-history{margin-top:45px}
  .ride-card{grid-template-columns:minmax(0,1fr);padding:18px;gap:12px}
  .ride-map{--map-height:300px}
  .ride-help{padding:20px}
}
@media(max-width:600px){.ride-map{--map-height:270px}}
@media(max-width:420px){
  .ride-jump a{padding-inline:16px;font-size:1rem}
  .ride-history-heading{padding:24px 14px}
  .ride-year>summary{gap:12px;padding:12px 16px}
  .ride-year>summary h3{font-size:26px}
  .ride-year>summary>span{font-size:.95rem}
  .ride-card{padding:16px 14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
