/*
Theme Name: Ride Central
Theme URI: https://ridecentral.fr
Author: Emrah
Description: Thème sur mesure Ride Central : tests de trottinettes électriques, comparateur, et boutique de pièces détachées (WooCommerce). Recréé à partir du thème Shopify original.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ridecentral
*/

:root{
  --bg:#050607;--bg2:#090b0f;--card:#11151b;--card2:#151a22;--text:#fff;--muted:#a7afbd;--yellow:#ffd400;--yellow2:#ffb800;--border:#252b35;--shadow:0 28px 80px rgba(0,0,0,.45);--radius:24px;
}
.light-mode{--bg:#f4f6f9;--bg2:#fff;--card:#fff;--card2:#f7f9fc;--text:#111827;--muted:#5d6573;--border:#dfe5ee;--shadow:0 22px 60px rgba(15,23,42,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.ridecentral{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}.rc-container{width:min(1400px,92%);margin:auto}
body.ridecentral:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 74% 20%,rgba(255,212,0,.14),transparent 26%),radial-gradient(circle at 35% 15%,rgba(30,144,255,.16),transparent 30%),linear-gradient(180deg,#020304 0%,var(--bg) 48%,#020304 100%);z-index:-2}.light-mode:before{opacity:.15}
.rc-header{position:sticky;top:0;z-index:30;background:rgba(3,4,6,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.07)}.light-mode .rc-header{background:rgba(255,255,255,.88)}.rc-topbar{display:none!important}.rc-nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.rc-logo{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-size:32px;font-weight:950;font-style:italic;letter-spacing:-1.5px}.rc-logo span:last-child{color:var(--yellow)}.rc-logo-icon{width:44px;height:44px;border:3px solid var(--yellow);border-radius:50%;display:grid;place-items:center;color:var(--yellow);font-style:normal;font-size:24px;box-shadow:0 0 35px rgba(255,212,0,.25)}.rc-menu{display:flex;align-items:center;gap:34px}.rc-menu a{position:relative;color:var(--text);text-decoration:none;text-transform:uppercase;font-weight:900;font-size:14px;letter-spacing:.02em;opacity:.9}.rc-menu a:hover,.rc-menu a.active{color:var(--yellow)}.rc-menu a.active:after,.rc-menu a:hover:after{content:"";position:absolute;height:3px;background:var(--yellow);left:0;right:0;bottom:-15px;border-radius:999px}.rc-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.rc-icon-btn,.rc-theme-toggle,.rc-lang-select{height:44px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--text);border-radius:12px;padding:0 14px;font-weight:900;text-decoration:none;display:grid;place-items:center;cursor:pointer}/* Le sélecteur de langue garde la flèche native du navigateur DANS sa zone de
   texte : avec 18px de marge de chaque côté il ne restait que 27px pour "FR"
   + la flèche, et le R était rogné. */
