/*
 * PRATINIUM v448 — verrouillage du header d'accueil pendant le zoom navigateur.
 * Base v447 conservée. Le correctif agit uniquement sur les postes à pointeur
 * fin afin qu'un zoom navigateur ne déclenche plus une fausse mise en page
 * tablette/mobile.
 */
@media (hover:hover) and (pointer:fine) {
  html body#index #header,
  html body#index #header.pf-header-v417-reference-single {
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding-left:5px!important;
    padding-right:5px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single {
    --pf-v448-logo-x:48px;
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single > .header-top,
  html body#index #header .pf-header-stack-v417--reference-single > .header-top.pf-header-top-global {
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:12px 0 10px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single > .header-top > .container,
  html body#index #header .pf-header-stack-v417--reference-single > .header-top.pf-header-top-global > .container {
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:82px!important;
    height:82px!important;
    max-height:82px!important;
    margin:0!important;
    padding:0 clamp(12px,1.45vw,20px)!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  /* Une seule rangée stable. Le centreline reste ancré à droite, comme dans
     la référence 100 %, au lieu de changer de grille à 110/125 %. */
  html body#index #header .pf-header-stack-v417--reference-single .pf-header-row-global,
  html body#index #header .pf-header-stack-v417--reference-single .header-top .container .row.pf-header-row-global {
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:80px!important;
    height:80px!important;
    max-height:80px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  /* Logo : on conserve son décalage horizontal de la variante desktop mais on
     verrouille sa boîte à 80 px et son centrage vertical. */
  html body#index #header .pf-header-stack-v417--reference-single #_desktop_logo,
  html body#index #header .pf-header-stack-v417--reference-single .pf-header-logo-global {
    position:relative!important;
    inset:auto!important;
    left:var(--pf-v448-logo-x)!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:clamp(150px,17vw,280px)!important;
    min-width:0!important;
    max-width:280px!important;
    min-height:80px!important;
    height:80px!important;
    max-height:80px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    transform:none!important;
    translate:none!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single #_desktop_logo h1,
  html body#index #header .pf-header-stack-v417--reference-single #_desktop_logo > a,
  html body#index #header .pf-header-stack-v417--reference-single #_desktop_logo a.logo,
  html body#index #header .pf-header-stack-v417--reference-single .pf-header-logo-global h1,
  html body#index #header .pf-header-stack-v417--reference-single .pf-header-logo-global > a,
  html body#index #header .pf-header-stack-v417--reference-single .pf-header-logo-global a.logo {
    position:static!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:80px!important;
    height:80px!important;
    max-height:80px!important;
    margin:0!important;
    padding:0!important;
    line-height:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    transform:none!important;
    translate:none!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single #_desktop_logo img,
  html body#index #header .pf-header-stack-v417--reference-single #_desktop_logo img.logo,
  html body#index #header .pf-header-stack-v417--reference-single .pf-header-logo-global img,
  html body#index #header .pf-header-stack-v417--reference-single .pf-header-logo-global img.logo,
  html body#index #header .pf-header-stack-v417--reference-single .header-top a.logo img {
    position:static!important;
    inset:auto!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    max-width:clamp(112px,13.8vw,220px)!important;
    max-height:62px!important;
    margin:auto!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:50% 50%!important;
    transform:none!important;
    translate:none!important;
  }

  /* CTA + recherche : ancrage droit invariant, pas de retour à la ligne. */
  html body#index #header .pf-header-stack-v417--reference-single .pf-header-centerline {
    position:absolute!important;
    z-index:40!important;
    left:auto!important;
    right:clamp(10px,1.35vw,20px)!important;
    top:50%!important;
    bottom:auto!important;
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:clamp(6px,.85vw,16px)!important;
    width:auto!important;
    min-width:0!important;
    max-width:calc(100% - clamp(185px,24vw,430px))!important;
    min-height:0!important;
    height:auto!important;
    max-height:80px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
    transform:translateY(-50%)!important;
    translate:none!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single .pf-header-ctas {
    position:static!important;
    display:flex!important;
    flex:0 0 auto!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:clamp(4px,.55vw,10px)!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    white-space:nowrap!important;
    transform:none!important;
    translate:none!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single .pf-header-ctas .pf-btn,
  html body#index #header .pf-header-stack-v417--reference-single .pf-header-centerline .pf-btn {
    position:static!important;
    display:inline-flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:clamp(64px,7.65vw,126px)!important;
    max-width:none!important;
    min-height:clamp(36px,3.05vw,44px)!important;
    height:clamp(36px,3.05vw,44px)!important;
    max-height:44px!important;
    margin:0!important;
    padding:0 clamp(7px,1.15vw,22px)!important;
    border-radius:999px!important;
    font-size:clamp(10px,.9vw,15px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    box-sizing:border-box!important;
    transform:none!important;
    translate:none!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single #search_widget,
  html body#index #header .pf-header-stack-v417--reference-single #_desktop_search,
  html body#index #header .pf-header-stack-v417--reference-single .search-widget {
    position:relative!important;
    inset:auto!important;
    display:block!important;
    flex:0 1 clamp(132px,24vw,420px)!important;
    width:clamp(132px,24vw,420px)!important;
    min-width:132px!important;
    max-width:420px!important;
    min-height:clamp(38px,3.15vw,46px)!important;
    height:clamp(38px,3.15vw,46px)!important;
    max-height:46px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
    transform:none!important;
    translate:none!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single #search_widget form,
  html body#index #header .pf-header-stack-v417--reference-single #_desktop_search form,
  html body#index #header .pf-header-stack-v417--reference-single .search-widget form {
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:clamp(38px,3.15vw,46px)!important;
    height:clamp(38px,3.15vw,46px)!important;
    max-height:46px!important;
    margin:0!important;
    padding:0!important;
    border-radius:999px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    transform:none!important;
    translate:none!important;
  }

  /* Neutralise les pseudo-icônes historiques : elles entraient en conflit avec
     les icônes natives de ps_searchbar lorsque la largeur changeait. */
  html body#index #header .pf-header-stack-v417--reference-single #search_widget form::before,
  html body#index #header .pf-header-stack-v417--reference-single #search_widget form::after,
  html body#index #header .pf-header-stack-v417--reference-single .search-widget form::before,
  html body#index #header .pf-header-stack-v417--reference-single .search-widget form::after {
    content:none!important;
    display:none!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single #search_widget input[type="text"],
  html body#index #header .pf-header-stack-v417--reference-single #search_widget input[type="search"],
  html body#index #header .pf-header-stack-v417--reference-single #_desktop_search input[type="text"],
  html body#index #header .pf-header-stack-v417--reference-single #_desktop_search input[type="search"],
  html body#index #header .pf-header-stack-v417--reference-single .search-widget input[type="text"],
  html body#index #header .pf-header-stack-v417--reference-single .search-widget input[type="search"] {
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:clamp(38px,3.15vw,46px)!important;
    height:clamp(38px,3.15vw,46px)!important;
    max-height:46px!important;
    margin:0!important;
    padding:0 clamp(32px,3vw,48px) 0 clamp(34px,3.2vw,54px)!important;
    border-radius:999px!important;
    font-size:clamp(10px,.9vw,15px)!important;
    line-height:clamp(38px,3.15vw,46px)!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    transform:none!important;
    translate:none!important;
  }

  /* Loupe native : bouton ou icône directe selon la version du module. */
  html body#index #header .pf-header-stack-v417--reference-single #search_widget form > button[type="submit"],
  html body#index #header .pf-header-stack-v417--reference-single .search-widget form > button[type="submit"] {
    position:absolute!important;
    z-index:4!important;
    left:clamp(9px,1.05vw,16px)!important;
    right:auto!important;
    top:50%!important;
    bottom:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:clamp(22px,2vw,30px)!important;
    min-width:clamp(22px,2vw,30px)!important;
    height:clamp(22px,2vw,30px)!important;
    min-height:clamp(22px,2vw,30px)!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(-50%)!important;
    translate:none!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single #search_widget form > button[type="submit"] .search,
  html body#index #header .pf-header-stack-v417--reference-single .search-widget form > button[type="submit"] .search {
    position:static!important;
    inset:auto!important;
    display:block!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(19px,1.8vw,25px)!important;
    line-height:1!important;
    transform:none!important;
    translate:none!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single #search_widget form > .search,
  html body#index #header .pf-header-stack-v417--reference-single .search-widget form > .search {
    position:absolute!important;
    z-index:4!important;
    left:clamp(11px,1.15vw,18px)!important;
    right:auto!important;
    top:50%!important;
    bottom:auto!important;
    display:block!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(19px,1.8vw,25px)!important;
    line-height:1!important;
    transform:translateY(-50%)!important;
    translate:none!important;
  }

  /* X/clear : toujours verticalement centré et contenu dans la capsule. */
  html body#index #header .pf-header-stack-v417--reference-single #search_widget form > .clear,
  html body#index #header .pf-header-stack-v417--reference-single .search-widget form > .clear {
    position:absolute!important;
    z-index:5!important;
    left:auto!important;
    right:clamp(9px,1.1vw,17px)!important;
    top:50%!important;
    bottom:auto!important;
    display:block!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(19px,1.75vw,25px)!important;
    line-height:1!important;
    transform:translateY(-50%)!important;
    translate:none!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single .header-top-right.pf-header-classic-top-hook {
    position:absolute!important;
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  /* Un zoom important peut activer les composants mobiles via width media query ;
     ils restent masqués sur un poste à pointeur fin. */
  html body#index .pf-mobile-top-actions,
  html body#index .pf-mobile-menu-panel-v217,
  html body#index #header .pf-mobile-menu-panel-v217 {
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* Reprise des décalages horizontaux historiques du logo. */
@media (hover:hover) and (pointer:fine) and (min-width:1501px) {
  html body#index #header .pf-header-stack-v417--reference-single{--pf-v448-logo-x:128px;}
}
@media (hover:hover) and (pointer:fine) and (min-width:1221px) and (max-width:1500px) {
  html body#index #header .pf-header-stack-v417--reference-single{--pf-v448-logo-x:92px;}
}
@media (hover:hover) and (pointer:fine) and (min-width:992px) and (max-width:1220px) {
  html body#index #header .pf-header-stack-v417--reference-single{--pf-v448-logo-x:48px;}
}
@media (hover:hover) and (pointer:fine) and (max-width:991px) {
  html body#index #header .pf-header-stack-v417--reference-single{--pf-v448-logo-x:28px;}
}

/* Très fort zoom desktop : même rangée, dimensions plus compactes. */
@media (hover:hover) and (pointer:fine) and (max-width:760px) {
  html body#index #header .pf-header-stack-v417--reference-single{--pf-v448-logo-x:12px;}

  html body#index #header .pf-header-stack-v417--reference-single > .header-top > .container,
  html body#index #header .pf-header-stack-v417--reference-single > .header-top.pf-header-top-global > .container {
    min-height:72px!important;
    height:72px!important;
    max-height:72px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single .pf-header-row-global,
  html body#index #header .pf-header-stack-v417--reference-single .header-top .container .row.pf-header-row-global {
    min-height:70px!important;
    height:70px!important;
    max-height:70px!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single #_desktop_logo,
  html body#index #header .pf-header-stack-v417--reference-single .pf-header-logo-global,
  html body#index #header .pf-header-stack-v417--reference-single #_desktop_logo h1,
  html body#index #header .pf-header-stack-v417--reference-single #_desktop_logo > a,
  html body#index #header .pf-header-stack-v417--reference-single .pf-header-logo-global h1,
  html body#index #header .pf-header-stack-v417--reference-single .pf-header-logo-global > a {
    width:104px!important;
    min-height:70px!important;
    height:70px!important;
    max-height:70px!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single #_desktop_logo img,
  html body#index #header .pf-header-stack-v417--reference-single .pf-header-logo-global img {
    max-width:92px!important;
    max-height:50px!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single .pf-header-centerline {
    right:6px!important;
    gap:4px!important;
    max-width:calc(100% - 125px)!important;
    max-height:70px!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single .pf-header-ctas {
    gap:3px!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single .pf-header-ctas .pf-btn,
  html body#index #header .pf-header-stack-v417--reference-single .pf-header-centerline .pf-btn {
    min-width:55px!important;
    min-height:34px!important;
    height:34px!important;
    padding-left:4px!important;
    padding-right:4px!important;
    font-size:9px!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single #search_widget,
  html body#index #header .pf-header-stack-v417--reference-single #_desktop_search,
  html body#index #header .pf-header-stack-v417--reference-single .search-widget {
    flex-basis:124px!important;
    width:124px!important;
    min-width:108px!important;
    max-width:124px!important;
    min-height:36px!important;
    height:36px!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single #search_widget form,
  html body#index #header .pf-header-stack-v417--reference-single .search-widget form,
  html body#index #header .pf-header-stack-v417--reference-single #search_widget input[type="text"],
  html body#index #header .pf-header-stack-v417--reference-single #search_widget input[type="search"],
  html body#index #header .pf-header-stack-v417--reference-single .search-widget input[type="text"],
  html body#index #header .pf-header-stack-v417--reference-single .search-widget input[type="search"] {
    min-height:36px!important;
    height:36px!important;
    max-height:36px!important;
    line-height:36px!important;
  }

  html body#index #header .pf-header-stack-v417--reference-single #search_widget input[type="text"],
  html body#index #header .pf-header-stack-v417--reference-single #search_widget input[type="search"],
  html body#index #header .pf-header-stack-v417--reference-single .search-widget input[type="text"],
  html body#index #header .pf-header-stack-v417--reference-single .search-widget input[type="search"] {
    padding-left:30px!important;
    padding-right:28px!important;
    font-size:9px!important;
  }
}
