/*Général */
/*{*/
/*    margin: 0;*/
/*    padding: 0;*/
/*    box-sizing: border-box;*/
/*}*/


@font-face {
    font-family : 'Railey';
    src: url("../fonts/Railey-PersonalUse.ttf");
}
@font-face {
    font-family: 'Glam-Queen';
    src: url("../fonts/Glam_Queen.ttf");
}

@font-face {
    font-family: 'Kurale-Regular';
    src: url("../fonts/Kurale-Regular.ttf");
}

.coiny-regular {
    font-family: "Coiny", system-ui;
    font-weight: 400;
    font-style: normal;
  }
  

/*
body {
    box-sizing: border-box;
    margin: 0 ;
    padding: 0 ;
    width:100%;
    min-height: 100vh;
    font-size: 20px;
    line-height: 1.1em;
    background-color: #bfdcf7;
    overflow-x: hidden;
    /* background-image: linear-gradient(180deg, #FFFFFF 0%, #a4ccfdf7 33%, #a4ccfdf7 66%, #ffffff 100%);

}*/

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 18px;
  background-color: white/*#bfdcf7*/;
  overflow-x: hidden;
  font-family: 'Kurale-Regular', 'Railey', Georgia, serif;
}

*{
    box-sizing: border-box;
    max-width: 100%;
}

.container_index {
   /*width: 100%;*/
    max-width: 85%;
    margin: 0 auto;
    padding: 0 30px; /* petit padding pour éviter que le texte colle aux bords */
    box-sizing: border-box;
    
    /*overflow-x: hidden;*/
    
}

h1, h2, h3 {
    font-family: 'Times New Roman', Times, serif;
}

a {
    text-decoration: none;
    color: inherit;

}




header.header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    background-color: #a7d7ff77/*#ebf5f8*/;
    margin-bottom: -10%;
    z-index: 999;

}


nav.cta-button{
    padding-left: 25px;
    margin-right: 20px;
    position: absolute; /* on positionne sans tenir compte de ce qu'il y a autour.*/

}



@media (min-width: 768px) {

    .section-prez, .contenu, .activite_mami_2{
    flex-direction: column;
    text-align: center;
    flex-wrap: wrap;
    width:100%;
  }

}

/* ################################## Menu de navigation telephone  ################################## */

/*boite de navigation*/

nav {
    display: flex;
    width: 100%;
    justify-items: right;
    list-style-type: none;
}

nav ul{
    width: 100%;
    list-style: none;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    flex-direction: row;

}


nav li {
    padding-top: 10px;
    margin: 1px 10px;
    /*height: 40px;*/
    justify-content: baseline;
}

nav a {
   /*height: 100%;*/
    padding: 5px 15px;
    font-family: 'Glam-queen', Times, serif;
    font-size: 30px;
    justify-content: flex-start;
    display: flex;
    align-items:center;
    color: #051be0;
    transition: background-color 0.3s ease;
}

.logo_angle_menu {
  /*width: 15%; */
  margin: 3px 0 0 10px;
}

.header_logo_angle{
  max-width: 15%;
  
}
/* ################################## menu version ordi ################################## */
.menu_deroulant{

    position: fixed;
    top: -19px;
    right: 0;
    height: 100vh;
    width: 280px;
    z-index: 999;
    background-color: rgba(255, 255, 255, 0.377);
    backdrop-filter: blur(15px);
    box-shadow: -10px 0 10px rgba(0, 0, 0, 0.1 );
    display: none;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;

}

.menu_deroulant li {
    width: 100%; 
    margin-left: -20px;  
}

.menu_deroulant a {
    width: 100%;   
    font-size: 40px;
    
}


/* ################################## bouton du menu deroulant pour qu'il soit caché quand c'est sur ordi ################################## */
.id_bouton{
    display: none;
}

nav li a:hover {
    background-color: #629cf315;
    border-radius: 35px;
    
}

