
:root{
  --tdb-deep:#070915;
  --tdb-deep-2:#0b1027;
  --tdb-blue:#2c66ff;
  --tdb-blue-soft:#7db0ff;
  --tdb-violet:#8b2cff;
  --tdb-violet-soft:#d0b3ff;
  --tdb-white:#ffffff;
  --tdb-border:#e7def6;
  --tdb-shadow:0 18px 45px rgba(14,10,35,.10),0 4px 12px rgba(14,10,35,.06);
  --tdb-shadow-strong:0 20px 50px rgba(8,10,28,.16),0 8px 24px rgba(8,10,28,.10);
}

/* COURSES + RESULTATS : montée en gamme des cartes */
.page-courses .course-card,
.page-results .course-card{
  border:1px solid rgba(132,102,214,.18)!important;
  border-radius:26px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:var(--tdb-shadow)!important;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
  backdrop-filter:blur(6px);
}
.page-courses .course-card:hover,
.page-results .course-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--tdb-shadow-strong)!important;
  border-color:rgba(109,74,226,.36)!important;
}

.page-courses .course-top,
.page-results .card-photo{
  position:relative;
  overflow:hidden;
}
.page-courses .course-top::before,
.page-results .card-photo::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(110% 95% at 88% 18%, rgba(255,255,255,.20) 0%, rgba(255,255,255,0) 48%),
    radial-gradient(72% 60% at 16% 100%, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 58%),
    repeating-linear-gradient(-8deg, rgba(255,255,255,.09) 0 1px, rgba(255,255,255,0) 1px 12px);
  opacity:.95;
  pointer-events:none;
}
.page-courses .course-top::after,
.page-results .card-photo::after{
  content:"";
  position:absolute;
  left:-6%; right:-6%; bottom:20%; height:3px;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.88) 16%, rgba(218,118,255,.88) 52%, rgba(255,255,255,0) 100%);
  box-shadow:0 0 16px rgba(187,84,255,.45),0 0 30px rgba(96,103,255,.20);
  border-radius:999px;
  transform:rotate(-3deg);
  pointer-events:none;
}

