/* V92 : harmonisation finale de l'interface, sans changer les identités visuelles validées.
   Scopée aux pages secondaires. Garde les illustrations V90/V91 et les couleurs V88. */
:root{--v92-outline:#8052ff;--v92-ink:#171a38;--v92-muted:#656581;--v92-hairline:rgba(103,72,177,.17)}
:where(body.page-event,body.page-courses,body.page-info,body.page-results,body.page-contact){
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
/* A11y: cible de clic visible et réglages cohérents. */
:where(body.page-event,body.page-courses,body.page-info,body.page-results,body.page-contact) :is(a,button,input,textarea,select):focus-visible{
  outline:3px solid var(--v92-outline)!important;outline-offset:3px!important;
}
:where(body.page-event,body.page-courses,body.page-info,body.page-results,body.page-contact) :is(.course-card,.card,.history-grid article,.form-card,.contact-card){min-width:0}
:where(body.page-event,body.page-courses,body.page-info,body.page-results,body.page-contact) :is(h1,h2,h3,p){overflow-wrap:break-word}
/* Les textes de la page Courses doivent rester visibles, y compris sur écrans moyens. */
body.page-courses .course-grid .course-card .course-top .tagrow{
  gap:clamp(5px,.45vw,8px)!important;
}
body.page-courses .course-grid .course-card .course-top .tagrow :is(.smalltag,.km){
  font-size:clamp(8px,.67vw,11px)!important;
  padding-inline:clamp(6px,.55vw,11px)!important;
  max-width:100%!important;
}
body.page-courses .course-grid .course-card .course-top .toptext{min-width:0!important}
body.page-courses .course-grid .course-card .course-top h2{line-height:1.08!important;hyphens:auto;max-width:100%!important}
body.page-courses .course-card .stat :is(strong,small),
body.page-results .course-card .stat :is(b,small){display:block!important;min-width:0!important}
/* Mise en cohérence des icônes statistiques : pas d'écrasement dans les cartes étroites. */
body.page-courses .course-card .stats .stat i,
body.page-results .course-card .stats .stat-icon{flex-shrink:0!important}
body.page-results .course-card .stats .stat{
  min-width:0!important;align-items:center!important;
}
body.page-results .course-card .stats .stat > span:last-child{min-width:0!important;overflow-wrap:anywhere}
body.page-results .course-card .stats .stat small{color:var(--v92-muted)!important}
body.page-courses .course-card .course-link,
body.page-results .course-card .result-button,
body.page-contact .form-card .primary{
  -webkit-tap-highlight-color:transparent;
  text-align:center;line-height:1.25!important;
}
body.page-results .course-card .result-button{min-height:46px!important}
/* Bloc Contact : libellés et notes lisibles */
body.page-contact .field input,
body.page-contact .field textarea{width:100%;max-width:100%;min-width:0}
body.page-contact .contact-line{min-width:0}
body.page-contact .contact-line :is(p,span,a){overflow-wrap:anywhere}
/* Hiérarchie commune des pictogrammes : dessin vectoriel net, sans modifier leur sens. */
:where(body.page-event,body.page-courses,body.page-info,body.page-results,body.page-contact) :is(.stat-icon svg,.stat i svg,.strip-icon svg,.contact-line svg,.history-grid .ico svg){
  stroke-linecap:round!important;stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke;
}
@media(min-width:680px) and (max-width:1170px){
  body.page-courses .course-grid .course-card .course-top .tagrow{flex-wrap:wrap!important}
  body.page-courses .course-grid .course-card .course-top .tagrow .smalltag:last-child{margin-left:0!important}
  body.page-courses .course-grid .course-card .course-top h2{font-size:clamp(20px,2vw,29px)!important}
  body.page-courses .course-grid .course-card .stat i,
  body.page-results .course-card .stats .stat-icon{width:38px!important;height:38px!important;flex-basis:38px!important}
  body.page-results .course-card .stats{gap:4px!important}
}
@media(max-width:680px){
  body.page-courses .course-grid .course-card .course-top .tagrow{flex-wrap:wrap!important}
  body.page-courses .course-grid .course-card .course-top .tagrow .smalltag:last-child{margin-left:0!important}
  body.page-results .course-card .stats{gap:10px!important}
  body.page-info .cards .tdb-accordion,
  body.page-contact :is(.form-card,.contact-card){max-width:100%}
}
@media(max-width:420px){
  body.page-courses .course-card .stats .stat i,
  body.page-results .course-card .stats .stat-icon{width:36px!important;height:36px!important;flex-basis:36px!important}
  body.page-courses .course-grid .course-card .course-top .tagrow :is(.smalltag,.km){font-size:9px!important}
  body.page-courses .course-card .course-link,
  body.page-results .course-card .result-button{font-size:12px!important}
}
@media(hover:none){
  :where(body.page-event,body.page-courses,body.page-info,body.page-results,body.page-contact) :is(.course-card,.history-grid article,.form-card,.contact-card):hover{transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  :where(body.page-event,body.page-courses,body.page-info,body.page-results,body.page-contact) *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}
