/*
 * PRATINIUM v496 — hero homepage desktop stability fix.
 * Objectif : supprimer tout glissement visible du groupe de contenus gauche
 * au rafraîchissement en chargeant l'état final directement dans le <head>.
 * Cette feuille remplace les correctifs inline v492-v495 afin d'éviter le
 * décalage perceptible entre l'état initial et l'état stabilisé.
 */

@media (hover:hover) and (pointer:fine) {
  html body#index .pf-hero__copy {
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    overflow:visible!important;
  }

  html body#index .pf-hero__copy-lock {
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:0 clamp(6px,1.2vw,18px)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    text-align:center!important;
    transform:translateX(clamp(-32px,-1.75vw,-20px))!important;
    transform-origin:center center!important;
    overflow:visible!important;
    animation:none!important;
    transition:none!important;
    will-change:auto!important;
  }

  html body#index .pf-hero__copy-lock .pf-hero__title,
  html body#index .pf-hero h1.pf-hero__title {
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:min(620px,96%)!important;
    margin:0 auto clamp(10px,1vw,16px)!important;
    padding:0!important;
    font-size:clamp(36px,3.05vw,52px)!important;
    line-height:.94!important;
    letter-spacing:-.052em!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }

  html body#index .pf-hero__title-line {
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
    padding:0!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  html body#index .pf-hero__copy-lock .pf-hero__title::after,
  html body#index .pf-hero__copy-lock .pf-hero__title:after,
  html body#index .pf-hero h1.pf-hero__title::after,
  html body#index .pf-hero h1.pf-hero__title:after {
    display:block!important;
    width:clamp(190px,44%,300px)!important;
    max-width:60%!important;
    height:3px!important;
    margin:clamp(14px,1.15vw,20px) auto 0!important;
  }

  html body#index .pf-hero__copy-lock .pf-hero__subtitle {
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:min(620px,96%)!important;
    margin:0 auto!important;
    padding:0!important;
    text-align:center!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }

  html body#index .pf-hero__copy-lock .pf-hero__subtitle::after,
  html body#index .pf-hero__copy-lock .pf-hero__subtitle:after {
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:clamp(7px,.75vw,10px) auto 0!important;
    padding:0!important;
    font-size:clamp(10px,.88vw,15px)!important;
    line-height:1.3!important;
    white-space:nowrap!important;
    text-align:center!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }

  html body#index .pf-hero__copy-lock .pf-hero__badge {
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:clamp(100px,7vw,120px)!important;
    min-width:0!important;
    max-width:120px!important;
    height:clamp(78px,5.4vw,92px)!important;
    min-height:0!important;
    max-height:92px!important;
    margin:clamp(12px,1.15vw,20px) auto 0!important;
    padding:0!important;
    align-self:center!important;
    flex:0 0 auto!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }
}

@media (hover:hover) and (pointer:fine) and (max-width:1180px) {
  html body#index .pf-hero__copy-lock {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding-left:4px!important;
    padding-right:4px!important;
    transform:translateX(clamp(-24px,-1.35vw,-14px))!important;
  }

  html body#index .pf-hero__copy-lock .pf-hero__title,
  html body#index .pf-hero h1.pf-hero__title {
    max-width:94%!important;
    font-size:clamp(31px,3.55vw,42px)!important;
  }

  html body#index .pf-hero__copy-lock .pf-hero__subtitle,
  html body#index .pf-hero__copy-lock .pf-hero__subtitle::after,
  html body#index .pf-hero__copy-lock .pf-hero__subtitle:after {
    max-width:94%!important;
  }

  html body#index .pf-hero__copy-lock .pf-hero__subtitle::after,
  html body#index .pf-hero__copy-lock .pf-hero__subtitle:after {
    font-size:clamp(9px,.95vw,12px)!important;
  }
}

/* Sur les vrais écrans tactiles, on conserve la composition responsive native. */
@media (hover:none), (pointer:coarse) {
  html body#index .pf-hero__copy-lock {
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    max-width:680px!important;
    min-width:0!important;
    margin:0 auto!important;
    transform:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    animation:none!important;
    transition:none!important;
  }

  html body#index .pf-hero__title-line {
    display:inline!important;
    white-space:normal!important;
  }

  html body#index .pf-hero__title-line + .pf-hero__title-line::before {
    content:" "!important;
  }
}