nav li a.acc:hover {
   
    background-color: #fd8eaa9c;
    color:#aa1d40;
    border-radius: 35px;

}
nav li a.cre:hover {
    background-color: #aa8efd9d;
    color: #4a1ecc;
    border-radius: 35px;
}
nav li a.form:hover {
    background-color: #74b4d78a;
    color : #0d5379;
    border-radius: 35px;
}
nav li a.team:hover {
    background-color: #b4fa918a;
    color: #316914;
    border-radius: 35px;
}
nav li a.event:hover {
    background-color: #fab27788;
    color: #884610;
    border-radius: 35px;
}

nav li a.contact:hover {
    background-color: #f3e461b7;
    color:#b19101;
    border-radius: 35px;
}

nav li a.parents:hover {
    background-color: #ca7e8a;
    color:#b12d41;
    border-radius: 35px;
}

nav li a.identite:hover {
    background-color: #76d6beb7;
    color:#458373;
    border-radius: 35px;
}


@media(max-width: 800px){
    .hideOnMobile{
        display: none;
    }

    .id_bouton{
        display: block;
    }

    .menu_deroulant  {
    width: 100vw;
    left: 0;
    right: 0;
    }

    .header_logo_angle {
      max-width: 30%;
      margin: 3px 30% 0 10px;
    }

    .nav_menu{
        flex-wrap: wrap;
        justify-content: right;
    }

    .activite_mami_2 h2  {

      width: 100%;
    }  

}


@media(max-width: 400px){
.header_logo_angle {
      max-width: 30%;
      margin: 3px 30% 0 10px;
    }

}

.image_titre{
    width: 100%;
    margin-bottom: 20px;
}


/* ============================
   Sous-menu déroulant (Desktop)
   ============================ */

nav ul li.dropdown {
  position: relative;
}

nav ul li .submenu {
  display: none;
  position: absolute;
  top: 100%; /* juste sous le lien parent */
  left: 0;
  background-color: white;
  list-style: none;
  padding: 10px 0;
  min-width: 240px;
  border-radius: 10px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
  z-index: 9999; /* important pour passer au-dessus de tout */
}

/* petite flèche au-dessus du sous-menu */
nav ul li .submenu::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 25px;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid white;
}

/* Lien du sous-menu */
nav ul li .submenu li a {
  font-size: 22px;
  font-family: 'Glam-queen', serif;
  color: #0000F5;
  padding: 10px 20px;
  display: block;
  text-align: left;
  transition: background 0.3s, color 0.3s;
}

nav ul li .submenu li a:hover {
  background-color: #ebdb81;
  color: #b9820c;
}

/* afficher le sous-menu au survol */
nav ul li.dropdown:hover > .submenu {
  display: block;
}



/* --- Sous-menu mobile pour S'identifier --- */
.submenu_mobile {
    display: none;
    flex-direction: column;
    width: 100%;
    background-color: rgba(255,255,255,0.8);
}

.submenu_mobile li a {
    font-size: 35px;
    padding: 15px 20px;
    color: #051be0;
}

.dropdown_mobile:focus-within .submenu_mobile,
.dropdown_mobile:hover .submenu_mobile {
    display: flex;
}



/* ============================
   Mobile : désactive le hover
   ============================ */
@media (max-width: 800px) {
  nav ul li.dropdown .submenu {
    display: none;
    position: static;
    box-shadow: none;
    background: transparent;
  }
  nav ul li.dropdown:hover > .submenu {
    display: none;
  }
}


/* ################################## Section d'introduction ################################## */
.intro {

   /* background: url("../Images/nuage_sun_2.png");*/
    background-size: cover;
    text-align: center;
    padding-top: 10%;



   /* box-shadow: 0 10px 20px rgba(0, 0, 0, 0);*/
}



.intro h1 {

    font-size: 50px;
    color: #0E256EFF;
}

.intro p {
    font-size: 1.2rem;
    color: #0E256EFF;
    margin-bottom: 5%;

}

/* =================== CAROUSEL PRINCIPAL =================== */

/* =================== CAROUSEL PRINCIPAL =================== */

/* SECTION PRINCIPALE */
.carousel-wrapper {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px;
  padding: 30px 15px;
  max-width: 1400px;
  margin: 0 auto;
}

