.elementor-52962 .elementor-element.elementor-element-106d2b4{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-52962 .elementor-element.elementor-element-106d2b4:not(.elementor-motion-effects-element-type-background), .elementor-52962 .elementor-element.elementor-element-106d2b4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-52962 .elementor-element.elementor-element-a6b3938 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-52962 .elementor-element.elementor-element-f8d6049 > .elementor-widget-container{margin:0px 0px 30px 0px;}.elementor-52962 .elementor-element.elementor-element-ac1fca6 > .elementor-widget-container{margin:-20px 0px 0px 0px;}.elementor-52962 .elementor-element.elementor-element-a59b90b{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-52962 .elementor-element.elementor-element-7201e9a .jet-form-builder__label{text-align:left;}.elementor-52962 .elementor-element.elementor-element-7201e9a .jet-form-builder__desc{text-align:left;}.elementor-52962 .elementor-element.elementor-element-7201e9a .jet-form-builder__fields-group{gap:0.7em 0.7em;}.elementor-52962 .elementor-element.elementor-element-7201e9a .jet-form-builder__field-wrap.checkradio-wrap span{gap:8px;}.elementor-52962 .elementor-element.elementor-element-7201e9a .jet-form-builder input{color-scheme:normal;}.elementor-52962 .elementor-element.elementor-element-7201e9a .jet-form-builder-repeater__row-remove{align-self:flex-start;}.elementor-52962 .elementor-element.elementor-element-7201e9a .jet-form-builder__action-button{transition:all 0.3s;}.elementor-52962 .elementor-element.elementor-element-7201e9a .jet-form-builder__next-page-wrap{text-align:left;}.elementor-52962 .elementor-element.elementor-element-7201e9a .jet-form-builder-message--success{text-align:center;}.elementor-52962 .elementor-element.elementor-element-7201e9a .jet-form-builder-message--error{text-align:center;}.elementor-52962 .elementor-element.elementor-element-f5951f9{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-52962 .elementor-element.elementor-element-f42aa5e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-52962 .elementor-element.elementor-element-713e814{--display:flex;--min-height:0px;--margin-top:-25px;--margin-bottom:-25px;--margin-left:0px;--margin-right:0px;}.elementor-52962 .elementor-element.elementor-element-757296e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;}.elementor-52962 .elementor-element.elementor-element-2b8d3d7{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-52962 .elementor-element.elementor-element-f64bd5e .elementor-heading-title{color:#680224;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-52962 .elementor-element.elementor-element-ff65953 > .elementor-widget-container{margin:10px 0px 0px 0px;}.elementor-52962 .elementor-element.elementor-element-708828d > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items, .elementor-52962 .elementor-element.elementor-element-708828d > .jet-listing-grid > .jet-listing-grid__items{--columns:5;}.elementor-52962 .elementor-element.elementor-element-708828d > .elementor-widget-container{margin:-35px 0px 0px 0px;}.elementor-52962 .elementor-element.elementor-element-f398e26 > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items, .elementor-52962 .elementor-element.elementor-element-f398e26 > .jet-listing-grid > .jet-listing-grid__items{--columns:5;}.elementor-52962 .elementor-element.elementor-element-f398e26 > .elementor-widget-container{margin:-35px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-52962 .elementor-element.elementor-element-9004f94{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-52962 .elementor-element.elementor-element-9004f94:not(.elementor-motion-effects-element-type-background), .elementor-52962 .elementor-element.elementor-element-9004f94 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF3EB;}.elementor-52962 .elementor-element.elementor-element-6e787cb{--display:flex;--margin-top:-25px;--margin-bottom:-25px;--margin-left:0px;--margin-right:0px;}.elementor-52962 .elementor-element.elementor-element-a960d9a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;}.elementor-52962 .elementor-element.elementor-element-61e65d2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-52962 .elementor-element.elementor-element-df1c657 .elementor-heading-title{color:#680224;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-52962 .elementor-element.elementor-element-4641089 > .elementor-widget-container{margin:-25px 0px 0px 0px;}.elementor-52962 .elementor-element.elementor-element-4641089{color:#48606F;}.elementor-52962 .elementor-element.elementor-element-6d0b453 .elementor-button{font-family:"Almarose", Sans-serif;font-weight:500;fill:#680224;color:#680224;}.elementor-52962 .elementor-element.elementor-element-868b3b9 > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items, .elementor-52962 .elementor-element.elementor-element-868b3b9 > .jet-listing-grid > .jet-listing-grid__items{--columns:5;}.elementor-52962 .elementor-element.elementor-element-868b3b9 > .elementor-widget-container{margin:-35px 0px 0px 0px;padding:0px 0px 0px 0px;}body.elementor-page-52962:not(.elementor-motion-effects-element-type-background), body.elementor-page-52962 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}@media(max-width:1024px){.elementor-52962 .elementor-element.elementor-element-708828d > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items, .elementor-52962 .elementor-element.elementor-element-708828d > .jet-listing-grid > .jet-listing-grid__items{--columns:4;}.elementor-52962 .elementor-element.elementor-element-f398e26 > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items, .elementor-52962 .elementor-element.elementor-element-f398e26 > .jet-listing-grid > .jet-listing-grid__items{--columns:4;}.elementor-52962 .elementor-element.elementor-element-868b3b9 > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items, .elementor-52962 .elementor-element.elementor-element-868b3b9 > .jet-listing-grid > .jet-listing-grid__items{--columns:4;}}@media(max-width:767px){.elementor-52962 .elementor-element.elementor-element-708828d > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items, .elementor-52962 .elementor-element.elementor-element-708828d > .jet-listing-grid > .jet-listing-grid__items{--columns:2;}.elementor-52962 .elementor-element.elementor-element-f398e26 > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items, .elementor-52962 .elementor-element.elementor-element-f398e26 > .jet-listing-grid > .jet-listing-grid__items{--columns:2;}.elementor-52962 .elementor-element.elementor-element-868b3b9 > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items, .elementor-52962 .elementor-element.elementor-element-868b3b9 > .jet-listing-grid > .jet-listing-grid__items{--columns:2;}}/* Start custom CSS for html, class: .elementor-element-a6b3938 *//* ═══════════════════════════════════════════════════════════
   TERO — CSS DE LA SÉQUENCE HERO
   À coller dans : Elementor → Réglages du site → CSS personnalisé
   (ou : conteneur de la séquence → Avancé → CSS personnalisé)

   Le widget HTML ne contient plus que le balisage et le script :
   son bloc <style> était tronqué à l'enregistrement, ce qui faisait
   disparaître les règles placées en fin de fichier.
   ═══════════════════════════════════════════════════════════ */

#tero-lp{
  --neige:    #FFFFFF;
  --neige-2:  #E3EDF3;
  --blanc:    #FFFFFF;
  --encre:    #151515;
  --encre-2:  #666666;
  --glace:    #680224;
  --glace-sd: #680224;
  --glace-cl: #FFFFFF;
  --nuit:     #680224;
  --filet:    rgba(0,0,0,.12);

  --display:'Almarose','Outfit','Futura',system-ui,sans-serif;
  --body:   'Almarose','Outfit',system-ui,sans-serif;
  --label:  'Almarose','Outfit',system-ui,sans-serif;

  --gut: clamp(20px,4vw,40px);
  --r-lg:26px; --r:18px; --r-sm:12px; --r-pill:999px;

  /* largeur du conteneur Elementor au repos */
  --cadre-w: min(1240px, calc(100vw - 2 * var(--gut)));
  --cadre-h: 68vh;

  /* variables pilotées par le scroll */
  /* hauteur du header : mesurée automatiquement par le script.
     La valeur ci-dessous n'est qu'un repli avant exécution. */
  --hauteur-header:0px;

  --e:0;   /* expansion du cadre 0→1 */
  --d:0;   /* progression de l'acte devis 0→1 */
  --p:0;   /* bascule vers le plein écran 0→1 */
  --d:0;   /* progression de l'acte devis 0→1 */
  --p:0;   /* bascule vers le plein écran 0→1 */
}

#tero-lp *,#tero-lp *::before,#tero-lp *::after{margin:0;padding:0;box-sizing:border-box}
/* NB : surtout pas overflow-x:hidden ici — cela crée un contexte de défilement
   et neutralise le position:sticky de la scène. clip coupe sans scroller. */
#tero-lp{font-family:var(--body);background:var(--neige);color:var(--encre);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
html{scroll-behavior:smooth}
body{margin:0;background:#F1F5F8}
#tero-lp h1,#tero-lp h2,#tero-lp h3{font-family:var(--display);font-weight:600;line-height:1.05;letter-spacing:-.025em}
#tero-lp a{color:inherit;text-decoration:none}
#tero-lp img{display:block;max-width:100%}
#tero-lp :focus-visible{outline:2px solid var(--glace);outline-offset:3px;border-radius:8px}

#tero-lp .it{
  font-weight:300;color:inherit;font-style:normal;
}
#tero-lp .btn{
  display:inline-flex;align-items:center;gap:.55em;white-space:nowrap;
  font-family:var(--body);font-weight:500;font-size:.92rem;line-height:1;
  padding:13px 26px;border:1px solid transparent;border-radius:var(--r-pill);
  cursor:pointer;transition:background .25s ease,border-color .25s ease;
}
/* contour au repos, plein à 50 % au survol.
   Pas de translation au survol : le CTA flottant est déjà positionné par transform,
   les deux boutons se comporteraient différemment. */
#tero-lp .btn--outline{border-color:rgba(255,255,255,.6);color:#fff;background:transparent}
#tero-lp .btn--outline:hover{background:rgba(104,2,36,.72);border-color:var(--glace-cl)}
#tero-lp .btn .ar{transition:transform .2s ease}
#tero-lp .btn:hover .ar{transform:translateX(4px)}

/* ============================================================
   LA SCÈNE — hauteur de défilement qui pilote la séquence
   ============================================================ */
#tero-lp .scene{position:relative;height:900vh}
#tero-lp .colle{
  position:sticky;
  top:var(--hauteur-header);
  /* hauteur figée en pixels par le script : insensible à la barre
     d'adresse mobile, qui sinon fait sauter toute la scène */
  height:calc(100vh - var(--hauteur-header));
  overflow:hidden;
}

/* le cadre : part à la largeur Elementor, finit en plein écran.
   Au repos il remonte un peu pour laisser respirer la bande trusted by. */
#tero-lp .cadre{
  position:absolute;left:50%;top:calc(50% - 5vh * (1 - var(--e)));
  transform:translate(-50%,-50%);
  will-change:width,height;
  backface-visibility:hidden;
  overflow:hidden;background:var(--nuit);
  width:  calc(var(--cadre-w) + (100vw - var(--cadre-w)) * var(--e));
  height: calc(var(--cadre-h) + (100vh - var(--hauteur-header) - var(--cadre-h)) * var(--e));
  border-radius:calc(var(--r-lg) * (1 - var(--e)));
  box-shadow:0 40px 80px -50px rgba(0,0,0,calc(.38 * (1 - var(--e))));
}

