/* Innovate Community — harmonisation ciblée des pages Services FR */

/* Curseur personnalisé noir, sans halo ni liseré blanc. */
html body.page-service .ic-fluo-cursor-final,
html body.page-service #fluo-cursor,
html body.page-service .fluo-cursor,
html body.page-service .cursor-dot{
  background:#111111 !important;
  background-color:#111111 !important;
  border:0 !important;
  border-color:#111111 !important;
  box-shadow:none !important;
  filter:none !important;
}
html body.page-service .ic-fluo-cursor-final::before,
html body.page-service .ic-fluo-cursor-final::after,
html body.page-service #fluo-cursor::before,
html body.page-service #fluo-cursor::after{
  background:#111111 !important;
  background-color:#111111 !important;
  border-color:#111111 !important;
  box-shadow:none !important;
}

/* Les éléments de l'ancienne navigation sont supprimés du flux même si un cache les réinjecte. */
html body.page-service main.wrap .arrow,
html body.page-service main.wrap .time,
html body.page-service main.wrap .topline,
html body.page-service main.wrap .controls,
html body.page-service main.wrap .counter,
html body.page-service .service-page-actions,
html body.page-service .news-tool-panel .news-tool-all{
  display:none !important;
}

/* Composition du hero : même langage visuel, alignements plus nets. */
@media (min-width:901px){
  html body.page-service main.wrap{
    min-height:auto !important;
    align-items:start !important;
  }
  html body.page-service main.wrap > .left{
    padding:150px 26px 78px !important;
  }
  html body.page-service main.wrap > .left .visual{
    height:min(68vh,720px) !important;
    min-height:540px !important;
  }
  html body.page-service main.wrap > .right{
    justify-content:flex-start !important;
    padding:150px 52px 86px 80px !important;
  }
  html body.page-service main.wrap .quote{
    max-width:18ch !important;
    margin:0 0 34px !important;
    font-size:clamp(46px,3.75vw,68px) !important;
    line-height:1.035 !important;
    letter-spacing:-.055em !important;
  }
  html body.page-service main.wrap .copy{
    display:block !important;
    max-width:760px !important;
    margin:0 !important;
    font-size:clamp(19px,1.34vw,25px) !important;
    line-height:1.32 !important;
  }
}

/* Navigation claire et discrète. */
html body.page-service .service-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 42px;
  color:rgba(17,17,17,.58);
  font-family:"Space Grotesk",Arial,sans-serif;
  font-size:11px;
  font-weight:650;
  line-height:1.2;
  letter-spacing:.11em;
  text-transform:uppercase;
}
html body.page-service .service-breadcrumb a{
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.25em;
}
html body.page-service .service-breadcrumb a:hover,
html body.page-service .service-breadcrumb a:focus-visible{
  color:#6f8f00 !important;
  -webkit-text-fill-color:#6f8f00 !important;
  outline:none;
}
html body.page-service .service-breadcrumb [aria-current="page"]{
  color:rgba(17,17,17,.58);
}

/* Le nom du service conserve l'accent fluo demandé. */
html body.page-service main.wrap .right .label,
html body.page-service main.wrap .right .label *{
  color:#6f8f00 !important;
  -webkit-text-fill-color:#6f8f00 !important;
}
html body.page-service main.wrap .right .label{
  margin:0 0 22px !important;
}