/* TEXTE À GAUCHE */
.carousel-info {
  flex: 1 1 300px;
  margin-top: 5%;
  max-width: 800px;
}

.carousel-info h2 {
  font-size: 40px;
  color: #2A4D9B;
  margin: 5px auto;
  text-align: center;
}

.carousel-info p {
  font-size: 16px;
  color: #333;
}

/* ---------------------- CONTAINER ---------------------- */
.slideshow-container {
  width: 90%;
  max-width: 800px;
  height: auto;
  margin: auto;
  position: relative;
  overflow: hidden; /* ✅ le masque est ici */
  border-radius: 15px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  background: #fff;
}

/* ---------------------- TRACK ---------------------- */
.carousel-track {
  display: flex;
  transition: transform 0.9s ease-in-out;
  will-change: transform; /* ✅ pour les perfs */
}

/* ---------------------- SLIDES ---------------------- */
.slide {
  flex: 0 0 100%; /* ✅ une slide = 100% */
  width: 100%;
  position: relative;
  box-sizing: border-box;
}

.slide-img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  display: block;
}

/*.slide:hover img {
  transform: scale(1.03);
}*/

/* Numéro en haut à droite */
.numbertext {
  position: absolute;
  top: 15px;
  right: 15px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  padding: 5px 10px;
  border-radius: 8px;
  font-size: 14px;
}

/* =================== CONTENU TEXTE =================== */
.text {
  position: absolute;
  bottom: 0;
  width: 100%;
  background: rgba(14, 50, 92, 0.918);
  color: white;
  padding: 10px;
  box-sizing: border-box;
}

.text h1 {
  font-size: 24px;
  font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
  font-weight: bold;
  margin: 0 0 15px 0;
}

.text p {
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
}

.read-more {
  color: #fff;
  text-decoration: underline;
  font-weight: bold;
  display: inline-block;
  margin-top: 8px;
  font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;

}

/* =================== BOUTONS PREV/NEXT =================== */
.prev,
.next {
  cursor: pointer;
  position: absolute;
  top: 50%; /* ✅ centrage vertical */
  transform: translateY(-50%);
  width: auto;
  padding: 12px;
  color: white;
  font-weight: bold;
  font-size: 24px;
  transition: 0.3s ease;
  border-radius: 10%;
  user-select: none;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 10;
}

.prev {
  left: 10px; /* ✅ bien collé à gauche */
}

.next {
  right: 10px; /* ✅ bien collé à droite */
}

.prev:hover,
.next:hover {
  background-color: rgba(0, 0, 0, 0.6);
}

/* =================== DOTS =================== */
.carousel-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 15px;
}

.dot {
  height: 12px;
  width: 12px;
  margin: 8px 4px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.3s ease;
}

.dot.active,
.dot:hover {
  background-color: #2c2c2c;
}

/* =================== TOGGLE ANIMATION =================== */
.toggle-wrapper {
  display: flex;
  justify-content: center;
  /*margin-top: 15px;*/
}

.toggle_animation {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 16px;
  font-family: Arial, sans-serif;
}

.toggle_animation::before {
  --ico-check: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M14 2.5l-8.5 8.5-3.5-3.5-1.5 1.5 5 5 10-10z" fill="white"></path></svg>');
  background: #383838 var(--ico-check) center center/70% no-repeat;
  border-radius: 20%;
  border: 2px solid #383838;
  display: inline-block;
  content: '';
  height: 0.95rem;
  width: 0.95rem;
}

.check {
  position: absolute;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.check:checked + .toggle_animation::before {
  background-color: rgb(25, 158, 91);
  border-color: rgb(25, 158, 91);
}

/* =================== BACKGROUND SECTION =================== */
#carousel-section {
  background: #a7d7ff77/*#ebf5f8*/;
 /* padding: 40px 0;*/
  /*margin: 0px 0 30px 0;*/
  margin: 0 auto;
  margin-bottom: 30px;
  max-width: 85%;
}