/* bande trusted by : visible au repos, effacée dès que le cadre s'ouvre */
#tero-lp .bande-trusted{
  position:absolute;left:0;right:0;bottom:0;
  padding:0 0 clamp(22px,4vh,44px);
  opacity:calc(1.35 - 2.2 * var(--e));
  pointer-events:none;
}

/* ---------- les couches média ---------- */
#tero-lp .couche{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transform:scale(1) translateZ(0);will-change:opacity,transform;
  backface-visibility:hidden;
  filter:saturate(.94) brightness(.84) contrast(1.02);
}
#tero-lp .couche-video{
  opacity:1;transform-origin:center;
  background:linear-gradient(140deg,#680224,#680224 55%,#680224) center/cover no-repeat;
}
#tero-lp .c-lieu{background:linear-gradient(140deg,#680224,#680224)}
#tero-lp .c-tb{background:linear-gradient(140deg,#680224,#680224)}
#tero-lp .c-traiteur{background:linear-gradient(140deg,#680224,#680224)}

/* voile de lisibilité */
#tero-lp .voile{
  position:absolute;inset:0;pointer-events:none;transition:opacity .3s linear;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.48) 0%,
      rgba(0,0,0,.32) 32%,
      rgba(0,0,0,.42) 62%,
      rgba(0,0,0,.68) 100%);
}

/* ---------- couche de contenu ---------- */
#tero-lp .contenu{position:absolute;inset:0;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,72px)}
#tero-lp .contenu-in{width:100%;max-width:1160px;margin:0 auto}

/* — acte 1 : le produit, visible dès l'état au repos — */
#tero-lp .produit{opacity:1;transform:none;max-width:min(780px,62%)}
#tero-lp .produit .eyebrow{
  font-family:var(--label);font-size:.74rem;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,255,255,.8);display:block;margin-bottom:20px;
}
/* le titre et la citation se croisent au même endroit.
   La citation est hors flux : elle ne doit pas imposer sa hauteur,
   sinon un vide apparaît sous le titre au repos. */
#tero-lp .bascule{position:relative}

#tero-lp .produit h1{
  font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:1.04;
  font-size:calc(clamp(1.9rem,4.2vw,3.6rem) * (1 + .18 * var(--e)));
  color:#fff;margin:0;
}
#tero-lp .produit h1 .it{font-weight:300;color:var(--glace-cl);font-style:normal}
#tero-lp .produit h1{opacity:calc(1 - var(--p) * 1.6)}

/* second écran : reprend exactement le style du titre principal */
#tero-lp .citation{
  position:absolute;top:0;left:0;right:0;
  opacity:calc((var(--p) - .35) * 1.8);
  pointer-events:none;border:0;margin:0;
  transform:translateY(calc(14px * (1 - var(--p))));

  font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:1.04;
  font-size:calc(clamp(1.9rem,4.2vw,3.6rem) * (1 + .18 * var(--e)));
  color:#fff;max-width:16ch;
}
#tero-lp .citation .it{font-weight:300;color:var(--glace-cl);font-style:normal}

/* en plein écran, seuls le surtitre, la citation et les boutons restent */
#tero-lp .produit .sous-titre,
#tero-lp .produit .pastilles,
#tero-lp .produit .mention{
  opacity:calc(1 - var(--p) * 1.7);
}
#tero-lp .produit .sous{
  opacity:1;
  margin-top:calc(30px + 14px * var(--p));
  pointer-events:auto;
}

#tero-lp .produit .sous-titre{
  font-size:clamp(.95rem,1.25vw,1.12rem);color:rgba(255,255,255,.85);
  max-width:54ch;margin-top:calc(20px + 8px * var(--e));line-height:1.5;
}

#tero-lp .produit .pastilles{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:10px 0;margin-top:24px;
}
#tero-lp .produit .pastilles span{
  font-family:var(--body);font-size:.9rem;font-weight:400;
  color:var(--glace-cl);white-space:nowrap;
  display:inline-flex;align-items:center;
}
/* séparateur : un point bleu givré entre chaque mention */
#tero-lp .produit .pastilles span + span::before{
  content:'';display:inline-block;
  width:4px;height:4px;border-radius:50%;
  background:var(--glace-cl);
  margin:0 14px;flex:0 0 auto;
}

#tero-lp .produit .mention{
  font-size:.86rem;color:rgba(255,255,255,.65);margin-top:26px;
}

#tero-lp .produit .sous{
  display:flex;align-items:stretch;gap:14px;
  margin-top:30px;flex-wrap:wrap;
}
#tero-lp .produit .sous .btn{
  min-width:222px;justify-content:center;
  padding:16px 28px;font-size:.96rem;
}
#tero-lp .btn--plein{
  background:var(--glace);border-color:var(--glace);color:#fff;
}
#tero-lp .btn--plein:hover{background:var(--glace-sd);border-color:var(--glace-sd)}

/* — actes 2 à 4 : le trio en colonnes — */
#tero-lp .trio{
  --gap-trio:clamp(26px,4.5vw,72px);
  position:absolute;left:0;right:0;bottom:clamp(96px,18vh,210px);
  padding:0 clamp(28px,5vw,72px);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--gap-trio);align-items:start;
}

/* titre commun aux trois colonnes */
#tero-lp .trio-titre{
  position:absolute;left:0;right:auto;
  bottom:calc(100% + clamp(60px,22vh,250px));
  padding:0 0 0 clamp(28px,5vw,72px);
  font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:1.04;
  font-size:calc(clamp(1.9rem,4.2vw,3.6rem) * (1 + .18 * var(--e)));
  color:#fff;text-align:left;margin:0;
  max-width:min(900px,82vw);
  text-shadow:0 1px 16px rgba(0,0,0,.50);
  opacity:0;transform:translateY(18px);
}
#tero-lp .trio-titre .it{
  display:block;
  font-weight:300;color:var(--glace-cl);font-style:normal;
  white-space:nowrap;
}
#tero-lp .trio-titre .trio-suite{
  display:block;
  color:#fff;
  white-space:nowrap;
}

#tero-lp .bloc{position:relative;opacity:0;transform:translateY(22px);text-align:left;padding:0}
#tero-lp .bloc .num{
  font-family:var(--display);font-size:clamp(1.35rem,2.1vw,1.8rem);font-weight:600;
  letter-spacing:-.02em;text-transform:none;color:#fff;display:block;margin-bottom:14px;
  padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.30);
}
#tero-lp .bloc h2{
  font-family:var(--display);font-weight:500;letter-spacing:-.015em;line-height:1.2;
  font-size:clamp(1rem,1.35vw,1.2rem);color:rgba(255,255,255,.92);margin-bottom:16px;
  text-shadow:0 1px 16px rgba(0,0,0,.50);
}

/* liste de points, sur pastille sombre pour la lisibilité */
#tero-lp .bloc ul{
  list-style:none;margin:0;padding:0;
  background:none;
}
#tero-lp .bloc ul li{
  position:relative;padding:5px 0 5px 18px;
  font-size:clamp(.82rem,1vw,.95rem);color:rgba(255,255,255,.9);line-height:1.4;
  text-shadow:0 1px 12px rgba(0,0,0,.55);
}
#tero-lp .bloc ul li::before{
  content:'';position:absolute;left:0;top:.72em;
  width:5px;height:5px;border-radius:50%;background:var(--glace-cl);
}