.page-courses .course-card.green .course-top,
.page-results .course-card.green .card-photo{
  background:linear-gradient(135deg, #071023 0%, #0d1b52 44%, #2562ff 100%)!important;
}
.page-courses .course-card.blue .course-top,
.page-results .course-card.blue .card-photo{
  background:linear-gradient(135deg, #090b22 0%, #1f1660 44%, #812cff 100%)!important;
}
.page-courses .course-card.pink .course-top,
.page-results .course-card.pink .card-photo{
  background:linear-gradient(135deg, #04050b 0%, #151129 42%, #5a22f2 72%, #9b2dff 100%)!important;
}

.page-courses .course-card h2,
.page-results .course-card h2{
  position:relative; z-index:2;
  color:#fff!important;
  font-weight:900!important;
  letter-spacing:-.03em;
  text-shadow:0 2px 18px rgba(0,0,0,.22);
}
.page-courses .course-card .km,
.page-results .course-card .distance{
  background:rgba(255,255,255,.92)!important;
  color:#0c1230!important;
  border:1px solid rgba(255,255,255,.92)!important;
  box-shadow:0 8px 18px rgba(8,10,28,.12);
}
.page-courses .course-card .smalltag,
.page-results .challenge-badge{
  background:rgba(255,255,255,.92)!important;
  color:#171934!important;
  border:1px solid rgba(255,255,255,.60)!important;
  box-shadow:0 7px 18px rgba(8,10,28,.10);
}
.page-courses .course-card .challenge,
.page-results .challenge-badge{
  color:#fff!important;
  background:linear-gradient(135deg,#7a30ff,#aa25ff)!important;
  border-color:transparent!important;
}
.page-courses .challenge-sub{
  color:#efe8ff!important;
  opacity:.95;
  font-weight:800;
  letter-spacing:.06em;
}

.page-courses .course-bottom,
.page-results .stats{
  background:linear-gradient(180deg,#ffffff 0%, #fcfaff 100%)!important;
}
.page-courses .stat,
.page-results .stat{
  gap:12px!important;
}
.page-courses .stat i,
.page-results .stat-icon{
  width:42px!important; height:42px!important;
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  border-radius:14px!important;
  background:linear-gradient(180deg, #f7f2ff 0%, #f1eaff 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(139,44,255,.10);
}
.page-courses .course-card.green .stat i,
.page-results .course-card.green .stat-icon{color:#2c66ff!important}
.page-courses .course-card.blue .stat i,
.page-results .course-card.blue .stat-icon{color:#7d32ff!important}
.page-courses .course-card.pink .stat i,
.page-results .course-card.pink .stat-icon{color:#6a25f6!important}
.page-courses .stat i svg,
.page-results .stat-icon svg{
  width:23px!important; height:23px!important;
  stroke-width:1.9!important;
}
.page-courses .profile{filter:drop-shadow(0 8px 18px rgba(104,70,224,.10));}
.page-courses .course-card.green .profile path:first-child{fill:rgba(115,167,255,.32)!important}
.page-courses .course-card.green .profile path:last-child{stroke:#73a7ff!important}
.page-courses .course-card.blue .profile path:first-child{fill:rgba(181,137,255,.28)!important}
.page-courses .course-card.blue .profile path:last-child{stroke:#b589ff!important}
.page-courses .course-card.pink .profile path:first-child{fill:rgba(178,142,255,.26)!important}
.page-courses .course-card.pink .profile path:last-child{stroke:#a778ff!important}

.page-courses .departure,
.page-results .stat small,
.page-courses .stat small{
  color:#746d89!important;
}
.page-courses .course-link,
.page-results .result-button,
.page-courses .primary,
.page-courses .register,
.page-results .register,
.page-courses .register,
.page-results .primary,
.page-contact .primary,
.page-courses .result-button,
.page-contact .register,
.page-results .primary,
.page-results .course-link,
.page-contact .course-link,
.page-contact .result-button,
.page-contact .register,
.page-courses .primary,
.page-courses .course-link,
.page-results .result-button,
.page-results .register,
.page-results .primary,
.page-courses .result-button,
.page-courses .register,
.page-courses .primary,
.page-courses .course-link,
.page-results .result-button,
.page-results .register,
.page-results .primary,
.page-contact .primary,
.page-contact .register,
.page-courses .register,
.page-results .register,
.page-contact .register,
.page-courses .primary,
.page-results .primary,
.page-contact .primary{
  background:linear-gradient(135deg,#842bff 0%,#5d23f0 58%,#2e64ff 100%)!important;
  color:#fff!important;
  border:1px solid rgba(93,35,240,.18)!important;
  border-radius:16px!important;
  box-shadow:0 12px 26px rgba(93,35,240,.20)!important;
}
.page-courses .course-link,
.page-results .result-button,
.page-courses .primary{height:auto!important}
.page-courses .course-link:hover,
.page-results .result-button:hover,
.page-courses .primary:hover,
.page-courses .register:hover,
.page-results .register:hover{
  filter:brightness(1.05);
  box-shadow:0 16px 34px rgba(93,35,240,.28)!important;
}

.page-results .result-button{
  margin:10px 14px 16px!important;
  width:calc(100% - 28px)!important;
}
.page-results .strip{
  border:1px solid rgba(132,102,214,.16)!important;
  border-radius:24px!important;
  box-shadow:var(--tdb-shadow)!important;
}

/* PARCOURS : palette alignée site + suppressions des noms 14/28 */
.page-courses .parcours-art,
.parcours-art{
  box-shadow:var(--tdb-shadow-strong)!important;
  border:1px solid rgba(255,255,255,.07)!important;
}
.parcours-art-14{background:linear-gradient(140deg,#071023 0%,#0d1b52 46%,#2562ff 100%)!important}
.parcours-art-28{background:linear-gradient(140deg,#090b22 0%,#241461 46%,#8b2cff 100%)!important}
.parcours-art-42{background:linear-gradient(140deg,#04050b 0%,#151129 44%,#5c24f2 76%,#8b2cff 100%)!important}
.parcours-art-center strong,
.parcours-art-center .parcours-art-name,
.parcours-art-category,
.parcours-art-top,
.parcours-art-bottom{color:#fff!important}
.parcours-art-14 .parcours-art-name,
.parcours-art-28 .parcours-art-name{opacity:.92; font-weight:800; letter-spacing:.08em; text-transform:uppercase}
.parcours-art-42 .parcours-art-name{opacity:1}
.page-courses .content .primary,
.page-courses .content .register,
.page-courses .content .course-link{font-weight:800!important}

@media(max-width:950px){
  .page-courses .course-card,
  .page-results .course-card{border-radius:22px!important}
}
