/* TRAIL DES BUIS — V20 / Modernisation éditoriale et graphique.
   Calque non destructif : tous les textes et composants HTML sont conservés. */
:root{--purple:#6d35ec;--violet:#6d35ec;--ink:#11172e;--navy:#11172e;--soft:#f6f7fb}
html{-webkit-text-size-adjust:100%}body{font-family:Inter,Arial,Helvetica,sans-serif!important;color:#11172e; -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.tdb-v20{background:#f7f8fc}
body.tdb-v20 :is(.screen,.results-page,.site){background-color:#f7f8fc}
body.tdb-v20 .screen{background-image:radial-gradient(ellipse 60% 80% at 95% 15%,#eae6ff 0%,transparent 66%),radial-gradient(ellipse 50% 55% at 0% 90%,#edf2ff 0%,transparent 72%),url('assets/v20-topo.svg');background-size:auto,auto,cover;background-position:center}
body.tdb-v20 :is(header,.header){background:rgba(255,255,255,.88);border-bottom:1px solid rgba(91,81,145,.1);box-shadow:0 8px 28px rgba(30,35,70,.035);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.tdb-v20 :is(.nav a,.header nav a,header nav a){letter-spacing:.045em;font-weight:750;transition:color .2s ease}
body.tdb-v20 :is(.nav a:hover,.header nav a:hover,header nav a:hover){color:#6d35ec}
body.tdb-v20 :is(.register,.inscrire,.primary){background:#6335e7;border-radius:12px;box-shadow:0 9px 22px rgba(87,49,204,.19);letter-spacing:.025em;transition:transform .18s,box-shadow .18s,background .18s}
body.tdb-v20 :is(.register,.inscrire,.primary):hover{background:#5426d5;transform:translateY(-2px);box-shadow:0 14px 28px rgba(87,49,204,.23)}
body.tdb-v20 :is(h1,h2,h3){text-wrap:balance}
body.tdb-v20 :is(h1){letter-spacing:-.052em;font-weight:850}
body.tdb-v20 :is(.eyebrow,.kicker){letter-spacing:.16em}
/* Modern editorial cards: fine stroke, deep navy, quiet elevation */
body.tdb-v20 :is(.course-card,.card,.form-card,.contact-card,.home-card,.result-card){border:1px solid rgba(68,66,112,.12)!important;border-radius:19px!important;box-shadow:0 16px 44px rgba(24,28,65,.075),0 2px 8px rgba(24,28,65,.025)!important;background-color:rgba(255,255,255,.97);transition:box-shadow .24s ease,transform .24s ease,border-color .24s ease}
body.tdb-v20 :is(.course-card,.card,.home-card,.result-card):hover{transform:translateY(-3px);border-color:rgba(109,53,236,.24)!important;box-shadow:0 23px 52px rgba(24,28,65,.11),0 2px 8px rgba(24,28,65,.03)!important}
body.tdb-v20 :is(.course-top,.card-photo){overflow:hidden}
body.tdb-v20 :is(.course-top,.card-photo)::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(130deg,rgba(255,255,255,.08),transparent 45%);z-index:1}
body.tdb-v20 .course-top .toptext{z-index:2}
body.tdb-v20 :is(.km,.smalltag,.distance,.challenge-badge){border-radius:9px!important;letter-spacing:.035em}
body.tdb-v20 :is(.course-link,.result-button,.form-card button){border-radius:11px!important;transition:background .2s,transform .2s,box-shadow .2s}
body.tdb-v20 :is(.course-link,.result-button,.form-card button):hover{transform:translateY(-1px)}
body.tdb-v20 :is(.stat,.fact){font-variant-numeric:tabular-nums}
body.tdb-v20 :is(.footfacts,.strip,.facts){background:rgba(255,255,255,.75);border-color:rgba(90,75,138,.12)}
body.tdb-v20 .footfacts>div{border-color:rgba(90,75,138,.13)}
body.tdb-v20 :is(.field input,.field textarea,input,textarea){font-family:inherit;border-radius:10px}
body.tdb-v20 :is(.field input,.field textarea,input,textarea):focus-visible{outline:2px solid #7b4ff2;outline-offset:2px}
/* Stronger visual design on each page, while keeping their content and layout */
body.page-home .home-panel-v12{border:1px solid rgba(255,255,255,.22);box-shadow:0 24px 55px rgba(8,15,38,.28);backdrop-filter:blur(16px);border-radius:18px}
body.page-home .home-cards :is(.home-card,[class^="hc-"]){border-radius:15px}
body.page-event .history{background:radial-gradient(ellipse at 50% 100%,#eeeaff,transparent 60%),#f8f9fd}
body.page-event .history article{border-color:#d7d2e9}
body.page-event .ico{background:#ebe7fb;box-shadow:none;border:1px solid #e0d9f6;border-radius:15px}
body.page-event .hero-shade{background:linear-gradient(90deg,rgba(4,13,33,.98) 0%,rgba(6,18,43,.93) 24%,rgba(7,19,42,.63) 48%,rgba(7,19,42,.08) 78%)}
body.page-courses .courses-hero{isolation:isolate}
body.page-courses .courses-hero:after{content:"";position:absolute;right:0;top:0;width:42%;height:95%;z-index:-1;background:radial-gradient(ellipse at 75% 40%,rgba(112,72,234,.13),transparent 75%);pointer-events:none}
body.page-courses .course-card .course-bottom{background:linear-gradient(160deg,#fff 65%,#fafaff)}
body.page-info .cards .card{background:linear-gradient(140deg,#fff 40%,#f9f8ff 100%)}
body.page-info .cards .card:nth-child(even){background:linear-gradient(145deg,#fff 35%,#f3f7ff 100%)}
body.page-results .results-page{background:radial-gradient(ellipse at 80% 8%,#eeeaff,transparent 55%),#f7f8fc}
body.page-results .results-page:before{opacity:.27}
body.page-results .course-card{background:#fff}
body.page-results .result-button{background:#f2effe;border-color:#ded6fc}
body.page-contact .form-card{background:linear-gradient(145deg,#fff,#fbfaff)}
body.page-contact .contact-note{color:#5d6280}
/* Cleaner photography edges: no upscaling effects */
body.tdb-v20 img{max-width:100%}
body.tdb-v20 svg{shape-rendering:geometricPrecision}
@media(max-width:900px){body.tdb-v20 :is(.course-card,.card,.form-card,.contact-card,.home-card){border-radius:16px!important}body.tdb-v20 .screen{background-size:auto,auto,auto 100%}}
@media(prefers-reduced-motion:reduce){body.tdb-v20 *,body.tdb-v20 *:before,body.tdb-v20 *:after{transition:none!important;animation:none!important}}