/* le + entre les colonnes */
#tero-lp .bloc-2::before,#tero-lp .bloc-3::before{
  content:'+';position:absolute;top:-4px;
  left:calc(-1 * var(--gap-trio) / 2);transform:translateX(-50%);
  font-family:var(--display);font-size:1.5rem;font-weight:300;color:var(--glace-cl);
  opacity:0;transition:opacity .5s ease;
}
#tero-lp .bloc-2.vu::before,#tero-lp .bloc-3.vu::before{opacity:1}

/* les deux CTA sous les colonnes */
#tero-lp .cta-flottant{
  position:absolute;left:50%;transform:translate(-50%,18px);
  bottom:clamp(40px,7vh,84px);opacity:0;
  display:flex;gap:14px;flex-wrap:wrap;justify-content:center;
  max-width:calc(100% - 2 * clamp(28px,5vw,72px));
}
#tero-lp .cta-flottant .btn{min-width:222px;justify-content:center;padding:15px 28px}

/* indice de défilement */
#tero-lp .indice{
  position:absolute;left:50%;transform:translateX(-50%);bottom:26px;z-index:3;
  font-family:var(--label);font-size:.66rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.65);display:flex;flex-direction:column;align-items:center;gap:8px;
}
#tero-lp .indice i{display:block;width:1px;height:34px;background:linear-gradient(180deg,rgba(255,255,255,.7),transparent)}

/* ============================================================
   TRUSTED BY
   ============================================================ */
#tero-lp .bande-trusted .titre{
  text-align:center;font-family:var(--label);font-size:.7rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--encre-2);margin-bottom:22px;
}
#tero-lp .piste{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
#tero-lp .piste-in{
  display:flex;gap:56px;width:max-content;
  /* le défilé tourne toujours : animation CSS autonome, exécutée par
     la carte graphique, sans jamais mobiliser le script */
  animation:defile 38s linear infinite!important;
  will-change:transform;
}
#tero-lp .piste:hover .piste-in{animation-play-state:paused}
@keyframes defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
#tero-lp .logo-ph{
  flex:0 0 auto;
  width:150px;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:none;
  border:0;
  padding:0;
  box-sizing:border-box;
}
#tero-lp .logo-ph img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.7;
  transition:filter .3s ease,opacity .3s ease;
}
#tero-lp .piste:hover .logo-ph img{filter:grayscale(0);opacity:1}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:900px){
  #tero-lp{--cadre-h:56vh}

  /* Les trois contenus sont empilés verticalement sur mobile */
  #tero-lp .trio{
    grid-template-columns:1fr!important;
    gap:12px!important;
    top:150px!important;
    bottom:132px!important;
    padding:0 26px!important;
    align-content:start!important;
  }

  /* Le grand titre du trio reste en haut, sur exactement deux lignes */
  #tero-lp .trio-titre{
    top:-104px!important;
    bottom:auto!important;
    left:0!important;
    right:auto!important;
    padding:0!important;
    max-width:calc(100vw - 72px)!important;
    font-size:clamp(1.45rem,7vw,2rem)!important;
    line-height:1.03!important;
  }
  #tero-lp .trio-titre .it,
  #tero-lp .trio-titre .trio-suite{white-space:normal!important}

  /* Hiérarchie compacte pour que les 3 blocs tiennent dans la fenêtre */
  #tero-lp .bloc .num{
    font-size:1.05rem!important;
    padding-bottom:5px!important;
    margin-bottom:5px!important;
  }
  #tero-lp .bloc h2{
    font-size:.92rem!important;
    line-height:1.15!important;
    margin-bottom:4px!important;
  }
  #tero-lp .bloc ul{padding:0!important;margin:0!important}
  #tero-lp .bloc ul li{
    font-size:.75rem!important;
    line-height:1.22!important;
    padding:1px 0 1px 14px!important;
  }
  #tero-lp .bloc ul li::before{top:.62em}
  #tero-lp .bloc-2::before,#tero-lp .bloc-3::before{display:none!important}

  #tero-lp .cta-flottant{flex-direction:column;gap:8px;width:calc(100% - 40px);bottom:18px!important}
  #tero-lp .cta-flottant .btn{width:100%;min-width:0;font-size:.82rem;padding:11px 18px}
  #tero-lp .produit{max-width:100%}
  #tero-lp .produit .pastilles span{font-size:.8rem}
  #tero-lp .produit .pastilles span + span::before{margin:0 10px}
  #tero-lp .produit .sous-titre{font-size:.92rem}
  #tero-lp .produit .mention{font-size:.78rem;margin-top:18px}
  #tero-lp .produit .sous{gap:12px;flex-direction:column;align-items:stretch}
  #tero-lp .produit .sous .btn{width:100%;min-width:0;justify-content:center}
  #tero-lp .devis-txt h2{font-size:1.1rem}
  #tero-lp .devis-accueil{padding:14px}
  #tero-lp .devis-in{grid-template-columns:1fr;gap:16px}
  #tero-lp .devis-txt{text-align:center}
}

@media (max-width:560px){
  #tero-lp .bloc ul li{font-size:.82rem}
  #tero-lp .bloc-2::before,#tero-lp .bloc-3::before{display:none}
  #tero-lp .bloc .num{padding-bottom:8px;margin-bottom:8px}
}

/* la photo traiteur est verticale : on cadre sur la table dressée */
#tero-lp .c-traiteur{object-position:center 41%;}

/* emplacement provisoire du formulaire */


/* ═══════════════════════════════════════════════════════════
   ACTE FINAL — LE DEVIS
   ═══════════════════════════════════════════════════════════ */
#tero-lp .acte-devis{
  position:absolute;inset:0;z-index:4;opacity:0;pointer-events:none;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(16px,2.2vw,34px);background:var(--nuit);
  overflow-y:auto;
}
#tero-lp .acte-devis.actif{pointer-events:auto}

#tero-lp .devis-in{
  width:100%;max-width:1120px;
  display:grid!important;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(24px,4vw,64px);
  align-items:center;
}
#tero-lp .devis-txt{
  flex:0 0 auto;position:relative;z-index:2;text-align:left;
}
#tero-lp .devis-txt .lbl{
  font-family:var(--label);font-size:.72rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.7);display:block;margin-bottom:18px;
}
#tero-lp .devis-txt h2{
  font-family:var(--display);font-weight:600;letter-spacing:-.025em;line-height:1.08;
  font-size:clamp(1.6rem,3.4vw,3rem);color:#fff;max-width:14ch;margin:0;
}
#tero-lp .devis-txt h2 .it{font-weight:300;color:var(--glace-cl);font-style:normal}
#tero-lp .devis-txt ul{display:none}

#tero-lp .devis-accueil{
  position:relative;z-index:1;width:100%;
  background:#680224;border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r);padding:clamp(16px,2vw,26px);
  max-height:calc(var(--cadre-h) - 130px);
  overflow-y:auto;overflow-x:hidden;
}
#tero-lp .devis-accueil::-webkit-scrollbar{width:6px}
#tero-lp .devis-accueil::-webkit-scrollbar-thumb{background:rgba(255,255,255,.35);border-radius:999px}

/* le conteneur Elementor déplacé épouse le réceptacle */
#tero-lp .devis-accueil > *,
#tero-lp .devis-accueil #devis-source{
  position:static!important;inset:auto!important;transform:none!important;float:none!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  margin:0!important;padding:0!important;
  --width:100%;--content-width:100%;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}
/* le formulaire lui-même n'apporte ni fond ni cadre : le nôtre suffit */
#tero-lp .devis-accueil .jet-form-builder,
#tero-lp .devis-accueil .jet-form-builder-page{
  background:transparent!important;border:0!important;padding:0!important;
  box-shadow:none!important;
}
#tero-lp .devis-accueil .e-con-inner{width:100%!important;max-width:100%!important;padding:0!important}
#tero-lp .devis-accueil .elementor-widget,
#tero-lp .devis-accueil .elementor-widget-container{width:100%!important;max-width:100%!important;margin:0!important}

/* ═══ HABILLAGE JETFORMBUILDER ═══ */
#tero-lp .devis-accueil .jet-form-builder-progress-pages,
#tero-lp .devis-accueil .form-pagination{display:none!important}

#tero-lp .devis-accueil .jet-form-builder__label-text{
  font-family:var(--label);font-size:.64rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.6);margin-bottom:6px;
}
#tero-lp .devis-accueil .jet-form-builder__required{color:var(--glace-cl)}

#tero-lp .devis-accueil input[type="text"],
#tero-lp .devis-accueil input[type="email"],
#tero-lp .devis-accueil input[type="tel"],
#tero-lp .devis-accueil input[type="number"],
#tero-lp .devis-accueil input[type="date"],
#tero-lp .devis-accueil select,
#tero-lp .devis-accueil textarea{
  width:100%!important;
  background:rgba(0,0,0,.48)!important;
  border:1px solid rgba(255,255,255,.2)!important;
  color:#fff!important;
  font-family:var(--body)!important;font-size:.9rem!important;
  padding:10px 14px!important;border-radius:var(--r-sm)!important;
  box-sizing:border-box;
}
#tero-lp .devis-accueil input:focus,
#tero-lp .devis-accueil select:focus,
#tero-lp .devis-accueil textarea:focus{border-color:var(--glace-cl)!important;outline:none}
#tero-lp .devis-accueil select option{background:#680224;color:#fff}
#tero-lp .devis-accueil .jet-form-builder-row{margin-bottom:10px}

