/*
Theme Name: Prepsy
Theme URI: https://www.prepsy.fr
Template: hello-elementor
Author: Prepsy
Author URI: https://www.prepsy.fr
Version: 29/05/2025.1748527680
Updated: 2025-05-29 16:08:00

*/


/* ------------------------- */
/*  À Copier dans Wordpress  */
/* ------------------------- */
/* Correctifs */
body {
  margin: 0px;
  padding: 0px;
  line-height: 1.6 !important; /* Corrige l'interlignage par défaut */
}
.page-header {
	padding-top: 120px; /* Evite que le fil d'Ariane soit masqué par la nav sur les pages sans elementor (mentions-legales) */
}
#breadcrumbs span {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6 !important;
}
#breadcrumbs a {
  font-size: 14px;
  font-weight: normal;
  text-decoration: none;
}
.e-grid { /* Corrige la trop petite marge dans les grilles */
  column-gap: 40px;
}
.wpr-mobile-sub-mega-menu .e-con-inner { /* Corrige le sous-menu pas scrollable jusqu'en bas sur mobile  */
	padding-bottom: 160px;
}
.wpr-mobile-nav-menu h2, .wpr-mobile-nav-menu h3 { /* Corrige les titres  */
	margin-bottom: 0 !important;
}
.wpr-mobile-mega-menu-wrap { /* Nav mobile scrollable */
	padding-bottom: 100px;
}

/* Boutons */
button.elementor-button, .elementor-button[type="submit"] span { /* Corrige le pb de couleur des boutons de formulaires */
  background-color: white;
  color: #0047D8;
  font-weight: 500;
}
.elementor-button-default a, .elementor-button-plain a {
  background-color: #0047D8 !important;
  color: #fff !important;
  border-color: #0047D8 !important;
}
.elementor-button-linear a {
  color: #0047D8 !important;
  border-color: #0047D8 !important;
}
.elementor-button-light a {
  color: #4D91FF !important;
  border-color: #4D91FF !important;
}
.elementor-button-white a {
  background-color: #fff !important;
  color: #0047D8 !important;
  border-color: #fff !important;
}

/* Sections */
.page-header {
    width: 100%;
}
.page-header img {
    width: 100%;
    border-radius: 16px;
}
.section-hero-s {
  padding: 120px 40px 120px 40px;
  font-size: 1.4rem;
  color: #0047D8;

}
.section-hero-s #breadcrumbs {
  margin-bottom: 60px;
}
.section-hero, .section-hero-m {
  padding: 120px 40px 180px 40px;
  font-size: 1.4rem;
  color: #0047D8;
}
.section-hero #breadcrumbs, .section-hero-m #breadcrumbs {
  margin-bottom: 120px;
}
.section-hero-l {
  padding: 180px 40px 240px 40px;
  font-size: 1.4rem;
  color: #0047D8;

}
.section-hero-l #breadcrumbs {
  margin-bottom: 180px;
}
.section-s {
  margin: 0px;
  padding: 40px 40px;
}
.section {
  margin: 0px;
  padding: 60px 40px;
}
.section-l {
  margin: 0px;
  padding: 80px 40px;
}
.section-xl {
  margin: 0px;
  padding: 100px 40px;
}
.section-last {
  margin-bottom: -100px;
  padding-bottom: 140px;
}

