.elementor-5107 .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;--border-radius:20px 20px 20px 20px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-5107 .elementor-element.elementor-element-7bbe9640 img{width:75%;filter:brightness( 106% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-5107 .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;--margin-top:15px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:1%;--padding-bottom:1%;--padding-left:1%;--padding-right:1%;}.elementor-5107 .elementor-element.elementor-element-3c21449d{text-align:center;}.elementor-5107 .elementor-element.elementor-element-3c21449d .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:35px;font-weight:700;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:25px;letter-spacing:1px;color:var( --e-global-color-secondary );}.elementor-5107 .elementor-element.elementor-element-7fa6d83b{text-align:center;}.elementor-5107 .elementor-element.elementor-element-7fa6d83b .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:45px;font-weight:400;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:4.25px;color:var( --e-global-color-secondary );}.elementor-5107 .elementor-element.elementor-element-2736f410{text-align:center;font-size:18px;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:-0.45px;color:var( --e-global-color-text );}.elementor-5107 .elementor-element.elementor-element-00cf016 .elementor-button{background-color:#0015FF00;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:inline-flex;font-family:"DM Serif Display", Sans-serif;}.elementor-5107 .elementor-element.elementor-element-00cf016{width:var( --container-widget-width, 99.123% );max-width:99.123%;--container-widget-width:99.123%;--container-widget-flex-grow:0;}.elementor-5107 .elementor-element.elementor-element-00cf016.elementor-element{--flex-grow:0;--flex-shrink:0;}#elementor-popup-modal-5107 .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-5107{background-color:#000000B3;justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-5107 .dialog-message{width:552px;height:auto;}#elementor-popup-modal-5107 .dialog-close-button{display:flex;top:3%;background-color:var( --e-global-color-secondary );font-size:20px;}body:not(.rtl) #elementor-popup-modal-5107 .dialog-close-button{right:94%;}body.rtl #elementor-popup-modal-5107 .dialog-close-button{left:94%;}#elementor-popup-modal-5107 .dialog-close-button i{color:#FFFFFF;}#elementor-popup-modal-5107 .dialog-close-button svg{fill:#FFFFFF;}@media(max-width:1024px){.elementor-5107 .elementor-element.elementor-element-7fa6d83b .elementor-heading-title{font-size:38px;}.elementor-5107 .elementor-element.elementor-element-2736f410{font-size:14px;}#elementor-popup-modal-5107 .dialog-message{width:370px;}}@media(min-width:768px){.elementor-5107 .elementor-element.elementor-element-7b11e3b8{--content-width:100%;}}@media(max-width:767px){.elementor-5107 .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-5107 .elementor-element.elementor-element-3c21449d .elementor-heading-title{font-size:30px;}.elementor-5107 .elementor-element.elementor-element-7fa6d83b .elementor-heading-title{font-size:29px;letter-spacing:3.25px;}#elementor-popup-modal-5107 .dialog-message{width:320px;}body:not(.rtl) #elementor-popup-modal-5107 .dialog-close-button{right:91%;}body.rtl #elementor-popup-modal-5107 .dialog-close-button{left:91%;}}/* 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 */