#tero-lp .devis-accueil .checkboxes-wrap label,
#tero-lp .devis-accueil .jet-form-builder__field-label.for-checkbox{
  display:flex!important;gap:9px;align-items:flex-start;
  font-size:.74rem!important;color:rgba(255,255,255,.68)!important;
  line-height:1.4;text-transform:none;letter-spacing:0;font-weight:400;cursor:pointer;
}
#tero-lp .devis-accueil .checkboxes-wrap label p{margin:0;font-size:.74rem}
#tero-lp .devis-accueil input[type="checkbox"]{
  width:15px!important;height:15px!important;flex:0 0 auto;margin-top:2px;
  accent-color:var(--glace-cl);
}
#tero-lp .devis-accueil .checkboxes-wrap a{color:var(--glace-cl);text-decoration:underline}

#tero-lp .devis-accueil .jet-form-builder__next-page,
#tero-lp .devis-accueil .jet-form-builder__prev-page,
#tero-lp .devis-accueil .jet-form-builder__action-button,
#tero-lp .devis-accueil button[type="submit"]{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--body)!important;font-weight:500!important;font-size:.9rem!important;
  padding:12px 28px!important;
  border:1px solid rgba(255,255,255,.6)!important;
  border-radius:var(--r-pill)!important;
  background:transparent!important;color:#fff!important;
  cursor:pointer;transition:background .25s ease,border-color .25s ease;margin-top:6px;
}
#tero-lp .devis-accueil .jet-form-builder__next-page:hover,
#tero-lp .devis-accueil .jet-form-builder__prev-page:hover,
#tero-lp .devis-accueil .jet-form-builder__action-button:hover,
#tero-lp .devis-accueil button[type="submit"]:hover{
  background:rgba(104,2,36,.72)!important;border-color:var(--glace-cl)!important;
}
#tero-lp .devis-accueil .jet-form-builder__next-page-wrap,
#tero-lp .devis-accueil .form-submit-group{display:flex;gap:10px;margin-top:4px}
#tero-lp .devis-accueil .jet-form-builder__field-error{color:#FFB4A2;font-size:.74rem;margin-top:4px}

@media (max-width:900px){
  #tero-lp .devis-in{grid-template-columns:1fr;gap:16px}
  #tero-lp .devis-txt{text-align:center}
  #tero-lp .devis-txt h2{font-size:1.2rem;max-width:none;margin:0 auto}
  #tero-lp .devis-txt .lbl{margin-bottom:10px}
  #tero-lp .devis-accueil{padding:14px}
}


/* ═══════════════════════════════════════════════════════════
   AUCUN CADRE INTERMÉDIAIRE DANS LE FORMULAIRE
   Les conteneurs Elementor et JetFormBuilder déplacés dans le
   cadre ne doivent apporter ni fond, ni bordure, ni ombre.
   Champs, listes et boutons sont exclus : ils gardent le leur.
   ═══════════════════════════════════════════════════════════ */
#tero-lp .devis-accueil *:not(input):not(select):not(textarea):not(button){
  background-color:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
#tero-lp .devis-accueil .e-con,
#tero-lp .devis-accueil .e-con-inner,
#tero-lp .devis-accueil .elementor-widget-container,
#tero-lp .devis-accueil form{
  padding:0!important;margin:0!important;
  border:0!important;border-radius:0!important;
}

/* ---------- bouton flottant ---------- */
#tero-lp .flottant{
  position:fixed;
  left:50%;
  bottom:24px;
  z-index:60;
  transform:translate(-50%,14px);
  display:inline-flex;
  align-items:center;
  gap:.55em;
  white-space:nowrap;
  max-width:calc(100vw - 32px);
  font-family:var(--body);
  font-weight:500;
  font-size:.92rem;
  line-height:1;
  padding:14px 26px;
  border-radius:var(--r-pill);
  background:var(--glace);
  color:#fff;
  border:1px solid var(--glace);
  box-shadow:0 14px 34px -14px rgba(0,0,0,.35);
  text-decoration:none;
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease,transform .35s ease,background .25s ease;
}
#tero-lp .flottant:hover{background:var(--glace-sd);border-color:var(--glace-sd)}
#tero-lp .flottant.on{
  opacity:1;
  transform:translate(-50%,0);
  pointer-events:auto;
}
@media (max-width:600px){
  #tero-lp .flottant{
    bottom:16px;
    font-size:.86rem;
    padding:12px 20px;
  }
}


/* ═══════════════════════════════════════════════════════════
   MOUVEMENT RÉDUIT
   Certains visiteurs activent « Réduire les animations » dans
   leur système. Le script de la séquence ne s'exécute pas :
   sans ce repli, tous les actes s'afficheraient superposés.
   On déplie ici la séquence en une page verticale classique.
   ═══════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}

  /* la scène cesse d'être collante */
  #tero-lp .scene{height:auto!important}
  #tero-lp .colle{
    position:static!important;height:auto!important;
    overflow:visible!important;padding:0;
  }
  #tero-lp .cadre{
    position:static!important;transform:none!important;
    width:100%!important;height:auto!important;
    min-height:64vh;border-radius:0!important;
    box-shadow:none!important;
    display:flex;flex-direction:column;
  }

  /* une seule image de fond : la vidéo */
  #tero-lp .couche{position:absolute!important;opacity:1!important;transform:none!important}
  #tero-lp .c-lieu,#tero-lp .c-traiteur,#tero-lp .c-tb{display:none!important}
  #tero-lp .voile{opacity:1!important}

  /* acte 1 : visible, sans bascule */
  #tero-lp .contenu{position:relative!important;padding:clamp(40px,7vw,90px) clamp(24px,5vw,64px)}
  #tero-lp .produit{opacity:1;transform:none;max-width:100%}
  #tero-lp .produit h1{opacity:1!important;font-size:clamp(1.9rem,5vw,3.2rem)}
  #tero-lp .bascule{display:block}
  #tero-lp .citation{display:none!important}
  #tero-lp .produit .sous-titre,
  #tero-lp .produit .pastilles,
  #tero-lp .produit .mention,
  #tero-lp .produit .sous{opacity:1!important}

  /* les trois colonnes passent sous le contenu, dans le flux */
  #tero-lp .trio{
    position:static!important;
    padding:0 clamp(24px,5vw,64px) clamp(30px,5vw,60px);
    grid-template-columns:1fr;gap:26px;
  }
  #tero-lp .trio-titre{
    position:static!important;opacity:1!important;transform:none!important;
    padding:0 0 22px;text-align:left;
  }
  #tero-lp .bloc{opacity:1;transform:none}
  #tero-lp .bloc-2::before,#tero-lp .bloc-3::before{display:none}

  /* les CTA reviennent dans le flux */
  #tero-lp .cta-flottant{
    position:static!important;transform:none!important;opacity:1!important;
    margin:0 clamp(24px,5vw,64px) clamp(34px,5vw,56px);
    max-width:none;justify-content:flex-start;
  }

  /* l'écran devis devient une section normale */
  #tero-lp .acte-devis{
    position:static!important;opacity:1!important;transform:none!important;
    pointer-events:auto!important;overflow:visible!important;
    padding:clamp(34px,6vw,64px) clamp(24px,5vw,64px);
  }
  #tero-lp .devis-in{max-width:900px;margin:0 auto}
  #tero-lp .devis-accueil{max-height:none!important;overflow:visible!important}

  /* repères de défilement inutiles sans animation */
  #tero-lp .indice{display:none!important}
  #tero-lp .flottant{display:none!important}

  /* bande de logos : le défilé reste, ralenti */
  #tero-lp .bande-trusted{
    position:static!important;opacity:1!important;
    padding:clamp(30px,5vw,54px) 0;
  }
  #tero-lp .piste-in{animation-duration:60s!important}
}

/* ═══════════════════════════════════════════════════════════
   AJUSTEMENTS MOBILE — conserve la séquence scrollée d'origine
   ═══════════════════════════════════════════════════════════ */
@media (max-width:900px){
  /* cadre plus généreux sur téléphone */
  #tero-lp{
    --gut:10px;
    --cadre-h:76vh;
  }

  #tero-lp .cadre{
    width:calc(100vw - 20px)!important;
  }

  /* davantage de respiration pour le contenu */
  #tero-lp .contenu{
    padding-left:26px!important;
    padding-right:26px!important;
  }

  /* pas d'indication « Défilez » sur mobile */
  #tero-lp .indice{
    display:none!important;
  }
}


/* ============================================================
   MOBILE NATIF — VIDÉO STICKY + CARTES DANS LE FLUX
   Aucun JS ne déplace les textes.
   ============================================================ */

#tero-lp .mobile-story{
  display:none;
}

