:root {
  --dark: #222222;
  --light: #FFFFFF;
  --red: #E63946;
  --grey: #F3F3F3;



  --font-12: 12px;
  --font-13: 13px;
  --font-14: 14px;
  --font-16: clamp(0.875rem, 0.8235rem + 0.1961vw, 1rem);
  --font-40: clamp(1.25rem, 0.7353rem + 1.9608vw, 2.5rem);
  --font-48: clamp(1.75rem, 1.2353rem + 1.9608vw, 3rem);
  --font-56: clamp(2.25rem, 1.7353rem + 1.9608vw, 3.5rem);
  --font-56: clamp(2.25rem, 1.7353rem + 1.9608vw, 3.5rem);


  --margin-8: clamp(0.25rem, calc(0.2rem + 0.25vw), 0.5rem); /* ~4px à ~8px */
  --margin-16: clamp(0.5rem, calc(0.4rem + 0.5vw), 1rem); /* ~8px à ~16px */
  --margin-24: clamp(0.75rem, calc(0.6rem + 0.75vw), 1.5rem);/* ~12px à ~24px */
  --margin-32: clamp(1rem, calc(0.8rem + 1vw), 2rem);   /* ~16px à ~32px */
  --margin-40: clamp(2rem, 1.7941rem + 0.7843vw, 2.5rem);
  --margin-48: clamp(2.5rem, 2.2941rem + 0.7843vw, 3rem);
  --margin-56: clamp(1.75rem, calc(1.4rem + 1.75vw), 3.5rem);  /* ~28px à ~56px */
  --margin-96: clamp(3rem, calc(2.4rem + 3vw), 6rem);   /* ~48px à ~96px */
  --margin-112: clamp(3.5rem, calc(2.8rem + 3.5vw), 7rem);  /* ~56px à ~112px */


--bricolage: "Bricolage Grotesque", sans-serif;
--font-weight-400: 400;
--font-style-normal: normal;
--font-weight-500: 500;
--font-weight-700: 700;

}
.font-13 {
  font-size: var(--font-13);
}
.font-14 {
  font-size: var(--font-14);
}
.font-16 {
  font-size: var(--font-16);
}
.font-56 {
  font-size: var(--font-56);
}
.font-40 {
  font-size: var(--font-40);
}
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-family: var(--bricolage);
  font-weight: var(--font-weight-400);
  font-style: var(--font-style-normal);
  margin: 0 0;
  padding: 0;
  text-decoration: none;
  color: var(--dark);
}

main {
  padding: 0 var(--margin-56) var(--margin-56) var(--margin-56);
  /* max-width: 1400px; */
  margin: auto;
}

.avis_google, .certifications_logos, .separator {
  max-width: 1400px;
  margin: auto;
}

h1 {
  font-size: var(--font-56);
}
h2 {
  font-size: var(--font-40);
}

h2.p2 {
  margin-top: var(--margin-32);
}

h1, h2 {
  font-weight: var(--font-weight-700);
  margin-bottom: var(--margin-16);
}
p {
  line-height: 120%;
}

.relative {
  position: relative;
}


.max-w-50 {
  max-width: 50vw;
}
.max-w-70 {
  max-width: 70vw;
}

.m-auto {
  margin: auto;
}

.padding-x-32 {
  padding-left: var(--margin-32);
  padding-right: var(--margin-32);
}
.padding-x-56 {
  padding-left: var(--margin-56);
  padding-right: var(--margin-56);
}
.padding-x-112 {
  padding-left: var(--margin-112);
  padding-right: var(--margin-112);
}
.padding-y-32 {
  padding-top: var(--margin-32);
  padding-bottom: var(--margin-32);
}
.padding-y-56 {
  padding-top: var(--margin-56);
  padding-bottom: var(--margin-56);
}
.padding-y-112 {
  padding-top: var(--margin-112);
  padding-bottom: var(--margin-112);
}

.margin-x-112 {
  margin-left: var(--margin-112);
  margin-right: var(--margin-112);
}
.margin-y-112 {
  margin-top: var(--margin-112);
  margin-bottom: var(--margin-112);
}
.margin-y-56 {
  margin-top: var(--margin-56);
  margin-bottom: var(--margin-56);
}
.margin-t-56 {
  margin-top: var(--margin-56);
}