@media (max-width: 600px) {
	/* Pour réduire la marge gauche-droite sur mobile */
  .section-hero-s,
  .section-hero,
  .section-hero-m,
  .section-hero-l,
  .section,
  .section-s,
  .section-l,
  .section-xl {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  /* Padding top/bottom réduit sur les HERO */
  .section-hero-s,
  .section-hero,
  .section-hero-m,
  .section-hero-l {
    padding-bottom: 40px !important; /* réduit */
  }
  /* Autres sections : padding vertical standard (ou adapté si besoin) */
  .section,
  .section-s,
  .section-l,
  .section-xl {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}

/* Text */
ul {
  margin-bottom: 1em;
}
li {
  margin-bottom: 0.5em;
}
b, strong {
  font-weight: 600 !important;
}
h1, h2, h3, h4 {
  margin: 0;
}
h1 {
  margin-top: 0;
  margin-bottom: 1rem !important;
  line-height: 1.2 !important;
}
h2 {
  margin-top: 3rem;
  margin-bottom: 1.5rem !important;
  line-height: 1.4 !important;
}
h3 {
  margin-top: 2rem;
  margin-bottom: 1rem !important;
  line-height: 1.4 !important;
}
h4 {
  margin-top: 1rem;
  margin-bottom: 0.5rem !important;
  line-height: 1.6 !important;
}

h2:first-child {
  margin-top: 0;
}
h3:first-child {
  margin-top: 0;
}
h4:first-child {
  margin-top: 0;
}
.h1-l, .h1-l h1 {
  font-size: 6rem;
}
.h1-l.over-title, .h1-l .over-title {
  font-size: 3rem;
}
.h1-xl, .h1-xl h1 {
  font-size: 8rem;
}
.h1-xl.over-title, .h1-xl .over-title {
  font-size: 4rem;
}
.text-l {
  font-size: 1.2rem;
}
.text-xl, .section-hero, .section-hero-s, .section-hero-m, .section-hero-l {
  font-size: 1.4rem;
  /* color: #0047D8; /* Primary */
  color: #4C91FF; /* Secondary */
}
.text-white {
  color: #fff !important;
}
.over-title {
  font-size: 2.25rem;
  font-weight: 400;
  color: #4D91FF !important;
  margin: 30px 0 0 0;
}
.over-title-l {
  font-size: 3rem;
  font-weight: 400;
  color: #4D91FF !important;
  margin: 30px 0 0 0;
}

/* Backgrounds */
.bg-dark {
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.075) 0%, rgba(255,255,255,0) 100%),
    url('https://dev.prepsy.fr/wp-content/uploads/2025/06/white-noise-1.png') repeat,
    #0C2A48;
  background-size: 100% 100%, 100px 100px, auto;
  color: #fff;
}
.bg-dark a, .bg-dark h1, .bg-dark h2, .bg-dark h3, .bg-dark h4 {
  color: #fff;
}
.bg-dark a:hover, .bg-dark a:active {
  color: #4C91FF;
}

.bg-light {
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.075) 0%, rgba(255,255,255,0) 100%),
    url('https://dev.prepsy.fr/wp-content/uploads/2025/06/white-noise-1.png') repeat,
    #EFF7FF;
  background-size: 100% 100%, 100px 100px, auto;
  color: #0C2A48;
}

.bg-blue {
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.075) 0%, rgba(255,255,255,0) 100%),
    url('https://dev.prepsy.fr/wp-content/uploads/2025/06/white-noise-1.png') repeat,
    #0047D8;
  background-size: 100% 100%, 100px 100px, auto;
  color: #fff;
}
.bg-blue a, .bg-blue h1, .bg-blue h2, .bg-blue h3, .bg-blue h4 {
  color: #fff;
}

.bg-blue-light {
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.075) 0%, rgba(255,255,255,0) 100%),
    url('https://dev.prepsy.fr/wp-content/uploads/2025/06/white-noise-1.png') repeat,
    #4C91FF;
  background-size: 100% 100%, 100px 100px, auto;
  color: #fff;
}
.bg-blue-light a, .bg-blue-light h1, .bg-blue-light h2, .bg-blue-light h3, .bg-blue-light h4 {
  color: #fff;
}

.bg-blue-lighter {
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.075) 0%, rgba(255,255,255,0) 100%),
    url('https://dev.prepsy.fr/wp-content/uploads/2025/06/white-noise-1.png') repeat,
    #ADCFFF;
  background-size: 100% 100%, 100px 100px, auto;
  color: #0C2A48;
}

.bg-blue-lightest {
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.075) 0%, rgba(255,255,255,0) 100%),
    url('https://dev.prepsy.fr/wp-content/uploads/2025/06/white-noise-1.png') repeat,
    #E9F1FF;
  background-size: 100% 100%, 100px 100px, auto;
  color: #0C2A48;
}

.bg-yellow {
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.075) 0%, rgba(255,255,255,0) 100%),
    url('https://dev.prepsy.fr/wp-content/uploads/2025/06/white-noise-1.png') repeat,
    #F2AE2F;
  background-size: 100% 100%, 100px 100px, auto;
  color: #fff;
}
.bg-yellow a, .bg-yellow h1, .bg-yellow h2, .bg-yellow h3, .bg-yellow h4 {
  color: #fff;
}

.bg-yellow-light {
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.075) 0%, rgba(255,255,255,0) 100%),
    url('https://dev.prepsy.fr/wp-content/uploads/2025/06/white-noise-1.png') repeat,
    #F6CA77;
  background-size: 100% 100%, 100px 100px, auto;
  color: #0C2A48;
}

.bg-yellow-lighter {
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.075) 0%, rgba(255,255,255,0) 100%),
    url('https://dev.prepsy.fr/wp-content/uploads/2025/06/white-noise-1.png') repeat,
    #FFECC8;
  background-size: 100% 100%, 100px 100px, auto;
  color: #0C2A48;
}

