
.lrs-ah.lrs-hc-on{--lrs-hc-int:6s;--lrs-hc-fondu:1.4s}
/* ===== carrousel du hero de categorie (lrs-hc) =====
   Les calques vivent dans une enveloppe percee en 100vw, comme le ::before
   du kit qu'elle remplace, mais l'enveloppe clippe : le zoom lent ne peut
   pas deborder sous le voile. Ordre de peinture dans le hero : enveloppe
   (z 0, premier enfant), voile ::after (z 0, genere en dernier), widgets
   (z 2, mu-plugin des heros), tirets (z 3). */
html body:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-hc-on{
  --lrs-hc-kb:9s;--lrs-hc-c:var(--lrs-accent-lit,#E07A4A);--lrs-hc-tn:246,241,236}
html body:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-hc-on::before{
  display:none !important;animation:none !important;background-image:none !important}
html body:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-hc-on::after{opacity:1 !important}
html body:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-hc-on > .lrs-hc{
  position:absolute !important;top:0;bottom:0;left:50%;width:100vw;
  transform:translateX(-50%);z-index:0 !important;overflow:hidden;
  isolation:isolate;pointer-events:none;margin:0;padding:0;background:#0D0D0D}
.lrs-hc .lrs-hc__sl{
  position:absolute;inset:0;margin:0;padding:0;opacity:0;z-index:0;
  transform:scale(1);transform-origin:50% 42%;transition:none;backface-visibility:hidden}
/* le calque qui entre : fondu, puis derive lente ; le calque qui sort reste
   opaque dessous le temps du fondu (aucun creux sombre a mi-chemin) et
   continue sa derive, puis disparait d'un coup, deja recouvert */
.lrs-hc .lrs-hc__sl.is-on{
  opacity:1;z-index:2;will-change:opacity,transform;
  transition:opacity var(--lrs-hc-fondu,1.4s) cubic-bezier(.4,0,.2,1),transform var(--lrs-hc-kb) linear}
.lrs-hc .lrs-hc__sl.is-out{
  opacity:1;z-index:1;will-change:opacity,transform;
  transition:opacity 0s,transform var(--lrs-hc-kb) linear}
/* la derive ne part qu'une fois le script en place (is-live) : la premiere
   photo, rendue avec is-on, part ainsi de l'echelle 1 et glisse vers 1.07
   comme les suivantes, au lieu de naitre deja zoomee */
.lrs-hc-on.is-live .lrs-hc .lrs-hc__sl.is-on,
.lrs-hc-on.is-live .lrs-hc .lrs-hc__sl.is-out{transform:scale(1.07)}
.lrs-hc .lrs-hc__sl:nth-child(2){transform-origin:62% 55%}
.lrs-hc .lrs-hc__sl:nth-child(3){transform-origin:40% 50%}
.lrs-hc .lrs-hc__sl:nth-child(4){transform-origin:50% 68%}
/* l'image remplit son calque, sous ses deux formes (Imagify enveloppe l'img
   d'un <picture>) ; height en !important contre body img{height:auto} */
.lrs-hc .lrs-hc__sl > img,.lrs-hc .lrs-hc__sl > picture,.lrs-hc .lrs-hc__sl > picture > img{
  position:absolute !important;inset:0;display:block;
  width:100% !important;height:100% !important;max-width:none !important;max-height:none !important;
  margin:0;padding:0;border:0;border-radius:0;box-shadow:none;
  object-fit:cover;object-position:center 32%}

/* les tirets : en bas a gauche, sur le depart du texte, dans la marge basse
   de la bande. Ils ne se montrent qu'avec le script qui les fait agir. */
html body:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-hc-on > .lrs-hc__nav{
  position:absolute !important;z-index:3 !important;left:-4px;bottom:14px;
  display:none;align-items:center;gap:6px;margin:0;padding:0;width:auto;max-width:none}
/* v1.1 : la bande n'a plus de marge horizontale (le texte part du bord de la
   colonne, comme le rail) ; left = moins le padding du bouton (4 px, 3 en
   mobile) pour que le premier tiret parte lui aussi du bord du texte */
html body:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-hc-on.is-js > .lrs-hc__nav{display:flex}
.lrs-hc__nav .lrs-hc__dash{
  all:unset;-webkit-appearance:none;appearance:none;display:block;box-sizing:content-box;
  padding:12px 4px;margin:0;cursor:pointer;line-height:0;border-radius:2px}
.lrs-hc__nav .lrs-hc__dash:focus-visible{outline:2px solid var(--lrs-hc-c,#E07A4A);outline-offset:2px}
.lrs-hc__nav .lrs-hc__bar{
  display:block;position:relative;width:32px;height:2px;border-radius:2px;overflow:hidden;
  background:rgba(var(--lrs-hc-tn,246,241,236),.30);
  transition:width .45s cubic-bezier(.16,1,.3,1),background-color .25s ease}
.lrs-hc__nav .lrs-hc__dash:hover .lrs-hc__bar{background:rgba(var(--lrs-hc-tn,246,241,236),.62)}
.lrs-hc__nav .lrs-hc__dash.is-on .lrs-hc__bar{width:52px;background:rgba(var(--lrs-hc-tn,246,241,236),.30)}
/* le tiret actif se remplit en accent le temps de la photo : c'est aussi
   l'horloge du carrousel (le script enchaine a la fin de ce remplissage) */
.lrs-hc__nav .lrs-hc__fill{
  position:absolute;inset:0;background:var(--lrs-hc-c,#E07A4A);
  transform:scaleX(0);transform-origin:0 50%;will-change:transform}
.lrs-hc__nav .lrs-hc__dash.is-on .lrs-hc__fill{animation:lrsHcFill var(--lrs-hc-int,6s) linear forwards}
html body:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-hc-on.is-paused .lrs-hc__fill{animation-play-state:paused}
@keyframes lrsHcFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}

@media(max-width:767px){
  html body:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-hc-on > .lrs-hc__nav{left:-3px;bottom:8px;gap:4px}
  .lrs-hc__nav .lrs-hc__dash{padding:12px 3px}
  .lrs-hc__nav .lrs-hc__bar{width:24px}
  .lrs-hc__nav .lrs-hc__dash.is-on .lrs-hc__bar{width:40px}
}
@media(prefers-reduced-motion:reduce){
  .lrs-hc .lrs-hc__sl,.lrs-hc .lrs-hc__sl.is-on{transform:none !important;transition:opacity .6s ease !important}
  .lrs-hc .lrs-hc__sl.is-out{transform:none !important;transition:none !important}
  .lrs-hc__nav .lrs-hc__dash.is-on .lrs-hc__fill{animation:none;transform:scaleX(1)}
}
/* page realisations : la bande est la colonne de la page (1200 px), et
   sous 1024 px le texte prend la gouttiere du site — 24 px, puis 16 sous
   768. Les tirets la suivent, sans quoi ils resteraient plaques au bord
   de l'ecran pendant que le titre rentre. */
html body.page-id-2504 .e-con.lrs-ah.lrs-hc-on{--lrs-hc-gut:0px}
html body.page-id-2504 .e-con.lrs-ah.lrs-hc-on > .lrs-hc__nav{
  left:calc(var(--lrs-hc-gut,0px) - 4px)}
@media(max-width:1024px){
  html body.page-id-2504 .e-con.lrs-ah.lrs-hc-on{--lrs-hc-gut:24px}
}
@media(max-width:767px){
  html body.page-id-2504 .e-con.lrs-ah.lrs-hc-on{--lrs-hc-gut:16px}
  html body.page-id-2504 .e-con.lrs-ah.lrs-hc-on > .lrs-hc__nav{
    left:calc(var(--lrs-hc-gut,0px) - 3px)}
}

/* page contact (v1.3) : la bande est pleine largeur, sans parent boxe ;
   les tirets partent du bord de la colonne de la page (1200 px) et de sa
   gouttiere — celle du texte. En mobile ils sont centres (hero v1.10). */
html body.page-id-16 .e-con.lrs-ah.lrs-hc-on{--lrs-hc-gut:0px}
html body.page-id-16 .e-con.lrs-ah.lrs-hc-on > .lrs-hc__nav{
  left:calc(max(0px,(100% - 1200px) / 2) + var(--lrs-hc-gut,0px) - 4px)}
@media(max-width:1024px){
  html body.page-id-16 .e-con.lrs-ah.lrs-hc-on{--lrs-hc-gut:24px}
}
@media(max-width:767px){
  html body.page-id-16 .e-con.lrs-ah.lrs-hc-on{--lrs-hc-gut:16px}
}

@media print{
  html body:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-hc-on > .lrs-hc__nav{display:none !important}
}