/* Bloc Idéal pour et unique bouton de continuation. */
html body.page-service .service-offer-intro{
  width:min(760px,100%) !important;
  margin:32px 0 0 !important;
  padding:22px 0 0 !important;
  border-top:1px solid rgba(17,17,17,.18) !important;
}
html body.page-service .service-offer-intro p,
html body.page-service .service-offer-intro strong{
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
}
html body.page-service .service-offer-intro p{
  margin:0 !important;
  font-size:clamp(18px,1.2vw,22px) !important;
  line-height:1.3 !important;
}
html body.page-service .service-offer-intro-label{
  display:block !important;
  margin:0 0 8px !important;
  color:#6f8f00 !important;
  -webkit-text-fill-color:#6f8f00 !important;
}
html body.page-service .service-next-button{
  width:min(430px,100%);
  min-height:58px;
  margin-top:24px;
  padding:13px 16px 13px 20px;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:"eyebrow arrow" "name arrow";
  align-items:center;
  column-gap:20px;
  border:1px solid rgba(17,17,17,.34);
  border-radius:999px;
  background:transparent;
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
  font-family:"Space Grotesk",Arial,sans-serif;
  transition:background .22s ease,border-color .22s ease,transform .22s ease;
}
html body.page-service .service-next-button__eyebrow{
  grid-area:eyebrow;
  font-size:10px;
  font-weight:650;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.58;
}
html body.page-service .service-next-button strong{
  grid-area:name;
  margin-top:2px;
  font-size:16px;
  font-weight:600;
  letter-spacing:-.02em;
}
html body.page-service .service-next-button__arrow{
  grid-area:arrow;
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:1px solid rgba(17,17,17,.22);
  font-size:18px;
}
html body.page-service .service-next-button:hover,
html body.page-service .service-next-button:focus-visible{
  background:#ccff00;
  border-color:#ccff00;
  transform:translateY(-1px);
  outline:none;
}
html body.page-service .service-next-button:hover *,
html body.page-service .service-next-button:focus-visible *{
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
}

/* Parlons-en : jaune fluo au survol, texte et smiley noirs. */
html body.page-service a.ic-talk-button:hover,
html body.page-service a.ic-talk-button:focus-visible,
html body.page-service a.ic-talk-button.is-visible:hover,
html body.page-service a.ic-talk-button.is-visible:focus-visible{
  background:#ccff00 !important;
  background-color:#ccff00 !important;
  border-color:#ccff00 !important;
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
}
html body.page-service a.ic-talk-button:hover .ic-talk-button__label,
html body.page-service a.ic-talk-button:hover .ic-talk-button__icon,
html body.page-service a.ic-talk-button:focus-visible .ic-talk-button__label,
html body.page-service a.ic-talk-button:focus-visible .ic-talk-button__icon,
html body.page-service a.ic-talk-button.is-visible:hover .ic-talk-button__label,
html body.page-service a.ic-talk-button.is-visible:hover .ic-talk-button__icon,
html body.page-service a.ic-talk-button.is-visible:focus-visible .ic-talk-button__label,
html body.page-service a.ic-talk-button.is-visible:focus-visible .ic-talk-button__icon{
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
}

@media (max-width:1180px) and (min-width:901px){
  html body.page-service main.wrap > .right{
    padding-left:54px !important;
    padding-right:36px !important;
  }
  html body.page-service main.wrap .quote{
    max-width:17ch !important;
    font-size:clamp(42px,4vw,56px) !important;
  }
}

@media (max-width:900px){
  html body.page-service main.wrap > .left{
    padding:28px 18px 0 !important;
  }
  html body.page-service main.wrap > .left .visual{
    height:50vh !important;
    min-height:340px !important;
  }
  html body.page-service main.wrap > .right{
    padding:48px 24px 72px !important;
  }
  html body.page-service .service-breadcrumb{
    margin-bottom:30px;
  }
  html body.page-service main.wrap .right .label{
    margin-bottom:18px !important;
  }
  html body.page-service main.wrap .quote{
    max-width:none !important;
    margin-bottom:28px !important;
    font-size:clamp(38px,10vw,54px) !important;
    line-height:1.04 !important;
  }
  html body.page-service main.wrap .copy{
    font-size:clamp(18px,5.1vw,23px) !important;
    line-height:1.34 !important;
  }
  html body.page-service .service-offer-intro{
    margin-top:28px !important;
  }
  html body.page-service .service-next-button{
    width:100%;
  }
}
