/* ==========================================================================
   VARIABLES  COLOURS
   ========================================================================== */
:root {
	 /*--rose-toulouse: #6BCB17; 
	--rose-toulouse-dark: #205C32; /*pour tester*/
    --rose-toulouse: #D87A91; /*var(--rose-toulouse)*/
	--rose-toulouse-dark: #b65d66;
	--violette: #687ED4;
	--jaune: #f9dd94;
	
    --text-gray: #a5a5a5;
    --bg-light: #f1f3ff;
    --white: #ffffff;
	
	--main-colour: var(--rose-toulouse);
	--colour2: var(--violette);
	
	
	/* dégradés (carousel) */
    --overlay-standard: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.6));
    --overlay-fonce: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.6));
    --overlay-clair: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.4));
	
}

body {
    font-family: 'Open Sans', sans-serif;
    color: #333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}



/* ==========================================================================
   2. HEADER & NAVIGATION
   ========================================================================== */
.navbar-default .navbar-nav > li > a:hover {
    border-bottom: 3px solid var(--main-colour) !important;
    transition: 0.3s;
}

.covertext {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* Texte en bas */
    align-items: center;
    padding-bottom: 50px;
    z-index: 5;
}

.title {
    font-weight: 650;
	font-size: clamp(40px, 3.8vw, 60px); /*s'adapter à la largeur de l'écran*/
    color: white;
    text-align: center;
  /*  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    line-height: 1.2;*/
    /* phone & computer */

}

@media (min-width: 768px) {  /*phone*/
    .title { 
		font-weight: 1000;
		font-size: clamp(28px, 8vw, 60px);  }
}


.subtitle {
	font-weight: 300;
	font-size: clamp(16px, 2.5vw, 30px);
	color: #ffffff;
	text-align: center;
}








/* ==========================================================================
   CAROUSEL
   ========================================================================== */

.news-wrapper {
    margin-top: 40px;
    padding: 0 50px;
    position: relative;
}

.news-item {
    padding: 15px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 5px;
    margin: 10px;
    /* Attention : cette hauteur peut être problématique si le texte est long */
    height: 280px; 
    overflow: hidden;
    text-align: center;
    transition: all 0.3s ease;
}

.news-item:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}




.news-item h4 {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin-bottom: 10px;
    height: 40px; /* Force une hauteur pour aligner les textes */
    overflow: hidden;
}

.news-item .date {
    font-size: 12px;
    color: var(--rose-toulouse);
    margin-bottom: 10px;
    display: block;
}

.news-item p {
    font-size: 14px;
    color: #666;
    line-height: 1.4;
}


/* Désactive la justification sur les écrans de moins de 768px */
@media (max-width: 768px) {/* for phones*/
  .introText, 
  .media-body, 
  .card-text {
    text-align: left !important;
    hyphens: auto; /* Aide à couper les mots très longs si besoin */
  }
}


/* ==========================================================================
   NAV BAR
   ========================================================================== */

