/* Trail des Buis V84 — design pass, safe page-scoped enhancements.
   All SVGs are vector, local, and intentionally share the same stroke vocabulary.
   Does NOT affect the validated V83 homepage. */
:where(.page-event,.page-courses,.page-info,.page-results,.page-contact) {
  --tdb-premium-accent:#783aff;
  --tdb-premium-ink:#111329;
  --tdb-premium-stroke:rgba(119,77,209,.14);
  --tdb-premium-shadow:0 12px 34px rgba(39,24,88,.09),0 2px 8px rgba(39,24,88,.035);
}
:where(.page-event,.page-courses,.page-info,.page-results,.page-contact) :is(a,button,input,textarea):focus-visible {
  outline:3px solid #aa6bff!important; outline-offset:3px;
}
:where(.page-event,.page-courses,.page-info,.page-results,.page-contact) :is(article,.card,.form-card,.contact-card){
  -webkit-font-smoothing:antialiased;
}
/* All modified pictograms use the same geometry and stroke scale. */
.page-event .history-grid .ico svg,
.page-info article.card > svg,
.page-info .facts .fact svg,
.page-contact .contact-line svg {
  display:block; overflow:visible;
  stroke-width:1.75!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  fill:none!important;
}
.page-courses .course-card .stats .stat i svg,
.page-results .course-card .stats .stat .stat-icon svg {
  display:block;
  width:28px!important;height:28px!important;
  stroke-width:1.75!important;stroke-linecap:round!important;stroke-linejoin:round!important;
  fill:none!important;
}
/* Cards retain their existing layout and color coding, but have richer material treatment. */
.page-event .history-grid article,
.page-courses article.course-card,
.page-info article.card,
.page-results article.course-card,
.page-contact :is(.form-card,.contact-card){
  box-shadow:var(--tdb-premium-shadow)!important;
  border:1px solid var(--tdb-premium-stroke)!important;
  transition:box-shadow .24s ease,transform .24s ease,border-color .24s ease;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
 .page-event .history-grid article:hover,
 .page-courses article.course-card:hover,
 .page-info article.card:hover,
 .page-results article.course-card:hover,
 .page-contact :is(.form-card,.contact-card):hover{
    transform:translateY(-3px);
    box-shadow:0 18px 44px rgba(39,24,88,.14),0 4px 12px rgba(39,24,88,.04)!important;
    border-color:rgba(143,87,239,.28)!important;
 }
}
/* Subtle specular detailing on the course covers, not additional imagery. */
.page-courses .course-card .course-top,
.page-results .course-card .card-photo{position:relative;isolation:isolate}
.page-courses .course-card .course-top::after,
.page-results .course-card .card-photo::after{
  content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 80% 0%,rgba(255,255,255,.14),transparent 56%);
}
.page-courses .course-card .profile {filter:drop-shadow(0 -1px 0 rgba(255,255,255,.55));}
.page-info article.card > svg,
.page-event .history-grid .ico svg {filter:drop-shadow(0 2px 2px rgba(105,49,202,.06));}
.page-info .tdb-accordion-trigger:focus-visible,
.page-courses a.course-link:focus-visible,
.page-contact .primary:focus-visible{outline:3px solid #9c6af4!important;outline-offset:3px}
@media (prefers-reduced-motion:reduce){
 .page-event .history-grid article,.page-courses article.course-card,.page-info article.card,.page-results article.course-card,.page-contact :is(.form-card,.contact-card){transition:none!important;transform:none!important}
}