/* =================== RESPONSIVE =================== */
@media (max-width: 600px) {
  .carousel-wrapper {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .carousel-info {
    flex: none;
    max-width: 100%;
    margin-bottom: 20px;
  }

  .slideshow-container {
    flex: none;
    width: 90%;
    max-width: 100%;
  }

  .slide-img {
    height: 250px; /* ✅ plus adapté sur mobile */
  }
}



/*  ##################################  SECTION PRESENTATION   ################################## */

/*  ##################################  MAMI AU FIL DU TEMPS   ################################## */
.presentation_mami {
  text-align: center;
  margin-bottom: 80px;
}

.presentation_text {
  max-width: 90%;
  margin: 0 auto;
}

.presentation_text h2 {
  text-align: center;
  margin-bottom: 40px;
}

.presentation_text p {
  text-align: justify;
  line-height: 2rem;
}

.presentation_photo {
  margin-top: 40px;
}

.presentation_photo img {
  max-width:98%;
  height: auto;
  border-radius: 10px;
}


/* ##################################  SECTION PREZ GENERALE  ################################## */


#section_prez {
  max-width: 85%;
  margin: 0px auto; /* espace vertical extérieur */
  padding: 40px 15px; /* espace intérieur : haut/bas + gauche/droite */
  background-color: #a7d7ff77/*#ebf5f8*/;
  font-family: Arial, sans-serif;
}

#section_prez h2 {
  text-align: center;
  color: rgb(42, 27, 177);
  font-size: 50px;
  /*font-family: Georgia, 'Times New Roman', Times, serif;*/
  font-family: 'Kurale-Regular';
  margin-bottom: 50px;
}

#section_prez h3 {
  font-size: 24px;
  color: #ac5208;
  margin: 30px 0;
}

/* Images */
.image_presentation_accueil,
.image_presentation_accueil_25,
.image_presentation_accueil_2 {
  border-radius: 10%;
  max-width: 43%;
  height: auto;
  margin: 10px;
}

/* ##################################  NOUVELLE SECTION CERTIFICATIONS  ################################## */

.certif_mami {
  margin-top: 80px;
}

.certif_mami .boxes {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}

.certif_mami .boxes > div {
  flex: 1 1 30%;
  text-align: center;
  /*background-color: #ffffffd6;*/
  padding: 30px 20px;
  border-radius: 15px;
}

.certif_mami .boxes img {
  width: 100%;
  max-width: 350px;
  height: auto;
  margin: 15px auto;
  border-radius: 10%;
}

.certif_mami .boxes p {
  text-align: justify;
  line-height: 1.8rem;
}

/* ##################################  RESPONSIVE  ################################## */


/* Pour mobiles très petits */
@media screen and (max-width: 576px) {
  #section_prez h2 {
    font-size: 28px;
  }

  .texte {
    font-size: 16px;
    line-height: 1.8rem;
  }
}


/* Responsive - écrans moyens */
@media screen and (max-width: 992px) {
  #section_prez h2 {
    font-size: 36px;
  }

  .texte {
    max-width: 90%;
    margin: 20px auto;
    padding: 25px 20px;
  }

  .image_presentation_accueil,
  .image_presentation_accueil_25,
  .image_presentation_accueil_2 {
    max-width: 80%;
    margin-bottom: 20px;
  }


 /* Certifications responsive */
  .certif_mami .boxes {
    flex-direction: column;
    align-items: center;
  }

  .certif_mami .boxes > div {
    flex: 1 1 100%;
    max-width: 90%;
  }


  #section_prez h3 {
    text-align: center !important;
    padding: 0 !important;
  }
}

/*######################################## section activité ############################################# */

#action_mami {
    max-width: 85%;
    margin: 0px auto;
    padding: 30px 80px;
    background-color: #a7d7ff77/*#ebf5f8*/;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}

#action_mami h2 {
    text-align: center;
    color: rgb(42, 27, 177);
    font-size: 40px;
    /*font-family: Georgia, 'Times New Roman', Times, serif;*/
    font-family: 'Kurale-Regular';
    margin-bottom: 20px;
}

#action_mami .boxes {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    flex-wrap: wrap;
}