/* --- Main Container --- */
.container-fluid.main{
    position: relative; /* To make the navbar positions relative to this container */
    padding: 0;
  }
  
  
  /* --- Navbar Base --- */
  .navbar-default {
    background-color: transparent;
    background-image: none;
    border: 0;
    border-radius: 0px;
    box-shadow: none;
    padding: 10px;
    margin: 0 !important;
    max-width: 100% !important;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;  /*layer*/
  }/*ok*/
  
  

  /* --- Brand & Links --- */
  .navbar-default .navbar-brand,
  .navbar li a {
    color: #ffffff !important;
    background: transparent !important;
    font-size: 18px;
  }/*ok*/
  
  
  .navbar-default .navbar-nav > li > a {
    color: #ffffff;
    background: none !important;
  }/*ok*/
  
 
  /* --- STYLE DU LOGO (NAVBAR BRAND) --- */
  .navbar-default .navbar-brand {
      color: var(--rose-toulouse) !important; /* Tout en rose */
      font-size: 24px;                      
      font-weight: 800;                       
      letter-spacing: -0.5px;                
      height: auto;                         
      line-height: 2;                         /* Aligne verticalement */
      padding-top: 0px;                      /* Ajuste le centrage vertical */
  }
  

  .navbar-default .navbar-brand:hover {
      color: var(--rose-toulouse-dark) !important; /* survol */
      opacity: 0.9;
  }

 
  

  /* --- Hover & Active States --- */
  .navbar-default .navbar-nav > li > a:hover,
  .navbar-default .navbar-nav > li > a:focus,
  .navbar-default .navbar-nav > li > a:active,
  .navbar-default .navbar-brand:hover,
  .navbar-default .navbar-brand:focus,
  .navbar-default .navbar-brand:active {
    color: #ffffff;
    background-color: transparent;
  }
  
  /* cursor on menu */
  .navbar-default .navbar-nav > li > a:hover,
  .navbar-default .navbar-nav > li > a:focus,
  .navbar-default .navbar-nav > li > a:active {
    border-bottom: 3px solid var(--main-colour) !important;
  }

  

  /* Exception for active/focus with yellow accent if needed */
  .navbar-default .navbar-nav > li > a:focus,
  .navbar-default .navbar-nav > li > a:active {
    border-bottom-color: var(--jaune) !important;
  }
  
  /* --- Open/Dropdown States --- */
  .navbar-default .navbar-nav > .open > a,
  .navbar-default .navbar-nav > .open > a:hover,
  .navbar-default .navbar-nav > .open > a:focus {
    background-color: transparent !important;
  }


  /* Menu déroulant */
  .navbar-default .navbar-nav .dropdown-menu {
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px); /* Pour Safari */
  }


  .navbar-default .navbar-nav .dropdown-menu > li > a {
    display: block;
    padding: 0.2;
    color: #fff;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
  }

  /* --- Mobile Toggle --- */
  /* ==========================================================================
     MENU MOBILE & TABLETTE (max-width: 991px)
     ========================================================================== */
  @media (max-width: 991px) {
    
      .navbar-default {
          position: absolute;
          top: 0; left: 0; right: 0;
          z-index: 100;
          background-color: white !important;
          background-image: none;
          border: 0;
          border-radius: 0;
          box-shadow: none;
          padding: 10px;
          margin: 0 !important;
          max-width: 100% !important;
      }

	  /* Logo / Nom du site en ROSE sur mobile */
	  .navbar-default .navbar-brand,
	  .navbar-default .navbar-brand:hover,
	  .navbar-default .navbar-brand:focus,
	  .navbar-default .navbar-brand:active {
	      color: var(--rose-toulouse) !important; /* On remplace #333 par ton rose */
	      background-color: white !important;
	      font-size: 20px;
	      font-weight: 800; /* On garde l'aspect gras pour l'impact */
	  }
      /* Liens du menu (Items) */
      .navbar li a,
      .navbar-default .navbar-nav > li > a {
          color: #333 !important;
          background-color: white !important;
          background: none !important;
      }

      /* États spécifiques des liens (Hover, Focus, Open) */
      .navbar-default .navbar-nav > li > a:hover,
      .navbar-default .navbar-nav > li > a:focus,
      .navbar-default .navbar-nav > li > a:active,
      .navbar-default .navbar-nav > .open > a {
          color: #333 !important;
          background-color: transparent !important;
          border-bottom: 3px solid var(--rose-toulouse) !important;
      }

      /* Menu Déroulant (Dropdown) */
      .navbar-default .navbar-nav .dropdown-menu {
          background-color: white !important;
          border: 0 none !important;
          box-shadow: none !important;
      }

      .navbar-default .navbar-nav .dropdown-menu > li > a {
          display: block;
          padding: 10px 20px;
          color: #333 !important;
          font-weight: 400;
          line-height: 1.42857143;
          white-space: nowrap;
      }

      /* Bouton Toggle (Le "Hamburger") */
      .navbar-default .navbar-toggle,
      .navbar-default .navbar-toggle:hover,
      .navbar-default .navbar-toggle:focus {
          background-color: #333 !important;
          border-color: transparent;
      }

      .navbar-default .navbar-toggle .icon-bar {
          background-color: #ffffff; /* Les 3 barres blanches sur fond noir */
      }
  }
  /* fin nav bar  */
  



  /* ==========================================================================
     OLD
     ========================================================================== */
  
  
  
  .covertext {
    position: absolute; /* To make the div to be place anywhere. It is out of the document flow */
	top: 0;
	left: 0;
	right: 0;
	bottom: 0; /* Prend toute la place du carrousel */
	display: flex;
	flex-direction: column; 
	justify-content: flex-end; /* texte vers le bas */
	align-items: center;    /* Centre le texte horizontalement */
	padding-bottom: 20px;   /* Évite que le texte touche les bords */
    padding-left: 20px;
    padding-right: 20px;     
	z-index: 5;
		
	/* top: 100px; The distance between the div with the top of document */
    /* left: 0px; /* Make the div full width */
   /*  right: 0px; /* Make the div full width */
  }

  
  .explore {
    text-align: center;
    margin-top: 10px;
  }
  
  .explore .btn-lg,
  .explore .btn-lg:hover {
    border-radius: 30px;
    padding: 15px 25px;
    font-size: 22px;
    background-image: none;
    background-color: var(--rose-toulouse);
    border-color: var(--rose-toulouse);
    color: #ffffff;
  }

  .explore .btn-md,
  .explore .btn-md:hover {
    border-radius: 30px;
    padding: 10px 5px;
    font-size: 12px;
    background-image: none;
    background-color: #a5a5a5;
    border-color: #a5a5a5;
    color: #ffffff;
  }
  
  .btn,
  .btn:hover {
    border-radius: 0px;
    background-image: none;
    background-color: var(--rose-toulouse);
    border-color: var(--rose-toulouse);
    color: #ffffff;
    margin-bottom: 20px;
    box-shadow: none;
    outline: none;
  }
  
  .btn:focus,
  .btn:active:focus,
  .btn.active:focus,
  .btn.focus,
  .btn:active.focus,
  .btn.active.focus {
    color: #ffffff;
    outline: none;
  }

  .btn-left {
    position: relative;
    z-index: 999;
    margin-right: -70px;
  }

  .btn-right {
    border-left: 10px solid transparent !important;
    padding-top: 9px !important;
    padding-left: 65px !important;
    font-size: 14px !important;
    background-color: rgb(247,197,2) !important;
    color: black !important;
    border-color: transparent !important;
  }


 /* .card {
    border: 1px solid #d4d4d4;
    border-radius: 4px;
    box-shadow: 0 0 20px 0 rgba(0,0,0,0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    height: 140px;

}*/