@media (max-width:900px){

  /*
   * Le moteur desktop est complètement retiré du rendu mobile.
   * Aucun sticky/translate du code historique ne peut donc trembler.
   */
  #tero-lp > .scene{
    display:none!important;
  }

  #tero-lp > .flottant{
    display:none!important;
  }

  #tero-lp .mobile-story{
    display:block;
    position:relative;
    width:100%;
    background:var(--nuit);
  }

  /*
   * La vidéo est le seul élément sticky.
   * Le navigateur gère lui-même cette position.
   */
  #tero-lp .mobile-story-bg{
    position:sticky;
    top:0;
    width:100%;
    height:100svh;
    overflow:hidden;
    z-index:0;
    background:var(--nuit);
  }

  #tero-lp .mobile-story-bg video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    object-position:center;
    transform:translateZ(0);
    pointer-events:none;
  }

  #tero-lp .mobile-story-voile{
    position:absolute;
    inset:0;
    background:
      linear-gradient(
        180deg,
        rgba(0,0,0,.40) 0%,
        rgba(0,0,0,.26) 30%,
        rgba(0,0,0,.38) 62%,
        rgba(0,0,0,.62) 100%
      );
    pointer-events:none;
  }

  /*
   * La vidéo sticky occupe 100svh dans le flux.
   * La marge négative fait démarrer la première carte directement dessus.
   */
  #tero-lp .mobile-story-cards{
    position:relative;
    z-index:1;
    margin-top:-100svh;
  }

  /*
   * CE SONT DE VRAIES SECTIONS DE PAGE.
   * Le texte monte exactement avec le doigt, sans translateY JS.
   */
  #tero-lp .mobile-story-card{
    min-height:100svh;
    width:100%;
    display:flex;
    align-items:center;
    position:relative;
    padding:80px 26px 54px;
    color:#fff;
  }

  #tero-lp .mobile-story-inner{
    width:100%;
    max-width:560px;
    margin:0 auto;
  }

  #tero-lp .mobile-eyebrow{
    display:block;
    margin-bottom:22px;
    font-family:var(--label);
    font-size:.72rem;
    font-weight:500;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:rgba(255,255,255,.78);
  }

  #tero-lp .mobile-story-intro h1{
    margin:0;
    font-family:var(--display);
    font-size:clamp(2.25rem,12vw,3.3rem);
    line-height:1;
    letter-spacing:-.035em;
    color:#fff;
  }

  #tero-lp .mobile-lead{
    max-width:38ch;
    margin-top:20px;
    font-size:.95rem;
    line-height:1.48;
    color:rgba(255,255,255,.86);
  }

  #tero-lp .mobile-pills{
    display:flex;
    flex-wrap:wrap;
    margin-top:22px;
    gap:7px 0;
  }

  #tero-lp .mobile-pills span{
    display:inline-flex;
    align-items:center;
    color:var(--glace-cl);
    font-size:.82rem;
    white-space:nowrap;
  }

  #tero-lp .mobile-pills span + span::before{
    content:'';
    width:4px;
    height:4px;
    margin:0 10px;
    border-radius:50%;
    background:var(--glace-cl);
  }

  #tero-lp .mobile-actions{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:26px;
  }

  #tero-lp .mobile-actions .btn{
    width:100%;
    min-width:0;
    justify-content:center;
    padding:14px 20px;
    font-size:.88rem;
  }

  #tero-lp .mobile-mention{
    margin-top:18px;
    font-size:.78rem;
    color:rgba(255,255,255,.65);
  }

  #tero-lp .mobile-story-message h2,
  #tero-lp .mobile-story-kicker{
    margin:0;
    font-family:var(--display);
    font-size:clamp(2rem,10.2vw,3rem);
    font-weight:700;
    letter-spacing:-.03em;
    line-height:1.04;
    color:#fff;
  }

  #tero-lp .mobile-story-message h2 .it,
  #tero-lp .mobile-story-kicker .it{
    font-weight:300;
    color:var(--glace-cl);
  }

  #tero-lp .mobile-story-kicker{
    margin-bottom:58px;
  }

  #tero-lp .mobile-section-title{
    display:block;
    margin-bottom:10px;
    padding-bottom:8px;
    border-bottom:1px solid rgba(255,255,255,.32);
    font-family:var(--display);
    font-size:1.55rem;
    font-weight:600;
    letter-spacing:-.02em;
    color:#fff;
  }

  #tero-lp .mobile-story-card h2{
    margin:0 0 18px;
    font-family:var(--display);
    font-size:1.05rem;
    font-weight:500;
    line-height:1.2;
    letter-spacing:-.015em;
    color:rgba(255,255,255,.94);
  }

  #tero-lp .mobile-story-card ul{
    list-style:none;
    margin:0;
    padding:0;
  }

  #tero-lp .mobile-story-card li{
    position:relative;
    padding:4px 0 4px 17px;
    font-size:.84rem;
    line-height:1.4;
    color:rgba(255,255,255,.90);
  }

  #tero-lp .mobile-story-card li::before{
    content:'';
    position:absolute;
    left:0;
    top:.78em;
    width:5px;
    height:5px;
    border-radius:50%;
    background:var(--glace-cl);
  }

  /*
   * Le devis reste une vraie carte.
   * Elle peut grandir au-delà de 100svh si le formulaire est long.
   */
  #tero-lp .mobile-story-devis{
    min-height:100svh;
    align-items:flex-start;
    padding-top:90px;
    padding-bottom:70px;
    background:rgba(104,2,36,.94);
  }

  #tero-lp .mobile-story-devis-inner > h2{
    margin-bottom:28px;
    font-size:clamp(1.7rem,8.5vw,2.5rem);
    font-weight:600;
    line-height:1.08;
  }

  #tero-lp .mobile-devis-accueil{
    width:100%;
    padding:16px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:var(--r);
    background:#680224;
  }

  /* Reprise du style du formulaire pour le réceptacle mobile */
  #tero-lp .mobile-devis-accueil > *,
  #tero-lp .mobile-devis-accueil #devis-source{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    float:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  #tero-lp .mobile-devis-accueil .e-con-inner,
  #tero-lp .mobile-devis-accueil .elementor-widget,
  #tero-lp .mobile-devis-accueil .elementor-widget-container{
    width:100%!important;
    max-width:100%!important;
  }

  /* Aucun débordement horizontal de la story */
  html,
  body{
    max-width:100%;
    overflow-x:clip;
  }
}
@media (max-width:900px){

  /* =====================================================
     RYTHME GLOBAL — beaucoup plus rapproché
     ===================================================== */

  #tero-lp .mobile-story-card{
    min-height:34svh!important;
    padding-top:18px!important;
    padding-bottom:18px!important;
  }

  /* Premier écran Celebrate */
  #tero-lp .mobile-story-intro{
    min-height:82svh!important;
    padding-top:45px!important;
    padding-bottom:25px!important;
  }

  /* =====================================================
     "VOTRE FÊTE DE FIN D'ANNÉE, CLÉ EN MAIN"
     = grand titre
     ===================================================== */

  #tero-lp .mobile-story-message{
    min-height:24svh!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }

  #tero-lp .mobile-story-message h2{
    font-size:clamp(2rem,10.2vw,3rem)!important;
    line-height:1.02!important;
    margin:0!important;
  }

  /* =====================================================
     "VOUS RASSEMBLEZ LES PERSONNES..."
     = plus petit maintenant
     ===================================================== */

  #tero-lp .mobile-story-kicker{
    font-size:clamp(1.3rem,6.3vw,1.75rem)!important;
    line-height:1.08!important;
    margin-bottom:14px!important;
  }

  /* =====================================================
     LIEU / TABLE / ACTIVITÉ
     ===================================================== */

  #tero-lp .mobile-story-card:not(.mobile-story-intro):not(.mobile-story-message):not(.mobile-story-devis){
    min-height:32svh!important;
    padding-top:14px!important;
    padding-bottom:14px!important;
  }

  #tero-lp .mobile-section-title{
    margin-bottom:4px!important;
    padding-bottom:4px!important;
  }

  #tero-lp .mobile-story-card h2{
    margin-top:0!important;
    margin-bottom:8px!important;
  }

  #tero-lp .mobile-story-card ul{
    margin-top:0!important;
    margin-bottom:0!important;
  }

  #tero-lp .mobile-story-card li{
    padding-top:1px!important;
    padding-bottom:1px!important;
    line-height:1.3!important;
  }

  /* Boutons plus proches du contenu */
  #tero-lp .mobile-actions{
    margin-top:16px!important;
    gap:8px!important;
  }

  #tero-lp .mobile-mention{
    margin-top:10px!important;
  }

  /* Formulaire : on le laisse respirer */
  #tero-lp .mobile-story-devis{
    min-height:100svh!important;
    padding-top:45px!important;
    padding-bottom:50px!important;
  }
}
@media (max-width:900px){

  /* ==========================================
     BOUTONS FIXES EN BAS DE L'ÉCRAN
     ========================================== */

  #tero-lp .mobile-story-intro .mobile-actions{
    position:fixed!important;
    left:16px!important;
    right:16px!important;
@media (max-width:900px){

  #tero-lp .mobile-story-intro .mobile-actions{
    position:fixed!important;
    left:16px!important;
    right:16px!important;

    bottom:calc(78px + env(safe-area-inset-bottom))!important;

    z-index:999!important;

    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;

    margin:0!important;
    padding:8px!important;

    border:1px solid rgba(255,255,255,.14)!important;
    border-radius:18px!important;

    background:rgba(104,2,36,.90)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;

    box-shadow:0 10px 35px rgba(0,0,0,.22)!important;
  }
}
    z-index:999!important;

    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;

    margin:0!important;
    padding:8px!important;

    border:1px solid rgba(255,255,255,.14)!important;
    border-radius:18px!important;

    background:rgba(104,2,36,.90)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;

    box-shadow:0 10px 35px rgba(0,0,0,.22)!important;
  }

  #tero-lp .mobile-story-intro .mobile-actions .btn{
    min-width:0!important;
    width:100%!important;
    padding:12px 8px!important;
    margin:0!important;

    font-size:.75rem!important;
    white-space:nowrap!important;
  }

  /* ==========================================
     SUPPRIME LA 2E PAIRE DE BOUTONS
     SOUS "L'ACTIVITÉ"
     ========================================== */

  #tero-lp .mobile-story-card:not(.mobile-story-intro) .mobile-actions{
    display:none!important;
  }

  /* Laisse de la place en bas pour que
     les boutons ne recouvrent jamais le texte */
  #tero-lp .mobile-story-card{
    padding-bottom:95px!important;
  }

  /* Le formulaire garde un peu plus d'espace */
  #tero-lp .mobile-story-devis{
    padding-bottom:120px!important;
  }
}
@media (max-width:900px){

  #tero-lp .mobile-story.mobile-story .mobile-story-intro .mobile-actions{
    position:fixed!important;

    top:auto!important;
    bottom:calc(45px + env(safe-area-inset-bottom))!important;

    transform:none!important;
  }

}
@media (max-width:900px){

  #tero-lp .mobile-story-message{
    min-height:12svh!important;
    margin-top:-8svh!important;
    padding-top:0!important;
    padding-bottom:8px!important;
  }

}
@media (max-width:900px){

  /* Lieu / Table / Activité :
     hauteur dictée uniquement par leur contenu */
  #tero-lp .mobile-story-card:not(.mobile-story-intro):not(.mobile-story-message):not(.mobile-story-devis){
    min-height:0!important;
    height:auto!important;

    padding-top:24px!important;
    padding-bottom:24px!important;

    align-items:flex-start!important;
  }

  /* Même espace entre chaque bloc */
  #tero-lp .mobile-story-card:not(.mobile-story-intro):not(.mobile-story-message):not(.mobile-story-devis)
  + .mobile-story-card:not(.mobile-story-devis){
    margin-top:32px!important;
  }

  /* On évite que les marges internes faussent l'espacement */
  #tero-lp .mobile-story-card ul{
    margin-bottom:0!important;
  }

  #tero-lp .mobile-story-card li:last-child{
    margin-bottom:0!important;
  }
}

