/* Trail des Buis — V91 / Résultats et Contact — art direction et qualité web. */
/* Dessins SVG décoratifs séparés des textes, pour préserver la netteté et l'accessibilité. */
body.page-results .results-page{
  background:linear-gradient(180deg,#f8f6ff 0%,#f1eaff 38%,#ffffff 84%,#f7f5ff 100%)!important;
}
body.page-results .results-page::before{
  background-image:url("assets/v91-results-contours.svg")!important;
  background-size:100% 475px!important;
  background-repeat:no-repeat!important;
  background-position:center 12px!important;
  opacity:.72!important;
}
body.page-results main{position:relative;isolation:isolate}
body.page-results main > .eyebrow{
  letter-spacing:.22em!important;
  color:#6e34e9!important;
}
body.page-results main > h1{
  letter-spacing:-.06em!important;
  text-wrap:balance;
}
body.page-results main > .subtitle{
  max-width:800px!important;
  line-height:1.55!important;
}
body.page-results .cards{
  gap:clamp(16px,1.75vw,28px)!important;
  align-items:stretch!important;
}
body.page-results .course-card{
  display:flex!important;
  flex-direction:column!important;
  border-radius:26px!important;
  background:#ffffff!important;
  border:1px solid rgba(91,65,174,.15)!important;
  box-shadow:0 22px 45px rgba(32,17,94,.105),0 3px 9px rgba(32,17,94,.045)!important;
}
body.page-results .card-photo{
  isolation:isolate;
  min-height:172px;
}
/* Subtle glass/rim light without overriding approved blue/violet/black artwork */
body.page-results .card-photo::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 45%,rgba(0,0,0,.09));
}
body.page-results .card-photo :is(h2,.distance,.challenge-badge){z-index:3!important}
body.page-results .course-card .stats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  padding:14px 14px 10px!important;
  gap:clamp(6px,.8vw,13px)!important;
}
body.page-results .course-card .stat{min-width:0!important;gap:8px!important}
body.page-results .course-card .stat > span:last-child{min-width:0!important}
body.page-results .course-card .stat :is(b,small){line-height:1.18!important}
body.page-results .result-button{
  margin-top:auto!important;
  white-space:normal!important;
  min-height:45px!important;
  letter-spacing:.035em!important;
}
body.page-results .strip{
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(108,76,194,.12)!important;
  box-shadow:0 16px 34px rgba(43,28,117,.075)!important;
  backdrop-filter:blur(7px);
}
body.page-results .strip-icon svg{stroke-width:1.65!important}

/* CONTACT : composition conservée, finition typographique et topographique plus éditoriale */
body.page-contact .screen{
  background:linear-gradient(150deg,#f8faff 0%,#f8f7ff 50%,#efebff 100%)!important;
}
body.page-contact .contact-intro{
  position:relative;isolation:isolate;overflow:hidden;
  padding-bottom:clamp(10px,1.2vw,22px);
}
body.page-contact .contact-intro::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  top:-45px;right:-6%;width:62%;height:240px;
  background:url("assets/v91-contact-contours.svg") center/cover no-repeat;
  opacity:.42;
  mask-image:linear-gradient(90deg,transparent,#000 30%,#000 85%,transparent);
}
body.page-contact .contact-intro h1{
  letter-spacing:-.055em!important;
  text-wrap:balance;
}
body.page-contact .contact-intro .intro{
  max-width:710px!important;
  line-height:1.55!important;
}
body.page-contact .contact-grid{gap:clamp(18px,2.2vw,36px)!important;align-items:stretch!important}
body.page-contact :is(.form-card,.contact-card){
  position:relative;isolation:isolate;overflow:hidden!important;
  background:linear-gradient(157deg,rgba(255,255,255,.985),rgba(252,251,255,.965))!important;
  border-radius:26px!important;
  border:1px solid rgba(109,73,191,.17)!important;
  box-shadow:0 23px 46px rgba(36,20,88,.085),0 3px 8px rgba(36,20,88,.035)!important;
}
body.page-contact :is(.form-card,.contact-card)::before{
  content:"";position:absolute;z-index:0;pointer-events:none;
  left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,#2868fa,#8c34ff 55%,transparent 100%);
}
body.page-contact :is(.form-card,.contact-card) > *{position:relative;z-index:1}
body.page-contact .form-card h2,
body.page-contact .contact-card h2{
  letter-spacing:-.035em!important;
  font-weight:850!important;
}
body.page-contact .field{
  font-weight:760!important;
  color:#1b2141!important;
}
body.page-contact .field :is(input,textarea){
  background:#faf9ff!important;
  border:1px solid #ddd8ee!important;
  border-radius:12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease!important;
}
body.page-contact .field :is(input,textarea):hover{border-color:#b6a5e2!important}
body.page-contact .field :is(input,textarea):focus{
  background:#fff!important;
  border-color:#7542ec!important;
  box-shadow:0 0 0 4px rgba(117,66,236,.115)!important;
  outline:0!important;
}
body.page-contact .field :is(input,textarea)::placeholder{color:#89859a!important}
body.page-contact .contact-line{padding-top:clamp(12px,1.25vw,20px)!important;padding-bottom:clamp(12px,1.25vw,20px)!important}
body.page-contact .contact-line i{
  border-radius:13px!important;
  color:#713af5!important;
  background:linear-gradient(145deg,#f2edff,#eae5ff)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 4px 10px rgba(83,45,169,.09)!important;
}
body.page-contact .contact-line i svg{stroke-width:1.8!important}
body.page-contact .contact-note{color:#6f6a86!important;line-height:1.55!important}
body.page-contact .form-card .primary{
  min-height:46px!important;
  padding:0 26px!important;
}
@media(max-width:900px){
  body.page-contact .contact-intro::after{width:76%;opacity:.22}
  body.page-results .course-card .stats{gap:8px!important}
}
@media(max-width:700px){
  body.page-contact .contact-intro::after{display:none}
  body.page-contact .contact-grid{grid-template-columns:1fr!important}
  body.page-results .cards{grid-template-columns:1fr!important}
  body.page-results .course-card .stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.page-results .course-card .stat .stat-icon{width:38px!important;height:38px!important;flex-basis:38px!important}
}
@media(max-width:390px){
  body.page-results .course-card .stats{grid-template-columns:1fr!important}
  body.page-results .course-card .stat{display:flex!important}
}
@media(prefers-reduced-motion:reduce){
  body.page-contact .field :is(input,textarea){transition:none!important}
}