.card-text, .card-title {
    font-size: 16px !important;
}


.deadline {
    color: green;
}
.deadline.passed {
    color: red;
}

.card-header {
    padding: 1px !important;
    background-color: #f8f9fa;
    border-bottom: 1px solid rgba(0,0,0,.125);
    height: 40px;
    text-align: center;
}



.card-body {
    padding: 10px;
    background-color: #fff;
}

.card-title {
    margin-bottom: 15px;
    font-size: 24px;
    font-weight: 700;
}

.card-text {
    font-size: 18px;
    text-align: center;
}

.card::after {
    content: '';
    position: absolute;
    right: -35px; /* half of the distance between the two cards */
    top: 50%;
    width: 50px; /* half of the distance between the two cards */
    border-top: 6px solid #a5a5a5;
    z-index: -1;
}

.notification-container::after {
  content: '';
  position: absolute;
  right: -35px; /* half of the distance between the two cards */
  top: 40%;
  width: 50px; /* half of the distance between the two cards */
  border-top: 6px solid #a5a5a5;
  z-index: -1;
}

.notification-container-last::after {
  content: '';
}

/*.card-last {
  border: 1px solid #d4d4d4;
  border-radius: 4px;
  box-shadow: 0 0 20px 0 rgba(0,0,0,0.1);
  overflow: hidden;
  transition: all 0.3s ease;
  height: 140px;
}*/


/*.notification-container {
    background-color: white;
    text-align: center;
    padding: 2rem;
    border: 0;
    border-radius: 50%;
    height: 100%;
    width: 100%;
    position: relative;
    border: 1px solid;
}*/