#action_mami .boxes > div {
    flex: 1 1 30%;
    background-color:  /*d1d2ffb0*/ #7f9ffbbd; 
    color: rgb(31, 0, 117);
    padding: 25px;
    text-align:justify;
    border-radius: 8px;
    box-sizing: border-box;
    line-height: 1.5rem;
    
}

#action_mami .boxes > div h3 {
    text-align: center;
    margin-bottom: 40px;
    font-weight: bold;
}
/* Responsive */
@media (max-width: 900px) {
    #action_mami > .activite_mami > div {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    #action_mami > .activite_mami > div {
        grid-template-columns: 1fr;
    }
    #action_mami h2 {
        font-size: 28px;
    }
    #action_mami h3 {
        margin-left: 0;
        text-align: center;
        font-size: 20px;
    }
}


/* ################################## engagement et services mami ############################## */

/* Section principale */
.activite_mami_2 {
    /*background-color: #eef7fa;*/
    padding: 30px 0px ;
    text-align: center;
}

/* Titre */
.activite_mami_2 h2 {
    text-align: center;
    color: rgb(42, 27, 177);
    font-size: 40px;
    /*font-family: Georgia, 'Times New Roman', Times, serif;*/
    font-family: 'Kurale-Regular';
    margin-bottom: 20px;
    line-height: 3rem;
}


.engagements-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
  gap: 65px;
  max-width: 100%;
 /* margin: 0 auto;*/
}


/* Chaque bloc */
.engagement {
  background-color: #7f9ffbbd;
  border-radius: 15px;
  padding: 25px 30px !important;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
  text-align: center;

}

.engagement:hover {
  transform: translateY(-5px);
}

/* Icônes */
.engagement h4 {
  font-size: 20px;
  font-weight: bold;
  color: #190588;
  margin-bottom: 15px;
  text-align: center; /* centrage horizontal */
}

/* Titres H4 */
/* Centrer l'image */

.engagement img {
  width: 80px;
  height: auto;
  margin: 0 auto 20px auto; /* centré horizontalement + espace en bas */
  display: block; /* essentiel pour margin auto */
}

/* Paragraphe */
.engagement p {
  font-size: 16px;
  color: #333;
  text-align: justify;
  
}


/* RESPONSIVE HEADINGS */
@media screen and (max-width: 768px) {
  .activite_mami_2 h2 {
    font-size: 30px;
  }

  .engagement h4 {
    font-size: 18px;
  }

  .engagement p {
    font-size: 15px;
  }
}


/* ##################################   Partenaire de la MAMI ################################## */
.partenaire_mami h2{
    margin-top: 100px;
    text-align: center;
    color: rgb(42, 27, 177);
    font-size: 50px;
    /*font-family: Georgia, 'Times New Roman', Times, serif;*/
    font-family: 'Kurale-Regular';
    line-height: 50px;
 }

.partenaire_text {
  height: 40%; 
  width: 100%; 
  font-style: justify;
  /*padding:  10px 2px 10px 2px*/
}
 .partenaire_photo{
    /*width: 80%;*/
    display: flex;
    align-items: center;
    justify-content: center;

 }

 /* ##################################  retour page creche   ################################## */

.back-link {
  text-align: left;
  margin-top: 10px;
  margin-bottom: 10px;
}

.back-link a {
  color: #830b88;
  text-decoration: none;
  font-weight: bold;
}

.back-link a:hover {
  text-decoration: underline;
}


/* ######################################    essaye responsive creche liste villes ########################################## */  

#section_formation {
    background-color:#ffffffe7;
    /*padding: 20px 0 100px 0 ;*/
    /*text-align:center; */
    
}



/* Container de contenu */
.container_section {
    /*width: 100%;*/
    max-width: 85%;
    margin: 0 auto;
    background-color: whitesmoke;
    padding:20px 20px 30% 20px;
    box-sizing: border-box;
}

.container_creche img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  margin-top: 10%;
}


.structure_mami {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 éléments par ligne */
  gap: 30px;
  margin-top: 30px;
  justify-items: center;
}

#structure_mami h2 {
    margin: 50px;
    font-size: 40px;
    color: #1c1ab9;
    text-align:center;
}

