/* style-perso.css */



/* Chargement de la police locale (si nécessaire) */
@font-face {
  font-family: 'MaPolice';
  src: url('../fonts/MaPolice-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'MaPolice';
  src: url('../fonts/MaPolice-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
}

/* Style personnalisé pour rendre un texte gras */
.texte-gras {
  font-family: 'MaPolice', sans-serif; /* facultatif si déjà global */
  font-weight: 700 !important;
}
/* Liens internes stylisés */
.lien-interne {
    font-family: 'MaPolice', sans-serif;
    font-weight: 700;
    color: #007BFF;
    /* Bleu standard Bootstrap */
    text-decoration: none;
}

.lien-interne:hover,
.lien-interne:focus {
    text-decoration: underline;
    color: #0056b3;
    /* Bleu foncé au survol */ }

        .lien-interne {
            font-family: 'MaPolice', sans-serif;
            font-weight: 700;
            color: #007BFF;
            text-decoration: none;
        }
    
        .lien-interne:hover,
        .lien-interne:focus {
            text-decoration: underline;
            color: #0056b3;
        }
/* ------------------------------
   Cartes logicielles (pages formations intermédiaires)
--------------------------------*/

.logiciel-card {
  width: 300px;
  height: 300px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.15);
  margin: 25px;
  padding: 20px 20px 15px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  transition: transform 0.3s ease;
}

.logiciel-card:hover {
  transform: scale(1.03);
  box-shadow: 8px 8px 16px rgba(0, 0, 0, 0.2);
}

.logiciel-card h4 {
  font-weight: bold;
  /* color: #ff0000; */
  color: #1a2b4c; /* bleu foncé typique, personnalisable */
  /* Rouge vif - personnalisable */
  font-size: 1.125rem;
  text-align: center;
  margin-bottom: 10px;
}

.logo-logiciel {
  max-height: 120px;
  width: auto;
  object-fit: contain;
  margin-top: 50px;
  /* espace avec le titre */
  margin-bottom: auto;
  /* pousse vers le haut */
}

/* ------------------------------
   Cartes logicielles (pages formations intermédiaires)
   centrage du logo par rapport à la carte
   cas du logiciel SolidPlant
--------------------------------*/
.logo-solidplant {
  max-width: 80%;
  max-height: 100px;
  height: auto;
  width: auto;
  object-fit: contain;
  margin-top: auto;
  margin-bottom: 80px; /* Ajustez cette valeur selon la hauteur visuelle souhaitée */
}




/* ------------------------------
   Section principale de contenu .ftco-section
--------------------------------*/

.ftco-section {
  padding: 4em 0;
  position: relative;
}

.ftco-section h2 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 20px;
}

.ftco-section p {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 1.5rem;
  text-align: justify;
}

.ftco-section ul {
  padding-left: 1.2em;
  margin-bottom: 2rem;
}

.ftco-section ul li {
  margin-bottom: 10px;
  line-height: 1.6;
}


/* ------------------------------
   Mise en valeur du texte
--------------------------------*/

.texte-gras {
  font-weight: bold;
}


/* ------------------------------
   Images adaptatives
--------------------------------*/

.img-fluid {
  max-width: 100%;
  height: auto;
  margin: 20px 0;
}


/* ------------------------------
   Paragraphe enrichi (section-contenu-standard)
--------------------------------*/

.section-contenu-standard p {
  font-size: 1.125rem !important;
  line-height: 1.8 !important;
  margin-bottom: 1.5rem;
  text-align: justify;
}


/* ------------------------------
   Titre "Choisissez votre formation"
--------------------------------*/

h2.mb-4 {
  font-weight: 800;
  font-size: 2.25rem;
  letter-spacing: -0.5px;
}

/* Polices : Alegreya gras */
@import url('https://fonts.googleapis.com/css2?family=Alegreya:wght@700&display=swap');