.bg-yellow-lightest {
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.075) 0%, rgba(255,255,255,0) 100%),
    url('https://dev.prepsy.fr/wp-content/uploads/2025/06/white-noise-1.png') repeat,
    #FFF8EB;
  background-size: 100% 100%, 100px 100px, auto;
  color: #0C2A48;
}

.bg-white {
  background-color: #fff;
  color: #0C2A48 !important;
}
/* Correctifs pour bg-white dans une section foncée (.bg-dark...) */
.bg-white h1, .bg-white h2 { color: #0C2A48 !important; }
.bg-white a { color: #0047D8 !important; }
.bg-white h3 { color: #4C91FF !important; /* Secondary blue */ }
.bg-white h4 { color: #0047D8 !important; }
.bg-white a:hover, .bg-dark a:active { color: #4C91FF !important; /* Secondary blue */ }

/* Animated background */
.bg-animated, .bg-animated-blue, .bg-animated-light {
  margin-top: -80px;
  padding-top: 240px;
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.bg-animated::before, .bg-animated-blue::before, .bg-animated-light::before {
  content: "";
  position: absolute;
  top: -70vh;
  left: -85vw;
  width: 200vw;
  height: 180vh;
  background-image: url('https://dev.prepsy.fr/wp-content/uploads/2024/10/elypse-be-full-size.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
  animation: oscillate 40s ease-in-out infinite;
}

@keyframes oscillate {
    0% {
        transform: rotate(0deg);
    }
    50% {
        transform: rotate(45deg);
    }
    100% {
        transform: rotate(0deg);   }
}

@media (max-width: 1024px) {
  .bg-animated::before, .bg-animated-blue::before, .bg-animated-light::before {
      content: "";
      position: absolute;
      top: -65vh;
      left: -70vw;
      width: 160vw;
      height: 170vh;
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      z-index: -1;
      animation: oscillate 40s ease-in-out infinite;
  }
}

/* Fond animé en petit (pour rappel visuel dans une section) */
.bg-animated-s {
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.bg-animated-s::before {
    content: "";
    position: absolute;
    top: -150px;
    left: -350px;
    width: 100%;
    height: 100%;
    background-image: url('https://dev.prepsy.fr/wp-content/uploads/2024/10/elypse-be-full-size.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
    animation: oscillate 60s ease-in-out infinite;
}
@keyframes oscillate {
    0% {
        transform: rotate(0deg);
    }
    50% {
        transform: rotate(45deg);
    }
    100% {
        transform: rotate(0deg);   }
}

.bg-hero-blue {
  background-image: url(https://dev.prepsy.fr/wp-content/uploads/2024/11/323825351a19600c8d4e7bccc3a3810f.png);
  background-position: center center;
  background-repeat: no-repeat;
}

.bg-hero-topright {
  background-image: url(https://dev.prepsy.fr/wp-content/uploads/2024/11/Haut.svg);
  background-position: top right;
  background-repeat: no-repeat;
}

.bg-hero-topright-l {
  background-image: url(https://dev.prepsy.fr/wp-content/uploads/2024/11/Vector-2.svg);
  background-position: top right;
  background-repeat: no-repeat;
}



/* Boxes, rounded corners, shadows... */
.shadow { box-shadow: 0px 1px 16px rgba(0, 0, 0, 0.1); }
.rounded-s, .rounded-s img { border-radius: 8px; overflow:hidden; }
.rounded, .rounded-m, .rounded img, .rounded-m img{ border-radius: 16px; overflow:hidden; }
.rounded-l, .rounded-l img { border-radius: 32px; overflow:hidden; }
.border {
  border: 1px solid #aecfff;
}
.border {
  border: 1px solid #4C91FF;
}
.border-light {
  border: 1px solid #aecfff;
}
.border-dark {
  border: 1px solid #0047D8;;
}
.box-s {
  padding: 20px;
  border-radius: 16px;
  box-shadow: 0px 1px 16px rgba(0, 0, 0, 0.1);
}
.box, .box-m {
  padding: 30px;
  border-radius: 16px;
  box-shadow: 0px 1px 16px rgba(0, 0, 0, 0.1);
}
.box-l {
  border-radius: 16px;
  box-shadow: 0px 1px 16px rgba(0, 0, 0, 0.1);
  padding: 40px;
}
.tag {
  display: inline;
  background-color: #E9F1FF;
  color: #4D91FF;
  padding: 10px 16px;
  border-radius: 100px;
  font-size: 0.8em;
  line-height: 1.6 !important;
}
.no-shadow {
  box-shadow: none !important;
}
i.icon {
  font-size: 2.5rem;
  line-height: 1;
  font-weight: lighter;
  color: #aecfff;
}

/* ------------------------- */
  