.lieu_creche {
  background-color: white;
  border: 2px solid #c2c2c2;
  border-radius: 30px;
  padding: 20px;
  width: 100%;
  max-width: 350px; /* Pour garder des blocs harmonieux */
  height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.lieu_creche h3 {
  margin-bottom: 1px;
  font-style: italic;
  font-size: 1.7rem;
  color: #190588;
  text-align: center;
  font-family: 'Times New Roman', Times, serif;
}

.lieu_creche p {
  font-size: 1rem;
  font-family: 'Times New Roman', Times, serif;
  color: #8f8e8e;
  text-align: center;
}

.lieu_creche:hover {
  background-color: #faf1e6;
}

.lieu_creche:hover h3,
.lieu_creche:hover p {
  color: rgb(35, 85, 221);
}

/* RESPONSIVE TABLETTE */
@media (max-width: 1024px) {
    .structure_mami {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

/* RESPONSIVE MOBILE */
@media (max-width: 600px) {
    #structure_mami h2 {
        font-size: 28px;
    }

    .structure_mami {
        grid-template-columns: 1fr;
        overflow-x: hidden;
    }

    .lieu_creche {
        height: auto;
    }
}


/* ##################################      LISTE TOULON        ################################## */

#liste_ville {
    background-color: transparent;
    text-align: left;
    margin-top: 10px;
}


.liste_ville {

    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.toulon_creche {
    background-color: #ffffff;
    border: 2px solid #c2c2c2;
    padding: 10px;
    width: 345px;
    margin-bottom: 100px;
    border-radius: 10px;
}

.toulon_creche h3 {
    margin-bottom: 15px;
    font-family: Arial, sans-serif;
    font-size: 1.5rem;
    color: #4454b3;
    justify-content:center;
    align-items:center;
    
}


.toulon_creche p {
    font-size: 16px;            /* 1rem = 16px*/
    color: #8f8e8e;
    
}

.toulon_creche:hover{
    background-color:#E6E6FA;
    transition: .5s;

}

.toulon_creche a:hover{
    color: black;
}


.toulon_creche img {
width:320px; 
height:200px; 
border-radius: 10px;
transition: transform .1s;    
}


img :hover {

-ms-transform: scale(1.5); /* IE 9 */
-webkit-transform: scale(1.5); /* Safari 3-8 */
transform: scale(1.5);
}



/* ##################################      INFO_CRECHE         ################################## */


#toulon_creche {
    background-color:#ffffffe7;
    padding: 20px 0 0 0 ;
    
}

#toulon_creche h2 {
    /*text-align: left;*/
    margin-bottom: 0px;
    font-size: 30px;
    color: #2e65ca;
    margin-top: 8%;

    
}
.intro_creche p {
 margin-bottom: 10px;
}

.bloc_principal {
    /*border: 2px solid darkmagenta;*/
    width: 100%;
    font-size: 16px;
    /*font-family: Verdana, Geneva, Tahoma, sans-serif;*/
    font-family: Arial, sans-serif;;
    line-height: 25px;
}




.bloc_gau_droite {
    margin: 25px ;
    max-width: 100%;
    margin-bottom: 30px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 20px;
}
.bloc_droit {
    grid-column: 2;
    grid-row: 1 / 3;
    padding-bottom: 30px;
    text-align: left;
}

.bloc_gauche {
    grid-column: 1;
    grid-row: 1;
    text-align: left;
}

.text_de_base {
   /* border: 5px solid pink;*/
    margin-top: 30px;
    text-align: justify;
    padding-left: 5%;
    padding-right: 5%;
}

/* ##################################  affichage photo et texte cote a cote ###########################################*/

.text-block {
    flex: 1;
    font-family: Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;

}


.image-block {
 flex: 1;
 text-align: center;
}

.image-block img {
 max-width: 100%;
 height: auto;
 border-radius: 8px;
 
}

/* === Mise en page responsive propre et stable === */
/*JE VAIS MODIFIER TOUT LE CSS */

/*.bloc_text_img {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 30px;
}*/