.rc-lang-select{background:linear-gradient(135deg,var(--yellow),var(--yellow2));color:#050607;border:0;padding:0 8px;max-width:80px;text-align:center}.rc-theme-toggle{width:44px;min-width:44px;padding:0;font-size:0;overflow:hidden;white-space:nowrap}.rc-theme-toggle::before{content:'🌙';font-size:19px}.light-mode .rc-theme-toggle::before{content:'☀️'}
.rc-hero{position:relative;min-height:680px;padding:78px 0 52px;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.07)}.rc-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 42%,rgba(0,0,0,.38) 100%),radial-gradient(circle at 73% 55%,rgba(255,212,0,.16),transparent 18%),var(--rc-hero-bg-image);background-size:cover;background-position:center right;background-repeat:no-repeat;filter:saturate(1.08);z-index:-1}.rc-hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 46%,rgba(255,212,0,.20),transparent 26%),linear-gradient(180deg,transparent 0%,rgba(0,0,0,.28) 100%);pointer-events:none}.light-mode .rc-hero-bg{opacity:.55}.rc-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:34px}.rc-kicker{color:var(--yellow);font-weight:950;text-transform:uppercase;letter-spacing:.09em;font-size:13px;margin:0 0 14px}.rc-hero h1{display:flex;flex-direction:column;gap:0;margin:0 0 22px;font-size:clamp(56px,7vw,96px);line-height:.94;text-transform:uppercase;font-weight:1000;letter-spacing:-3px;font-style:italic;text-shadow:0 6px 30px rgba(0,0,0,.45)}.rc-hero h1 strong{color:var(--yellow);font-style:italic}.rc-hero-text{font-size:19px;color:#d8dde6;max-width:650px;line-height:1.65;margin:0 0 28px}.light-mode .rc-hero-text{color:#273142}.rc-hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:44px}.rc-btn{border:1px solid rgba(255,255,255,.16);border-radius:10px;color:var(--text);background:rgba(255,255,255,.035);font-weight:950;text-transform:uppercase;padding:15px 24px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:.2s}.rc-btn:hover{transform:translateY(-2px);border-color:var(--yellow);box-shadow:0 16px 36px rgba(255,212,0,.12)}.rc-primary,.rc-buy-btn{background:linear-gradient(135deg,var(--yellow),var(--yellow2));color:#050607;border:0}.rc-secondary{background:rgba(255,255,255,.05)}.rc-stats{display:grid;grid-template-columns:repeat(3,auto);gap:28px;align-items:center;max-width:600px}.rc-stats div{padding-right:26px;border-right:1px solid rgba(255,255,255,.11)}.rc-stats div:last-child{border-right:0}.rc-stats b{display:block;font-size:26px;line-height:1;color:#fff}.light-mode .rc-stats b{color:#111827}.rc-stats span{display:block;color:#c1c8d4;text-transform:uppercase;font-size:11px;margin-top:8px}.light-mode .rc-stats span{color:#5d6573}.rc-hero-visual{position:relative;min-height:530px;display:grid;place-items:center}.rc-hero-visual img{max-height:540px;max-width:92%;object-fit:contain;filter:drop-shadow(0 40px 60px rgba(0,0,0,.75))}.rc-hero-card{position:absolute;right:0;top:110px;width:250px;padding:26px;background:linear-gradient(135deg,rgba(22,25,31,.88),rgba(9,11,14,.75));border:1px solid rgba(255,255,255,.14);border-radius:22px;box-shadow:var(--shadow);backdrop-filter:blur(14px);overflow:hidden}.rc-card-label,.rc-badge{display:inline-flex;align-items:center;background:var(--yellow);color:#050607;border-radius:7px;padding:8px 11px;text-transform:uppercase;font-weight:1000;font-size:12px}.rc-hero-card h2{margin:18px 0 10px;font-size:28px}.rc-hero-card p{color:#d5dbe4;line-height:1.45}.rc-hero-card a{color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:9px;padding:13px 16px;text-decoration:none;text-transform:uppercase;font-weight:900;font-size:13px;display:inline-flex;margin-top:8px}.rc-hero-card i{position:absolute;right:22px;top:28px;font-size:62px;color:var(--yellow);font-style:normal;filter:drop-shadow(0 0 18px rgba(255,212,0,.4))}
/* Fond du hero dynamisé : lueur qui respire + étincelles dorées + léger suivi de souris (desktop, via JS). Le halo (rc-hero-glow) est séparé de son enfant (rc-hero-glow-inner) pour pouvoir animer l'un en JS (translate, suivi souris) et l'autre en CSS (scale/opacity, respiration) sans qu'ils se marchent dessus sur la même propriété transform. */
.rc-hero-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;transition:transform .4s ease-out}
.rc-hero-glow-inner{position:absolute;inset:-12%;background:radial-gradient(circle at 73% 55%,rgba(255,212,0,.30),transparent 24%);animation:rc-glow-breathe 7s ease-in-out infinite}
@keyframes rc-glow-breathe{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.14);opacity:1}}
.rc-hero-sparks{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.rc-hero-sparks i{position:absolute;bottom:-10px;width:4px;height:4px;border-radius:50%;background:var(--yellow);box-shadow:0 0 7px 1px rgba(255,212,0,.85);opacity:0;font-style:normal;animation:rc-spark-rise 6s linear infinite}
.rc-hero-sparks i:nth-child(1){left:12%;animation-delay:.2s;animation-duration:6.5s}
.rc-hero-sparks i:nth-child(2){left:24%;animation-delay:1.6s;animation-duration:5.2s}
.rc-hero-sparks i:nth-child(3){left:38%;animation-delay:3.1s;animation-duration:7.1s}
.rc-hero-sparks i:nth-child(4){left:52%;animation-delay:.8s;animation-duration:5.8s}
.rc-hero-sparks i:nth-child(5){left:64%;animation-delay:2.4s;animation-duration:6.8s}
.rc-hero-sparks i:nth-child(6){left:74%;animation-delay:4.2s;animation-duration:5.5s}
.rc-hero-sparks i:nth-child(7){left:83%;animation-delay:1.1s;animation-duration:6.2s}
.rc-hero-sparks i:nth-child(8){left:91%;animation-delay:3.7s;animation-duration:7.4s}
@keyframes rc-spark-rise{0%{transform:translate(0,0) scale(.6);opacity:0}10%{opacity:.9}80%{opacity:.5}100%{transform:translate(8px,-220px) scale(1);opacity:0}}
@media(max-width:900px){.rc-hero-sparks i:nth-child(n+6){display:none}}
@media(prefers-reduced-motion:reduce){.rc-hero-glow-inner{animation:none}.rc-hero-sparks i{animation:none;display:none}.rc-hero-glow{transition:none}}
/* Apparition douce des sections au scroll (page d'accueil). La classe js-anim
   n'est posée sur <html> que si le JS tourne vraiment (voir ride-central.js) :
   sans JS ou navigateur trop ancien, tout reste visible normalement — jamais
   de contenu caché qui resterait invisible en cas de souci. */
.js-anim [data-rc-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,.84,.44,1)}
.js-anim [data-rc-reveal].is-visible{opacity:1;transform:none}
.js-anim [data-rc-reveal="stagger"]>*{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s cubic-bezier(.16,.84,.44,1)}
.js-anim [data-rc-reveal="stagger"].is-visible>*{opacity:1;transform:none}
.js-anim [data-rc-reveal="stagger"]>*:nth-child(4n+1){transition-delay:0ms}
.js-anim [data-rc-reveal="stagger"]>*:nth-child(4n+2){transition-delay:80ms}
.js-anim [data-rc-reveal="stagger"]>*:nth-child(4n+3){transition-delay:160ms}
.js-anim [data-rc-reveal="stagger"]>*:nth-child(4n+4){transition-delay:240ms}
@media(prefers-reduced-motion:reduce){.js-anim [data-rc-reveal],.js-anim [data-rc-reveal="stagger"]>*{opacity:1!important;transform:none!important;transition:none!important}}
.rc-catalog{padding:54px 0 70px}.rc-section-title{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px}.rc-section-title h2{font-size:34px;text-transform:uppercase;margin:0;font-weight:1000;letter-spacing:-1px}.rc-search{width:100%;padding:18px 20px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.045);color:var(--text);font-size:17px;outline:none;margin:10px 0 28px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.light-mode .rc-search{background:#fff}.rc-search:focus{border-color:var(--yellow);box-shadow:0 0 0 4px rgba(255,212,0,.13)}.rc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.rc-card,.rc-featured{grid-column:auto;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(24,28,36,.92),rgba(12,14,18,.96));border:1px solid rgba(255,255,255,.075);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:.22s}.light-mode .rc-card{background:var(--card);border-color:var(--border)}.rc-card:hover{transform:translateY(-7px);border-color:rgba(255,212,0,.52);box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 0 1px rgba(255,212,0,.13)}.rc-gallery{padding:18px 18px 6px;background:radial-gradient(circle at 50% 40%,rgba(255,212,0,.10),transparent 50%)}.rc-card-img,.rc-placeholder,.rc-featured .rc-card-img{width:100%;height:235px;object-fit:contain;background:transparent;border-radius:16px;display:grid;place-items:center;color:var(--muted);font-weight:900}.rc-thumbs{display:flex;gap:7px;overflow:auto;padding:8px 0 4px;scrollbar-width:thin}.rc-thumb{flex:0 0 46px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:0;overflow:hidden;background:#fff;cursor:pointer;opacity:.55}.rc-thumb:hover,.rc-thumb.active{opacity:1;border-color:var(--yellow)}.rc-thumb img{width:100%;height:100%;object-fit:cover;display:block}.rc-card-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}.rc-card h3{font-size:20px;margin:13px 0 7px;text-transform:uppercase;font-weight:1000}.rc-price{font-size:25px;color:var(--yellow);font-weight:1000;margin:0 0 8px}.rc-price strong{color:var(--text);font-size:13px;display:block;margin-top:4px}.rc-specs{display:grid;grid-template-columns:1fr;gap:7px;margin:10px 0 12px}.rc-specs span{background:transparent;border:0;padding:0;color:#d8dee9;font-size:14px;font-weight:750}.light-mode .rc-specs span{color:#293447}.rc-desc{color:var(--muted);line-height:1.45;font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.rc-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding-top:8px}.rc-actions .rc-btn{padding:13px 10px;font-size:12px;border-radius:9px;text-align:center}.rc-video{position:relative;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;margin-top:14px;border:1px solid rgba(255,255,255,.08)}.rc-video iframe{width:100%;height:100%;border:0}.rc-no-result{text-align:center;color:var(--muted);font-size:20px}.rc-footer{padding:34px 0;border-top:1px solid var(--border);color:var(--muted)}
.rc-compare-btn{margin-top:10px;width:100%;background:rgba(255,212,0,.08);border-color:rgba(255,212,0,.35);color:var(--yellow)}.rc-compare-btn.is-selected{background:linear-gradient(135deg,var(--yellow),var(--yellow2));color:#050607;border-color:transparent}.rc-compare-bar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:80;width:min(920px,calc(100% - 28px));background:rgba(10,12,16,.92);border:1px solid rgba(255,212,0,.35);box-shadow:0 20px 70px rgba(0,0,0,.55);backdrop-filter:blur(18px);border-radius:18px;padding:14px 16px;display:flex;align-items:center;gap:14px;justify-content:space-between}.light-mode .rc-compare-bar{background:rgba(255,255,255,.94)}.rc-compare-bar[hidden]{display:none!important}.rc-compare-info{display:flex;align-items:center;gap:10px;font-weight:950}.rc-compare-pill{background:var(--yellow);color:#050607;border-radius:999px;padding:8px 12px;font-size:13px}.rc-compare-selected{color:var(--muted);font-size:14px}.rc-compare-actions{display:flex;gap:10px}.rc-compare-clear{background:transparent;color:var(--text);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:12px 16px;font-weight:900;cursor:pointer}.rc-compare-open{background:linear-gradient(135deg,var(--yellow),var(--yellow2));color:#050607;border:0;border-radius:10px;padding:12px 18px;font-weight:1000;text-transform:uppercase;cursor:pointer}.rc-compare-modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.72);backdrop-filter:blur(10px);display:grid;place-items:center;padding:22px}.rc-compare-modal[hidden]{display:none!important}.rc-compare-box{width:min(1180px,100%);max-height:90vh;overflow:auto;background:linear-gradient(180deg,rgba(22,25,31,.98),rgba(10,12,16,.98));border:1px solid rgba(255,255,255,.12);border-radius:22px;box-shadow:0 30px 100px rgba(0,0,0,.7)}.light-mode .rc-compare-box{background:#fff;color:#111827}.rc-compare-head{position:sticky;top:0;background:inherit;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;z-index:2}.rc-compare-head h2{margin:0;text-transform:uppercase;font-size:26px}.rc-compare-close{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:var(--text);font-size:24px;cursor:pointer}.light-mode .rc-compare-close{color:#111827}.rc-compare-content{padding:20px 22px 24px}.rc-compare-winners{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.rc-winner-card{border:1px solid rgba(255,212,0,.25);background:rgba(255,212,0,.08);border-radius:16px;padding:13px}.rc-winner-card span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:900}.rc-winner-card b{display:block;margin-top:5px;color:var(--yellow);overflow-wrap:anywhere;min-width:0}
.rc-winner-card span{overflow-wrap:anywhere}.rc-compare-table-wrap{overflow:auto;border-radius:18px;border:1px solid rgba(255,255,255,.1)}.rc-compare-table{width:100%;border-collapse:collapse;min-width:760px}.rc-compare-table th,.rc-compare-table td{padding:16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.09);vertical-align:middle}.light-mode .rc-compare-table th,.light-mode .rc-compare-table td{border-bottom-color:#e5e7eb}.rc-compare-table th{background:rgba(255,255,255,.045);text-transform:uppercase;font-size:13px}.rc-compare-product{display:flex;align-items:center;gap:12px}.rc-compare-product img{width:78px;height:78px;object-fit:contain;background:#fff;border-radius:12px}.rc-best{color:var(--yellow);font-weight:1000}.rc-compare-table .rc-btn{padding:11px 13px;font-size:12px;margin-right:6px;margin-top:6px}
.rc-social-link{width:44px;height:44px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);border-radius:12px;display:grid;place-items:center;color:var(--text);text-decoration:none;transition:.2s;flex:0 0 44px}.rc-social-link svg{width:21px;height:21px;fill:currentColor;display:block}.rc-social-link:hover{transform:translateY(-2px);border-color:var(--yellow);box-shadow:0 14px 30px rgba(255,212,0,.12)}.rc-youtube:hover{color:#ff0033}.rc-tiktok:hover{color:var(--yellow)}.rc-footer-main{display:flex;align-items:center;justify-content:center;gap:22px}.rc-footer-socials{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}
.rc-guides{padding:66px 0 78px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01));border-top:1px solid rgba(255,255,255,.07)}.light-mode .rc-guides{background:#f7f9fc;border-top-color:#e5e7eb}.rc-guides-title{align-items:center;margin-bottom:24px}.rc-guides-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.rc-guide-card{position:relative;min-height:218px;padding:24px;background:linear-gradient(180deg,rgba(24,28,36,.94),rgba(12,14,18,.98));border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.light-mode .rc-guide-card{background:#fff;border-color:#e1e7f0;box-shadow:0 18px 48px rgba(15,23,42,.08)}.rc-guide-icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--yellow),var(--yellow2));color:#050607;font-weight:1000;display:grid;place-items:center;margin-bottom:18px}.rc-guide-card h3{margin:0 0 10px;font-size:22px;text-transform:uppercase;font-weight:1000}.rc-guide-card p{margin:0;color:var(--muted);line-height:1.6;font-size:15px}
.rc-carousel{position:relative;width:100%}.rc-carousel-stage{position:relative;width:100%;height:235px;border-radius:16px;overflow:hidden}.rc-carousel .rc-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:transparent;border-radius:16px;opacity:0;transition:opacity .55s ease;will-change:opacity;pointer-events:none}.rc-carousel .rc-slide.is-active{opacity:1}.rc-carousel-dots{display:flex;justify-content:center;align-items:center;gap:6px;padding:11px 0 1px}.rc-dot{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.26);cursor:pointer;transition:.22s;flex:0 0 auto}.rc-dot:hover{background:rgba(255,212,0,.65)}.rc-dot.is-active{width:19px;background:var(--yellow)}.light-mode .rc-dot{background:#d3dae4}.light-mode .rc-dot:hover{background:rgba(255,212,0,.85)}.light-mode .rc-dot.is-active{background:var(--yellow)}@media(prefers-reduced-motion:reduce){.rc-carousel .rc-slide{transition:none}}
.rc-zoom{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:26px;background:rgba(0,0,0,.78);backdrop-filter:blur(12px);animation:rc-zoom-in .18s ease}.rc-zoom[hidden]{display:none!important}@keyframes rc-zoom-in{from{opacity:0}to{opacity:1}}body.rc-zoom-open{overflow:hidden}.rc-zoom-panel{position:relative;width:min(1080px,100%);max-height:88vh;overflow:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(290px,.9fr);gap:28px;padding:30px;border-radius:24px;background:linear-gradient(180deg,rgba(22,26,33,.99),rgba(10,12,16,.99));border:1px solid rgba(255,212,0,.28);box-shadow:0 40px 120px rgba(0,0,0,.72)}.light-mode .rc-zoom-panel{background:#fff;border-color:#e1e7f0}.rc-zoom-stage{position:relative;width:100%;aspect-ratio:1/1;max-height:58vh}.rc-zoom-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .5s ease;pointer-events:none}.rc-zoom-slide.is-active{opacity:1}.rc-zoom-dots{display:flex;justify-content:center;align-items:center;gap:7px;padding-top:14px;flex-wrap:wrap}.rc-zoom-info{display:flex;flex-direction:column;justify-content:center;min-width:0}.rc-zoom-info .rc-badge{align-self:flex-start}.rc-zoom-info h2{margin:14px 0 10px;font-size:clamp(26px,3vw,40px);line-height:1.02;text-transform:uppercase;font-weight:1000;letter-spacing:-1px}.rc-zoom-info .rc-price{font-size:27px;margin:0 0 12px}.rc-zoom-info .rc-specs{margin:0 0 16px}.rc-zoom-desc{color:var(--muted);line-height:1.62;font-size:15px;margin:0 0 20px}.rc-zoom-actions{display:grid;gap:10px}.rc-zoom-actions .rc-btn{text-align:center;padding:15px 16px;font-size:13px}.rc-zoom-close{position:absolute;top:14px;right:16px;z-index:2;width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:var(--text);font-size:22px;line-height:1;cursor:pointer}.rc-zoom-close:hover{border-color:var(--yellow);color:var(--yellow)}.light-mode .rc-zoom-close{color:#111827;border-color:#e1e7f0;background:#f7f9fc}@media(max-width:900px){.rc-zoom-panel{grid-template-columns:1fr;padding:22px;gap:18px}.rc-zoom-stage{max-height:38vh}}
.rc-video-load{width:100%;height:100%;border:0;background:linear-gradient(135deg,rgba(255,212,0,.22),rgba(0,0,0,.9));color:#fff;font-weight:1000;text-transform:uppercase;cursor:pointer;font-size:15px}.rc-video-load:hover{color:var(--yellow)}
.rc-story-teaser{padding:58px 0;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,212,0,.045));border-bottom:1px solid rgba(255,255,255,.07)}.rc-story-teaser-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:34px;align-items:center}.rc-story-teaser-copy h2{margin:0 0 16px;font-size:clamp(34px,5vw,62px);line-height:.95;text-transform:uppercase;font-style:italic;font-weight:1000;letter-spacing:-1px}.rc-story-teaser-copy p:not(.rc-kicker){max-width:680px;margin:0 0 24px;color:var(--muted);font-size:18px;line-height:1.65}.rc-story-teaser-media{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:12px;text-decoration:none;min-height:290px}.rc-story-teaser-media img{width:100%;height:100%;min-height:290px;object-fit:cover;border-radius:18px;border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 60px rgba(0,0,0,.35);transition:.2s}.rc-story-teaser-media img:nth-child(2){transform:translateY(18px)}.rc-story-teaser-media:hover img{border-color:rgba(255,212,0,.55);transform:translateY(-4px)}.rc-story-teaser-media:hover img:nth-child(2){transform:translateY(10px)}
.rc-story-page{padding:70px 0 88px;background:radial-gradient(circle at 78% 12%,rgba(255,212,0,.12),transparent 24%),linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%)}.rc-story-hero{max-width:980px;margin-bottom:30px}.rc-story-hero h1{margin:0 0 18px;font-size:clamp(42px,7vw,86px);line-height:.92;text-transform:uppercase;font-style:italic;font-weight:1000;letter-spacing:-2px}.rc-story-hero p:not(.rc-kicker){color:#d8dde6;font-size:20px;line-height:1.65;margin:0}.light-mode .rc-story-hero p:not(.rc-kicker){color:#263041}.rc-story-intro{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:26px 0 42px;color:var(--muted);font-size:17px;line-height:1.7}.rc-story-intro p{margin:0;padding:22px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.035)}.light-mode .rc-story-intro p{background:#fff;border-color:#e5e7eb}.rc-story-timeline{display:grid;gap:28px}.rc-story-step{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:24px;align-items:center}.rc-story-step-reverse{grid-template-columns:minmax(360px,.85fr) minmax(0,1fr)}.rc-story-step-reverse .rc-story-photo{order:2}.rc-story-step-reverse .rc-story-card{order:1}.rc-story-photo{aspect-ratio:16/12;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow);background:#050607}.rc-story-photo-wide{aspect-ratio:16/9}.rc-story-photo img{width:100%;height:100%;object-fit:cover;display:block}.rc-story-card{padding:28px;background:linear-gradient(180deg,rgba(24,28,36,.94),rgba(12,14,18,.98));border:1px solid rgba(255,255,255,.09);border-radius:22px;box-shadow:var(--shadow)}.light-mode .rc-story-card{background:#fff;border-color:#e1e7f0;box-shadow:0 18px 48px rgba(15,23,42,.08)}.rc-story-card span{display:inline-flex;background:var(--yellow);color:#050607;border-radius:9px;padding:8px 12px;font-weight:1000;text-transform:uppercase;font-size:12px}.rc-story-card h2{margin:18px 0 12px;font-size:30px;text-transform:uppercase;font-weight:1000}.rc-story-card p{margin:0;color:var(--muted);line-height:1.65;font-size:16px}.rc-story-mission{margin-top:34px;padding:34px;border:1px solid rgba(255,212,0,.22);border-radius:22px;background:linear-gradient(135deg,rgba(255,212,0,.08),rgba(255,255,255,.035));box-shadow:var(--shadow);max-width:1040px}.rc-story-mission h2{margin:0 0 14px;font-size:34px;text-transform:uppercase;font-weight:1000}.rc-story-mission p:not(.rc-kicker){color:var(--muted);line-height:1.7;font-size:17px}.rc-story-mission .rc-btn{margin-top:8px}
.rc-legal-block{margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);color:var(--muted);font-size:12px;line-height:1.55;max-width:980px;margin-left:auto;margin-right:auto;text-align:center}.rc-legal-block p{margin:0 0 7px}.rc-legal-block strong{color:var(--text);text-transform:uppercase;font-size:12px;letter-spacing:.04em}.light-mode .rc-legal-block{border-top-color:#e5e7eb}
.rc-menu-dropdown{position:relative;display:flex;align-items:center}.rc-menu-trigger{display:inline-flex;align-items:center;gap:6px}.rc-menu-trigger::after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.8}.rc-submenu{position:absolute;top:calc(100% + 20px);left:0;min-width:245px;padding:10px;background:rgba(9,11,14,.96);border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.55);backdrop-filter:blur(16px);display:grid;gap:4px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;z-index:60}.rc-menu-dropdown:hover .rc-submenu,.rc-menu-dropdown:focus-within .rc-submenu{opacity:1;visibility:visible;transform:translateY(0)}.rc-submenu a{position:static!important;display:flex;color:var(--text)!important;text-transform:none!important;font-size:14px!important;letter-spacing:0!important;padding:12px 13px;border-radius:10px;opacity:1!important}.rc-submenu a:hover{background:rgba(255,212,0,.12);color:var(--yellow)!important}.rc-submenu a:after{display:none!important}
.rc-account-cta{height:44px;padding:0 16px;border-radius:12px;background:linear-gradient(135deg,var(--yellow),var(--yellow2));color:#050607!important;text-decoration:none;text-transform:uppercase;font-weight:1000;font-size:13px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:0 14px 30px rgba(255,212,0,.12)}.rc-account-cta:hover{transform:translateY(-2px)}
@media(max-width:1150px){.rc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rc-menu{gap:18px}.rc-hero-grid{grid-template-columns:1fr}.rc-hero-visual{min-height:420px}.rc-hero-card{right:3%;top:40px}.rc-guides-grid{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.rc-story-teaser-grid,.rc-story-intro,.rc-story-step,.rc-story-step-reverse{grid-template-columns:1fr}.rc-story-step-reverse .rc-story-photo,.rc-story-step-reverse .rc-story-card{order:initial}.rc-story-photo,.rc-story-photo-wide{aspect-ratio:4/3}}
@media(max-width:760px){
  .rc-container{width:min(100% - 28px,1400px)}
  .rc-nav{height:auto!important;min-height:0!important;padding:14px 0 16px!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important;align-items:center!important}
  .rc-logo{width:100%;justify-content:center;font-size:clamp(24px,7vw,30px)!important;letter-spacing:-.8px!important;white-space:nowrap}
  .rc-logo-icon{width:38px!important;height:38px!important;font-size:21px!important;flex:0 0 38px}
  .rc-header-actions{order:2;width:100%!important;margin-left:0!important;display:grid!important;grid-template-columns:repeat(5,minmax(44px,1fr))!important;gap:8px!important;align-items:center!important;justify-content:stretch!important}
  .rc-account-cta{grid-column:1/-1!important;order:0!important;width:100%!important;height:46px!important;min-width:0!important;padding:0 12px!important;font-size:13px!important}
  .rc-lang-select{width:100%!important;max-width:none!important;height:44px!important;padding:0 6px!important}
  /* Le menu passe sur plusieurs lignes au lieu de défiler horizontalement :
     d'une part tous les onglets deviennent visibles d'un coup, d'autre part
     "overflow-x:auto" rognait le panneau "Pièces détachées" — ses 4 catégories
     étaient purement inatteignables au doigt. */
  .rc-menu{order:3;width:100%!important;display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:16px!important;row-gap:12px!important;overflow:visible!important;padding:4px 0 9px!important;align-items:center!important}
  .rc-menu a{font-size:12px!important;line-height:1!important;white-space:nowrap!important;flex:0 0 auto}
  /* Le panneau se positionne sur l'en-tête (et non sur son onglet) pour
     s'afficher pleine largeur juste en dessous. */
  .rc-menu-dropdown{position:static!important}
  .rc-submenu{top:calc(100% + 4px)!important;left:12px!important;right:12px!important;width:auto!important;min-width:0!important;max-height:62vh;overflow-y:auto}
  .rc-menu-dropdown.is-open .rc-submenu{opacity:1!important;visibility:visible!important;transform:none!important}
  /* Le menu tenant maintenant sur deux lignes, le trait jaune de l'onglet actif
     (calé 15px sous le texte) retombait sur la ligne du dessous. */
  .rc-menu>a.active:after,.rc-menu>a:hover:after,.rc-menu-trigger:hover:after{bottom:-6px!important}
  .rc-hero{min-height:auto!important;padding:38px 0 34px!important}.rc-hero-grid{display:block!important}.rc-hero h1{font-size:clamp(42px,15vw,58px)!important;letter-spacing:0!important}
  .rc-hero-actions{display:grid!important;grid-template-columns:1fr!important}.rc-stats{grid-template-columns:repeat(3,1fr)!important;max-width:100%!important}
  .rc-hero-visual{min-height:auto!important;margin-top:20px!important}.rc-hero-visual img{max-height:280px!important;max-width:100%!important}
  .rc-hero-card{position:relative!important;right:auto!important;top:auto!important;width:100%!important;margin-top:12px!important}
  .rc-grid{grid-template-columns:1fr}.rc-guides-grid{grid-template-columns:1fr}.rc-section-title{display:block}
  .rc-story-teaser-media{grid-template-columns:1fr;min-height:auto}.rc-story-teaser-media img,.rc-story-teaser-media img:nth-child(2){min-height:230px;transform:none}
  body.ridecentral{overflow-x:hidden!important}
  /* Champs de formulaire (connexion, inscription, commande) : 16px minimum.
     En dessous de 16px, Safari iPhone zoome automatiquement sur la page dès
     qu'on touche un champ, et le visiteur doit dézoomer à la main. */
  .woocommerce input[type=text],.woocommerce input[type=email],.woocommerce input[type=password],.woocommerce input[type=tel],.woocommerce input[type=number],.woocommerce input[type=search],.woocommerce select,.woocommerce textarea{font-size:16px!important;min-height:46px;padding:10px 12px;border-radius:10px}
  .woocommerce form .form-row label{margin-bottom:6px;display:inline-block}
  /* Comparatif : 4 colonnes sur un écran de téléphone ne laissaient que ~35px
     de texte par carte, les noms de trottinettes débordaient hors du cadre.
     On passe à 2 colonnes et le texte peut revenir à la ligne. */
  .rc-compare-winners{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .rc-winner-card{padding:11px 12px}
  .rc-winner-card span{font-size:10.5px;line-height:1.3}
  .rc-winner-card b{font-size:14px;line-height:1.3}
  .rc-compare-head h2{font-size:20px}
  .rc-compare-content{padding:16px 14px 20px}
  .rc-compare-head{padding:16px 14px}
  /* En-tête compact au scroll. La classe rc-mobile-header est posée par le JS,
     donc si le JS ne tourne pas on garde l'en-tête collant actuel, jamais un
     en-tête fixe qui recouvrirait le contenu. Le passage en position fixe est
     indispensable : en position collante, réduire la hauteur raccourcirait la
     page et ferait sauter le contenu de ~150 px sous les yeux du visiteur. */
  .rc-mobile-header .rc-header{position:fixed;left:0;right:0;width:100%}
  .rc-nav{transition:padding .22s ease}
  .rc-logo{transition:font-size .22s ease}
  .rc-header.is-compact .rc-nav{grid-template-columns:auto auto!important;justify-content:space-between!important;padding:7px 0!important;gap:10px!important;align-items:center!important}
  .rc-header.is-compact .rc-logo{width:auto!important;justify-content:flex-start!important;font-size:19px!important}
  .rc-header.is-compact .rc-logo-icon{width:30px!important;height:30px!important;font-size:16px!important;flex:0 0 30px}
  .rc-header.is-compact .rc-header-actions{order:0!important;width:auto!important;display:flex!important;gap:8px!important;justify-content:flex-end!important}
  .rc-header.is-compact .rc-social-link,.rc-header.is-compact .rc-theme-toggle,.rc-header.is-compact .rc-lang-select{display:none!important}
  .rc-header.is-compact .rc-account-cta{grid-column:auto!important;width:auto!important;height:36px!important;padding:0 15px!important;font-size:12px!important}
  .rc-header.is-compact .rc-menu{display:none!important}
}
/* Zones de frappe tactiles : on agrandit la surface cliquable SANS changer la
   taille visible (pseudo-élément transparent), pour ne pas rallonger le header
   ni grossir les pastilles du carrousel. Sans ça : liens de menu hauts de 12 px
   et pastilles photo de 7 px, quasi impossibles à viser au doigt.
   ATTENTION : on vise uniquement les onglets de premier niveau. Les liens du
   sous-menu sont en position:static, donc leur zone invisible se calerait sur
   tout le panneau et les quatre liens se recouvriraient les uns les autres,
   rendant le menu déroulant inutilisable. Eux ont déjà 36px de haut. */
.rc-menu>a,.rc-menu-trigger{position:relative}
.rc-menu>a::before,.rc-menu-trigger::before{content:"";position:absolute;left:-6px;right:-6px;top:-15px;bottom:-15px}
.rc-dot{position:relative}
.rc-dot::after{content:"";position:absolute;inset:-13px -5px}
/* ---------- Calculateur d'autonomie ---------- */
.rc-calc-page{padding:42px 0 84px}
.rc-calc-intro{max-width:780px;margin-bottom:34px}
.rc-calc-intro h1{margin:0 0 16px;font-size:clamp(30px,4.4vw,48px);line-height:1.02;text-transform:uppercase;font-weight:1000;letter-spacing:-1.5px;font-style:italic}
.rc-calc-chapo{color:var(--muted);line-height:1.7;font-size:17px;margin:0}
.rc-calc-chapo strong{color:var(--text)}
.rc-calc{background:linear-gradient(180deg,rgba(24,28,36,.92),rgba(12,14,18,.96));border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.light-mode .rc-calc{background:var(--card);border-color:var(--border)}
.rc-calc-preremplir{margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.08)}
.light-mode .rc-calc-preremplir{border-bottom-color:var(--border)}
.rc-calc-preremplir label{display:block;margin-bottom:8px;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.04em;color:var(--yellow)}
.rc-calc-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px}
.rc-calc-champ-large{grid-column:1/-1}
.rc-calc-champ label{display:block;margin-bottom:9px;font-weight:900;font-size:14px}
.rc-calc-champ label small{display:block;font-weight:600;font-size:12px;color:var(--muted);margin-top:3px}
.rc-calc select,.rc-calc input[type=number]{width:100%;height:50px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:var(--text);font-size:16px;font-weight:800;outline:none}
.light-mode .rc-calc select,.light-mode .rc-calc input[type=number]{background:#fff;border-color:var(--border)}
.rc-calc select:focus,.rc-calc input[type=number]:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,212,0,.16)}
/* La liste qui s'ouvre au clic est dessinée par le système, pas par la page :
   elle garde son fond blanc mais hérite de la couleur de texte du champ (claire
   en mode sombre) → texte blanc sur fond blanc, options illisibles sous Windows.
   On impose donc fond ET texte sur les options. */
.rc-calc select option,.rc-calc select optgroup{background-color:#12151b;color:#f4f6f9}
.light-mode .rc-calc select option,.light-mode .rc-calc select optgroup{background-color:#fff;color:#111827}
.rc-calc-input{position:relative;display:flex;align-items:center}
.rc-calc-input input{padding-right:52px}
.rc-calc-input span{position:absolute;right:14px;color:var(--muted);font-weight:900;font-size:14px;pointer-events:none}
/* Curseurs habillés. La partie déjà parcourue est peinte en doré : sous Chrome
   il n'existe aucune pseudo-classe pour ça, on peint donc la piste avec un
   dégradé qui s'arrête à --rc-remplissage (pourcentage mis à jour par le JS).
   Firefox, lui, a ::-moz-range-progress et s'en charge tout seul. */
.rc-calc input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;margin:6px 0 0;background:transparent;cursor:pointer;outline:none}
.rc-calc input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--yellow2) 0%,var(--yellow) var(--rc-remplissage,50%),rgba(255,255,255,.13) var(--rc-remplissage,50%),rgba(255,255,255,.13) 100%);box-shadow:inset 0 1px 2px rgba(0,0,0,.45)}
.rc-calc input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:rgba(255,255,255,.13);box-shadow:inset 0 1px 2px rgba(0,0,0,.45)}
.rc-calc input[type=range]::-moz-range-progress{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--yellow2),var(--yellow))}
.light-mode .rc-calc input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--yellow2) 0%,var(--yellow) var(--rc-remplissage,50%),#dfe5ee var(--rc-remplissage,50%),#dfe5ee 100%);box-shadow:inset 0 1px 2px rgba(15,23,42,.14)}
.light-mode .rc-calc input[type=range]::-moz-range-track{background:#dfe5ee;box-shadow:inset 0 1px 2px rgba(15,23,42,.14)}
.rc-calc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;margin-top:-8px;border-radius:50%;border:3px solid #0a0c10;background:radial-gradient(circle at 34% 30%,#fff4bd,var(--yellow) 48%,var(--yellow2));box-shadow:0 3px 10px rgba(0,0,0,.55),0 0 0 5px rgba(255,212,0,.13);transition:transform .16s ease,box-shadow .16s ease}
.rc-calc input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;border:3px solid #0a0c10;background:radial-gradient(circle at 34% 30%,#fff4bd,var(--yellow) 48%,var(--yellow2));box-shadow:0 3px 10px rgba(0,0,0,.55),0 0 0 5px rgba(255,212,0,.13);transition:transform .16s ease,box-shadow .16s ease}
.light-mode .rc-calc input[type=range]::-webkit-slider-thumb,.light-mode .rc-calc input[type=range]::-moz-range-thumb{border-color:#fff;box-shadow:0 3px 10px rgba(15,23,42,.22),0 0 0 5px rgba(255,212,0,.2)}
.rc-calc input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12);box-shadow:0 4px 14px rgba(0,0,0,.6),0 0 0 7px rgba(255,212,0,.2)}
.rc-calc input[type=range]:hover::-moz-range-thumb{transform:scale(1.12);box-shadow:0 4px 14px rgba(0,0,0,.6),0 0 0 7px rgba(255,212,0,.2)}
.rc-calc input[type=range]:active::-webkit-slider-thumb{transform:scale(1.04)}
.rc-calc input[type=range]:active::-moz-range-thumb{transform:scale(1.04)}
.rc-calc input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 3px 10px rgba(0,0,0,.55),0 0 0 4px rgba(255,212,0,.5)}
.rc-calc input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 3px 10px rgba(0,0,0,.55),0 0 0 4px rgba(255,212,0,.5)}
@media(prefers-reduced-motion:reduce){.rc-calc input[type=range]::-webkit-slider-thumb,.rc-calc input[type=range]::-moz-range-thumb{transition:none}}
.rc-calc output{display:inline-block;margin-top:4px;color:var(--yellow);font-weight:1000;font-size:19px}
.rc-calc-resultat{margin-top:22px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:22px;align-items:stretch}
.rc-calc-principal{display:flex;flex-direction:column;justify-content:center;padding:28px;border-radius:var(--radius);background:linear-gradient(135deg,rgba(255,212,0,.16),rgba(255,212,0,.05));border:1px solid rgba(255,212,0,.35)}
.rc-calc-label{text-transform:uppercase;font-weight:950;font-size:12px;letter-spacing:.06em;color:var(--muted)}
.rc-calc-principal strong{display:block;margin:8px 0 10px;font-size:clamp(46px,7vw,68px);line-height:1;color:var(--yellow);font-weight:1000;font-style:italic;letter-spacing:-2px}
.rc-calc-fourchette{color:var(--muted);font-size:14px;line-height:1.5}
.rc-calc-details{display:grid;gap:10px;align-content:center;padding:24px;border-radius:var(--radius);background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}
.light-mode .rc-calc-details{background:#f7f9fc;border-color:var(--border)}
.rc-calc-details div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.light-mode .rc-calc-details div{border-bottom-color:var(--border)}
.rc-calc-details div:last-child{border-bottom:0}
.rc-calc-details span{color:var(--muted);font-size:14px}
.rc-calc-details b{font-weight:1000;font-size:16px;text-align:right;white-space:nowrap}
.rc-calc-notes{margin-top:52px;max-width:860px}
.rc-calc-notes h2{font-size:24px;text-transform:uppercase;font-weight:1000;letter-spacing:-.5px;margin:0 0 16px}
.rc-calc-notes p{color:var(--muted);line-height:1.75;font-size:16px;margin:0 0 15px}
.rc-calc-notes strong{color:var(--text)}
.rc-calc-retour{margin-top:40px}
@media(max-width:860px){
  .rc-calc-resultat{grid-template-columns:1fr}
}
@media(max-width:760px){
  .rc-calc-page{padding:26px 0 62px}
  .rc-calc{padding:18px}
  .rc-calc-grille{grid-template-columns:1fr;gap:18px}
  .rc-calc select,.rc-calc input[type=number]{font-size:16px}
  .rc-calc-principal{padding:22px}
  .rc-calc-details{padding:18px}
}
/* ---------- Fiche complète d'une trottinette (/trottinettes/<slug>/) ---------- */
.rc-card-titre-lien{color:inherit;text-decoration:none}
.rc-card-titre-lien:hover{color:var(--yellow)}
.rc-sheet-btn{grid-column:1/-1;background:rgba(255,255,255,.05)}
.rc-scooter-single{padding:38px 0 80px}
.rc-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:26px;font-size:13px;color:var(--muted)}
.rc-breadcrumb a{color:var(--muted);text-decoration:none}
.rc-breadcrumb a:hover{color:var(--yellow)}
.rc-breadcrumb-current{color:var(--text);font-weight:800}
.rc-scooter-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:36px;align-items:start}
.rc-scooter-media{background:radial-gradient(circle at 50% 40%,rgba(255,212,0,.10),transparent 55%);border:1px solid rgba(255,255,255,.075);border-radius:var(--radius);padding:20px}
.light-mode .rc-scooter-media{border-color:var(--border);background:var(--card)}
.rc-scooter-media .rc-carousel-stage{height:420px}
.rc-scooter-media .rc-card-img{height:420px}
.rc-scooter-infos h1{margin:14px 0 10px;font-size:clamp(30px,4vw,46px);line-height:1.04;text-transform:uppercase;font-weight:1000;letter-spacing:-1.5px;font-style:italic}
.rc-scooter-infos .rc-price{font-size:28px;margin:0 0 20px}
.rc-spec-table{margin:0 0 24px;border:1px solid rgba(255,255,255,.09);border-radius:16px;overflow:hidden}
.light-mode .rc-spec-table{border-color:var(--border)}
.rc-spec-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.07)}
.light-mode .rc-spec-row{border-bottom-color:var(--border)}
.rc-spec-row:last-child{border-bottom:0}
.rc-spec-row dt{margin:0;color:var(--muted);font-size:14px;font-weight:800}
.rc-spec-row dd{margin:0;color:var(--text);font-weight:950;text-align:right;overflow-wrap:anywhere}
.rc-scooter-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rc-scooter-actions .rc-btn{text-align:center;padding:15px 14px;font-size:13px}
.rc-scooter-bloc{margin-top:52px}
.rc-scooter-bloc h2{font-size:26px;text-transform:uppercase;font-weight:1000;letter-spacing:-.5px;margin:0 0 16px}
.rc-scooter-texte{color:var(--text);line-height:1.75;font-size:17px;max-width:820px}
.rc-scooter-texte p{margin:0 0 16px}
.rc-scooter-bloc .rc-video{max-width:900px;margin-top:0}
.rc-scooter-liens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rc-scooter-lien{display:flex;flex-direction:column;gap:12px;padding:16px;text-decoration:none;color:var(--text);background:linear-gradient(180deg,rgba(24,28,36,.92),rgba(12,14,18,.96));border:1px solid rgba(255,255,255,.075);border-radius:var(--radius);transition:.22s}
.light-mode .rc-scooter-lien{background:var(--card);border-color:var(--border)}
.rc-scooter-lien:hover{transform:translateY(-5px);border-color:rgba(255,212,0,.5)}
.rc-scooter-lien img{width:100%;height:150px;object-fit:contain}
.rc-scooter-lien .rc-img-placeholder{display:grid;place-items:center;height:150px;font-size:34px}
.rc-scooter-lien-titre{font-weight:1000;text-transform:uppercase;font-size:15px;line-height:1.25}
.rc-scooter-retour{margin-top:44px}
@media(max-width:980px){
  .rc-scooter-top{grid-template-columns:1fr;gap:26px}
  .rc-scooter-media .rc-carousel-stage,.rc-scooter-media .rc-card-img{height:300px}
  .rc-scooter-liens{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .rc-scooter-single{padding:24px 0 60px}
  .rc-scooter-actions{grid-template-columns:1fr}
  .rc-scooter-liens{grid-template-columns:1fr}
  .rc-scooter-lien img,.rc-scooter-lien .rc-img-placeholder{height:190px}
  .rc-spec-row{padding:12px 13px}
  .rc-scooter-bloc{margin-top:38px}
}

/* ---------- WooCommerce integration (boutique pièces détachées) ---------- */
.rc-shop-page{min-height:calc(100vh - 76px);padding:64px 0 86px;background:radial-gradient(circle at 78% 18%,rgba(255,212,0,.10),transparent 24%),linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%)}
.rc-shop-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px;flex-wrap:wrap}
.rc-shop-head h1{margin:0;font-size:clamp(34px,5vw,64px);line-height:.95;text-transform:uppercase;font-style:italic;font-weight:1000;letter-spacing:-1px;color:var(--text)}
.rc-shop-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 30px}
.rc-shop-tabs a{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:11px 16px;color:var(--text);text-decoration:none;font-weight:900;background:rgba(255,255,255,.04);font-size:14px}
.rc-shop-tabs a:hover,.rc-shop-tabs a.is-active{border-color:var(--yellow);color:var(--yellow)}
.light-mode .rc-shop-tabs a{background:#fff;border-color:#e1e7f0;color:#111827}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0}
.woocommerce ul.products li.product{background:linear-gradient(180deg,rgba(24,28,36,.92),rgba(12,14,18,.96));border:1px solid rgba(255,255,255,.075);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);padding:18px!important;transition:.22s}
.light-mode .woocommerce ul.products li.product{background:var(--card);border-color:var(--border)}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);border-color:rgba(255,212,0,.5)}
.woocommerce ul.products li.product img{border-radius:16px;height:200px;object-fit:contain;background:#fff}
.woocommerce ul.products li.product .woocommerce-loop-product__title{color:var(--text)!important;font-size:17px;text-transform:uppercase;font-weight:1000;margin:12px 0 6px}
.woocommerce ul.products li.product .price{color:var(--yellow)!important;font-weight:1000;font-size:19px}
.woocommerce ul.products li.product .button{display:inline-block;margin-top:12px;background:linear-gradient(135deg,var(--yellow),var(--yellow2));color:#050607!important;border:0;border-radius:9px;padding:11px 16px;font-weight:950;text-transform:uppercase;font-size:12px}
.woocommerce nav.woocommerce-pagination ul{border:none!important;gap:8px;display:flex}
.woocommerce nav.woocommerce-pagination ul li{border:none!important}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:1px solid rgba(255,255,255,.14)!important;border-radius:10px!important;color:var(--text)!important;background:rgba(255,255,255,.04)!important}
.woocommerce .woocommerce-breadcrumb{color:var(--muted);margin-bottom:18px}
.woocommerce .woocommerce-breadcrumb a{color:var(--text)}
.woocommerce div.product .summary .price{color:var(--yellow);font-size:28px;font-weight:1000}
.woocommerce div.product .product_title{text-transform:uppercase;font-style:italic;font-weight:1000;letter-spacing:-1px}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:linear-gradient(135deg,var(--yellow),var(--yellow2))!important;color:#050607!important;border:0!important;border-radius:10px!important;font-weight:950!important;text-transform:uppercase}
.woocommerce table.shop_table{border:1px solid var(--border)!important;color:var(--text)}
.woocommerce table.shop_table th{border-bottom:1px solid var(--border)!important}
.woocommerce table.shop_table td{border-top:1px solid var(--border)!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.woocommerce-page form .form-row textarea{background:rgba(255,255,255,.045);border:1px solid var(--border);color:var(--text)}
.light-mode .woocommerce form .form-row input.input-text,.light-mode .woocommerce form .form-row select{background:#fff;color:#111827}
/* Même correctif que pour le calculateur, et ici c'est critique : sans lui, les
   listes "Pays" et "Région" de la commande s'ouvraient en blanc sur blanc et le
   client ne pouvait pas choisir son pays. */
.woocommerce form .form-row select option,.woocommerce form .form-row select optgroup{background-color:#12151b;color:#f4f6f9}
.light-mode .woocommerce form .form-row select option,.light-mode .woocommerce form .form-row select optgroup{background-color:#fff;color:#111827}
@media(max-width:1150px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.woocommerce ul.products{grid-template-columns:1fr}}

/* Placeholder image (en attendant les vraies photos produits/trottinettes) */
.rc-img-placeholder{width:100%;height:235px;display:flex;align-items:center;justify-content:center;font-size:40px;background:radial-gradient(circle,rgba(255,212,0,.14),transparent 70%);border-radius:16px;color:var(--yellow)}

/* Contenu WordPress standard (pages sans template dédié) */
.rc-basic-page{padding:70px 0 88px}
.rc-basic-page .rc-container{max-width:900px}
.rc-basic-page h1{font-size:clamp(38px,6vw,60px);text-transform:uppercase;font-style:italic;font-weight:1000;letter-spacing:-1px;margin:0 0 24px}
.rc-basic-page .entry-content{color:var(--muted);font-size:17px;line-height:1.7}
.rc-basic-page .entry-content a{color:var(--yellow)}

/* ---------- Mon compte (WooCommerce My Account) ---------- */
.woocommerce-account .rc-shop-head{margin-bottom:22px}
/* La page "Mon compte" passe par le template de page classique (shortcode
   WooCommerce dans le contenu) : on élargit le conteneur, sinon le tableau de
   bord est coincé dans la largeur de lecture de 900px. */
.woocommerce-account .rc-basic-page .rc-container{max-width:1180px}
.woocommerce-account .rc-basic-page h1{margin-bottom:28px}
/* Flex plutôt que grid : les enfants de .woocommerce varient selon la page
   (notices, titres, formulaires...). Par défaut chacun prend toute la largeur,
   seuls le menu et le contenu se placent côte à côte. */
.woocommerce-account .woocommerce{display:flex;flex-wrap:wrap;align-items:flex-start;gap:26px}
.woocommerce-account .woocommerce > *{flex:0 0 100%;min-width:0;margin-top:0}
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation{flex:0 0 250px}
.woocommerce-account .woocommerce > .woocommerce-MyAccount-content{flex:1 1 340px}
/* WooCommerce ajoute des pseudo-éléments de "clearfix" (qui deviennent des
   cases fantômes dans une grille/flex) et des colonnes flottantes en % : on
   neutralise tout ça dans le compte, sinon les blocs partent de travers. */
.woocommerce-account .woocommerce::before,.woocommerce-account .woocommerce::after,
.woocommerce-account .col2-set::before,.woocommerce-account .col2-set::after{display:none!important}
.woocommerce-account .col2-set .col-1,.woocommerce-account .col2-set .col-2{float:none;width:auto;padding:0}
.woocommerce-MyAccount-content form .form-row{float:none;width:100%;margin-left:0;margin-right:0;padding:0}
.woocommerce-MyAccount-content form .form-row input.input-text,.woocommerce-MyAccount-content form .form-row select{max-width:520px}
.woocommerce-MyAccount-navigation{background:linear-gradient(180deg,rgba(24,28,36,.92),rgba(12,14,18,.96));border:1px solid rgba(255,255,255,.075);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;position:sticky;top:96px}
.light-mode .woocommerce-MyAccount-navigation{background:var(--card);border-color:var(--border)}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-MyAccount-navigation a{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:12px;color:var(--text);text-decoration:none;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.01em;opacity:.85;transition:.18s}
.woocommerce-MyAccount-navigation a:hover{background:rgba(255,212,0,.08);color:var(--yellow);opacity:1}
.woocommerce-MyAccount-navigation li.is-active a{background:linear-gradient(135deg,var(--yellow),var(--yellow2));color:#050607!important;opacity:1;box-shadow:0 14px 30px rgba(255,212,0,.12)}
.woocommerce-MyAccount-navigation-link--dashboard a:before{content:"🏠"}
.woocommerce-MyAccount-navigation-link--orders a:before{content:"📦"}
.woocommerce-MyAccount-navigation-link--downloads a:before{content:"⬇️"}
.woocommerce-MyAccount-navigation-link--edit-address a:before{content:"📍"}
.woocommerce-MyAccount-navigation-link--payment-methods a:before{content:"💳"}
.woocommerce-MyAccount-navigation-link--edit-account a:before{content:"⚙️"}
.woocommerce-MyAccount-navigation-link--customer-logout a:before{content:"🚪"}
.woocommerce-MyAccount-content{background:linear-gradient(180deg,rgba(24,28,36,.92),rgba(12,14,18,.96));border:1px solid rgba(255,255,255,.075);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 34px;color:var(--text)}
.light-mode .woocommerce-MyAccount-content{background:var(--card);border-color:var(--border)}
.woocommerce-MyAccount-content > p:first-child{font-size:17px;line-height:1.75;color:var(--muted);margin:0 0 22px}
.woocommerce-MyAccount-content mark{background:transparent;color:var(--yellow);font-weight:900}
.woocommerce-MyAccount-content a{color:var(--yellow)}
.woocommerce-MyAccount-content strong{color:var(--text)}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{text-transform:uppercase;font-weight:1000;letter-spacing:-.5px;margin-top:0}
.woocommerce-MyAccount-content table.shop_table{border-radius:16px!important;overflow:hidden}
.woocommerce-MyAccount-content table.shop_table th{background:rgba(255,255,255,.045)!important;color:var(--muted);text-transform:uppercase;font-size:12px;letter-spacing:.03em}
.light-mode .woocommerce-MyAccount-content table.shop_table th{background:#f7f9fc!important}
.woocommerce-MyAccount-content table.shop_table td{color:var(--text)}
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-status{font-weight:900;text-transform:uppercase;font-size:12px;color:var(--yellow)}
.woocommerce-MyAccount-content .button.view,.woocommerce-MyAccount-content .woocommerce-button{padding:10px 15px!important;font-size:11px!important}
.woocommerce-Addresses{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.woocommerce-Address{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:22px}
.light-mode .woocommerce-Address{background:#f7f9fc;border-color:#e5e7eb}
.woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.woocommerce-Address-title h3{margin:0;font-size:15px}
.woocommerce-Address-title .edit{color:var(--yellow);font-weight:900;text-decoration:none;font-size:13px;text-transform:uppercase}
.woocommerce-Address address{font-style:normal;color:var(--muted);line-height:1.75}
.woocommerce-MyAccount-content fieldset{border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:22px;margin:26px 0 10px}
.light-mode .woocommerce-MyAccount-content fieldset{border-color:#e5e7eb}
.woocommerce-MyAccount-content fieldset legend{padding:0 10px;font-weight:900;text-transform:uppercase;font-size:13px;color:var(--yellow)}
.woocommerce-MyAccount-content .form-row label{display:block;margin-bottom:6px;font-weight:700;font-size:13px;color:var(--muted)}
.woocommerce-MyAccount-content .form-row input.input-text,.woocommerce-MyAccount-content select{width:100%}
.woocommerce-MyAccount-content p.form-row{margin:0 0 16px}
.woocommerce-account .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.woocommerce-account .woocommerce-form-login,.woocommerce-account .woocommerce-form-register{background:linear-gradient(180deg,rgba(24,28,36,.92),rgba(12,14,18,.96));border:1px solid rgba(255,255,255,.075);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px 32px;margin:0}
.light-mode .woocommerce-account .woocommerce-form-login,.light-mode .woocommerce-account .woocommerce-form-register{background:var(--card);border-color:var(--border)}
.woocommerce-account .woocommerce-form-login h2,.woocommerce-account .woocommerce-form-register h2,.woocommerce-account .woocommerce-form-login h3,.woocommerce-account .woocommerce-form-register h3{margin:0 0 18px;font-size:23px;text-transform:uppercase;font-style:italic;font-weight:1000}
.woocommerce-account .woocommerce-form-row label{color:var(--muted);font-weight:700;font-size:13px;display:block;margin-bottom:6px}
.woocommerce-account .woocommerce-form-login__rememberme{color:var(--muted);display:flex;align-items:center;gap:8px;font-size:14px;font-weight:400;text-transform:none}
/* Visiteur non connecté : colonne étroite centrée pour le formulaire de
   connexion, au lieu d'une carte étirée sur toute la largeur. */
.woocommerce-account .rc-basic-page .rc-container:has(.woocommerce-form-login){max-width:640px}
.woocommerce-account .rc-basic-page .rc-container:has(.u-columns){max-width:1000px}
.woocommerce-account .woocommerce > h2{margin:0 0 14px;font-size:23px;text-transform:uppercase;font-style:italic;font-weight:1000}
.woocommerce-account .lost_password a,.woocommerce-account .woocommerce-LostPassword a{color:var(--yellow)}
.woocommerce-message,.woocommerce-info{background:rgba(255,212,0,.08)!important;border-top-color:var(--yellow)!important;color:var(--text)!important;border-radius:14px!important;box-shadow:none!important}
.woocommerce-error{background:rgba(255,59,59,.08)!important;border-top-color:#ff3b3b!important;color:var(--text)!important;border-radius:14px!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--yellow)!important}
.woocommerce-error::before{color:#ff3b3b!important}
@media(max-width:900px){
  .woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation{flex:0 0 100%}
  .woocommerce-MyAccount-navigation{position:static}
  .woocommerce-MyAccount-navigation ul{display:flex;overflow-x:auto;gap:6px;padding-bottom:2px;scrollbar-width:none}
  .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none}
  .woocommerce-MyAccount-navigation li{flex:0 0 auto}
  .woocommerce-MyAccount-content{padding:24px 20px}
  .woocommerce-account .u-columns{grid-template-columns:1fr}
  /* Sur mobile WooCommerce empile les lignes du tableau et affiche le nom de
     la colonne devant chaque valeur : on lui donne le même style que les
     en-têtes du tableau en version bureau. */
  .woocommerce-MyAccount-content table.shop_table td::before{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.03em}
}

/* =========================================================================
   Icônes SVG (inc/icones.php)
   Le thème utilisait des emojis comme icônes. Un emoji est dessiné par le
   système du visiteur, pas par le site : rond et multicolore sur iPhone, plat
   sur Windows, encore autre chose sur Android. Ces icônes-ci prennent la
   couleur du texte et la taille de la police, donc elles s'alignent partout.
   ========================================================================= */
.rc-ico{width:1em;height:1em;flex:0 0 auto;display:inline-block;vertical-align:-.13em;stroke-linejoin:round}
.rc-ico-puissance{filter:drop-shadow(0 0 6px rgba(255,212,0,.35))}
/* Les listes de specs et les boutons deviennent des lignes icône + texte. */
.rc-specs span{display:inline-flex;align-items:center;gap:8px}
.rc-specs .rc-ico,.rc-jauge-label .rc-ico{color:var(--yellow);font-size:16px}
.rc-spec-row dt{display:flex;align-items:center;gap:9px}
.rc-spec-row dt .rc-ico{color:var(--yellow);font-size:17px}
.rc-btn .rc-ico{font-size:16px}
.rc-img-placeholder .rc-ico{font-size:52px}
.rc-scooter-lien .rc-img-placeholder .rc-ico{font-size:34px}
/* Le logo : l'éclair est un SVG dans la pastille ronde existante. Sa taille
   suit le font-size de la pastille, donc ce seul réglage vaut aussi pour la
   version mobile et pour l'en-tête compacté au défilement.
   1.35em remplit correctement le disque : l'éclair ne dessine que 83 % de la
   hauteur de sa propre case, il paraissait donc bien plus petit que la valeur
   ne le laissait croire. */
.rc-logo-icon .rc-ico{width:1.35em;height:1.35em}

/* =========================================================================
   Barres de niveau des cartes
   "2400 W" ne dit rien à quelqu'un qui débute. La barre, elle, situe tout de
   suite la machine par rapport à la plus puissante du catalogue. Le pourcentage
   est calculé en PHP (rc_scooter_barres) et posé dans --rc-jauge.
   ========================================================================= */
.rc-jauges{display:grid;gap:9px;margin:4px 0 14px}
.rc-jauge{display:grid;grid-template-columns:minmax(78px,auto) minmax(40px,1fr) auto;align-items:center;gap:10px}
.rc-jauge-label{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.rc-jauge-piste{display:block;position:relative;height:6px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden}
.light-mode .rc-jauge-piste{background:rgba(15,23,42,.1)}
.rc-jauge-piste i{display:block;height:100%;width:var(--rc-jauge,0%);border-radius:999px;background:linear-gradient(90deg,var(--yellow2),var(--yellow));box-shadow:0 0 12px rgba(255,212,0,.45)}
.rc-jauge-valeur{font-size:13px;font-weight:950;white-space:nowrap}
/* Remplissage à l'arrivée à l'écran, décalé d'une barre à l'autre. */
.js-anim .rc-jauge-piste i{width:0;transition:width .95s cubic-bezier(.16,.84,.44,1)}
.js-anim .rc-jauges.is-on .rc-jauge-piste i{width:var(--rc-jauge,0%)}
.js-anim .rc-jauges.is-on .rc-jauge:nth-child(2) i{transition-delay:.12s}
.js-anim .rc-jauges.is-on .rc-jauge:nth-child(3) i{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){
  .js-anim .rc-jauge-piste i{width:var(--rc-jauge,0%)!important;transition:none!important}
}

/* =========================================================================
   Hero : fond photo et carte "dernier test"
   Le fond était un aplat noir (--rc-hero-bg-image:none). Il reprend la photo
   du dernier modèle testé, très floutée et assombrie : de la matière derrière
   le titre, sans jamais gêner la lecture.
   ========================================================================= */
.rc-hero-bg{--rc-hero-bg-image:none;background-color:#0a0c10}
.rc-hero-bg.has-photo{background-image:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.76) 44%,rgba(0,0,0,.46) 100%),radial-gradient(circle at 73% 55%,rgba(255,212,0,.16),transparent 18%)}
/* Le flou déborde volontairement du cadre (inset négatif) : sinon les bords
   flous laissent apparaître une bande transparente sur le pourtour. */
.rc-hero-bg.has-photo::before{content:"";position:absolute;inset:-8%;z-index:-1;background:var(--rc-hero-bg-image) center right/cover no-repeat;filter:blur(42px) saturate(1.3) brightness(.45);opacity:.85}
.light-mode .rc-hero-bg.has-photo::before{filter:blur(30px) saturate(1.1) brightness(1.05)}

.rc-hero-card{display:block;text-decoration:none;color:inherit;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
a.rc-hero-card:hover{transform:translateY(-4px);border-color:rgba(255,212,0,.5);box-shadow:0 30px 70px rgba(0,0,0,.6)}
.rc-hero-photo{max-height:540px;max-width:92%;object-fit:contain;filter:drop-shadow(0 40px 60px rgba(0,0,0,.75))}
@media(max-width:1150px){.rc-hero-photo{max-height:340px}}
@media(max-width:820px){.rc-hero-photo{max-height:260px}}
.rc-hero-card-specs{position:relative;color:#cfd6e0;font-size:13px;font-weight:800;line-height:1.5;margin:0 0 14px}
.light-mode .rc-hero-card-specs{color:#3b465a}
.rc-hero-card-cta{position:relative;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:9px;padding:12px 15px;text-transform:uppercase;font-weight:900;font-size:12px;display:inline-flex;align-items:center;gap:8px}
a.rc-hero-card:hover .rc-hero-card-cta{border-color:var(--yellow);color:var(--yellow)}
.light-mode .rc-hero-card-cta{color:#111827;border-color:#d7dfea}

/* =========================================================================
   Compteur de vitesse (fiche trottinette)
   Cadran de 270° : l'aiguille part de 135° et monte jusqu'à la vitesse du
   modèle quand la section arrive à l'écran, pendant que le chiffre défile.
   ========================================================================= */
.rc-compteur-bloc{text-align:center}
.rc-compteur{position:relative;display:inline-grid;place-items:center;margin:6px auto 4px}
.rc-compteur svg{width:min(330px,78vw);height:auto;overflow:visible}
.rc-compteur-piste{fill:none;stroke:rgba(255,255,255,.09);stroke-width:11;stroke-linecap:round}
.light-mode .rc-compteur-piste{stroke:rgba(15,23,42,.1)}
.rc-compteur-arc{fill:none;stroke:var(--yellow);stroke-width:11;stroke-linecap:round;filter:drop-shadow(0 0 10px rgba(255,212,0,.45));transition:stroke-dashoffset 1.5s cubic-bezier(.16,.84,.44,1)}
.rc-compteur-tick{stroke:rgba(255,255,255,.22);stroke-width:2;stroke-linecap:round}
.rc-compteur-tick.is-major{stroke:rgba(255,255,255,.45);stroke-width:3}
.light-mode .rc-compteur-tick{stroke:rgba(15,23,42,.2)}
.light-mode .rc-compteur-tick.is-major{stroke:rgba(15,23,42,.38)}
.rc-compteur-aiguille{fill:var(--yellow);transform-origin:100px 100px;transform:rotate(135deg);transition:transform 1.5s cubic-bezier(.16,.84,.44,1);filter:drop-shadow(0 0 8px rgba(255,212,0,.5))}
.rc-compteur-axe{fill:var(--bg);stroke:var(--yellow);stroke-width:3}
.rc-compteur-chiffre{fill:var(--text);stroke:none;font-size:32px;font-weight:1000;font-style:italic;letter-spacing:-1.5px}
.rc-compteur-unite{fill:var(--muted);stroke:none;font-size:10px;font-weight:900;letter-spacing:.14em}
.rc-compteur-note{max-width:620px;margin:6px auto 0;color:var(--muted);font-size:14px;line-height:1.6}
@media(prefers-reduced-motion:reduce){
  .rc-compteur-arc,.rc-compteur-aiguille{transition:none!important}
}

/* =========================================================================
   Progression de lecture + transitions entre pages
   ========================================================================= */
.rc-scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:3px;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--yellow2),var(--yellow));box-shadow:0 0 14px rgba(255,212,0,.5);pointer-events:none}
@supports (animation-timeline:scroll()){
  .rc-scroll-progress{animation:rc-progression linear;animation-timeline:scroll(root block)}
  @keyframes rc-progression{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}
@media(prefers-reduced-motion:reduce){.rc-scroll-progress{display:none}}

/* Transition douce d'une page à l'autre au lieu du rechargement brut.
   Les navigateurs qui ne connaissent pas la règle l'ignorent simplement. */
@view-transition{navigation:auto}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}
/* Balayage de la grande photo : le curseur indique que l'image suit le geste. */
.rc-carousel-scrub,.rc-zoom-stage{cursor:ew-resize}
/* La pastille de marque et l'étiquette "dernier test" sont des blocs en ligne
   dans une colonne flex : sans cela elles s'étiraient sur toute la largeur. */
.rc-card-body>.rc-badge,.rc-hero-card>.rc-card-label{align-self:flex-start}
/* En mode clair, le doré du thème manque de contraste sur fond blanc : les
   icônes de caractéristiques passent sur un ambre plus sombre. */
.light-mode .rc-specs .rc-ico,.light-mode .rc-jauge-label .rc-ico,.light-mode .rc-spec-row dt .rc-ico{color:#b98400}

/* =========================================================================
   MODE TURBO — easter egg
   Déclenché au clavier par le code Konami (↑↑↓↓←→←→BA) ou par un appui long
   sur l'éclair du logo (le seul geste qui marche au doigt sans casser le lien
   vers l'accueil). Une fois lancé, le compteur du coin ne montre pas une
   animation pré-enregistrée : il suit la vitesse réelle de défilement de la
   page. Plus on fait défiler vite, plus l'aiguille monte, plus les traits de
   vitesse apparaissent, et au-delà de 85 % on passe en zone rouge.
   ========================================================================= */

/* --- Séquence de départ : les feux d'une piste d'accélération --- */
.rc-turbo-depart{position:fixed;inset:0;z-index:99;display:grid;place-items:center;gap:0;background:rgba(2,3,4,.93);backdrop-filter:blur(6px);animation:rc-turbo-apparait .25s ease}
.rc-turbo-depart[hidden]{display:none!important}
@keyframes rc-turbo-apparait{from{opacity:0}to{opacity:1}}
.rc-turbo-feux{display:flex;justify-content:center;gap:22px}
.rc-turbo-lampe{width:clamp(44px,11vw,70px);height:clamp(44px,11vw,70px);border-radius:50%;background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.14);transition:background .12s ease,box-shadow .12s ease,border-color .12s ease}
.rc-turbo-lampe.is-on{background:#ff9a00;border-color:#ffb43c;box-shadow:0 0 34px 6px rgba(255,154,0,.75)}
.rc-turbo-lampe.is-go{background:#1ed760;border-color:#59ff9a;box-shadow:0 0 44px 10px rgba(30,215,96,.8)}
.rc-turbo-go{margin-top:26px;font-size:clamp(40px,11vw,86px);font-weight:1000;font-style:italic;letter-spacing:-3px;text-transform:uppercase;color:#fff;opacity:0}
.rc-turbo-go.is-on{opacity:1;animation:rc-turbo-go .5s cubic-bezier(.16,.84,.44,1)}
@keyframes rc-turbo-go{from{transform:scale(.4);opacity:0;filter:blur(8px)}to{transform:scale(1);opacity:1;filter:none}}

/* --- Traits de vitesse : leur opacité suit la vitesse mesurée --- */
.rc-turbo-lignes{position:fixed;inset:0;z-index:95;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .35s ease}
.rc-turbo-lignes i{position:absolute;left:100%;height:2px;width:var(--l,240px);border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,212,0,.95),transparent);animation:rc-turbo-filer var(--d,.9s) linear infinite;animation-delay:var(--r,0s)}
@keyframes rc-turbo-filer{from{transform:translateX(0)}to{transform:translateX(calc(-100vw - var(--l,240px)))}}

/* --- Le compteur en bas à droite --- */
.rc-turbo-hud{position:fixed;right:16px;bottom:16px;z-index:97;width:196px;padding:12px 12px 10px;border-radius:20px;background:rgba(6,8,11,.88);border:1px solid rgba(255,212,0,.35);backdrop-filter:blur(14px);box-shadow:0 22px 56px rgba(0,0,0,.65);color:#fff;opacity:0;transform:translateY(16px) scale(.94);transition:opacity .35s ease,transform .35s cubic-bezier(.16,.84,.44,1),border-color .2s ease,box-shadow .2s ease}
.rc-turbo-hud.is-on{opacity:1;transform:none}
.rc-turbo-hud svg{display:block;width:100%;height:auto;overflow:visible}
.rc-turbo-piste{fill:none;stroke:rgba(255,255,255,.1);stroke-width:11;stroke-linecap:round}
.rc-turbo-arc{fill:none;stroke:var(--yellow);stroke-width:11;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(255,212,0,.5))}
.rc-turbo-zone{fill:none;stroke:rgba(255,58,58,.4);stroke-width:11;stroke-linecap:butt}
.rc-turbo-aiguille{fill:var(--yellow);transform-origin:100px 100px;filter:drop-shadow(0 0 7px rgba(255,212,0,.6))}
.rc-turbo-axe{fill:#06080b;stroke:var(--yellow);stroke-width:3}
.rc-turbo-chiffre{fill:#fff;stroke:none;font-size:34px;font-weight:1000;font-style:italic;letter-spacing:-2px}
.rc-turbo-unite{fill:rgba(255,255,255,.55);stroke:none;font-size:10px;font-weight:900;letter-spacing:.16em}
.rc-turbo-pied{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}
.rc-turbo-rapport{display:inline-flex;align-items:baseline;gap:4px;font-weight:1000;font-size:15px;color:var(--yellow)}
.rc-turbo-rapport small{font-size:9px;font-weight:900;letter-spacing:.1em;color:rgba(255,255,255,.45);text-transform:uppercase}
.rc-turbo-quitter{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:rgba(255,255,255,.75);border-radius:8px;padding:5px 9px;font:inherit;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.rc-turbo-quitter:hover{border-color:var(--yellow);color:var(--yellow)}
.rc-turbo-astuce{margin:6px 0 0;text-align:center;font-size:9.5px;font-weight:800;letter-spacing:.05em;color:rgba(255,255,255,.4);text-transform:uppercase}
/* Sur petit écran le compteur est plus compact, et la barre du comparateur
   remonte : les deux sont en bas, elles se chevauchaient sous ~1100 px. */
@media(max-width:1100px){
  .rc-turbo-hud{width:152px;padding:10px 10px 8px;right:12px;bottom:12px}
  .rc-turbo-astuce{display:none}
  /* À cette largeur, "Rapport 4" et le bouton ne tiennent plus côte à côte :
     le bouton débordait de la boîte. On les empile. */
  .rc-turbo-pied{flex-direction:column;align-items:stretch;gap:6px}
  .rc-turbo-rapport{justify-content:center}
  .rc-turbo-quitter{width:100%}
  body.rc-turbo .rc-compare-bar{bottom:246px}
}

/* --- Zone rouge : le compteur vire au rouge et pulse --- */
.rc-turbo-hud.is-redline{border-color:rgba(255,58,58,.75);box-shadow:0 22px 56px rgba(0,0,0,.65),0 0 34px rgba(255,58,58,.35);animation:rc-turbo-pulse .45s ease-in-out infinite alternate}
@keyframes rc-turbo-pulse{from{box-shadow:0 22px 56px rgba(0,0,0,.65),0 0 20px rgba(255,58,58,.25)}to{box-shadow:0 22px 56px rgba(0,0,0,.65),0 0 46px rgba(255,58,58,.6)}}
.rc-turbo-hud.is-redline .rc-turbo-arc{stroke:#ff3a3a;filter:drop-shadow(0 0 10px rgba(255,58,58,.7))}
.rc-turbo-hud.is-redline .rc-turbo-aiguille{fill:#ff3a3a}
.rc-turbo-hud.is-redline .rc-turbo-rapport{color:#ff6a6a}

/* --- Effets sur la page elle-même --- */
/* L'intensité (0 à 1) est posée par le JS ; tout en dépend, donc rien ne bouge
   quand on ne fait pas défiler. */
body.rc-turbo{--rc-turbo-i:0}
body.rc-turbo .rc-logo-icon{box-shadow:0 0 calc(35px + 45px*var(--rc-turbo-i)) rgba(255,212,0,calc(.25 + .6*var(--rc-turbo-i)))}
body.rc-turbo h1,body.rc-turbo h2,body.rc-turbo .rc-price{text-shadow:calc(-3px*var(--rc-turbo-i)) 0 rgba(255,58,58,.75),calc(3px*var(--rc-turbo-i)) 0 rgba(0,229,255,.75)}
body.rc-turbo-redline .rc-card{animation:rc-turbo-vibre .12s linear infinite}
@keyframes rc-turbo-vibre{0%{transform:translate(0,0)}25%{transform:translate(.6px,-.5px)}50%{transform:translate(-.5px,.5px)}75%{transform:translate(.4px,.4px)}100%{transform:translate(0,0)}}
/* Voile rouge sur les bords en zone rouge. */
body.rc-turbo-redline::after{content:"";position:fixed;inset:0;z-index:94;pointer-events:none;background:radial-gradient(ellipse at center,transparent 52%,rgba(255,40,40,.28) 100%)}

/* Quelqu'un qui a demandé moins d'animations garde le compteur (c'est le jeu)
   mais pas les traits, les vibrations ni le voile rouge. */
@media(prefers-reduced-motion:reduce){
  .rc-turbo-lignes{display:none}
  body.rc-turbo-redline .rc-card{animation:none}
  body.rc-turbo-redline::after{display:none}
  .rc-turbo-hud.is-redline{animation:none}
  body.rc-turbo h1,body.rc-turbo h2,body.rc-turbo .rc-price{text-shadow:none}
}

/* Barre du comparateur sur petit écran : sur un téléphone, "Comparateur",
   le décompte, "Vider" et "Lancer le comparatif" ne tiennent pas sur une seule
   ligne — le bouton principal sortait de l'écran. On empile les deux groupes. */
@media(max-width:620px){
  .rc-compare-bar{flex-direction:column;align-items:stretch;gap:10px;padding:12px}
  .rc-compare-info{justify-content:center;flex-wrap:wrap;gap:8px;text-align:center}
  .rc-compare-actions>button{flex:1;padding:12px 10px;font-size:13px}
}

/* =========================================================================
   DUEL D'ACCÉLÉRATION
   ========================================================================= */
.rc-duel-page{padding:60px 0 80px;background:radial-gradient(circle at 80% 8%,rgba(255,212,0,.10),transparent 26%),linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%)}
.rc-duel-intro{max-width:880px;margin-bottom:26px}
.rc-duel-intro h1{margin:0 0 16px;font-size:clamp(38px,6vw,72px);line-height:.95;text-transform:uppercase;font-style:italic;font-weight:1000;letter-spacing:-2px}
.rc-duel-chapo{color:#d3d9e3;font-size:18px;line-height:1.65;margin:0}
.light-mode .rc-duel-chapo{color:#2a3446}

.rc-duel-reglages{padding:22px;border:1px solid var(--border);border-radius:22px;background:rgba(255,255,255,.035);box-shadow:var(--shadow)}
.light-mode .rc-duel-reglages{background:#fff}
.rc-duel-choix{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.rc-duel-champ{display:flex;flex-direction:column;gap:8px;min-width:0}
.rc-duel-champ label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.rc-duel-champ label small{display:block;margin-top:3px;font-size:11px;font-weight:800;text-transform:none;letter-spacing:0;opacity:.75}
/* Le champ nombre du poids réutilise le gabarit du calculateur, dont les
   styles sont portés par .rc-calc : sans cette reprise il s'affichait en
   blanc sur blanc. On aligne aussi les hauteurs avec les listes. */
.rc-duel-champ select,.rc-duel-reglages input[type=number]{width:100%;height:50px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:var(--text);font-size:15px;font-weight:800;outline:none}
.light-mode .rc-duel-champ select,.light-mode .rc-duel-reglages input[type=number]{background:#fff;border-color:var(--border)}
.rc-duel-champ select:focus,.rc-duel-reglages input[type=number]:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,212,0,.16)}
.rc-duel-reglages .rc-calc-input input{padding-right:52px}
/* Même correctif que le calculateur : la liste déroulante d'un select est
   dessinée par le système et n'hérite pas de la couleur du texte. */
.rc-duel-champ select option{background-color:#12151b;color:#f4f6f9}
.light-mode .rc-duel-champ select option{background-color:#fff;color:#111827}
.rc-duel-go{width:100%;margin-top:18px;padding:17px;font-size:15px}
.rc-duel-go:disabled{opacity:.6;cursor:default;transform:none}

/* --- La piste --- */
.rc-duel-piste{position:relative;margin-top:22px;padding:20px 18px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,rgba(12,15,20,.95),rgba(6,8,11,.98));overflow:hidden}
.light-mode .rc-duel-piste{background:linear-gradient(180deg,#f7f9fc,#fff)}
/* Bandes de la chaussée, en fond. */
.rc-duel-piste::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 78px,rgba(255,255,255,.05) 78px 118px);pointer-events:none}
.light-mode .rc-duel-piste::before{background:repeating-linear-gradient(90deg,transparent 0 78px,rgba(15,23,42,.045) 78px 118px)}
.rc-duel-couloirs{position:relative;display:grid;gap:14px}
.rc-duel-couloir{--rc-duel-v:0;display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:14px;align-items:center}
.rc-duel-etiquette{display:flex;align-items:center;gap:10px;min-width:0}
.rc-duel-etiquette img{width:46px;height:46px;object-fit:contain;flex:0 0 46px}
.rc-duel-texte{min-width:0}
.rc-duel-nom{display:block;font-weight:1000;font-size:13px;text-transform:uppercase;line-height:1.2;overflow-wrap:anywhere}
.rc-duel-specs{display:block;font-size:11px;font-weight:800;color:var(--muted);margin-top:3px}

.rc-duel-voie{position:relative;height:66px;border-radius:14px;border:1px dashed rgba(255,255,255,.12);background:rgba(255,255,255,.025);overflow:hidden}
.light-mode .rc-duel-voie{border-color:rgba(15,23,42,.14);background:rgba(15,23,42,.02)}
/* Ligne d'arrivée : le damier. */
.rc-duel-arrivee{position:absolute;top:0;bottom:0;right:0;width:12px;background:repeating-conic-gradient(#fff 0 25%,#111 0 50%) 0 0/12px 12px}
/* Pas d'overflow:hidden ici : la traînée est dessinée en dehors du jeton et
   se ferait couper. Les photos sont détourées, elles n'ont pas besoin d'être
   rognées. */
.rc-duel-jeton{position:absolute;left:3px;top:50%;margin-top:-28px;width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,212,0,.35);will-change:transform}
.light-mode .rc-duel-jeton{background:#fff;border-color:#e3e9f2}
.rc-duel-jeton img{width:100%;height:100%;object-fit:contain;border-radius:13px}
.rc-duel-jeton b{font-size:22px;font-weight:1000;color:var(--yellow)}
/* Traînée derrière le jeton, d'autant plus marquée qu'il va vite. */
.rc-duel-jeton::after{content:"";position:absolute;right:100%;top:50%;margin-top:-9px;width:calc(90px*var(--rc-duel-v));height:18px;pointer-events:none;background:
  linear-gradient(270deg,rgba(255,212,0,.9),transparent) 0 2px/100% 2px no-repeat,
  linear-gradient(270deg,rgba(255,212,0,.55),transparent) 0 8px/70% 2px no-repeat,
  linear-gradient(270deg,rgba(255,212,0,.75),transparent) 0 14px/85% 2px no-repeat;
  opacity:var(--rc-duel-v)}
.rc-duel-compteur{position:absolute;right:20px;top:8px;font-size:12px;font-weight:1000;color:var(--yellow);letter-spacing:.02em}
.rc-duel-couloir.is-arrive .rc-duel-voie{border-style:solid;border-color:rgba(255,212,0,.5);background:rgba(255,212,0,.06)}

.rc-duel-feux{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:18px;background:rgba(3,4,6,.8);backdrop-filter:blur(4px)}
.rc-duel-feux[hidden]{display:none!important}

/* --- Résultats --- */
.rc-duel-resultats{margin-top:20px}
.rc-duel-resultats[hidden]{display:none!important}
.rc-duel-verdict{margin:0 0 14px;font-size:20px;font-weight:800;color:var(--text)}
.rc-duel-verdict b{color:var(--yellow)}
.rc-duel-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:18px}
.rc-duel-table{width:100%;border-collapse:collapse;min-width:640px}
.rc-duel-table th,.rc-duel-table td{padding:13px 14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px}
.light-mode .rc-duel-table th,.light-mode .rc-duel-table td{border-bottom-color:var(--border)}
.rc-duel-table tr:last-child td{border-bottom:0}
.rc-duel-table th{background:rgba(255,255,255,.045);text-transform:uppercase;font-size:11px;letter-spacing:.05em;color:var(--muted)}
.light-mode .rc-duel-table th{background:#f4f6f9}
.rc-duel-table td:first-child{font-weight:900}
.rc-duel-rang{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:7px;border-radius:7px;background:rgba(255,255,255,.08);font-size:12px}
.rc-duel-gagnant td{background:rgba(255,212,0,.08)}
.rc-duel-gagnant .rc-duel-rang{background:var(--yellow);color:#050607}
.rc-duel-rappel{margin:10px 0 0;font-size:13px;color:var(--muted)}
/* Mention de la lecture accélérée, affichée sur la piste pendant la course. */
.rc-duel-cadence{position:absolute;left:18px;top:8px;z-index:2;font-size:10.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rc-duel-cadence[hidden]{display:none!important}

.rc-duel-notes{margin-top:34px;max-width:900px}
.rc-duel-notes h2{font-size:26px;text-transform:uppercase;font-weight:1000;margin:0 0 14px}
.rc-duel-notes p{color:var(--muted);line-height:1.72;font-size:15.5px;margin:0 0 14px}

@media(max-width:760px){
  .rc-duel-couloir{grid-template-columns:1fr;gap:8px}
  .rc-duel-etiquette img{width:38px;height:38px;flex:0 0 38px}
  .rc-duel-voie{height:58px}
  .rc-duel-jeton{width:46px;height:46px;margin-top:-23px}
  .rc-duel-compteur{right:18px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .rc-duel-jeton{transition:none}
}

/* =========================================================================
   PERFORMANCE
   Mesures prises après relevé : sur la page d'accueil, les photos
   représentaient 89 % du poids téléchargé. Le gros du travail est fait côté
   images (vignettes 480 px + chargement différé réel, voir inc/scooters-cpt.php
   et assets/ride-central.js) ; ici on s'occupe du coût de rendu.
   ========================================================================= */

/* Les cartes hors écran ne sont ni mises en page ni peintes tant qu'on ne
   s'en approche pas. Sur mobile la grille fait une seule colonne et dépasse
   5000 px de haut : le navigateur calculait jusqu'ici la mise en page des neuf
   cartes dès le premier affichage. La taille annoncée évite que la barre de
   défilement saute pendant qu'on descend. */
.rc-card{content-visibility:auto;contain-intrinsic-size:auto 780px}
@media(max-width:1150px){.rc-card{contain-intrinsic-size:auto 900px}}

/* La photo du hero est carrée : en réserver la place avant son arrivée évite
   que le contenu se décale au chargement. */
.rc-hero-photo{aspect-ratio:1}

/* Les étincelles et la lueur du hero tournent en boucle. Sans ça elles
   continuent d'occuper le compositeur — et la batterie — même quand le hero
   est sorti de l'écran depuis longtemps. */
.rc-hero.is-hors-ecran .rc-hero-glow-inner,
.rc-hero.is-hors-ecran .rc-hero-sparks i{animation-play-state:paused}

@media(max-width:900px){
  /* Le flou d'arrière-plan d'un en-tête fixe est recalculé à chaque image
     pendant le défilement : c'est la première cause de saccade sur téléphone.
     On le remplace par un fond opaque, visuellement très proche. */
  .rc-header{backdrop-filter:none;background:rgba(3,4,6,.97)}
  .light-mode .rc-header{background:rgba(255,255,255,.98)}
  /* Le voile flouté derrière le titre coûte un gros flou GPU alors que la
     photo nette est affichée juste en dessous : on s'en passe sur mobile. */
  .rc-hero-bg.has-photo::before{display:none}
}