.mt-24 {
  margin-top: var(--margin-24);
}


.regular {
  font-weight: var(--font-weight-400);
}
.medium {
  font-weight: var(--font-weight-500);
}
.bold, b, strong {
  font-weight: var(--font-weight-700);

}

.flex {
  display: flex;
}
.justify-center  {
  justify-content: center;
}
.align-center {
  align-items: center;
}
.flex-between {
  justify-content: space-between;
}

.flex-column {
  flex-direction: column;
}

.gap-8 {
  gap: var(--margin-8);
}

.gap-16 {
  gap: var(--margin-16);
}

.gap-24 {
  gap: var(--margin-24);
}

.gap-32 {
  gap: var(--margin-32);
}

.gap-40 {
  gap: var(--margin-40);
}

.gap-56 {
  gap: var(--margin-56);
}

.gap-96 {
  gap: var(--margin-96);
}

.gap-112 {
  gap: var(--margin-112);
}


.content {
  z-index: 1;
}

.has-featured-image * {
  color: white;
}

.has-featured-image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(34, 34, 34, 0.4);
  z-index: 0;
}

.hero-formation a {
  font-size: var(--font-14);
  padding: var(--margin-16) var(--margin-24);
  border: solid 1px var(--dark);
  cursor: pointer;
  border-radius: 0;
  background: var(--light);
  color: var(--dark);
  margin-top: var(--margin-32);
  display: block;
  width: fit-content;
}

.btn {
  font-size: var(--font-14);
  padding: var(--margin-16) var(--margin-24);
  border: solid 1px var(--dark);
  cursor: pointer;
  border-radius: 0;
  transition: all 0.3s ease-in-out;
}
.btn-small {
  font-size: var(--font-14);
  padding: var(--margin-8) var(--margin-16);
  border: solid 1px var(--dark);
  cursor: pointer;
  border-radius: 0;
}

.btn.btn-light {
  background: var(--light);
  color: var(--dark);
}
.btn.btn-dark {
  background: var(--dark);
  color: var(--light);
}
.btn.btn-red {
  background: var(--red);
  color: var(--light);
   border: solid 1px var(--red);

}
button[type="submit"] {
  transition: transform 0.3s ease-in-out;
}

.btn:hover, button[type="submit"]:hover {
  transform: translate(0, -2px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease-in-out;
}
/* .btn-light:hover {
  background: var(--dark);
  color: var(--light);
}

.btn-red:hover {
  background: var(--dark);
}

.btn-dark:hover {
  background: var(--red);
  color: var(--light);
} */

a:not(.btn){
  position: relative;
}
a:not(.btn, .l-logo, .formation-content__encart a, .formation-content a, .onglets a)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -10px;
  width: 4px;
  height: 4px;
  border-radius: 100%;
  background: var(--red);
  transform: translateY(-50%);
  transition: opacity 0.3s ease;
  opacity: 0;
}

.breadcrumb-list a::after {
  top: 105%;
  left: 50%;
  transform: translateY(0);
  transform: translateX(-50%);
}

a:not(.btn):hover::after {
  opacity: 1;
}



.formation-card__wrapper {
    display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  align-content: normal;
}

.page-formations .formation-card__wrapper {
  row-gap: var(--margin-96);
}

.formation-card {
  width: calc(33.3333% - var(--margin-32));
  /* width: 260px; */
  text-align: center;
  overflow: hidden;

}
.page-formations .formation-card {

  text-align: left;


}

.formation-card__wrapper img {
  width: 100%;
  height: auto;

  aspect-ratio: 14 / 9;
  object-fit: cover;
}


.overlay-hover {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(34, 34, 34, 0.96);
  transform: translate(0, 105%);
  transition: transform 0.3s ease-in-out;
  pointer-events: none;
  /* z-index: 1; */
}
.overlay-hover p {
  color: white;
}


.formation-card > a:hover .overlay-hover {
  transform: translate(0, 0);
}