/* ============================================================
   PALETTE MONOCHROME — #680224 + NEUTRES
   Aucun texte coloré : la hiérarchie se fait par la typographie.
   ============================================================ */

#tero-lp .produit h1 .it,
#tero-lp .citation .it,
#tero-lp .trio-titre .it,
#tero-lp .trio-titre .trio-suite,
#tero-lp .devis-txt h2 .it,
#tero-lp .mobile-story-message h2 .it,
#tero-lp .mobile-story-kicker .it,
#tero-lp .mobile-section-title,
#tero-lp .mobile-pills span,
#tero-lp .produit .pastilles span{
  color:#fff!important;
}

/* Puces et séparateurs : blancs, pas de couleur secondaire */
#tero-lp .bloc ul li::before,
#tero-lp .mobile-story-card li::before,
#tero-lp .produit .pastilles span + span::before,
#tero-lp .mobile-pills span + span::before{
  background:#fff!important;
}

/* Filets neutres */
#tero-lp .bloc .num,
#tero-lp .mobile-section-title{
  border-color:rgba(255,255,255,.32)!important;
}

/* Champs / scrollbars : pas d'accent secondaire */
#tero-lp .devis-accueil .jet-form-builder__required,
#tero-lp .devis-accueil .checkboxes-wrap a{
  color:#fff!important;
}

#tero-lp .devis-accueil input:focus,
#tero-lp .devis-accueil select:focus,
#tero-lp .devis-accueil textarea:focus{
  border-color:#fff!important;
}

#tero-lp .devis-accueil input[type="checkbox"]{
  accent-color:#680224!important;
}

#tero-lp .devis-accueil::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.32)!important;
}


/* ============================================================
   CORRECTION DES CLICS — DESKTOP
   Les calques visuels invisibles ne doivent jamais recouvrir les CTA.
   ============================================================ */
@media (min-width:901px){

  /* Le trio n'a aucun élément interactif :
     il ne doit donc jamais intercepter un clic. */
  #tero-lp .trio,
  #tero-lp .trio-titre,
  #tero-lp .bloc{
    pointer-events:none!important;
  }

  /* L'indicateur de scroll est également purement visuel. */
  #tero-lp .indice{
    pointer-events:none!important;
  }

  /* Le contenu plein écran ne capte pas les clics par lui-même. */
  #tero-lp .contenu{
    pointer-events:none;
  }

  /* Le bloc produit redevient interactif tant que le JS ne le désactive pas
     pendant sa sortie de scène. */
  #tero-lp .produit{
    position:relative;
    z-index:5;
    pointer-events:auto;
  }

  /* Les deux CTA du premier écran passent explicitement au-dessus
     de tous les calques visuels. */
  #tero-lp .produit .sous{
    position:relative;
    z-index:20;
    pointer-events:auto!important;
  }

  #tero-lp .produit .sous .btn{
    position:relative;
    z-index:21;
    pointer-events:auto!important;
    cursor:pointer;
  }

  /* Les CTA des actes suivants restent eux aussi cliquables
     lorsqu'ils sont rendus actifs par le JavaScript. */
  #tero-lp .cta-flottant{
    z-index:6;
  }

  #tero-lp .cta-flottant .btn{
    pointer-events:auto;
    cursor:pointer;
  }

  /* Le formulaire reste au-dessus de tout lorsqu'il devient actif. */
  #tero-lp .acte-devis{
    z-index:30;
  }
}
@media (max-width:900px){

  /* Toute la partie avant le formulaire reste noire */
  #tero-lp .mobile-story{
    background:#000!important;
  }

  #tero-lp .mobile-story-bg{
    background:#000!important;
  }

  /* Le bordeaux commence uniquement avec la section devis */
  #tero-lp .mobile-story-devis{
    background:#680224!important;
  }

}
#tero-lp .tero-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:14px;
  font-family:'Almarose','Outfit',system-ui,sans-serif;
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.04em;
  color:rgba(255,255,255,.7);
}

#tero-lp .tero-breadcrumb a{
  color:rgba(255,255,255,.7);
  text-decoration:none;
  transition:color .2s ease;
}

#tero-lp .tero-breadcrumb a:hover{
  color:#fff;
}

#tero-lp .tero-breadcrumb span[aria-current="page"]{
  color:#fff;
  font-weight:600;
}

#tero-lp .tero-breadcrumb > span:not([aria-current]){
  opacity:.45;
}

@media (max-width:900px){
  #tero-lp .tero-breadcrumb{
    font-size:.68rem;
    gap:5px;
    margin-bottom:12px;
  }
}
</style>/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a59b90b *//* ═══════════════════════════════════════════════════════════
   TERO — HABILLAGE DU FORMULAIRE JETFORMBUILDER
   À coller dans : conteneur #devis-source → Avancé → CSS personnalisé
   Prérequis sur le conteneur :
     - ID CSS  : devis-source
     - Fond    : transparent
     - Padding : 0
   Ce conteneur est déplacé automatiquement dans le cadre de la
   séquence au chargement de la page. Placez-le juste après le
   conteneur de la séquence.
   ═══════════════════════════════════════════════════════════ */

.elementor-52962 .elementor-element.elementor-element-a59b90b{
  --glace:    #2E7CA3;
  --glace-cl: #9CCBE2;
  --nuit:     #0E1F2D;
  --r:        18px;
  --r-sm:     12px;
  --r-pill:   999px;
}

/* ═══════════════════════════════════════════════════════════
   JETFORMBUILDER — habillage
   Les classes .jet-form-builder* sont celles générées par le plugin.
   ═══════════════════════════════════════════════════════════ */

.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--r);
  padding:clamp(20px,2.4vw,32px);
}

/* libellés */
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__label,
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__label label{
  font-family:'Almarose',sans-serif;font-size:.66rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.66);margin-bottom:7px;
}
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__required{color:var(--glace-cl)}