/* Version unifiée des cards (espacements) */
.card, .card-last, .notification-container {
    border: 1px solid #d4d4d4;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    background-color: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 200px; /* Force une hauteur identique pour l'alignement */
    margin-bottom: 20px;
    padding: 0;
    overflow: hidden;
    text-align: center;
}



/* Harmonisation des titres dans les boîtes */
.card-header, .notification-title {
    background-color: #f8f9fa;
    padding: 10px;
    border-bottom: 1px solid #eee;
    margin: 0;
    width: 100%;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Harmonisation du contenu */
.card-body, .notification-body {
    padding: 15px;
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #a5a5a5;
}


.notification-icon {
    flex: 0 0 auto;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--rose-toulouse);
    color: #fff;
    font-size: 24px;
    margin-right: 1rem;
    margin: 0 auto;
}
.notification-title {
    font-size: 14px;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}
.notification-text {
    text-align: center;
    color: var(--rose-toulouse);
}
.notification-text.passed {
    color: red;
}



/* --- VARIATION MOBILE POUR LES DATES --- */
@media (max-width: 767px) {
    /* On empile les blocs verticalement */
    .row.equal {
        display: block !important;
    }

    /* On donne du style aux blocs pour qu'ils ne soient pas trop larges */
    .row.equal > [class*='col-'] {
        width: 100% !important;
        padding: 10px 20px !important; /* Marge interne pour ne pas toucher les bords du téléphone */
    }

    .card, .card-last, .notification-container {
        height: auto !important; /* La hauteur s'adapte au texte */
        min-height: 120px !important; 
        margin-bottom: 15px !important;
        flex-direction: row !important; /* Aligne l'icône à gauche et le texte à droite */
        text-align: left !important;
        align-items: center;
    }

    /* On ajuste les en-têtes pour le mode ligne */
    .card-header, .notification-title {
        background-color: transparent !important;
        border-bottom: none !important;
        width: auto !important;
        padding: 15px !important;
        font-weight: bold;
        min-height: auto !important;
    }

    .card-body, .notification-body {
        padding: 10px !important;
        justify-content: flex-start !important;
    }

    /* On cache les icônes trop encombrantes sur mobile si besoin */
    .notification-icon {
        margin: 0 15px !important;
        width: 35px !important;
        height: 35px !important;
        font-size: 16px !important;
    }
}


/*important date début*/
/* Section */
.important-dates {
    background: #f1f3ff;
    padding: 20px 20px;
}

/* Titre principal */
.section-title {
    text-align: center;
    color: var(--main-colour);
    font-size: 25px;
    margin-bottom: 40px;
}

/* Wrapper des deux blocs */
.dates-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 40px;
    max-width: 1200px;
    margin: auto;
}

/* Carte */
.dates-card {
    background: white;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
}

/* Titre carte */
.dates-card h3 {
    text-align: center;
    margin-bottom: 20px;
    color: var(--colour2);
}

/* Ligne date */
.date-item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 15px;
    padding: 8px 0;
    border-bottom: 1px solid #eee;
    font-size: 1.8rem;
}

/* Date en valeur */
.date-item strong {
    white-space: nowrap;
    color: #5f5f5f;
}

/* Responsive mobile */
@media (max-width: 600px) {

    .date-item {
        grid-template-columns: 1fr;
    }

    .date-item strong {
        margin-top: 4px;
    }

}
/*important date fin*/


/* --- SECTION TIMELINE not used 2026 --- */
.timeline-container {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem; /* 1rem Un peu plus d'espace pour la lisibilité */
    position: relative;
}

.timeline-icon {
    flex: 0 0 50px; /* Fixe la largeur à 50px sans déformer */
    height: 50px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--main-colour);
    color: #fff;
    font-size: 20px; /* Légèrement réduit pour mieux centrer les icônes */
    margin-right: 1.5rem;
}



.timeline-body {
    flex: 1;
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 10px;
    background: #fff;
    position: relative;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05); /* ombre  */
}



.timeline-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 0.3rem;
    color: #333;
}

.timeline-text {
    color: var(--text-gray); 
    margin: 0;
}

/* État expiré / passé */
.timeline-text.passed {
    color: red; 
    font-weight: 600;
}