.bloc_text_img {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2 colonnes égales */
    gap: 50px;
    align-items: start;
    max-width: 1400px;
    margin: 50px auto;
}

/* Bloc texte */
.bloc_text_img .bloc_principal {
    width: 100%;
    /*min-width: 320px;*/
    font-size: 16px;
    line-height: 1.8;
    text-align: justify;
}

/* Image 
.bloc_text_img > img {
    width: 40%;
    max-width: 400px;
    height: auto;
    
    display: block;
    margin: 0 auto;
}*/

/* === Responsive mobile === */
@media screen and (max-width: 1500px) {
    .bloc_text_img {
        flex-direction: column; /* texte et image empilés */
        align-items: center;
        text-align: center;
    }

    .bloc_text_img > img {
        order: 2; /* image après le texte (mets 0 si tu veux avant) */
        width: 70%;
        margin-top: 20px;
    }

    .bloc_text_img .bloc_principal {
        order: 1;
        width: 90%;
    }

    /* Corrige le bloc horaire / petits + */
    .bloc_gau_droite {
        grid-template-columns: 1fr;
        margin-bottom: 50px;
    }

    .bloc_gauche,
    .bloc_droit {
        grid-column: 1;
        text-align: center;
        margin-bottom: 20px;
    }

    .bloc_droit {
        grid-row: auto;
    }
}

@media screen and (max-width: 992px) {

    .bloc_text_img {
        grid-template-columns: 1fr; /* 1 seule colonne */
        gap: 30px;
    }

    .bloc_principal {
        width: 100% !important;
    }

}
/* ################################### carte map ######################################### */
/*.bloc_map {
  text-align: center;
  margin-top: 40px; /* espace entre le texte et la carte 
}*/

/* Colonne gauche (carte + image) */
/*.bloc_map {
    width: 40%;
    min-width: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
}*/

.bloc_map {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.photo_creche_presentation {
    width: 100%;
    /*max-width: 600px;
    height: auto;*/
    margin-top: 100px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}

.bloc_map .map_intro {
  font-size: 18px;
  font-weight: bold;
  color: #2e65ca;
  margin-bottom: 15px;
}

/*.bloc_map iframe {
  width: 700px;
  height: 700px;
  border: 0;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  max-width: 90%; /* pour éviter que ça déborde sur mobile 
}*/
.bloc_map iframe {
    width: 100%;
    height: 500px;
    border: 0;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

/* --- Responsive --- */
@media screen and (max-width: 768px) {
  .bloc_map iframe {
    width: 100%;
    height: 400px;
  }
  .bloc_map .map_intro {
    font-size: 16px;
  }
}




/* ##################################  bouton contactez nous  ################################## */

.cta-button {
    padding: 10px 20px;
    background-color: #66b3ff;
    color: white;
    border-radius: 5px;
    font-size: 16px;
}

.cta-button:hover {
    background-color: #3399ff;
}




/* ################################### NOS EQUIPES ######################################### 


.structure_team {
  padding: 30px;
  background: white;
  margin: 20px auto;
  max-width: 1000px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.structure_team h3 {
  color: #005a87;
  margin-bottom: 20px;
}

.team {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
}

.member {
  flex: 1 1 200px;
  background: #eef4f8;
  padding: 15px;
  border-radius: 8px;
  text-align: center;
}
.member_2 {
  flex: 1 1 200px;
  background: #eef4f800;
  padding: 15px;
  border-radius: 8px;
  text-align: center;
}

*/
/* ################################### Nos services ######################################### */
#services {
    
    background-color: transparent;
    padding: 60px 0;
    text-align: center;
    margin-top: 200px;
    border: 2px solid red;
}

#services h2 {
    margin-bottom: 40px;
    color: rgb(51, 51, 51);
}

.services {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.service-card {
    background-color: white;
    border: 1px solid #ddd;
    padding: 20px;
    width: 250px;
    margin-bottom: 30px;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0);
}

.service-card h3 {
    margin-bottom: 15px;
    font-size: 1.5rem;
    color: #333;
}