/* champs */
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__field,
.elementor-52962 .elementor-element.elementor-element-a59b90b input[type="text"],
.elementor-52962 .elementor-element.elementor-element-a59b90b input[type="email"],
.elementor-52962 .elementor-element.elementor-element-a59b90b input[type="tel"],
.elementor-52962 .elementor-element.elementor-element-a59b90b input[type="number"],
.elementor-52962 .elementor-element.elementor-element-a59b90b input[type="date"],
.elementor-52962 .elementor-element.elementor-element-a59b90b select,
.elementor-52962 .elementor-element.elementor-element-a59b90b textarea{
  width:100%;
  background:rgba(6,16,26,.7)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  color:#fff!important;
  font-family:'Almarose',sans-serif;font-size:.95rem;
  padding:12px 15px!important;
  border-radius:var(--r-sm)!important;
}
.elementor-52962 .elementor-element.elementor-element-a59b90b input::placeholder,.elementor-52962 .elementor-element.elementor-element-a59b90b textarea::placeholder{color:rgba(255,255,255,.4)}
.elementor-52962 .elementor-element.elementor-element-a59b90b input:focus,.elementor-52962 .elementor-element.elementor-element-a59b90b select:focus,.elementor-52962 .elementor-element.elementor-element-a59b90b textarea:focus{
  border-color:var(--glace-cl)!important;outline:none;
}
.elementor-52962 .elementor-element.elementor-element-a59b90b select option{background:var(--nuit);color:#fff}

/* cases à cocher et consentements */
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__field-wrap--checkbox,
.elementor-52962 .elementor-element.elementor-element-a59b90b .checkboxes-wrap{
  display:flex;gap:10px;align-items:flex-start;margin:12px 0;
}
.elementor-52962 .elementor-element.elementor-element-a59b90b input[type="checkbox"],.elementor-52962 .elementor-element.elementor-element-a59b90b input[type="radio"]{
  width:16px;height:16px;flex:0 0 auto;margin-top:2px;
  accent-color:var(--glace-cl);
}
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__field-wrap--checkbox label,
.elementor-52962 .elementor-element.elementor-element-a59b90b .checkboxes-wrap label{
  font-size:.78rem;color:rgba(255,255,255,.7);
  line-height:1.45;text-transform:none;letter-spacing:0;font-weight:400;
}
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__field-wrap--checkbox a{
  color:var(--glace-cl);text-decoration:underline;
}

/* boutons du formulaire (Suivant / Précédent / Envoyer) */
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__action-button,
.elementor-52962 .elementor-element.elementor-element-a59b90b button[type="submit"],
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__next-page,
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__prev-page{
  display:inline-flex;align-items:center;gap:.55em;
  font-family:'Almarose',sans-serif;font-weight:500;font-size:.92rem;line-height:1;
  padding:13px 26px!important;
  border:1px solid rgba(255,255,255,.6)!important;
  border-radius:var(--r-pill)!important;
  background:transparent!important;color:#fff!important;
  cursor:pointer;transition:background .25s ease,border-color .25s ease;
}
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__action-button:hover,
.elementor-52962 .elementor-element.elementor-element-a59b90b button[type="submit"]:hover,
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__next-page:hover,
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__prev-page:hover{
  background:rgba(46,124,163,.5)!important;
  border-color:var(--glace-cl)!important;
}

/* indicateur de progression 1/2 – 2/2 */
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder-progress__pages,
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__progress{
  font-family:'Almarose',sans-serif;font-size:.68rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.65);
}
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder-progress-bar,
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__progress-line{
  background:rgba(255,255,255,.2)!important;
  height:3px!important;border-radius:var(--r-pill);
}
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder-progress-bar__fill,
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__progress-line-fill{
  background:var(--glace-cl)!important;border-radius:var(--r-pill);
}

/* messages de validation */
.elementor-52962 .elementor-element.elementor-element-a59b90b .jet-form-builder__field-error{
  color:#FFB4A2;font-size:.78rem;margin-top:6px;
}

/* ---------- mobile ---------- */
@media (max-width:900px){
  .elementor-52962 .elementor-element.elementor-element-a59b90b .accroche,.elementor-52962 .elementor-element.elementor-element-a59b90b .reassure{display:none}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-757296e */.elementor-52962 .elementor-element.elementor-element-757296e .tout{
  width:auto!important;
  max-width:100%;
  flex:0 0 auto;
  padding:0!important;
  margin:0 0 .4em 0!important;
}
.elementor-52962 .elementor-element.elementor-element-757296e .tout .elementor-widget-container{padding:0!important}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-713e814 *//* ═══════════════════════════════════════════════════════════
   TERO — RANGÉES DE VIGNETTES
   Version complète — remplace intégralement le CSS précédent.

   À coller dans : chaque conteneur de rangée
                   → onglet Avancé → CSS personnalisé

   Structure attendue dans le conteneur :
     ├─ conteneur « tete » (horizontal)
     │    ├─ Titre  → classe : lbl    (surtitre, ex. « Nos lieux »)
     │    ├─ Titre  → H2               (titre de la rangée)
     │    └─ Bouton → classe : tout    (ex. « Tous nos lieux »)
     ├─ Éditeur de texte → classe : sous
     └─ Listing Grid JetEngine (carrousel activé)

   Fonds alternés d'une rangée à l'autre :
     #F1F5F8  ·  #E3EDF3  ·  #F1F5F8  ·  #E3EDF3
   ═══════════════════════════════════════════════════════════ */

.elementor-52962 .elementor-element.elementor-element-713e814{
  --neige:   #F1F5F8;
  --blanc:   #FFFFFF;
  --encre:   #10202E;
  --encre-2: #4A6376;
  --glace:   #680224;
  --glace-cl:#680224;
  --filet:   rgba(16,32,46,.12);
  --r:       18px;
  --r-pill:  999px;

  padding-top:clamp(56px,7vw,88px);
  padding-bottom:clamp(56px,7vw,88px);
}

/* ═══════════ EN-TÊTE DE RANGÉE ═══════════ */

.elementor-52962 .elementor-element.elementor-element-713e814 .tete{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:24px;flex-wrap:wrap;
}
.elementor-52962 .elementor-element.elementor-element-713e814 .lbl .elementor-heading-title{
  font-family:'Almarose',sans-serif;font-size:.72rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--glace);
}
.elementor-52962 .elementor-element.elementor-element-713e814 .tete h2,
.elementor-52962 .elementor-element.elementor-element-713e814 .tete .elementor-heading-title{
  font-family:'Almarose',sans-serif;font-weight:600;letter-spacing:-.025em;
  line-height:1.05;font-size:clamp(1.5rem,2.9vw,2.3rem);
  max-width:22ch;color:var(--encre);
}
.elementor-52962 .elementor-element.elementor-element-713e814 .sous{
  color:var(--encre-2);max-width:56ch;margin-top:12px;font-size:.98rem;
}

/* lien « voir tout » : discret, pas un bouton plein */
.elementor-52962 .elementor-element.elementor-element-713e814 .tout .elementor-button{
  background:transparent!important;padding:0!important;
  font-family:'Almarose',sans-serif;font-size:.8rem!important;font-weight:600;
  color:var(--glace)!important;border:0!important;
  display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;
}
.elementor-52962 .elementor-element.elementor-element-713e814 .tout .elementor-button::after{content:'→';transition:transform .2s ease}
.elementor-52962 .elementor-element.elementor-element-713e814 .tout .elementor-button:hover::after{transform:translateX(4px)}

/* ═══════════ VIGNETTES (listing grid JetEngine) ═══════════ */

.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__items{
  margin-top:clamp(24px,3vw,34px);
}
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__item{
  padding:0 clamp(7px,.9vw,13px);
}

/* le carré arrondi */
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__item .jet-animated-box,
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__item .jet-animated-box__front{
  border-radius:var(--r)!important;
  overflow:hidden!important;
}
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__item .jet-animated-box{
  aspect-ratio:1/1;height:auto!important;
  transition:transform .3s ease,box-shadow .3s ease;
}
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__item:hover .jet-animated-box{
  transform:translateY(-4px);
  box-shadow:0 18px 38px -24px rgba(16,32,46,.5);
}
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-animated-box__front .jet-animated-box__overlay{
  background-size:cover!important;
  background-position:center!important;
  filter:saturate(1.02) contrast(1.03);
  transition:transform .5s ease;
}
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__item:hover .jet-animated-box__front .jet-animated-box__overlay{
  transform:scale(1.05);
}

/* ── FACE ARRIÈRE DÉSACTIVÉE ──
  /* ── PAS DE RETOURNEMENT ──
   On neutralise la bascule JetEngine : l'image reste visible
   et se contente de zoomer au survol. */
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-animated-box__back{
  display:none!important;
}
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-animated-box__front{
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  position:relative!important;
  inset:auto!important;
  backface-visibility:visible!important;
}
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-animated-box:hover .jet-animated-box__front,
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-animated-box.hover .jet-animated-box__front{
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
}
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-animated-box__front .jet-animated-box__inner{
  height:100%!important;
}

/* pastille « New » masquée sur cette landing */
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-animated-box__front .elementor-widget-heading{
  display:none!important;
}

/* le nom sous la vignette */
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__item h2.elementor-heading-title,
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__item .elementor-element-33e5edc .elementor-heading-title{
  font-family:'Almarose',sans-serif;font-size:1rem!important;font-weight:600;
  color:var(--encre)!important;letter-spacing:-.01em;line-height:1.25;
  margin-top:14px;text-align:left;
  transition:color .25s ease;
}
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__item:hover h2.elementor-heading-title{
  color:var(--glace)!important;
}

/* ═══════════ FLÈCHES DU CARROUSEL ═══════════ */