/* --- PHONE --- */
@media (max-width: 767px) {
    .timeline-icon {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
        font-size: 16px;
        margin-right: 1rem;
    }
    
    .timeline-title {
        font-size: 14px;
    }
}


/* ----- time line fin----   */

.introText {
  text-align: justify; 
  line-height: 1.6; 
  padding: clamp(20px, 5%, 40px);  
  margin: 0 auto; 
  max-width: 1200px; /* Évite que le texte soit trop large sur écran géant */
  font-size: 16px

}



  

.countdown {
  width: 100% !important;
  margin: 0 auto;
  text-align: center;
  padding: 4rem;
}

.countdown h1 {
  font-weight: normal;
  letter-spacing: .125rem;
  text-transform: uppercase;
}

.countdown li {
  display: inline-block;
  font-size: 1.5em;
  list-style-type: none;
  padding: 1em;
  text-transform: uppercase;
}

.countdown li span {
  display: block;
  font-size: 4.5rem;
}

.countdown .emoji {
  display: none;
  padding: 1rem;
}

.countdown .emoji span {
  font-size: 4rem;
  padding: 0 .5rem;
}

@media all and (max-width: 768px) {
  .countdown h1 {
    font-size: calc(1.5rem * var(--smaller));
  }
  
  .countdown li {
    font-size: calc(1.125rem * var(--smaller));
  }
  
  .countdown li span {
    font-size: calc(3.375rem * var(--smaller));
  }
}


.media .media-object {
  margin-right: 15px; /* Space between image and text */
  margin-bottom: 15px; /* Space between images */
}

.media-body {
  font-size: 17px; /* Adjust to suit */
  color: #a5a5a5; /* Adjust to suit */
  text-align: justify; /* Justify text */
  line-height: 1.9; /* Adjust line height */
}

.panel-heading {
  font-size: 18px;
  font-weight: bold;
  color: #a5a5a5 !important; /* Adjust to suit */
}
.panel-body {
  font-size: 16px;
}


ul li {
  margin-bottom: 15px; /* this will add space between the list items */
}

#colPrincipal {
  margin-top: 5rem;
}

/*news carousel*/





.news-item {
  position: relative;
  display: flex; /* Standard moderne */
  flex-direction: column;
  height: 100%;
  margin: 0 5px;
  background-color: #f1f3ff;
  max-height: 280px;  
} /*ok*/


/*.news-item {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin-right: 5px;
  margin-left: 5px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  background-color: #f1f3ff;
  max-height: 280px;
}*/

.news-item h3 {
  margin-top: 0;
  text-align: left;
} /*ok*/

.news-item_img {
  width: 100%;
  padding-top: 40%;
 /* height: 250px;*/
   background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  } /*ok*/


/*.news-item_body {
  position: relative;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  padding: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
} old*/
  
  .news-item_body {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1;
    height: 100%;
    padding: 20px;
    font-size: 14px;
  }/*ok*/

.news-item_btn {
  margin: auto 0 0;
  } /*ok*/

/*
.news-wrapper {
  margin-top: 50px;
  padding: 0 20px;
}
*/


/* --------------------------------------------------------------------------------------
---------------------------------- CAROUSEL  DÉBUT ----------------------------------
---------------------------------------------------------------------------------------- */


 


  .carousel-showmanymoveone .carousel-inner > .item {
      display: flex;
  }

  /* Cache les éléments sur les très petits écrans par défaut pour la logique JS */
  @media (min-width: 768px) {
      .carousel-showmanymoveone .carousel-inner > .item > div {
          display: block;
          width: 25%; /* Pour afficher 4 éléments par ligne */
          float: left;
      }
  }

  /* phones*/
  @media (min-width: 768px) and (max-width: 992px) {
      .carousel-showmanymoveone .carousel-inner > .item > div {
          width: 33.333333%;
      }
  }