.separator {
  border: none;
  height: 1px;
  background: var(--dark);
  opacity: 0.5;
  margin: auto;
  width: calc(100% - (var(--margin-112) * 2));

}

section {
  padding: var(--margin-96) var(--margin-112);
}

.chiffres_cles__item {
  text-align: center;
}

.chiffre {
  font-size: var(--font-48);
  color: var(--red);
}

.has-right-image .justify-center {
  justify-content: flex-start;
}

.has-right-image {
  flex-direction: row !important;
  align-items: center;
}

.hero-image img{
width: 25vw;
max-width: 350px;
  height: auto;
}

.texte_courant__content hr {
margin-top: var(--margin-56);
margin-bottom: var(--margin-56);
}
.texte_courant__content p {
margin-top: var(--margin-16);

}

.texte_courant__content a {
  text-decoration: underline;
}



.breadcrumb {
    margin: var(--margin-8) 0;
}

.breadcrumb-list {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: var(--font-12)
}

.breadcrumb-list li {
    display: flex;
    align-items: center;
}

/* Ajoute le ">" après chaque élément sauf le dernier */
.breadcrumb-list li:not(:last-child)::after {
    content: ">";
    margin: 0 0.5rem;
    color: #595959;
}

.breadcrumb-list a {
    color: #595959;
    text-decoration: none;
}

/* Style pour l'élément actuel (dernier) */
.breadcrumb-list li:last-child {
    color: #595959;
    font-weight: var(--font-weight-700);
}

.formation-content__description h2 {
margin-top: var(--margin-56);
}

.formation-content__description li:not(:first-child) {
margin-top: var(--margin-32);
}

.encart-gris {
  padding: 40px 32px;
  background-color: var(--grey);
  margin-top: var(--margin-32);
}


ul {
    list-style: none;
    padding-left: 0;
}

.content ul li:not(.breadcrumb-list li), .formation-content ul li {
    position: relative;
    padding-left: var(--margin-16);
    line-height: 1.5;
}

.content ul li::before, .formation-content ul li::before {
    content: "•";
    color: var(--red);
    position: absolute;
    left: 0;
    top: 50%; /* Centre verticalement */
    transform: translateY(-50%); /* Ajustement précis */
    line-height: 1;
}

.breadcrumb-list li::before {
 content: "";
}

.formation-content__encart {
  border: 1px dashed var(--red);
  padding: 40px 32px;
  max-width: 350px;
  height: fit-content;
  position: sticky;
  top: 321px;
  background-color: #FFF2F3;
  transform: translateY(-200px);
}

.formation-content__encart a, .formation-content a, .onglets a {
  color: var(--red);
  text-decoration: underline;
}

.formation-content__encart hr {
  margin-top: var(--margin-16);
  margin-bottom: var(--margin-16);
  border: none;
  border-top: 1px dashed var(--red);

}

.formation-content__encart strong {
  margin-bottom: var(--margin-8);
  display: block;
}

.texte_logo__t {
  max-width: 600px;
}


.logo__t {
  max-width: 250px;
}

.texte_photo .content {
   align-items: stretch;
}
.texte_photo__t {
   width: calc(60% - var(--margin-96));
    flex-shrink: 0;
}

.texte_photo__p {
  display: flex;
    flex-shrink: 0; /* Empêche le rétrécissement */
    width: calc(40% - var(--margin-96));

}

.texte_photo__p img {
  width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;

}


.content hr {
  border: none;
  height: 1px;
  background: var(--dark);
  opacity: 0.5;
  margin: auto;
  width: 100%;
  margin-top: var(--margin-32);
  margin-bottom: var(--margin-32);
}



/* Onglets */