/* Carte compacte de formation (250x130px) */
.carte-formation-compacte {
  width: 250px;
  height: 130px;
  background-color: #f5f5f5;
  border-radius: 10px;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
  margin: 10px;
  padding: 10px 15px;
  display: flex;
  align-items: center;
  /* ✅ Centrage vertical */
  justify-content: center;
  /* ✅ Centrage horizontal */
  text-align: center;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}

.carte-formation-compacte:hover {
  transform: scale(1.02);
  box-shadow: 8px 8px 15px rgba(0, 0, 0, 0.2);
}

.carte-formation-compacte h3 {
  font-family: 'Alegreya', serif;
  font-weight: 700;
  font-size: 1.125rem;
  color: #1B1464;
  margin: 0;
  line-height: 1.4;
  min-height: 2.8em;
  /* ✅ Donne de la hauteur au texte, même sur une ligne */
  display: flex;
  align-items: center;
  /* ✅ Centre le texte dans le h3 */
  justify-content: center;
  text-align: center;
}

.texte-bleu {
  color: #1B1464 !important;
}

.texte-bleu h3 {
  color: #1B1464 !important;
}
/* Style police cartes formations-cao.html   */
@import url('https://fonts.googleapis.com/css2?family=Alegreya:wght@700&display=swap');

.titre-formation {
  font-family: 'Alegreya', serif;
  font-weight: 700;
  font-size: 1.125rem;
  color: #1B1464;
  margin: 0;
  line-height: 1.4;
  min-height: 2.8em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
h3.mb-3 {
  color: #1B1464;
  font-weight: bold;
  font-size: 1.15rem;
  /* ou 0.95rem pour plus petit */
}


/* Conteneur d'ombre */
.ombre-conteneur {
  position: relative;
  display: inline-block;
}

/* Ombre visible */
.ombre-conteneur::after {
  content: "";
  position: absolute;
  bottom: -15px;
  right: -15px;
  width: 100%;
  height: 30%;
  background: rgba(0, 0, 0, 0.4);
  filter: blur(12px);
  z-index: -1;
  border-radius: 50%;
  transform: rotate(5deg);
}

/* Alternative avec box-shadow directe */
.ombre-conteneur.box-shadow {
  box-shadow: 15px 15px 20px rgba(0, 0, 0, 0.4);
  padding: 5px; /* Espace pour l'ombre */
  border-radius: 4px;
}

/* Version avec filtre SVG (fonctionne partout) */
.ombre-conteneur.svg-filter {
  filter: url(#ombre-bas-droite);
}

/* Animation de test */
@keyframes test-ombre {
  0% { background: red; }
  50% { background: blue; }
  100% { background: green; }
}

.test-visible {
  animation: test-ombre 2s infinite !important;
  height: 50px !important;
  width: 50px !important;
  position: fixed !important;
  top: 20px !important;
  right: 20px !important;
  z-index: 9999 !important;
}

/* Ombre logos */
.logo-logiciel {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); /* ombre douce */
  border-radius: 8px; /* facultatif pour arrondir l'image */
}

.logo-logiciel:hover {
  transform: translateY(-8px); /* effet de "hauteur" */
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.3); /* ombre plus marquée au survol */
}



.logiciel-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: inline-block;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  padding: 20px;
  background-color: #fff;
  margin: 10px;
}

.logiciel-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
}

/* Ombre Logos */

/* Style du titre h1 et h2 de la section titre */
/* Titres dans la section .hero-wrap */
.hero-wrap h1 {
  font-size: 2.5rem;
  line-height: 1.2;
}

.hero-wrap h2 {
  font-size: 2rem;
  line-height: 1.3;
}

/* Responsive : réduction sur écran ≤ 768px */
@media (max-width: 768px) {
  .hero-wrap h1 {
    font-size: 1.75rem;
  }

  .hero-wrap h2 {
    font-size: 1.25rem;
  }
}