/* Flèches de navigation */
  .carousel-showmanymoveone .carousel-control {
      width: 40px;
      height: 40px;
      background: var(--main-colour);
      border-radius: 50%;
      top: 50%;
      transform: translateY(-50%);
      opacity: 0.8;
  }

  .carousel-showmanymoveone .carousel-control.left {
      left: -20px;
  }

  .carousel-showmanymoveone .carousel-control.right {
      right: -20px;
  }

  .carousel-showmanymoveone .carousel-control i {
      line-height: 40px;
      font-size: 20px;
      color: #fff;
  }




  /* --- FOR ALL CARROUSEL PICTURES --- */
  /* --- Carousel Backgrounds (Global) --- */
  .carousel .background {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    height: 500px;
    min-height: 50vh;/* Sécurité : l'image fera au moins 50% de la hauteur de l'écran */ 
  }

 
 
 
  
  /* --- SEPCIFIC ELEMENTS (TOULOUSE LIGHT) --- */
  .carousel .background.a { background-image: var(--overlay-standard), url("../images/carrousel/toulouse-light/1b.jpg"); }
  .carousel .background.b { background-image: var(--overlay-fonce), url("../images/carrousel/toulouse-light/2c.jpg"); }
  .carousel .background.d { background-image: var(--overlay-standard), url("../images/carrousel/toulouse-light/4.jpg"); }
  .carousel .background.e { background-image: var(--overlay-standard), url("../images/carrousel/toulouse-light/5c.jpg"); }
  .carousel .background.f { background-image: var(--overlay-fonce), url("../images/carrousel/toulouse-light/6b.jpg"); }
  .carousel .background.g { background-image: var(--overlay-standard), url("../images/carrousel/toulouse-light/7b.jpg"); }
  .carousel .background.h { background-image: var(--overlay-standard), url("../images/carrousel/toulouse-light/8.jpg"); }
  .carousel .background.i { background-image: var(--overlay-fonce), url("../images/carrousel/toulouse-light/9b.jpg"); }
  .carousel .background.j { background-image: var(--overlay-clair), url("../images/carrousel/toulouse-light/10.jpg"); }
  
  
 /* --- Carousel Fade Transition --- */
 .carousel-fade .carousel-inner .item {
   transition: opacity 1s, transform 1s; /* Add transform to the transition property */

 }
 
 .carousel-fade .carousel-inner .active {
   opacity: 1;
   transform: scale(1); /* End at original size */
 }

 .carousel-inner {
   overflow: hidden;
 }
 
 