.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__slider-icon{
  width:44px;height:44px;border-radius:var(--r-pill);
  border:1px solid var(--filet);background:var(--blanc);
  display:flex!important;align-items:center;justify-content:center;
  transition:background .25s ease,border-color .25s ease;
  box-shadow:0 6px 18px -10px rgba(16,32,46,.4);
}
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__slider-icon:hover{
  background:var(--glace);border-color:var(--glace);
}
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__slider-icon svg{width:14px;height:14px}
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__slider-icon svg path{fill:var(--encre);transition:fill .25s ease}
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__slider-icon:hover svg path{fill:#fff}
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__slider-icon.next-arrow svg{transform:rotate(180deg)}
.elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__slider-icon.swiper-button-disabled{opacity:.3;pointer-events:none}

/* ═══════════ RESPONSIVE ═══════════ */

@media (max-width:1024px){
  .elementor-52962 .elementor-element.elementor-element-713e814 .tete{align-items:flex-start;flex-direction:column;gap:10px}
}
@media (max-width:767px){
  .elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__item{padding:0 6px}
  .elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__item h2.elementor-heading-title{font-size:.92rem!important}
}
@media (prefers-reduced-motion:reduce){
  .elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__item .jet-animated-box,
  .elementor-52962 .elementor-element.elementor-element-713e814 .jet-animated-box__front .jet-animated-box__overlay{transition:none}
  .elementor-52962 .elementor-element.elementor-element-713e814 .jet-listing-grid__item:hover .jet-animated-box{transform:none}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a960d9a */.elementor-52962 .elementor-element.elementor-element-a960d9a .tout{
  width:auto!important;
  max-width:100%;
  flex:0 0 auto;
  padding:0!important;
  margin:0 0 .4em 0!important;
}
.elementor-52962 .elementor-element.elementor-element-a960d9a .tout .elementor-widget-container{padding:0!important}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6e787cb *//* ═══════════════════════════════════════════════════════════
   TERO — RANGÉES DE VIGNETTES
   Version complète — remplace intégralement le CSS précédent.

   À coller dans : chaque conteneur de rangée
                   → onglet Avancé → CSS personnalisé

   Structure attendue dans le conteneur :
     ├─ conteneur « tete » (horizontal)
     │    ├─ Titre  → classe : lbl    (surtitre, ex. « Nos lieux »)
     │    ├─ Titre  → H2               (titre de la rangée)
     │    └─ Bouton → classe : tout    (ex. « Tous nos lieux »)
     ├─ Éditeur de texte → classe : sous
     └─ Listing Grid JetEngine (carrousel activé)

   Fonds alternés d'une rangée à l'autre :
     #F1F5F8  ·  #E3EDF3  ·  #F1F5F8  ·  #E3EDF3
   ═══════════════════════════════════════════════════════════ */

.elementor-52962 .elementor-element.elementor-element-6e787cb{
  --neige:   #F1F5F8;
  --blanc:   #FFFFFF;
  --encre:   #10202E;
  --encre-2: #4A6376;
  --glace:   #680224;
  --glace-cl:#680224;
  --filet:   rgba(16,32,46,.12);
  --r:       18px;
  --r-pill:  999px;

  padding-top:clamp(56px,7vw,88px);
  padding-bottom:clamp(56px,7vw,88px);
}

/* ═══════════ EN-TÊTE DE RANGÉE ═══════════ */

.elementor-52962 .elementor-element.elementor-element-6e787cb .tete{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:24px;flex-wrap:wrap;
}
.elementor-52962 .elementor-element.elementor-element-6e787cb .lbl .elementor-heading-title{
  font-family:'Almarose',sans-serif;font-size:.72rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--glace);
}
.elementor-52962 .elementor-element.elementor-element-6e787cb .tete h2,
.elementor-52962 .elementor-element.elementor-element-6e787cb .tete .elementor-heading-title{
  font-family:'Almarose',sans-serif;font-weight:600;letter-spacing:-.025em;
  line-height:1.05;font-size:clamp(1.5rem,2.9vw,2.3rem);
  max-width:22ch;color:var(--encre);
}
.elementor-52962 .elementor-element.elementor-element-6e787cb .sous{
  color:var(--encre-2);max-width:56ch;margin-top:12px;font-size:.98rem;
}

/* lien « voir tout » : discret, pas un bouton plein */
.elementor-52962 .elementor-element.elementor-element-6e787cb .tout .elementor-button{
  background:transparent!important;padding:0!important;
  font-family:'Almarose',sans-serif;font-size:.8rem!important;font-weight:600;
  color:var(--glace)!important;border:0!important;
  display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;
}
.elementor-52962 .elementor-element.elementor-element-6e787cb .tout .elementor-button::after{content:'→';transition:transform .2s ease}
.elementor-52962 .elementor-element.elementor-element-6e787cb .tout .elementor-button:hover::after{transform:translateX(4px)}

/* ═══════════ VIGNETTES (listing grid JetEngine) ═══════════ */

.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__items{
  margin-top:clamp(24px,3vw,34px);
}
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__item{
  padding:0 clamp(7px,.9vw,13px);
}

/* le carré arrondi */
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__item .jet-animated-box,
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__item .jet-animated-box__front{
  border-radius:var(--r)!important;
  overflow:hidden!important;
}
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__item .jet-animated-box{
  aspect-ratio:1/1;height:auto!important;
  transition:transform .3s ease,box-shadow .3s ease;
}
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__item:hover .jet-animated-box{
  transform:translateY(-4px);
  box-shadow:0 18px 38px -24px rgba(16,32,46,.5);
}
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-animated-box__front .jet-animated-box__overlay{
  background-size:cover!important;
  background-position:center!important;
  filter:saturate(1.02) contrast(1.03);
  transition:transform .5s ease;
}
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__item:hover .jet-animated-box__front .jet-animated-box__overlay{
  transform:scale(1.05);
}

/* ── FACE ARRIÈRE DÉSACTIVÉE ──
  /* ── PAS DE RETOURNEMENT ──
   On neutralise la bascule JetEngine : l'image reste visible
   et se contente de zoomer au survol. */
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-animated-box__back{
  display:none!important;
}
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-animated-box__front{
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  position:relative!important;
  inset:auto!important;
  backface-visibility:visible!important;
}
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-animated-box:hover .jet-animated-box__front,
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-animated-box.hover .jet-animated-box__front{
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
}
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-animated-box__front .jet-animated-box__inner{
  height:100%!important;
}

/* pastille « New » masquée sur cette landing */
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-animated-box__front .elementor-widget-heading{
  display:none!important;
}

/* le nom sous la vignette */
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__item h2.elementor-heading-title,
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__item .elementor-element-33e5edc .elementor-heading-title{
  font-family:'Almarose',sans-serif;font-size:1rem!important;font-weight:600;
  color:var(--encre)!important;letter-spacing:-.01em;line-height:1.25;
  margin-top:14px;text-align:left;
  transition:color .25s ease;
}
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__item:hover h2.elementor-heading-title{
  color:var(--glace)!important;
}

/* ═══════════ FLÈCHES DU CARROUSEL ═══════════ */

.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__slider-icon{
  width:44px;height:44px;border-radius:var(--r-pill);
  border:1px solid var(--filet);background:var(--blanc);
  display:flex!important;align-items:center;justify-content:center;
  transition:background .25s ease,border-color .25s ease;
  box-shadow:0 6px 18px -10px rgba(16,32,46,.4);
}
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__slider-icon:hover{
  background:var(--glace);border-color:var(--glace);
}
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__slider-icon svg{width:14px;height:14px}
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__slider-icon svg path{fill:var(--encre);transition:fill .25s ease}
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__slider-icon:hover svg path{fill:#fff}
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__slider-icon.next-arrow svg{transform:rotate(180deg)}
.elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__slider-icon.swiper-button-disabled{opacity:.3;pointer-events:none}

/* ═══════════ RESPONSIVE ═══════════ */

@media (max-width:1024px){
  .elementor-52962 .elementor-element.elementor-element-6e787cb .tete{align-items:flex-start;flex-direction:column;gap:10px}
}
@media (max-width:767px){
  .elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__item{padding:0 6px}
  .elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__item h2.elementor-heading-title{font-size:.92rem!important}
}
@media (prefers-reduced-motion:reduce){
  .elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__item .jet-animated-box,
  .elementor-52962 .elementor-element.elementor-element-6e787cb .jet-animated-box__front .jet-animated-box__overlay{transition:none}
  .elementor-52962 .elementor-element.elementor-element-6e787cb .jet-listing-grid__item:hover .jet-animated-box{transform:none}
}/* End custom CSS */
/* Start custom CSS */html, body { overflow-x: clip; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Almarose';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://tero.be/wp-content/uploads/2023/12/Almarose-Regular.cd1f94e.woff2') format('woff2');
}
@font-face {
	font-family: 'Almarose';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://tero.be/wp-content/uploads/2023/12/Almarose-Medium.d87446b.woff2') format('woff2');
}
@font-face {
	font-family: 'Almarose';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://tero.be/wp-content/uploads/2023/12/Almarose-Semibold.f6e646d.woff2') format('woff2');
}
@font-face {
	font-family: 'Almarose';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://tero.be/wp-content/uploads/2025/06/Almarose-Bold.woff2') format('woff2');
}
/* End Custom Fonts CSS */