.elementor-5188 .elementor-element.elementor-element-3d43fba6{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0;--border-radius:20px 20px 20px 20px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-5188 .elementor-element.elementor-element-3d43fba6::before, .elementor-5188 .elementor-element.elementor-element-3d43fba6 > .elementor-background-video-container::before, .elementor-5188 .elementor-element.elementor-element-3d43fba6 > .e-con-inner > .elementor-background-video-container::before, .elementor-5188 .elementor-element.elementor-element-3d43fba6 > .elementor-background-slideshow::before, .elementor-5188 .elementor-element.elementor-element-3d43fba6 > .e-con-inner > .elementor-background-slideshow::before, .elementor-5188 .elementor-element.elementor-element-3d43fba6 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-5188 .elementor-element.elementor-element-7bbe9640 img{width:35%;filter:brightness( 106% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-5188 .elementor-element.elementor-element-8668b5e{text-align:center;}.elementor-5188 .elementor-element.elementor-element-8668b5e p{margin-block-end:0px;}.elementor-5188 .elementor-element.elementor-element-7b11e3b8{--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;--justify-content:center;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--border-radius:10px 10px 10px 10px;--margin-top:15px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:3%;--padding-bottom:3%;--padding-left:3%;--padding-right:3%;}#elementor-popup-modal-5188 .dialog-widget-content{animation-duration:1s;background-image:url("https://ecoleplenus.com/wp-content/uploads/2025/12/Fond-Carre.avif");background-size:cover;border-style:solid;border-width:3px 3px 3px 3px;border-color:var( --e-global-color-f0e69bc );border-radius:10px 10px 10px 10px;}#elementor-popup-modal-5188{background-color:#000000B3;justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-5188 .dialog-message{width:600px;height:auto;}#elementor-popup-modal-5188 .dialog-close-button{display:flex;top:3%;background-color:var( --e-global-color-secondary );font-size:20px;}body:not(.rtl) #elementor-popup-modal-5188 .dialog-close-button{right:94%;}body.rtl #elementor-popup-modal-5188 .dialog-close-button{left:94%;}#elementor-popup-modal-5188 .dialog-close-button i{color:#FFFFFF;}#elementor-popup-modal-5188 .dialog-close-button svg{fill:#FFFFFF;}@media(max-width:1024px){#elementor-popup-modal-5188 .dialog-message{width:370px;}}@media(max-width:767px){.elementor-5188 .elementor-element.elementor-element-7bbe9640 img{width:60%;}.elementor-5188 .elementor-element.elementor-element-7b11e3b8{--gap:15px 15px;--row-gap:15px;--column-gap:15px;--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}#elementor-popup-modal-5188 .dialog-message{width:350px;}body:not(.rtl) #elementor-popup-modal-5188 .dialog-close-button{right:91%;}body.rtl #elementor-popup-modal-5188 .dialog-close-button{left:91%;}}@media(min-width:768px){.elementor-5188 .elementor-element.elementor-element-7b11e3b8{--content-width:100%;}}/* Start custom CSS for container, class: .elementor-element-3d43fba6 *//* ✅ Ajoute la classe .noel-neige à ta section */
.noel-neige{
  position: relative;
  overflow: hidden; /* pour garder la neige dans la section */
}

/* 3 couches de neige = plus naturel */
.noel-neige::before,
.noel-neige::after{
  content:"";
  position:absolute;
  inset:-200px 0 0 0; /* démarre plus haut */
  pointer-events:none;
  background-repeat: repeat;
  opacity: .9;
  filter: drop-shadow(0 0 2px rgba(255,255,255,.35));
  animation: neige-tombe linear infinite;
  z-index: 10; /* au-dessus du contenu */
}

/* Couche 1 : flocons petits & nombreux */
.noel-neige::before{
  background-image:
    radial-gradient(circle, rgba(255,255,255,.95) 1px, transparent 2px),
    radial-gradient(circle, rgba(255,255,255,.7) 1px, transparent 2px),
    radial-gradient(circle, rgba(255,255,255,.85) 3.5px, transparent 3px);
  background-size: 120px 120px, 180px 180px, 260px 260px;
  background-position: 0 0, 60px 30px, 130px 90px;
  animation-duration: 15s;
}

/* Couche 2 : flocons plus gros & plus lents */
.noel-neige::after{
  opacity: .9;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.85) 2px, transparent 4px),
    radial-gradient(circle, rgba(255,255,255,.65) 1.5px, transparent 3.5px);
  background-size: 300px 300px, 420px 420px;
  background-position: 20px 10px, 200px 160px;
  animation-duration: 28s;
}

/* Animation de chute + légère dérive */
@keyframes neige-tombe{
  0%{
    transform: translateY(-160px) translateX(0);
  }
  100%{
    transform: translateY(900px) translateX(80px);
  }
}

/* Option : réduit l’animation si l’utilisateur préfère moins d’animations */
@media (prefers-reduced-motion: reduce){
  .noel-neige::before,
  .noel-neige::after{
    animation: none;
  }
}

/* ❄️ Section Blizzard */
.noel-blizzard{
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at top, #0b1d33 0%, #040b14 70%);
}

/* Couches de neige */
.noel-blizzard::before,
.noel-blizzard::after{
  content:"";
  position:absolute;
  inset:-300px -200px 0 -200px;
  pointer-events:none;
  z-index: 15;
  animation: blizzard linear infinite;
}

/* ❄️ Couche 1 : GROS FLOCONS (au premier plan) */
.noel-blizzard::before{
  background-image:
    radial-gradient(circle, rgba(255,255,255,.95) 6px, transparent 8px),
    radial-gradient(circle, rgba(255,255,255,.85) 4px, transparent 6px),
    radial-gradient(circle, rgba(255,255,255,.9) 5px, transparent 7px);
  background-size: 180px 180px, 240px 240px, 300px 300px;
  background-position: 0 0, 120px 60px, 200px 140px;
  filter: blur(0.6px);
  animation-duration: 14s;
}

/* ❄️ Couche 2 : FLOCONS DENSES + VOILE GLACIAL */
.noel-blizzard::after{
  background-image:
    radial-gradient(circle, rgba(255,255,255,.6) 3px, transparent 6px),
    radial-gradient(circle, rgba(255,255,255,.45) 2px, transparent 5px);
  background-size: 120px 120px, 160px 160px;
  background-position: 40px 30px, 100px 90px;
  filter: blur(1.2px);
  opacity: .8;
  animation-duration: 9s;
}

/* Animation : chute violente + vent */
@keyframes blizzard{
  0%{
    transform: translateY(-200px) translateX(0);
  }
  100%{
    transform: translateY(1200px) translateX(220px);
  }
}

/* 🌫️ Effet givre / brouillard glacial */
.noel-blizzard .glace-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.12), transparent 65%),
    linear-gradient(to bottom, rgba(255,255,255,.08), rgba(0,0,0,.35));
  backdrop-filter: blur(1.5px);
  z-index: 14;
  pointer-events:none;
}

/* ❄️ Respect des préférences utilisateurs */
@media (prefers-reduced-motion: reduce){
  .noel-blizzard::before,
  .noel-blizzard::after{
    animation: none;
  }
}/* End custom CSS */