/* --- GPU Acceleration for smooth transitions --- */
 
 @media all and (transform-3d), (-webkit-transform-3d) {
     .carousel-fade .carousel-inner > .item.next,
     .carousel-fade .carousel-inner > .item.active.right,
     .carousel-fade .carousel-inner > .item.prev,
     .carousel-fade .carousel-inner > .item.active.left {
         opacity: 0;
         transform: translate3d(0, 0, 0);
     }
	 
   .carousel-fade .carousel-inner > .item.next.left,
    .carousel-fade .carousel-inner > .item.prev.right,
    .carousel-fade .carousel-inner > .item.active {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}
 
 
 
 /* --- 1. ÉLÉMENTS DU CARROUSEL (CONTENU) --- */
 .news-wrapper {
     margin-top: 50px;
     padding: 0 20px;
 }

 .news-item {
     position: relative;
     display: flex;
     flex-direction: column;
     height: 100%;
     margin: 0 5px;
     background-color: #f1f3ff;
 }

 .news-item h3 {
     margin-top: 0;
     text-align: left;
 }

 .news-item_img {
     width: 100%;
     height: 250px;
     padding-top: 40%;
     background-position: center;
     background-size: cover;
     background-repeat: no-repeat;
 }

 .news-item_body {
     position: relative;
     display: flex;
     flex-direction: column;
     flex: 1;
     padding: 20px;
     font-size: 14px;
     align-items: flex-start;
 }

 .news-item_btn {
     margin: auto 0 0;
 }

 /* --- 2. CONTRÔLES (FLÈCHES) --- */
 .carousel-showmanymoveone .carousel-inner .item {
     transition: transform 0.6s ease-in-out;
 }

 .carousel-showmanymoveone .carousel-control {
     width: 45px;
     height: 45px;
     top: 50%;
     transform: translateY(-50%);
     text-align: center;
     padding-top: 8px;
     border-radius: 50%;
     background-image: none;
     background-color: var(--main-colour);
     color: #fff;
     opacity: 1;
 }

 .carousel-showmanymoveone .carousel-control:hover {
     opacity: 0.5;
 }

 .carousel-showmanymoveone .carousel-control.left {
     left: -40px;
     padding-right: 2px;
 }

 .carousel-showmanymoveone .carousel-control.right {
     right: -40px;
     padding-left: 2px;
 }

 /* --- LOGIQUE D'AFFICHAGE MULTI-ITEMS --- */
 .carousel-showmanymoveone .cloneditem-1,
 .carousel-showmanymoveone .cloneditem-2,
 .carousel-showmanymoveone .cloneditem-3 {
     display: none;
 }

 /* Tablettes (≥768px) */
 @media all and (min-width: 768px) {
     .carousel-showmanymoveone .carousel-inner > .active.left,
     .carousel-showmanymoveone .carousel-inner > .prev { left: -50%; }

     .carousel-showmanymoveone .carousel-inner > .active.right,
     .carousel-showmanymoveone .carousel-inner > .next { left: 50%; }

     .carousel-showmanymoveone .carousel-inner > .left,
     .carousel-showmanymoveone .carousel-inner > .prev.right,
     .carousel-showmanymoveone .carousel-inner > .active { left: 0; }

     .carousel-showmanymoveone .carousel-inner .cloneditem-1 { display: block; }

     /* Animations 3D */
     .carousel-showmanymoveone .carousel-inner > .item.active.right,
     .carousel-showmanymoveone .carousel-inner > .item.next {
         transform: translate3d(50%, 0, 0);
         left: 0;
     }
     .carousel-showmanymoveone .carousel-inner > .item.active.left,
     .carousel-showmanymoveone .carousel-inner > .item.prev {
         transform: translate3d(-50%, 0, 0);
         left: 0;
     }
     .carousel-showmanymoveone .carousel-inner > .item.left,
     .carousel-showmanymoveone .carousel-inner > .item.prev.right,
     .carousel-showmanymoveone .carousel-inner > .item.active {
         transform: translate3d(0, 0, 0);
         left: 0;
     }
 }

 /* Ordinateurs  (≥992px)(3 items visibles) */
 @media all and (min-width: 992px) {
     .carousel-showmanymoveone .carousel-inner > .active.left,
     .carousel-showmanymoveone .carousel-inner > .prev { left: -33.33333%; }

     .carousel-showmanymoveone .carousel-inner > .active.right,
     .carousel-showmanymoveone .carousel-inner > .next { left: 33.33333%; }

     .carousel-showmanymoveone .carousel-inner .cloneditem-2,
     .carousel-showmanymoveone .carousel-inner .cloneditem-3 { display: block; }

     /* Animations 3D */
     .carousel-showmanymoveone .carousel-inner > .item.active.right,
     .carousel-showmanymoveone .carousel-inner > .item.next {
         transform: translate3d(33.33333%, 0, 0);
         left: 0;
     }
     .carousel-showmanymoveone .carousel-inner > .item.active.left,
     .carousel-showmanymoveone .carousel-inner > .item.prev {
         transform: translate3d(-33.33333%, 0, 0);
         left: 0;
     }
 }
/* --------------------------------------------------------------------------------------
---------------------------------- CAROUSEL  FIN ----------------------------------
---------------------------------------------------------------------------------------- */


#contact {
  padding: 60px 0;
}
#contact .section-heading {
  margin-bottom: 30px;
}
.contact-info {
  margin: 20px 0;
  font-size: 18px;
}
.contact-info i {
  margin-right: 10px;
  color: #f05f40;
 
}

h1 {
  margin-left: 1.5rem;
  font-size: 24px;
}

.row-outside {
  margin-top: 5em;
  background-color: #f1f3ff;
    width: 100% !important;
    margin: 0 auto;
}

.panel-body img {
  height: 200px;
  margin: 0 auto;
}

.h3, h3 {
  font-size: 20px;
}

h2 {
  padding-bottom: 1em;
}

.row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}


#tableDate th, td {
  padding: 3px;
}