.service-card p {
    font-size: 1rem;
    color: #555;
}


/*  ######################################## Galerie ######################################### */
#galerie {

    background-color: #ffffff;
    padding: 60px 0;
    text-align: center;
}

.gallery {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.gallery img {
    width: 30%;
    margin-bottom: 20px;
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.gallery img:hover {
    transform: scale(1.05);
    transition: transform 0.3s ease;
}

/* ############################################  Contact ############################################# */
#contact {
    background-color: #f1f1f1;
    padding: 60px 0;
    text-align: center;
}

form {
    max-width: 85%;
    margin: 0 auto;
}

input, textarea {
    /*width: 100%;*/
    padding: 15px;
    margin-bottom: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
}

button {
    /*background-color: rgba(170, 192, 230, 0.87);*/
    color: #3771ce;
    border: none;
    /*border-radius: 20px 10%;*/
    font-family: 'Times New Roman', Times, serif;
    font-size: 20px;
    cursor: pointer;
    height: 40px;
    padding-top: -20px;
    display: block;

}
 
button:hover {
    background-color: #bcc2e6f1;

}




 /* #################################### STICKY BUTTON #################################### */
 

.sticky-link_color {
    background-color:#193c9c ;     /*#ffcf4c*/
    font-family: "Cambria", sans-serif;
}



.sticky-link {
    color: #ffffff;

    display: flex;
    font-size: 0.925rem;
    font-weight: 100;
 
    gap: 1rem;
    height: 54px;
    
    letter-spacing: .5px;
    line-height: 1.25em;
    text-align: center;
    width: 100%;

    -webkit-box-pack: center;
   
    justify-content: center;
    -webkit-box-align: center;
   
    align-items: center;
    
    box-shadow: 0 0 15px 0 #0000007a;
    bottom: 0;
    position: fixed;

    z-index: 7;

   
}





@media screen and (min-width: 800px) {
    .sticky-link {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        border-radius: 10% 30%;
        bottom: unset;
       
        flex-flow: column;
        gap: .5rem;
        height: 100px;
        left: unset;
        padding-right: 1px;
        right: 25px;
        top: 50%;
      
        transition: right .3s ease-in-out;
        width: 152px;
    }

}

/* ############################################### Footer ############################################### */
/* === FOOTER MODERNE UNIFIÉ === */
.footer {
  background-color: #61a5e6; /* ton bleu clair, opaque */
  color: #122488;
  max-width: 85%;
  margin: 0 auto;
  font-family: "Poppins", sans-serif;
  margin-top: 0;
  padding-top: 50px;
  /*box-shadow: inset 0 3px 10px rgba(0,0,0,0.05);*/
}

/* Conteneur principal */
.footer-container {
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 45px;
  padding: 0 20px 40px;
}

/* Logo */
.footer-logo img {
  width: 130px;
  margin-right: 80px;
  filter: drop-shadow(0 6mm 6mm #5771e7);
}

/* Colonnes */
.footer-column {
  flex: 1;
  min-width: 200px;
}

.footer-column h3 {
  font-size: 20px;
  margin-bottom: 20px;
  color: #122488;
  font-weight: 600;
}

.footer-column ul {
  list-style: none;
  padding: 0;
}

.footer-column ul li {
  margin: 8px 0;
}

.footer-column ul li a {
  color: #122488;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-column ul li a:hover {
  color: #5771e7;
}

/* Social icons */
.socials i {
  margin-right: 8px;
}

/* === COPYRIGHT intégré au même fond === */
.footer-bottom {

  background-color: #b1cce6; /* même couleur que le haut du footer */
  text-align: center;
  max-width: 1410px;
  margin: 0 auto;
  padding: 15px 10px;
  font-size: 14px;
  color: #122488;
  /*border-top: 1px solid rgba(18, 36, 136, 0.2);*/
  margin-top: 20px;
}



/* Responsive */
@media (max-width: 900px) {
  .footer-container {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .footer-logo img {
    margin-bottom: 30px;
  }

  .footer-column {
    width: 100%;
  }
}

/* ---------- CSS pour la partie galerie photos ----------- */