/* Responsive : encore plus compact pour ≤ 480px */
@media (max-width: 480px) {
  .hero-wrap h1 {
    font-size: 1.5rem;
  }

  .hero-wrap h2 {
    font-size: 1.125rem;
  }
}
/* Sélecteur très spécifique avec ID + balise + contexte */
.hero-wrap h1#titre-formation.bread {
  font-size: 2.5rem !important;
  line-height: 1.2;
}
/* Style du titre h1 et h1 de la section titre */


  /* Hover sur les lignes du tableau exemple page: formtions-moldflow.html*/
  table.table tr:hover {
    background-color: #f7f1d5 !important;
    transition: background-color 0.2s ease-in-out;
  }

  /* Style des liens */
  table.table a {
    color: #780283;
    font-weight: 500;
    text-decoration: none;
  }

  table.table a:hover {
    color: #780283;
    text-decoration: underline;
  }
  /* Hover sur les lignes du tableau exemple page: formtions-moldflow.html*/


/*case oranges pour 3ds max*/

      .carte-formation-stylee {
        background: linear-gradient(to bottom right, #ffa500, #ff6347);
        border-radius: 16px;
        color: #fff;
        padding: 20px;
        margin: 10px;
        text-align: center;
        width: 280px;
        min-height: 180px; /* <-- à ajouter */
        box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
        transition: all 0.3s ease-in-out;
        text-decoration: none;
        display: flex;
        flex-direction: column;
        justify-content: center;
      }

      .carte-formation-stylee:hover {
        transform: scale(1.05);
        box-shadow: 0 12px 25px rgba(0, 0, 0, 0.25);
      }

      .carte-formation-stylee h3 {
        font-size: 1.3rem;
        font-weight: bold;
        margin-bottom: 10px;
      }

      .carte-formation-stylee p {
        font-size: 0.95rem;
        color: #fff;
        opacity: 0.9;
        margin: 0;
      }

      .carte-container {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
      }
    /*case oranges pour 3ds max*/


    /*case beiges pour catia*/
    
.carte-catia {
  width: 280px;
  height: 140px;
  margin: 10px;
  padding: 20px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  background-size: cover;
  background-position: center;
  transition: background-color 0.4s ease, transform 0.3s ease;
  position: relative;
  overflow: hidden;
}

.titre-carte-formation {
  font-size: 1.1rem;
  color: #2c3e50; /* bleu-gris CATIA */
}

    /*case beiges pour catia*/

.carte-catia {
  padding: 20px;
  border-radius: 8px;
  transition: all 0.3s ease-in-out;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.catia-initiation             { background-color: #f5f5dc; }
.catia-initiation:hover       { background-color: #e6e6cc; transform: scale(1.03); }

.catia-perfectionnement       { background-color: #f0e6d2; }
.catia-perfectionnement:hover { background-color: #e0d6c0; transform: scale(1.03); }

.catia-surfacique             { background-color: #fdf5e6; }
.catia-surfacique:hover       { background-color: #f0e5d0; transform: scale(1.03); }

.catia-surfacique-freestyle   { background-color: #f6ecd9; }
.catia-surfacique-freestyle:hover { background-color: #e8ddc8; transform: scale(1.03); }

.catia-digitized              { background-color: #faebd7; }
.catia-digitized:hover        { background-color: #e9dbc7; transform: scale(1.03); }

.catia-simulation             { background-color: #efe5dc; }
.catia-simulation:hover       { background-color: #e0d4c5; transform: scale(1.03); }

.catia-fta                    { background-color: #f5e2c8; }
.catia-fta:hover              { background-color: #e6d2b5; transform: scale(1.03); }

.catia-harnais                { background-color: #f8e6cf; }
.catia-harnais:hover          { background-color: #e9d6bd; transform: scale(1.03); }

.catia-piping                 { background-color: #f2dfc3; }
.catia-piping:hover           { background-color: #e4cfb1; transform: scale(1.03); }

.catia-structure              { background-color: #f9eddc; }
.catia-structure:hover        { background-color: #e8ddcc; transform: scale(1.03); }

.catia-tolerie                { background-color: #f8f0e3; }
.catia-tolerie:hover          { background-color: #eaddcc; transform: scale(1.03); }

.catia-cinematique            { background-color: #f6f1e1; }
.catia-cinematique:hover      { background-color: #e7e0cd; transform: scale(1.03); }

.catia-knowledge              { background-color: #f3e7d3; }
.catia-knowledge:hover        { background-color: #e3d6c1; transform: scale(1.03); }

.catia-human                  { background-color: #f4e8d5; }
.catia-human:hover            { background-color: #e6d9c3; transform: scale(1.03); }

.catia-moules                 { background-color: #f7ecdb; }
.catia-moules:hover           { background-color: #e6dbc8; transform: scale(1.03); }

.catia-composite              { background-color: #f3e8d0; }
.catia-composite:hover        { background-color: #e2d6bc; transform: scale(1.03); }

.catia-usinage                { background-color: #f1e0c5; }
.catia-usinage:hover          { background-color: #e2cfb2; transform: scale(1.03); }


    /*case beiges pour catia*/

/* === Styles FAO isolés === */
.fao-section .logiciel-card {
  position: relative;
  width: 260px;
  height: 300px;
  margin: 15px;
  border-radius: 12px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.fao-section .logiciel-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.2);
}

/* Voile sombre par défaut */
.fao-section .logiciel-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.75);
  z-index: 1;
  transition: background-color 0.4s ease;
}

/* Atténuation du voile au survol */
.fao-section .logiciel-card:hover::before {
  background-color: rgba(0, 0, 0, 0.4);
}

/* Contenu au-dessus du voile */
.fao-section .logiciel-card h2,
.fao-section .logiciel-card h3,
.fao-section .logiciel-card img {
  position: relative;
  z-index: 2;
}

/* Texte titre FAO */
.fao-section .logiciel-card h2 {
  font-weight: 700;
  font-size: 1.5rem;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.9), 0 0 8px rgba(0, 0, 0, 0.6);
  margin-bottom: 1rem;
}

/* Logo logiciel */
.fao-section .logo-logiciel {
  max-width: 200px;
  height: auto;
  margin-top: 10px;
  filter: drop-shadow(1px 1px 3px rgba(0,0,0,0.6));
}

/* === Styles FAO isolés === */



/* ========================================================= */
/* Mega menu styling */
/* ========================================================= */
.mega-menu {
  left: 0;
  right: 0;
  top: 100%;
  background-color: #212529; /* bg-dark */
  box-shadow: 0px 4px 12px rgba(0,0,0,0.1);
  border-radius: 0;
  display: none;
}

.nav-item.dropdown:hover .mega-menu {
  display: block;
}

.mega-menu a {
  display: block;
  padding: 5px 0;
  font-size: 0.9rem;
  transition: all 0.2s ease;
}

.mega-menu a:hover {
  text-decoration: underline;
  color: #1abc9c;
}
.mega-menu {
  top: 100%;
  left: 0;
  right: 0;
  display: none;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.mega-menu.show {
  display: block !important;
  visibility: visible;
  opacity: 1;
  z-index: 999;
}

.nav-item.dropdown.show > .nav-link {
  background-color: #343a40; /* facultatif pour un feedback visuel */
}

.offre-promo-box {
  position: absolute;
  top: 20px;
  right: 20px;
  background-color: rgba(255, 255, 255, 0.9); /* boîte blanche semi-transparente */
  border-radius: 12px;
  z-index: 4;
  width: 300px;
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(2px);
}

@media (max-width: 768px) {
  .offre-promo-box {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    margin-top: 20px;
  }
}

.carte-promo-initiation {
  background: rgba(255, 255, 255, 0.97);
  border: 2px solid hsl(160, 100%, 50%);
  border-radius: 12px;
  padding: 18px 20px;
  width: 100%;
  max-width: 280px;
  box-shadow: 0 0 15px rgba(0,0,0,0.15);
  font-size: 15px;
}

.carte-promo-initiation p {
  margin: 8px 0;
}

.carte-promo-initiation a.btn {
  font-size: 14px;
  padding: 8px 16px;
}

/* Ne pas afficher sur mobile */
@media (max-width: 991px) {
  .carte-promo-initiation {
    display: none;
  }
}




/* ========================================================= */
/* Fin Mega menu styling */
/* ========================================================= */
