@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Exo+2:wght@300;400;600&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(-45deg,#0f172a,#1e293b,#1e3a8a,#0ea5e9);background-size:400% 400%;background-attachment:fixed;animation:gradientMove 12s ease infinite}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}*{box-sizing:border-box;margin:0;padding:0}.home-wrapper{min-height:100vh;font-family:"Exo 2",sans-serif;color:#fff;display:flex;flex-direction:column;background:transparent}.home-content{width:100%;max-width:1400px;margin:0 auto;padding:0 40px}.home-nav{position:fixed;top:0;z-index:100;width:100%;left:0;max-width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 40px;background:#0f172abf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.08)}.nav-logo-icon{font-size:1.4rem;text-decoration:none;transition:transform .2s}.nav-logo-icon:hover{transform:scale(1.15)}.nav-links{display:flex;align-items:center;gap:40px;list-style:none}.nav-links a{color:#ffffffb3;text-decoration:none;font-size:.9rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:color .2s}.nav-links a:hover{color:#38bdf8}.nav-profile{font-size:1.4rem;cursor:pointer;transition:transform .2s}.nav-profile:hover{transform:scale(1.15)}.home-hero{position:relative;padding:140px 0 80px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08)}.hero-title{font-family:Orbitron,sans-serif;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:900;letter-spacing:.08em;color:#fff;position:relative;z-index:2}.hero-title span{background:linear-gradient(90deg,#38bdf8,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-lines{position:absolute;top:0;bottom:0;width:35%;opacity:.15}.hero-lines:before,.hero-lines:after{content:"";position:absolute;top:50%;width:100%;height:1px;background:#fff}.hero-lines:before{transform:rotate(-8deg)}.hero-lines:after{transform:rotate(8deg)}.hero-lines-left{left:0}.hero-lines-right{right:0}.home-main{flex:1;padding:48px 40px 32px;display:flex;flex-direction:column;gap:48px}.home-section{display:flex;flex-direction:column;gap:20px}.section-heading{font-family:"Exo 2",sans-serif;font-size:1.25rem;font-weight:600;color:#ffffffe6;letter-spacing:.02em}.carousel-wrapper{display:flex;align-items:center;gap:12px}.carousel-btn{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#fff;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;line-height:1}.carousel-btn:hover:not(:disabled){background:#38bdf826;border-color:#38bdf8}.carousel-btn:disabled{opacity:.25;cursor:default}.carousel-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;flex:1}.course-card{border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;overflow:hidden;transition:transform .2s,border-color .2s}.course-card:hover{transform:translateY(-3px);border-color:#38bdf84d}.course-card-map{background:#0f172a99;padding:16px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(255,255,255,.06);height:250px}.course-card-map img{width:100%;height:100%;object-fit:cover;border-radius:8px}.map-placeholder{width:100%}.map-placeholder svg{width:100%;height:auto;display:block}.course-card-info{padding:12px 14px;display:flex;flex-direction:column;gap:4px}.course-name{font-size:.85rem;font-weight:600;color:#fff}.course-meta{font-size:.76rem;color:#ffffff73;font-weight:300}.result-card{border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;overflow:hidden;transition:transform .2s,border-color .2s}.result-card:hover{transform:translateY(-3px);border-color:#38bdf84d}.result-card-podium{background:#050812f2;padding:20px 16px 12px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;justify-content:center}.podium-visual{display:flex;align-items:flex-end;gap:6px;height:70px}.podium-bar{width:28px;border-radius:4px 4px 0 0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff}.podium-bar.p1{height:70px;background:linear-gradient(180deg,#f59e0b,#d97706)}.podium-bar.p2{height:50px;background:linear-gradient(180deg,#94a3b8,#64748b)}.podium-bar.p3{height:36px;background:linear-gradient(180deg,#b45309,#92400e)}.result-card-info{padding:12px 14px;display:flex;flex-direction:column;gap:4px}.result-name{font-size:.85rem;font-weight:600;color:#fff}.result-meta{font-size:.76rem;color:#ffffff80;font-weight:300}.home-footer{border-top:1px solid rgba(255,255,255,.08);background:#0f172a99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:24px 40px;display:flex;align-items:center;justify-content:space-between}.footer-brand{display:flex;align-items:center;gap:10px;font-family:Orbitron,sans-serif;font-weight:700;font-size:1rem;letter-spacing:.08em}.footer-logo-icon{font-size:1.3rem}.footer-logo-text{background:linear-gradient(90deg,#38bdf8,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-copyright{font-size:.82rem;color:#ffffff40;font-weight:300;letter-spacing:.06em}.footer-logo-img{height:48px;width:auto;object-fit:contain}@media(max-width:768px){.home-content{padding:0 20px}.home-main{padding:32px 20px}.home-nav{padding:16px 20px}}@media(max-width:600px){.home-footer{flex-direction:column;gap:10px;text-align:center}}.course-list-wrapper{display:flex;flex-direction:column;gap:24px;max-width:100%;width:100%;padding:40px 60px}.course-list-title{font-size:1.4rem;font-weight:600;color:#ffffffe6;letter-spacing:.02em}.course-list{display:flex;flex-direction:column;gap:16px}.course-row{display:grid;grid-template-columns:600px 1fr;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;overflow:hidden;transition:border-color .2s,transform .2s}.course-row:hover{border-color:#38bdf84d;transform:translateY(-2px)}.course-row-image{background:#0a0f1e99;border-right:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;padding:16px}.course-row-image img{width:100%;height:auto;object-fit:contain;border-radius:8px}.course-register-btn{align-self:flex-start;padding:8px 14px;border-radius:6px;border:none;background:linear-gradient(90deg,#38bdf8,#3b82f6);color:#fff;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s}.course-register-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #38bdf866}.course-row-map-placeholder{width:100%}.course-row-map-placeholder svg{width:100%;height:auto;display:block}.course-row-info{padding:24px 28px;display:flex;flex-direction:column;gap:10px}.course-row-name{font-family:Orbitron,sans-serif;font-size:1.05rem;font-weight:700;color:#fff;letter-spacing:.04em}.course-row-meta{display:flex;gap:20px;font-size:.85rem;color:#38bdf8;font-weight:500}.course-row-desc{font-size:.88rem;color:#ffffff80;line-height:1.7;font-weight:300}.course-list-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:8px}.pagination-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#fff;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}.pagination-btn:hover:not(:disabled){background:#38bdf826;border-color:#38bdf8}.pagination-btn:disabled{opacity:.25;cursor:default}.pagination-info{font-size:.9rem;color:#ffffff80;font-weight:300;min-width:60px;text-align:center}.return-top{color:#38bdf8;font-size:.85rem;text-decoration:none;align-self:flex-start;transition:opacity .2s}.return-top:hover{opacity:.7}.inscription-form{max-width:600px;margin:2rem auto;background:var(--card-bg, #1e1e2e);border-radius:12px;padding:2rem;box-shadow:0 4px 24px #0000004d}.inscription-form .form-title{font-size:1.5rem;margin-bottom:1.5rem;color:var(--accent, #e63946)}.inscription-form .form-row{display:flex;gap:1rem}.inscription-form .form-row .form-group{flex:1}.inscription-form .form-group{display:flex;flex-direction:column;margin-bottom:1.2rem}.inscription-form .form-group label{font-size:.85rem;margin-bottom:.4rem;color:var(--text-muted, #aaa)}.inscription-form .form-group input{padding:.6rem .9rem;border-radius:8px;border:1px solid var(--border, #333);background:var(--input-bg, #2a2a3d);color:var(--text, #fff);font-size:1rem;transition:border-color .2s}.inscription-form .form-group input:focus{outline:none;border-color:var(--accent, #e63946)}.inscription-form select{padding:.6rem .9rem;border-radius:8px;border:1px solid var(--border, #333);background:var(--input-bg, #2a2a3d);color:var(--text, #fff);font-size:1rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23aaa' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;transition:border-color .2s}.inscription-form select:focus{outline:none;border-color:var(--accent, #e63946)}.inscription-form select option{background:var(--input-bg, #2a2a3d);color:var(--text, #fff)}.form-btn{margin-top:.5rem;width:100%;padding:.75rem;background:var(--accent, #e63946);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.form-btn:hover{opacity:.85}.form-race-info{text-align:center;margin-bottom:1.5rem}.form-race-info h2{font-size:1.4rem;color:var(--accent, #e63946)}.form-race-info p{color:var(--text-muted, #aaa);font-size:.95rem}.form-success{text-align:center;padding:3rem 1rem}.form-success h3{font-size:1.6rem;margin-bottom:.75rem}.form-success p{color:var(--text-muted, #aaa);margin-bottom:1.5rem}.form-error{color:#ff4d4f;font-size:.9rem;margin-bottom:.5rem;text-align:center}.paiement-title{text-align:center;font-size:1.6rem;margin-bottom:1.5rem;color:var(--accent, #e63946)}.paiement-loading{text-align:center;color:var(--text-muted, #aaa);margin-top:2rem}.paiement-form{max-width:560px;margin:0 auto;background:var(--card-bg, #1e1e2e);border-radius:12px;padding:2rem;box-shadow:0 4px 24px #0000004d;display:flex;flex-direction:column;gap:1.5rem}.paiement-form .paiement-recap{background:#ffffff0a;border-radius:8px;padding:1rem 1.2rem;border-left:3px solid var(--accent, #e63946)}.paiement-form .paiement-recap h3{font-size:1rem;margin-bottom:.5rem;color:var(--text-muted, #aaa);text-transform:uppercase;letter-spacing:.05em}.paiement-form .paiement-recap .recap-race{font-size:1.2rem;font-weight:700;margin-bottom:.3rem}.paiement-form .paiement-recap .recap-detail{font-size:.9rem;color:var(--text-muted, #aaa);margin-bottom:.5rem}.paiement-form .paiement-recap .recap-price{font-size:1rem}.paiement-form .paiement-recap .recap-price strong{color:var(--accent, #e63946);font-size:1.2rem}.paiement-form .paiement-card-section h3{font-size:1rem;margin-bottom:.75rem;color:var(--text-muted, #aaa);text-transform:uppercase;letter-spacing:.05em}html,body,#root{height:100%;margin:0}body{background:linear-gradient(-45deg,#0f172a,#1e293b,#1e3a8a,#0ea5e9);background-size:400% 400%;animation:gradientMove 12s ease infinite;display:flex;justify-content:center;align-items:center}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.login-page{position:relative;display:flex;justify-content:center;align-items:center}.login-wrapper{display:flex;justify-content:center;align-items:center;min-height:100vh;font-family:sans-serif}.login-card{width:350px;padding:40px;border-radius:18px;background:#ffffff0f;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #00000059,inset 0 1px #ffffff0d;display:flex;flex-direction:column;gap:18px}.login-title{color:#fff;text-align:center}.login-input{padding:14px;border-radius:10px;border:none;outline:none;font-size:15px}.login-button{padding:14px;border-radius:10px;border:none;font-weight:700;background:linear-gradient(45deg,#3b82f6,#06b6d4);color:#fff;cursor:pointer}.login-message.success{color:#22c55e;text-align:center}.login-message.error{color:#ef4444;text-align:center}.input-group{position:relative;display:flex;align-items:center}.input-group input{width:100%;padding:14px 14px 14px 45px;border-radius:10px;border:none;outline:none;font-size:15px;background:#ffffff14;color:#fff}.input-group input::placeholder{color:#fff9}.input-icon{position:absolute;left:14px;color:#fff9;pointer-events:none}