.tabs-container {
            max-width: 100%;
            margin: 0;
            background: transparent;
        }

        .tabs-container p {
          margin-top: var(--margin-16);
        }


        .tabs-list {
            list-style: none;
            margin: 0;
            padding: 0;
            background: transparent;
        }

        /* Boutons d'onglets */
        .tab-button {
            background: none;
            border: none;
            padding: var(--margin-8);
            cursor: pointer;
            transition: all 0.2s ease;
            position: relative;
            font-weight: var(--font-weight-700);
            color: var(--dark);
             opacity: .3;
        }



        .tab-button:hover {
            opacity: .5;
        }

        .tab-button:focus {
            outline: 1px dotted #999999;
            outline-offset: 5px;
            z-index: 1;
        }

        /* Onglet actif avec ligne sous le texte uniquement */
        .tab-button[aria-selected="true"] {
            opacity: 1;

        }

        .tab-button[aria-selected="true"]::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 1px;
            background-color: var(--dark);
        }

        /* Contenus des panneaux */
        .tab-panels {
            background: transparent;
            border: none;
            padding: var(--margin-96) var(--margin-96) 0 var(--margin-96);
            /* max-width: 750px; */
            justify-self: center;
        }

        .tab-panel {
            padding: 0;
            display: none;
        }

        .tab-panel[aria-hidden="false"] {
            display: block;
        }



        section.onglets {
          background-color: var(--grey);
        }

        /* Responsive */
        @media (max-width: 768px) {
            .tabs-list {
        flex-direction: column;
        align-items: center;
            }
            .tabs-list li  {
              text-align: center;
            }

            .tab-button {
                padding: 16px 8px 8px 8px;
            }

            .tab-panel h3 {
               text-align: center;
            }
        }

/* Fin onglets  */


.frm_fields_container {
  gap: var(--margin-16);
}

section.formulaire {
  padding-top: 0;
      max-width: 1000px;
    margin: auto;
}

.bloc_contact .links {
  margin-top: var(--margin-32);
}

.links {
  flex-wrap: wrap;
}

.bloc_contact .name h2 {
  margin-bottom: var(--margin-8);
}

.footer-navigation__right h3 {
  margin-bottom: var(--margin-16);
  font-weight: var(--font-weight-700);
}

.footer-navigation__left {
  width: 30vw;
}

.footer-navigation {
  flex-wrap: wrap;
}

.legals {
  justify-content: flex-end;
}
.legals  {
  opacity: 0.5;
}

footer * {
  font-size: var(--font-14);
}


.main-navigation {
  justify-content: end;

}

header *, header .btn {
  font-size: var(--font-16);
}


header {
  padding: var(--margin-32) var(--margin-56);
  position: sticky;
  top: 0;
  z-index: 1000000;
  background-color: var(--light);
}

.main-navigation ul li {
  list-style: none !important;
}


.active {
  font-weight: var(--font-weight-700);
}




  /* Burger menu button - caché par défaut */
        .burger-menu {
            display: none;
            flex-direction: column;
            justify-content: space-between;
            width: 24px;
            height: 18px;
            background: transparent;
            border: none;
            cursor: pointer;
            padding: 0;
            z-index: 1001;
        }

        .burger-menu span {
            display: block;
            height: 2px;
            width: 100%;
            background: var(--dark);
            border-radius: 1px;
            transition: all 0.3s ease;
            transform-origin: center;
        }
        .burger-menu.active span {

            background: var(--light);

        }

        /* Animation du burger */
        .burger-menu.active span:nth-child(1) {
            transform: rotate(45deg) translate(5px, 5px);
        }

        .burger-menu.active span:nth-child(2) {
            opacity: 0;
        }

        .burger-menu.active span:nth-child(3) {
            transform: rotate(-45deg) translate(7px, -6px);
        }




        /* Empêcher le scroll quand le menu est ouvert */
        body.menu-open {
            overflow: hidden;
        }

        .background {
          display: none;
          position: fixed;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background: rgba(0, 0, 0, 0.8);
          backdrop-filter: blur(5px);
          z-index: 10000;
        }
        .background.active {
          display: block;
        }

        .formation-content__encart-button {
          display: none;
            width: 100%;
  text-align: center;
  border: 1px dashed var(--red);
  padding: 16px 32px;
  color: var(--red);
  cursor: pointer;
  background-color: var(--light);
  margin: 24px 0;
        }


        span, span strong {
          color: inherit;
        }

        p:has(img.aligncenter) {
          text-align: center;
        }



        .anim {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.6s, transform 0.6s;
}
.anim.visible {
  opacity: 1;
  transform: translateY(0);
}

.texte_logo__logo img {
	max-width: 200px;
	height: auto;
}
