
/* ===== hero des pages prestation — le dessin du hero agence (lrs-ag) =====
   La photo de fond est la photo a la une, deja posee par le gabarit ; le
   mu-plugin motion l'anime en zoom lent sur le ::before. Le ::after sert
   donc aux voiles, et rien n'est ajoute au DOM sauf le surtitre. */
body.lrs-hp .e-con.lrs-ah--post{
  --hp-pp:var(--lrs-paper,#F6F1EC);
  --hp-c2:var(--lrs-accent-lit,#E07A4A);
  --hp-tn:246,241,236;
  position:relative;isolation:isolate;overflow:hidden;
  /* plein ecran depuis le 12/09 (v1.5) : la bande remplit l'ecran sous la
     barre fixe (82 px depuis le 12/09/2026), sans plafond ; 100vh en repli des navigateurs sans svh */
  min-height:calc(100vh - 82px) !important;
  min-height:calc(100svh - 82px) !important;
  display:flex !important;align-items:flex-end !important;
  padding:0 !important;background-color:#12100E}

/* les voiles : dense en haut sous l'en-tete, dense a gauche sous le texte,
   ferme en bas pour raccorder au bloc suivant, plus une vignette et un grain */
body.lrs-hp .e-con.lrs-ah--post::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:
    linear-gradient(180deg,rgba(9,8,7,.90) 0%,rgba(9,8,7,.44) 24%,rgba(9,8,7,.42) 50%,rgba(18,16,14,.92) 88%,#12100E 100%),
    linear-gradient(94deg,rgba(9,8,7,.94) 0%,rgba(9,8,7,.80) 26%,rgba(9,8,7,.48) 50%,rgba(9,8,7,.10) 76%,rgba(9,8,7,0) 92%),
    radial-gradient(118% 96% at 50% 42%,rgba(0,0,0,0) 40%,rgba(0,0,0,.50) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");
  background-size:auto,auto,auto,160px 160px;
  background-repeat:no-repeat,no-repeat,no-repeat,repeat}

/* la colonne de texte : a gauche, sur la colonne du site.
   Ce conteneur n'a pas de colonne interne — c'est son premier enfant qui la
   porte. Sans z-index sur lui, tout le texte passe SOUS les voiles. */
body.lrs-hp .e-con.lrs-ah--post > .elementor-element{
  /* le gabarit lui impose deja z-index:1, soit le plan des voiles : sans
     !important le texte reste dessous, tout en paraissant correctement pose */
  position:relative !important;z-index:2 !important;
  width:100% !important;max-width:1200px !important;
  margin-left:auto !important;margin-right:auto !important;
  /* 150 px en haut jusqu'a v1.4 ; 120 depuis le plein ecran : un titre de
     quatre lignes tient alors dans un ecran de 900 px sans faire deborder la bande */
  padding:120px 24px 92px !important;
  align-items:flex-start !important;text-align:left !important}
/* v1.11.4 (15/09/2026) : au-dessus de 1188 px, le texte du hero sur la colonne de 1140 px du site, comme les heros
   des pages categories (150 px du bord a 1440, 70 a 1280, 390 a 1920) : colonne de 1188 px moins 24 px de marge interne
   de chaque cote. En dessous, 24 px du bord comme avant. Les fiches lieux et artistes gardent leur reglage. */
html body.lrs-hp--post:not(.lrs-hp--fiche) .e-con.lrs-ah--post > .elementor-element{max-width:1248px !important}
/* les colonnes internes du gabarit bornaient le contenu a 964 px et le
   recentraient : le fil d'Ariane et le titre ne partaient pas du meme bord.
   Meme cause pour les widgets eux-memes : chacun portait sa propre marge,
   d'ou trois bords gauches differents (137, 243, 290 px mesures). */
body.lrs-hp .lrs-ah--post .elementor-widget{
  width:100% !important;max-width:none !important;
  align-self:flex-start !important;
  margin-left:0 !important;padding-left:0 !important}
body.lrs-hp .lrs-ah--post .e-con-inner{
  max-width:none !important;width:100% !important;
  padding-left:0 !important;padding-right:0 !important}
body.lrs-hp .lrs-ah--post .elementor-element-59b8222,
body.lrs-hp .lrs-ah--post .elementor-element-8ef0d69,
body.lrs-hp .lrs-ah--post .elementor-element-d23e56b,
body.lrs-hp .lrs-ah--post .elementor-element-727bc16{
  width:100% !important;max-width:none !important;
  align-items:flex-start !important;text-align:left !important;padding:0 !important}

/* le surtitre : un mini fil d'Ariane — le lien vers la categorie parente de
   la page, precede d'un filet plein, en capitales et en couleur accent
   (client, 12/09). Le lien est dessine comme le texte : sans ces regles le
   kit repeint tout lien ; au survol il passe en creme. */
body.lrs-hp .lrs-hp__kick{
  display:flex;align-items:center;gap:14px;margin:0 0 22px !important;
  font-family:'Montserrat',-apple-system,Arial,sans-serif !important;
  font-size:11px !important;font-weight:600 !important;letter-spacing:.24em !important;
  text-transform:uppercase !important;color:var(--hp-c2) !important}
/* le filet : 44 px (56 a l'origine, « legerement » reduit a la demande du
   client le 12/09), 22 px sous 768 px */
body.lrs-hp .lrs-hp__rule{
  display:block;width:44px;height:1px;flex:none;background:var(--hp-c2)}
body.lrs-hp .lrs-hp__path{text-transform:uppercase !important;color:inherit !important}
body.lrs-hp .lrs-hp__kick a{
  color:inherit !important;text-decoration:none !important;
  /* la typographie globale des liens du kit (.elementor-kit-349007 a) pose
     text-transform:none et battait l'heritage : le surtitre des pages
     prestation sortait en bas de casse, celui des archives (un span) en
     capitales (constate le 12/09 au soir, v1.4) */
  text-transform:uppercase !important;
  transition:color .2s ease}
body.lrs-hp .lrs-hp__kick a:hover{color:var(--hp-pp) !important}
body.lrs-hp .lrs-hp__kick a:focus-visible{
  outline:2px solid var(--hp-c2);outline-offset:3px;border-radius:2px}

/* le titre : le dessin du H1 de la page agence */
body.lrs-hp .lrs-ah--post h1.elementor-heading-title,
body.lrs-hp .lrs-ah--post .elementor-element-d552c0a .elementor-heading-title{
  margin:0 0 30px !important;padding:0 !important;
  font-family:'Montserrat',-apple-system,'Helvetica Neue',Arial,sans-serif !important;
  font-weight:800 !important;text-transform:uppercase !important;
  /* capitales depuis le 12/09 (v1.4) : corps ramene de 76 a 64 px et
     interlettrage de -.032em a -.015em, sinon les titres de 60 a 76 signes
     passaient sur cinq lignes ; 22ch pour garder trois lignes au plus */
  font-size:clamp(30px,4.6vw,64px) !important;line-height:1.04 !important;
  letter-spacing:-.015em !important;color:var(--hp-pp) !important;
  text-align:left !important;max-width:22ch}
/* le filet que le gabarit tracait sous le titre n'a plus lieu d'etre */
body.lrs-hp .lrs-ah--post .elementor-element-d552c0a .elementor-heading-title::after{
  content:none !important}

/* le mot-cle dans le titre : terre cuite pleine, traversee d'une lame claire */
body.lrs-hp .lrs-ah--post em.lrs-hp__kw,
html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah em.lrs-hp__kw{
  font-style:normal !important;font-weight:800 !important;
  background-image:linear-gradient(100deg,#E07A4A 0%,#E07A4A 38%,#FFF3E8 50%,#E07A4A 62%,#E07A4A 100%);
  background-size:260% auto;background-position:100% center;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:lrsHpShine 6s cubic-bezier(.25,.1,.25,1) .8s infinite}
@keyframes lrsHpShine{0%{background-position:100% center}38%,100%{background-position:0% center}}

/* la description : deux lignes, jamais plus.
   Les descriptions font 130 a 168 signes : a 17 px sur 62 caracteres de
   large, elles tiennent en deux lignes jusqu'a la tablette. Sous cette
   largeur la troisieme ligne reviendrait, d'ou le clamp — il coupe sur un
   mot et pose une ellipsis plutot que de laisser filer le bloc. */
body.lrs-hp .lrs-ah--post p.lrs-hp__sub{
  margin:0 0 34px !important;max-width:68ch;
  font-family:'Montserrat',-apple-system,Arial,sans-serif !important;
  font-size:clamp(15px,1.2vw,17.5px) !important;font-weight:400 !important;
  line-height:1.62 !important;text-transform:none !important;
  color:rgba(var(--hp-tn),.80) !important;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden}
/* Sous 768 px la ligne ne porte plus qu'une quarantaine de signes : a deux
   lignes le texte serait coupe. On en autorise trois — la phrase reste
   entiere, ce qui vaut mieux qu'un chapo tronque. */
@media(max-width:767px){
  body.lrs-hp .lrs-ah--post p.lrs-hp__sub{-webkit-line-clamp:4}}

/* la rangee de boutons : a gauche, au systeme du site */
/* le widget bouton occupe toute la largeur : c'est son enveloppe qui
   centrait le bouton, pas le conteneur */
body.lrs-hp .lrs-ah--post .elementor-widget-button,
body.lrs-hp .lrs-ah--post .elementor-widget-button > *,
body.lrs-hp .lrs-ah--post .elementor-button-wrapper{
  text-align:left !important;justify-content:flex-start !important}
body.lrs-hp .lrs-ah--post .elementor-element-fcb562b,
body.lrs-hp .lrs-ah--post .elementor-element-fcb562b > .e-con-inner{
  justify-content:flex-start !important;align-items:center !important;
  width:100% !important;max-width:none !important;
  margin-left:0 !important;margin-right:auto !important;padding:0 !important}


/* ===== le meme hero sur les pages de categorie (gabarit 359332) =====
   Meme ossature : titre, chapeau, photo de fond. Deux differences tenues :
   la photo est un ::before perce en 100vw pose par le kit (le conteneur
   d'archive est boxe et ne peut pas la clipper), et le voile est son
   ::after — les deux pseudo-elements sont donc pris. On repeint le voile
   au lieu d'en ajouter un. La bande est plus basse qu'un hero d'article :
   une page de liste ne doit pas repousser sa liste sous la ligne de
   flottaison. */
html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-ah{
  --hp-pp:var(--lrs-paper,#F6F1EC);
  --hp-c2:var(--lrs-accent-lit,#E07A4A);
  --hp-tn:246,241,236;
  /* v1.5 avait mis les archives en plein ecran ; retire en v1.6 a la demande
     du client, la bande reprend sa hauteur d'origine (seules les pages
     prestation restent en plein ecran) */
  min-height:clamp(420px,58vh,620px) !important;
  /* v1.7 : plus de marge horizontale, le texte part du bord de la colonne
     (x = 150 en 1440), la ou commencent le rail de filtres et les cartes */
  padding:118px 0 58px !important;
  justify-content:flex-end !important;
  align-items:stretch !important}
html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-ah::after{
  background:
    linear-gradient(180deg,rgba(9,8,7,.88) 0%,rgba(9,8,7,.46) 26%,rgba(9,8,7,.44) 52%,rgba(18,16,14,.92) 88%,#0D0D0D 100%),
    linear-gradient(94deg,rgba(9,8,7,.92) 0%,rgba(9,8,7,.76) 26%,rgba(9,8,7,.44) 50%,rgba(9,8,7,.08) 76%,rgba(9,8,7,0) 92%),
    radial-gradient(118% 96% at 50% 42%,rgba(0,0,0,0) 40%,rgba(0,0,0,.48) 100%) !important}
/* Onze des douze categories servies ont leur photo de hero dans le kit ;
   « artistes » n'en avait pas et son hero serait reste sur un fond uni.
   Photo : Les Roosters en concert, l'un des trois articles de la categorie. */
html body.category-artistes.archive .e-con.lrs-ah::before{
  opacity:1 !important;
  background-image:url('https://lorents.fr/wp-content/uploads/2026/09/les-roosters-concert-live.jpg') !important}

/* les widgets du hero se rangent sur la colonne du site, a gauche */
html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-ah > .elementor-element{
  position:relative !important;z-index:2 !important;
  width:100% !important;max-width:1200px !important;
  margin-left:auto !important;margin-right:auto !important;
  align-self:stretch !important;text-align:left !important}
html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah .elementor-widget-theme-archive-title,
html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah .elementor-widget-text-editor{
  padding-left:0 !important;margin-left:0 !important}
html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah h1.elementor-heading-title{
  font-family:'Montserrat',-apple-system,'Helvetica Neue',Arial,sans-serif !important;
  font-weight:800 !important;text-transform:uppercase !important;
  /* capitales depuis le 12/09 (v1.4) : corps 66 -> 60 px, interlettrage
     -.03em -> -.015em, 20ch : « ANIMATIONS EVENEMENTIELLES » tient sur deux
     lignes, les noms d'un mot sur une */
  font-size:clamp(30px,4.4vw,60px) !important;line-height:1.04 !important;
  letter-spacing:-.015em !important;color:var(--hp-pp) !important;
  text-align:left !important;margin:0 0 22px !important;max-width:20ch}
html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah p.lrs-hp__sub{
  margin:0 !important;max-width:68ch;text-align:left !important;
  font-family:'Montserrat',-apple-system,Arial,sans-serif !important;
  font-size:clamp(15px,1.2vw,17.5px) !important;font-weight:400 !important;
  line-height:1.62 !important;color:rgba(var(--hp-tn),.80) !important;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
/* le surtitre d'archive : memes capitales et meme accent que les articles,
   repetes ici avec la classe doublee (le kit repeint volontiers ce widget) ;
   les trois villes ne tiennent que par l'espace, un word-spacing les garde
   distinctes malgre l'interlettrage. */
html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah .lrs-hp__kick.lrs-hp__kick{
  margin:0 0 20px !important;
  text-transform:uppercase !important;
  color:var(--hp-c2) !important}
/* v1.13 : le word-spacing tenait les trois villes distinctes ; il n'a plus lieu
   d'etre sur le fil d'Ariane des categories de prestations (un seul mot). */
html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah .lrs-hp__kick--geo.lrs-hp__kick--geo{
  word-spacing:.34em}
/* le kit tracait un filet sous le titre d'archive et centrait le chapeau */
html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah h1.elementor-heading-title::after{
  content:none !important}
html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah .elementor-widget-text-editor,
html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah .elementor-widget-text-editor *{
  text-align:left !important}
@media(max-width:767px){
  html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-ah{
    min-height:clamp(360px,52vh,520px) !important;
    padding:96px 0 46px !important}
  html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah h1.elementor-heading-title{
    font-size:clamp(24px,6.6vw,34px) !important;letter-spacing:-.01em !important;
    margin-bottom:18px !important;max-width:none}
  html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah p.lrs-hp__sub{
    font-size:14.5px !important;-webkit-line-clamp:3;max-width:none}
}

/* ===== la page realisations (2504) : le meme hero, une autre ossature =====
   Le dessin ci-dessus s'applique tel quel — la page porte lrs-hp--arch et
   son conteneur de hero recoit la classe lrs-ah. Ne restent a rattraper
   que trois differences de structure :
   1. son conteneur est BOXE (il a un .e-con-inner) la ou l'archive est un
      conteneur pleine largeur pose dans un parent boxe a 1140 : on lui
      rend la meme ossature, le conteneur EST la colonne — et ici c'est
      celle de la page, 1200 px, celle du rail de filtres et des cartes ;
   2. il est declare en grille dans Elementor : sans display:flex, le
      justify-content:flex-end de la regle commune pousserait la colonne
      a droite au lieu de caler le texte en bas de la bande ;
   3. la photo et le voile du hero d'archive sont declares dans le kit sous
      body.archive : ici c'est ce greffon qui perce le voile en 100vw. */
html body.lrs-hp--arch.page-id-2504 .e-con.lrs-ah.lrs-ah{
  position:relative;isolation:isolate;
  display:flex !important;flex-direction:column !important;
  width:100% !important;max-width:1200px !important;
  margin-left:auto !important;margin-right:auto !important}
html body.lrs-hp--arch.page-id-2504 .e-con.lrs-ah.lrs-ah::after{
  content:"";position:absolute;top:0;bottom:0;left:50%;
  transform:translateX(-50%);width:100vw;
  pointer-events:none;opacity:1;z-index:0}
html body.lrs-hp--arch.page-id-2504 .e-con.lrs-ah.lrs-ah > *{
  position:relative;z-index:1}
/* l'inner tient le role du « > .elementor-element » des archives : c'est
   la colonne de texte. Sa gouttiere laterale (24 px sous 1024, 16 sous
   768) est posee par la feuille de la page, celle du rail et des cartes :
   on n'y touche pas, sans quoi le titre ne partirait plus du meme bord
   que les cartes. */
html body.lrs-hp--arch.page-id-2504 .e-con.lrs-ah.lrs-ah > .e-con-inner{
  position:relative !important;z-index:2 !important;
  display:flex !important;flex-direction:column !important;
  align-items:flex-start !important;text-align:left !important;
  gap:0 !important;width:100% !important;max-width:none !important;
  margin:0 !important;padding-top:0 !important;padding-bottom:0 !important}
html body.lrs-hp--arch.page-id-2504 .lrs-ah .elementor-widget{
  width:100% !important;max-width:none !important;
  align-self:flex-start !important;
  margin-left:0 !important;padding-left:0 !important}
/* le titre est ici un widget heading, pas un titre d'archive : il porte
   son centrage dans ses propres reglages Elementor */
html body.lrs-hp--arch.page-id-2504 .lrs-ah .elementor-widget-heading,
html body.lrs-hp--arch.page-id-2504 .lrs-ah .elementor-widget-heading *{
  text-align:left !important}
/* v1.11.2 (15/09/2026, lrs-hp-2l) : NOS / REALISATIONS sur deux lignes, demande
   du client -- le mot peint passe a la ligne, a toutes les largeurs */
html body.lrs-hp--arch.page-id-2504 .lrs-ah h1.elementor-heading-title em.lrs-hp__kw{
  display:block !important}

/* ===== la page contact (16) : le meme hero, v1.11 (15/09/2026) =====
   Demande du client : « applique le gabarit hero des pages categories ».
   Le dessin commun s'applique tel quel ; trois differences de structure :
   1. le conteneur lrsctc1 est PLEINE LARGEUR, sans .e-con-inner ni parent
      boxe : il clippe lui-meme, le voile y est pose en inset:0 ;
   2. un seul widget HTML (lrsctw1), qui porte aussi la feuille de toute la
      page : surtitre, titre et chapo y sont ecrits en dur, aux classes du
      greffon — le widget devient la colonne de la page, 1200 px, gouttiere
      24 px sous 1024 et 16 sous 768, celle du formulaire et des cartes ;
   3. la photo et le voile du kit vivent sous body.archive : ici le voile
      est pose par ce greffon, la photo par le carrousel. */
html body.lrs-hp--arch.page-id-16 .e-con.lrs-ah.lrs-ah{
  --hp-gut:0px;
  position:relative;isolation:isolate;overflow:hidden;
  display:flex !important;flex-direction:column !important;
  width:100% !important;max-width:none !important;
  margin-left:0 !important;margin-right:0 !important;background-color:#0D0D0D}
html body.lrs-hp--arch.page-id-16 .e-con.lrs-ah.lrs-ah::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:1;z-index:0}
html body.lrs-hp--arch.page-id-16 .e-con.lrs-ah.lrs-ah > .elementor-element{
  box-sizing:border-box !important;
  padding-left:var(--hp-gut) !important;padding-right:var(--hp-gut) !important}
@media(max-width:1024px){
  html body.lrs-hp--arch.page-id-16 .e-con.lrs-ah.lrs-ah{--hp-gut:24px}
}
@media(max-width:767px){
  html body.lrs-hp--arch.page-id-16 .e-con.lrs-ah.lrs-ah{--hp-gut:16px}
}

@media(max-width:1024px){
  body.lrs-hp .e-con.lrs-ah--post > .elementor-element{padding:110px 24px 84px !important}
}
@media(max-width:767px){
  body.lrs-hp .e-con.lrs-ah--post{
    min-height:calc(100vh - 82px) !important;
    min-height:calc(100svh - 82px) !important}
  body.lrs-hp .e-con.lrs-ah--post > .elementor-element{padding:104px 20px 70px !important}
  body.lrs-hp .e-con.lrs-ah--post::after{background-image:
    linear-gradient(180deg,rgba(9,8,7,.86) 0%,rgba(9,8,7,.30) 20%,rgba(9,8,7,.52) 52%,rgba(9,8,7,.82) 74%,#12100E 100%),
    radial-gradient(120% 92% at 50% 40%,rgba(0,0,0,0) 44%,rgba(0,0,0,.46) 100%)}
  body.lrs-hp .lrs-ah--post h1.elementor-heading-title,
  body.lrs-hp .lrs-ah--post .elementor-element-d552c0a .elementor-heading-title{
    font-size:clamp(25px,6.6vw,36px) !important;letter-spacing:-.01em !important;
    margin-bottom:24px !important;max-width:none}
  body.lrs-hp .lrs-ah--post p.lrs-hp__sub{
    font-size:14.5px !important;line-height:1.58 !important;
    max-width:none;margin-bottom:26px !important}
  body.lrs-hp .lrs-hp__kick{font-size:10px !important;letter-spacing:.2em !important;gap:10px}
  body.lrs-hp .lrs-hp__rule{width:22px}
}
/* ===== v1.9 : les fiches lieux de reception et artistes =====
   Le dessin des pages prestation (surtitre = rubrique, titre en capitales,
   chapo) a la hauteur des bandes de liste : une fiche n'est pas une page
   d'entree. La colonne de texte se cale sur celle de l'article (70 % de la
   fenetre, gouttiere 48 px en tablette, 32 px en mobile). */
body.lrs-hp--fiche .e-con.lrs-ah--post{
  min-height:clamp(420px,58vh,620px) !important}
body.lrs-hp--fiche .e-con.lrs-ah--post > .elementor-element{
  max-width:1248px !important;padding:118px 24px 58px !important}
body.lrs-hp--fiche .lrs-ah--post h1.elementor-heading-title,
body.lrs-hp--fiche .lrs-ah--post .elementor-element-d552c0a .elementor-heading-title{
  font-size:clamp(30px,4.4vw,60px) !important;max-width:20ch;margin-bottom:22px !important}
/* la rangee de boutons : cote a cote, sur le bord de la colonne (le gabarit
   donnait toute la largeur a chaque widget, les deux boutons s'empilaient) */
html body.lrs-hp--fiche .lrs-ah--post .elementor-element-fcb562b.elementor-element-fcb562b{column-gap:14px !important;row-gap:14px !important;justify-content:flex-start !important}
html body.lrs-hp--fiche .lrs-ah--post .elementor-element-fcb562b > .elementor-element.elementor-element{width:auto !important;max-width:none !important;flex:0 0 auto !important;margin:0 !important;padding:0 !important}
html body.lrs-hp--fiche .lrs-ah--post .elementor-element-fcb562b .lrs-vd.lrs-vd{margin:0 !important;padding:0 !important}
@media(max-width:1024px){
  body.lrs-hp--fiche .e-con.lrs-ah--post > .elementor-element{padding:110px 48px 52px !important}}
@media(max-width:767px){
  body.lrs-hp--fiche .e-con.lrs-ah--post{min-height:clamp(360px,52vh,520px) !important}
  body.lrs-hp--fiche .e-con.lrs-ah--post > .elementor-element{max-width:100% !important;padding:96px 32px 46px !important}
  body.lrs-hp--fiche .lrs-ah--post h1.elementor-heading-title,
  body.lrs-hp--fiche .lrs-ah--post .elementor-element-d552c0a .elementor-heading-title{
    font-size:clamp(24px,6.6vw,34px) !important}
}
/* v1.9.1 : lisibilite du hero des fiches. Leur bande (58vh) est plus basse que celle des pages prestation
   (plein ecran) : le texte y tombe dans la partie la moins voilee de la photo. Le voile se resserre sous le
   texte a chaque largeur, sans toucher aux couleurs de la charte. */
html body.lrs-hp--fiche .e-con.lrs-ah--post::after{
  background-image:
    linear-gradient(180deg,rgba(9,8,7,.90) 0%,rgba(9,8,7,.56) 22%,rgba(9,8,7,.50) 55%,rgba(18,16,14,.92) 90%,#12100E 100%),
    linear-gradient(94deg,rgba(9,8,7,.95) 0%,rgba(9,8,7,.86) 30%,rgba(9,8,7,.72) 55%,rgba(9,8,7,.30) 80%,rgba(9,8,7,0) 96%),
    radial-gradient(118% 96% at 50% 42%,rgba(0,0,0,0) 40%,rgba(0,0,0,.50) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");
  background-size:auto,auto,auto,160px 160px;
  background-repeat:no-repeat,no-repeat,no-repeat,repeat}
html body.lrs-hp--fiche .lrs-ah--post .lrs-hp__kick{text-shadow:0 1px 2px rgba(9,8,7,.8),0 0 16px rgba(9,8,7,.7)}
html body.lrs-hp--fiche .lrs-ah--post p.lrs-hp__sub{text-shadow:0 1px 12px rgba(9,8,7,.6)}
@media(max-width:1024px){
  html body.lrs-hp--fiche .e-con.lrs-ah--post::after{background-image:
    linear-gradient(180deg,rgba(9,8,7,.90) 0%,rgba(9,8,7,.62) 22%,rgba(9,8,7,.58) 55%,rgba(18,16,14,.92) 90%,#12100E 100%),
    linear-gradient(94deg,rgba(9,8,7,.95) 0%,rgba(9,8,7,.88) 40%,rgba(9,8,7,.74) 68%,rgba(9,8,7,.36) 90%,rgba(9,8,7,.2) 100%),
    radial-gradient(118% 96% at 50% 42%,rgba(0,0,0,0) 40%,rgba(0,0,0,.50) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}
}
@media(max-width:767px){
  html body.lrs-hp--fiche .e-con.lrs-ah--post::after{background-image:
    linear-gradient(180deg,rgba(9,8,7,.90) 0%,rgba(9,8,7,.86) 18%,rgba(9,8,7,.86) 30%,rgba(9,8,7,.76) 52%,rgba(9,8,7,.88) 80%,#12100E 100%),
    radial-gradient(120% 92% at 50% 40%,rgba(0,0,0,0) 44%,rgba(0,0,0,.46) 100%);
    background-size:auto,auto;background-repeat:no-repeat,no-repeat}
}
/* v1.9.2 : lisibilite du hero des pages prestation (demande du client, 13/09).
   Pages du gabarit : en mobile la colonne de texte occupe les deux tiers bas de la bande plein ecran et le
   surtitre tombe vers 30 % de la hauteur, ou le voile descend a .35 ; sur les photos claires la terre cuite
   disparaissait (1,1:1). Un voile propre a la colonne, en degrade depuis son bord haut, se pose entre la photo
   et le texte : il suit la colonne quelle que soit la hauteur de l'ecran ou la longueur du titre. En tablette,
   un voile plus leger tient le chapo. Les fiches gardent le leur (v1.9.1). */
@media(max-width:767px){
  html body.lrs-hp--post:not(.lrs-hp--fiche) .e-con.lrs-ah--post > .elementor-element::before{
    content:"";position:absolute;top:0;left:0;right:auto;bottom:auto;width:100%;height:100%;z-index:-1;
    opacity:1;mix-blend-mode:normal;pointer-events:none;border:0;border-radius:0;transition:none;
    background:linear-gradient(180deg,rgba(9,8,7,0) 0,rgba(9,8,7,.78) 88px,rgba(9,8,7,.78) 126px,rgba(9,8,7,.6) 146px,rgba(9,8,7,.6) 250px,rgba(9,8,7,.3) 310px,rgba(9,8,7,0) 100%)}
}
@media(min-width:768px) and (max-width:1024px){
  html body.lrs-hp--post:not(.lrs-hp--fiche) .e-con.lrs-ah--post > .elementor-element::before{
    content:"";position:absolute;top:0;left:0;right:auto;bottom:auto;width:100%;height:100%;z-index:-1;
    opacity:1;mix-blend-mode:normal;pointer-events:none;border:0;border-radius:0;transition:none;
    background:linear-gradient(180deg,rgba(9,8,7,0) 0,rgba(9,8,7,.5) 120px,rgba(9,8,7,.5) 72%,rgba(9,8,7,0) 100%)}
}
/* Reportage photo (363972) : son hero est le module lrs-ph, trois photos en fondu, avec son propre voile. Au
   bureau, le degrade horizontal reste dense jusqu'au bout du chapo ; en mobile, un voile de colonne sous le texte. */
@media(min-width:1025px){
  html body.postid-363972 .lrs-ph .lrs-ph__veil{background:
    linear-gradient(101deg,rgba(18,16,14,.95) 0%,rgba(18,16,14,.90) 30%,rgba(18,16,14,.72) 50%,rgba(18,16,14,.40) 70%,rgba(18,16,14,.30) 86%,rgba(18,16,14,.36) 100%),
    radial-gradient(115% 85% at 6% 46%,rgba(224,122,74,.22) 0%,rgba(224,122,74,0) 58%),
    linear-gradient(to bottom,rgba(18,16,14,.86) 0%,rgba(18,16,14,.08) 18%,rgba(18,16,14,.08) 68%,rgba(11,6,4,.97) 100%)}
}
@media(max-width:767px){
  html body.postid-363972 .lrs-ph .lrs-ph__in::before{
    content:"";position:absolute;left:0;right:0;top:-72px;bottom:0;z-index:-1;pointer-events:none;
    background:linear-gradient(180deg,rgba(18,16,14,0) 0,rgba(18,16,14,.62) 72px,rgba(18,16,14,.62) 340px,rgba(18,16,14,.3) 460px,rgba(18,16,14,0) 100%)}
}
@media(prefers-reduced-motion:reduce){
  body.lrs-hp .lrs-ah--post em.lrs-hp__kw,
  html body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah em.lrs-hp__kw{
    animation:none !important;background-position:0% center !important}
}
/* v1.10 (15/09/2026) : pages de categorie et d'etiquette en mobile, demande du client — contenu du hero centre, et
   surtitre / titre / tagline aux regles des blocs titres de l'accueil (lorents-titres.php, gabarit mobile) : surtitre
   11,5 px / 600 / .24em en accent, un filet de 22 px de chaque cote a 14 px du texte, 10 px au-dessus du titre ; titre
   800 capitales min(30px, 8.2vw), interligne 1,02, equilibre ; tagline 14 px sous le titre, 15 px / 400 / 1,4, creme a
   80 % ; gouttiere de 20 px. La page realisations (2504), qui partage ce hero, n'est pas touchee. Prefixe a poids d'ID :
   bat les regles d'archive ci-dessus et les tirets du carrousel (lorents-hero-carrousel.php). */
@media(max-width:767px){
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-ah > .elementor-element{
    text-align:center !important;padding-left:0 !important;padding-right:0 !important}
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah .elementor-widget,
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah .elementor-widget *{text-align:center !important}
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah .lrs-hp__kick.lrs-hp__kick{
    justify-content:center !important;gap:14px !important;margin:0 0 10px !important;
    font-size:11.5px !important;font-weight:600 !important;line-height:1.2 !important;letter-spacing:.24em !important}
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah .lrs-hp__kick .lrs-hp__rule,
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah .lrs-hp__kick.lrs-hp__kick::after{
    content:"";display:block;flex:none;width:22px;height:1px;background:var(--hp-c2)}
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah h1.elementor-heading-title{
    margin:0 auto !important;max-width:none !important;
    font-size:min(30px,8.2vw) !important;font-weight:800 !important;line-height:1.02 !important;
    letter-spacing:0 !important;text-align:center !important;text-wrap:balance;overflow-wrap:break-word}
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah p.lrs-hp__sub{
    margin:14px auto 0 !important;max-width:62ch !important;text-align:center !important;
    font-size:15px !important;font-weight:400 !important;line-height:1.4 !important;letter-spacing:0 !important;
    color:rgba(246,241,236,.8) !important;-webkit-line-clamp:4}
  /* v1.10.1 : le widget du titre porte -4 px de marge basse (kit) ; en mobile ses marges se fondent avec les 14 px de
     la tagline et l'ecart tombait a 10 px (mesure a 390 px, accueil : 14) */
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .lrs-ah .elementor-widget:has(h1){margin-bottom:0 !important}
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-hc-on > .lrs-hc__nav{
    left:50% !important;transform:translateX(-50%) !important}
}
/* v1.11 (15/09/2026) : heros des categories ET de la page realisations en mobile, demande du client — le centrage
   v1.10 s'etend aux realisations ; plein ecran (100svh moins la barre de 82 px, comme les pages prestation) ; contenu
   toujours cale en bas ; un bouton fantome rond, fleche qui respire, invite a descendre : centre, 20 px au-dessus des
   tirets du carrousel (tirets : 8 px du bas + 26 px de haut = 34 ; bouton a 54 px). Il vise une ancre posee au bas du
   hero (.lrs-hp__suite, scroll-margin 60 px = barre reduite). Marge basse du contenu 122 px = bouton + 24 px. */
@media(max-width:767px){
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-ah{
    min-height:calc(100vh - 82px) !important;min-height:calc(100svh - 82px) !important;
    padding-top:96px !important;padding-bottom:122px !important;justify-content:flex-end !important;
    /* v1.11.1 : avec le CSS complet le conteneur est en flex et ajoute 20 px entre titre et chapeau (34 au lieu de 14) */
    row-gap:0 !important;gap:0 !important}
  html:not(#lrs-hpc) body.lrs-hp--arch.page-id-2504 .e-con.lrs-ah.lrs-ah > .e-con-inner{
    align-items:stretch !important;text-align:center !important;padding-left:20px !important;padding-right:20px !important;
    box-sizing:border-box !important}
  html:not(#lrs-hpc) body.lrs-hp--arch.page-id-2504 .lrs-ah .elementor-widget{align-self:stretch !important}
  html:not(#lrs-hpc) body.lrs-hp--arch.page-id-2504 .e-con.lrs-ah.lrs-hc-on > .lrs-hc__nav{
    left:50% !important;transform:translateX(-50%) !important}
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-ah > a.lrs-hp__cue{
    position:absolute !important;z-index:3 !important;left:50% !important;right:auto !important;top:auto !important;bottom:54px !important;
    display:flex !important;align-items:center;justify-content:center;box-sizing:border-box;
    width:44px !important;height:44px !important;margin:0 0 0 -22px !important;padding:0 !important;
    border:1px solid rgba(246,241,236,.38) !important;border-radius:50% !important;
    background:rgba(9,8,7,.22) !important;color:#F6F1EC !important;text-decoration:none !important;box-shadow:none !important;
    -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:border-color .2s,color .2s}
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-ah > a.lrs-hp__cue:hover,
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-ah > a.lrs-hp__cue:focus-visible{
    border-color:rgba(224,122,74,.75) !important;color:#E07A4A !important}
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-ah > a.lrs-hp__cue:focus-visible{
    outline:2px solid #E07A4A !important;outline-offset:3px !important}
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) a.lrs-hp__cue svg{
    display:block;width:18px;height:18px;animation:lrsHpCue 1.9s cubic-bezier(.45,0,.55,1) infinite}
  html:not(#lrs-hpc) body.lrs-hp--arch:is(.archive,.page-id-2504,.page-id-16) .e-con.lrs-ah.lrs-ah > .lrs-hp__suite{
    position:absolute !important;z-index:0 !important;left:0 !important;top:100% !important;
    display:block !important;width:1px !important;height:1px !important;scroll-margin-top:60px;pointer-events:none}
  /* la boite du rail de filtres des realisations debordait de la page de 32 px (largeur 100 % + gouttieres) */
  html:not(#lrs-hpc) body.page-id-2504 .elementor-element-dc5b867 .e-con-inner{box-sizing:border-box !important;max-width:100% !important}
}
@keyframes lrsHpCue{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}
/* v1.11-contact : la page contact n'a pas de parent boxe, la gouttiere mobile de 20 px est portee par le widget */
@media(max-width:767px){
  html:not(#lrs-hpc) body.lrs-hp--arch.page-id-16.page-id-16 .e-con.lrs-ah.lrs-ah > .elementor-element{
    padding-left:20px !important;padding-right:20px !important}
}
@media(min-width:768px){.lrs-hp__cue,.lrs-hp__suite{display:none !important}}
@media(prefers-reduced-motion:reduce){a.lrs-hp__cue svg{animation:none !important}}
