/* Trail des Buis — V48 : finition transversale, sans changement de composition. */
:root{--tdb-focus:#7040fa;--tdb-ink:#101833}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-synthesis:none}
/* Lisibilité et finesse des éléments interactifs */
a,button,input,textarea{ -webkit-tap-highlight-color:transparent }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--tdb-focus)!important;outline-offset:4px!important}
button,a.register{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.6}
header .brand svg,header .social svg{flex-shrink:0}
header .nav a{transition:color .18s ease,opacity .18s ease}
header .nav a:hover{color:#7138f8}
header .register{transition:box-shadow .2s ease,transform .2s ease,filter .2s ease;box-shadow:0 9px 23px rgba(87,42,211,.15)}
header .register:hover{transform:translateY(-1px);filter:brightness(1.045);box-shadow:0 12px 28px rgba(87,42,211,.23)}
/* Surfaces blanches : bords nets et ombrage subtil, sans modifier leurs dimensions */
body.page-info .cards .card,body.page-info .fact{backdrop-filter:saturate(1.04)}
body.page-info .cards .card:hover{border-color:rgba(120,77,242,.37)!important}
body.page-contact .form-card,body.page-contact .contact-card{box-shadow:0 14px 38px rgba(39,26,95,.10),0 2px 7px rgba(39,26,95,.035)!important}
body.page-contact .field input,body.page-contact .field textarea{transition:border-color .18s ease,box-shadow .18s ease;background-color:rgba(255,255,255,.9)}
body.page-contact .field input:focus,body.page-contact .field textarea:focus{border-color:#966ef7!important;box-shadow:0 0 0 4px rgba(113,56,248,.09)!important;outline:none!important}
body.page-contact .field input:focus-visible,body.page-contact .field textarea:focus-visible{outline:2px solid #7040fa!important;outline-offset:1px!important}
body.page-contact .contact-line{transition:background-color .2s ease}
/* Petites corrections d'ergonomie */
body.page-courses .footfacts.v39-facts .v39-fact,body.page-info .fact{min-width:0}
body.page-courses .footfacts.v39-facts .v39-fact strong,body.page-courses .footfacts.v39-facts .v39-fact small{overflow-wrap:break-word}
@media(max-width:740px){
 header .register{white-space:nowrap}
 body.page-contact .contact-grid{min-width:0}
 body.page-info .cards .card{transition:none}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
 header .register:hover,body.page-info .cards .card:hover{transform:none!important}
}
