/* Theme Name: AQTech2025
Theme Description: AQ-Tech FR 2025. 
Version: 0.12
Author: Alexandre Quarrey, Bruno Mahiet */

/*--------------------------------------------------------------
# Définition des couleurs et font
--------------------------------------------------------------*/

/* Pour que les padding soit inclus dans la largeur */
*, *::before, *::after {
  box-sizing: border-box;
}

:root {
  --orange: #e94e1b;
  --orange80: #ef7743;
  --orange50: #f6ae87;
  --orange20: #fde0d0;

  --orange-2024: #de643b;

  --noir: #000;
  --noir95: #333333;
  --noir80: #575756;
  --noir50: #9d9d9c;
  --noir20: #dadada;
  --noirtrans : rgba(0, 0, 0, 0.5); /* noir à 50% */

  --gris: #e0dacd;
  --gris80: #e6e1d7;
  --gris50: #efece6;
  --gris20: #f9f8f6;

  --inno: #f39207;
  --inno80: #f7aa47;
  --inno50: #fccb91;
  --inno20: #feebd4;

  --proto: #e3a77e;
  --proto80: #e9b998;
  --proto50: #f2d4be;
  --proto20: #faeee5;

  --indus: #bc5b40;
  --indus80: #c97b60;
  --indus50: #ddad97;
  --indus20: #f1ded5;

  --be360: #e8623f;
  --be36080: #ed8165;
  --be36050: #f3b09e;
  --be36020: #fae0d8;

  --elec: #e8773f;
  --elec80: #ed9265;
  --elec50: #f4bb9e;
  --elec20: #fbe4d8;

  --meca: #f09b51;
  --meca80: #f2b074;
  --meca50: #f6cda8;
  --meca20: #faebdc;

  --airbag: #f0ae51;
  --airbag80: #f3be74;
  --airbag50: #f7d6a7;
  --airbag20: #faeedc;
}

.orange {
  color: var(--orange) !important;
}


.white {
  color: #fff;
}

.black {
  color: var(--noir95);
}

@font-face {
  font-family: "Script";
  src: url("https://textile.aq-tech.fr/wp-content/themes/ThemeAQTechTextile2025/_MediaTheme2025/fonts/Kalista-Bold.otf")
    format("truetype");
  font-weight: normal;
  font-style: normal;
  font-size: 3em;
}

@font-face {
  font-family: "Jost";
  src: url("https://textile.aq-tech.fr/wp-content/themes/ThemeAQTechTextile2025/_MediaTheme2025/fonts/Jost.ttf")
    format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Jost-Bold";
  src: url("https://textile.aq-tech.fr/wp-content/themes/ThemeAQTechTextile2025/_MediaTheme2025/fonts/Jost-Bold.ttf")
    format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Jost-Medium";
  src: url("https://textile.aq-tech.fr/wp-content/themes/ThemeAQTechTextile2025/_MediaTheme2025/fonts/Jost-Medium.ttf")
    format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Jost-Italic";
  src: url("https://textile.aq-tech.fr/wp-content/themes/ThemeAQTechTextile2025/_MediaTheme2025/fonts/Jost-Italic.ttf")
    format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Jost-Semi";
  src: url("https://textile.aq-tech.fr/wp-content/themes/ThemeAQTechTextile2025/_MediaTheme2025/fonts/Jost-SemiBold.ttf")
    format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Jost-Light";
  src: url("https://textile.aq-tech.fr/wp-content/themes/ThemeAQTechTextile2025/_MediaTheme2025/fonts/Jost-Light.ttf")
    format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Jost-LightItalic";
  src: url("https://textile.aq-tech.fr/wp-content/themes/ThemeAQTechTextile2025/_MediaTheme2025/fonts/Jost-LightItalic.ttf")
    format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Articha";
  src: url("https://textile.aq-tech.fr/wp-content/themes/ThemeAQTechTextile2025/_MediaTheme2025/fonts/Articha.ttf")
    format("truetype");
  font-weight: normal;
  font-style: normal;
}

.script {
  font-family: "Script";
}

.articha {
  font-family: "Articha";
  font-size: 1.3em;
}

/***************************/
/*Règles générales**/
/*****************************/

#br1 {
  display: none;
  font-size: 1.7em;
  text-transform: uppercase;
}

h3 .surligne,
p .surligne {
  background-color: var(--orange50);
  color: #000;
  font-family: "Script";
  font-size: 2em;
  font-weight: normal;
  float: left;
  padding-right: 5px;
  padding-left: 5px;
  margin-right: 10px;
}

.center {
  text-align: center;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.no-majuscule {
  text-transform: none;
}

.bold {
  font-weight: bold;
}

.fw-normal {
  font-weight: normal !important;
}

.Jost-Bold {
  font-family: "Jost-Bold";
}

.Jost {
  font-family: "Jost";
}
.arrow-down-mobile {
  display: none;
}

.nowrap {
  white-space: nowrap;
}
/*--------------------------------------------------------------
# Parametre global
--------------------------------------------------------------*/

#cookie-notice {
  visibility: show;
}

body {
  font-family: "Jost-Medium", "Myriad Pro", Myriad, sans-serif;
  font-size: 18px;
  color: var(--noir95);
  word-wrap: break-word;
  line-height: 1.7;
  letter-spacing: 1px;
  background-color: #fff;
  font-weight: normal;
  text-rendering: optimizeLegibility;
  margin: 0;
  padding: 0;
  width: 100%;
  min-width: 320px;
  font-weight: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Jost-Bold";
  margin-top: 20px;
  margin-bottom: 20px;
  letter-spacing: 1px;
  font-weight: normal;
}

h1 {
  font-size: 2.5em;
  font-family: "Jost-Bold";
  text-transform: uppercase;
}
h2 {
  font-size: 1.3em;
  font-family: "Jost-Bold";
  text-transform: uppercase;
}

h2.plus,
p.plus,
div.plus,
#accueil-h1 {
  padding-left: 30px;
  padding-top: 20px;

  background-image: url(/Image/All/PuceH2.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 30px;
}

h2.plus.plusnoir,
p.plus.plusnoir,
#accueil-h1 {
  background-image: url(/Image/All/PuceH2Noir.png);
}

.fondorange {
  padding: 0;
  color: #fff;
  background-color: var(--orange);
  display: inline;
}
h3 {
  font-size: 1em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Jost-Bold";
  font-weight: 150;
  line-height: 1em;
}
h4 {
  font-size: 1.em;
  color: var(--orange);
}

h5 {
  font-size: 1.2em;
  margin-top: 10px;
  margin-bottom: 10px;

  text-transform: uppercase;
}

div,
ul,
p {
  margin: 0;
  padding: 0;
}

input,
textarea,
select,
option {
  background-color: #fff3f3;
}
input,
textarea,
select {
  padding: 8px;
  border: 1px solid #f5c5c5;
  border-radius: 5px;
  width: 200px;
}

a {
  text-decoration: none;
}

a,
a:hover {
  -webkit-transition: color 0.1s;
  transition: color 0.1s;
}

img.IMGsolo
{
  max-width: 90%; 
  width: 500px;
  filter: grayscale(100%);
  transition: filter 0.4s ease, transform 0.4s ease;
}

img.IMGsolo:hover
{
  filter: grayscale(0%);
  transform: scale(1.05);
}


/*************************************************************
# Gestion des slides
*************************************************************/
/* Animation pour apparaître du bas */
@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Animation pour apparaître du haut */
@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(-50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Animation pour apparaître de la gauche */
@keyframes slideLeft {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Animation pour apparaître de la droite */
@keyframes slideRight {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Classes pour appliquer les animations */
.animate-slide-up,.animate-slide-down,.animate-slide-left, .animate-slide-right {
  opacity: 0;
  transition: opacity 0.5s ease, transform 0.5s ease;
}

/* Classe active lors du scroll */
.show-slide-up {
  opacity: 1;
  animation: slideUp 0.8s ease-out forwards;
}
.show-slide-down {
  opacity: 1;
  animation: slideDown 0.8s ease-out forwards;
}


.show-slide-left {
  opacity: 1;
  animation: slideLeft 0.8s ease-out forwards;
}

.show-slide-right {
  opacity: 1;
  animation: slideRight 0.8s ease-out forwards;
}

#page {
  width: 100%;
  margin: 0;
  padding: 0;
}
/**************************************************
 * RESPONSIVE CONTAINER
 **************************************************/

 .container {
   width: 100%;
   max-width: 1170px;
   min-width: 310px;
   margin-left: auto;
   margin-right: auto;
   padding-left: 20px;
   padding-right: 20px;
   box-sizing: border-box;
 }
 
 /* Tablette (>=768px) */
 @media screen and (max-width: 1024px) {
   .container {
     max-width: 95%;
     padding-left: 20px;
     padding-right: 20px;
   }
 }
 
 /* Mobile (<= 767px) */
 @media screen and (max-width: 767px) {
   .container {
    max-width: 90%;
    padding-left: 20px;
    padding-right: 20px;
   }
 }

  /* Mobile (<= 550px) */
  @media screen and (max-width: 550px) {
    .container {
     max-width: calc(100% - 10px);
     padding-left: 5px;
     padding-right: 5px;
    }
  }

/**************************************************
 * RESPONSIVE HEADER
 **************************************************/

/* Cacher/montrer les blocs selon la largeur */
.Show1024 { display: none; }
.Hide1024 { display: block; }

@media screen and (max-width: 1024px) {
  .Show1024 { display: block; }
  .Hide1024 { display: none; }
}

/**************************************************
 * HEADER MOBILE
 **************************************************/

 @media screen and (max-width: 1024px) {
  body {
    padding-top: 70px; /* hauteur exacte du header */
  }
 }
#headerMob {
  background-color:var(--noirtrans);
  padding: 10px 0;
  border-bottom: 1px solid var(--orange20);
  position: fixed; /* reste en haut */
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

#Moblogo
{
  height: 50px;

}
#Moblogo img {
  height: 50px;
  max-width: 70%;
}

#mobIconeMenu {
  position: absolute;
  top: 15px;
  right: 20px;
}

#mobIconeMenu input
{
  display: none;
}

.menu-toggle img {
  height: 30px;
  cursor: pointer;
}
#mobnavmain ul {
  list-style-type: none;
  margin: 0;
  padding: 10px 0;
}

#mobnavmain li {
  padding: 10px 20px;
  border-bottom: 1px solid #eee;
}

#mobnavmain li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

#mobnavmain li a {
  color: var(--orange-2024);
  font-weight: bold;
  text-decoration: none;
  display: block;
}

#mobnavmain li a:hover {
  background-color: var(--orange20);
}

/* Sous-menu mobile */
#mobnavmain ul.sub-menu {
  padding-left: 20px;
  margin-bottom: 0;
  padding-bottom: 0;
}
#mobMenuContainer {
  position: fixed;
  top: 71px;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 90;
  display: none;
}

.menu-checkbox:checked + label + #mobMenuContainer {
  display: block;
}

#mobFond {
  position: absolute;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  z-index: 1;
}

#mobMenu {
  position: absolute;
  top: 0;
  right: 0;
  max-width: 90%;
  min-width: 280px;
  max-height: calc(100vh - 70px);
  overflow-y: auto;
  background-color: white;
  border-top: 1px solid var(--orange50);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  z-index: 2;
}


/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

@media screen and (min-width: 1025px) {

#header {
  font-family: "Jost";
  width: 100%;
  padding: 0;
  /* height: 112px; */
  color: #fff;
  height: 200px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  transition: height 0.3s ease;
}

#header.shrink {
  height: 100px;
  background: var(--noirtrans); /* noir à 50% */
}

#header #fr-en
{
  float: right;
  margin-top: 20px;
  margin-right: 20px;

  display: none; /*a enlever quand le site EN sera pret */
}

#header #fr-en a {
  color: white;
  background-color: black;
  border-radius: 8px;
  padding: 0 10px;
  cursor: pointer;
  margin-right: 0px;
  display: block;
  text-decoration: none;
}

#header #fr-en a:hover 
{
  background-color: white;
  color: black;
}

#logo-AQTech img {
  /* width: 112px; */
  position: relative;
  z-index: 1000;
  height: 100%;
  object-fit: cover;
}

#logo-AQTech {
  float: left;
  margin: 0;
  margin-left: 3%;
  height: 100%;
}

#navmain {
  font-size: 0.8em;
  text-align: right;
  height: 100%;

  margin: 0;
  padding: 0;
  margin-right: 3%;
  display: flex; 
  align-items: center;
  justify-content: flex-end
}

#navmain ul {
  list-style-type: none;
}

#navmain #primary-menu > li {
  float: right;
  /* padding-top: 41px; */
  line-height: 20px;
  padding-left: 10px;
  padding-right: 10px;
}

#navmain #primary-menu > li:first-child {
  padding-left: 40px;
}

#navmain #primary-menu  li a {
  font-family: "Jost-Semi";
  text-decoration: none;
  background-color: #fff;
  color: var(--orange-2024);
  padding: 10px 15px;
  text-transform: uppercase;
}

#navmain #primary-menu li a:hover {
  color: #fff;
  background-color: var(--orange-2024);
}
#navmain #primary-menu > li:first-child a {
  color: #fff;
  background-color: var(--orange-2024);
}
#navmain #primary-menu > li:first-child a:hover {
  background-color: #fff;
  color: var(--orange-2024);

}

/* Sous-menu */
#navmain ul.sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 10%;
  background: #fff;
  min-width: 220px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  z-index: 10;
  padding: 8px 0;
  border-radius: 0px;
  text-align: left;
}

/* Affichage au survol */
#navmain li.menu-item-has-children:hover > ul.sub-menu {
  display: block;
}

/* Éléments du sous-menu */
#navmain ul.sub-menu li {
  position: relative;
}

#navmain ul.sub-menu li a {
  color: #222;
  font-weight: 500;
  text-decoration: none;
  padding: 10px 16px;
  display: block;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}

/* Hover item */
#navmain ul.sub-menu li a:hover {
  background: #f5f5f5;
  color: #e94b1c;
}

/* Séparateur */
#navmain ul.sub-menu li + li {
  border-top: 1px solid #eee;
}

/* Positionnement relatif du menu parent */
#navmain ul.menu > li {
  position: relative;
}

}


@media screen and (max-width: 1400px) {
  #header 
  {
    height: 125px;
  }

  #navmain #primary-menu li a {
    padding: 5px 10px;
  }

  #navmain #primary-menu > li {
    padding-left: 5px;
    padding-right: 5px;
  }

  #navmain #primary-menu > li:first-child {
    padding-left: 20px;
}

}



/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

#page #footer {
  margin: 0;
  color: #fff;
  background-color: var(--orange-2024);
  padding-top: 35px;
  padding-bottom: 15px;
  clear: both;
}
#page #footer .colfooter {
  width: 20%;
  margin-left: 2.5%;
  margin-right: 2.5%;
  min-height: 150px;
  float: left;
}

#page #footer #colfoot2,
#page #footer #colfoot3,
#page #footer #colfoot4 {
  font-family: "Jost-Light";
}

#page #footer #colfoot2 img {
  width: 50%;
  text-align: left;
}
#page #footer #colfoot3 #NavFooter1 li a {
  font-weight: bold;
}
#page #footer #colfoot3 li {
  list-style: none;
}
#page #footer #colfoot3 li a {
  color: #fff;
  text-decoration: none;
  text-transform: capitalize;
}
#page #footer #colfoot3 li a:hover {
  color: #fff;
  text-decoration: underline;
}

#page #footer #colfoot3 #NavFooter2 {
  margin-top: 15px;
}

#page #footer #colfoot4 .RS img {
  height: 25px;
  text-align: left;
}

#page #footer #colfoot4 .btn-blanc {
  padding-top: 5px;
  padding-bottom: 10px;
  text-align: left;
}
#page #footer #colfoot4 .btn-blanc a {
  font-weight: bold;
}

#page #footer #colfoot4 .btn-blanc a:hover {
  color: #fff;
  background-color: var(--orange);
}


@media (max-width: 767px) {
#colfoot1, #colfoot2
{
  display: none;
}

#page #footer .colfooter {
  width: 45%;
  margin-left: 1.5%;
  margin-right: 1.5%;
  float: left;
}
}

@media (max-width: 550px) {

  #page #footer
  {
    padding-top: 0;
  }
  
  #page #footer .colfooter {
    width: 95%;
    margin: auto;
    float: none;
    margin-bottom: 0;
    min-height: 0;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  #page #footer #colfoot3 {
    border-bottom: 1px solid white;
  }
  }


/**********************************/
/*Mentions légales et rgpd*/
/**************************************/

#cookie-notice {
  background-color: #e8e1d7 !important;
  max-width: 100% !important;
  color: #000 !important;
}

#cn-accept-cookie,
#cn-refuse-cookie {
  background-image: none !important;
  background-color: var(--orange) !important;
  border-radius: 0;
  border: none;
}

#legal h1 {
  text-align: center;
}
#legal h2 {
  font-size: 1.4em;
}

/******************************/
/*Page en général*/
/**********************************/

.show {
  opacity: 1 !important;
  height: auto !important;
  padding: 3% 3% 3% 6%;
  z-index: 1000 !important;
}
.show-aq-team {
  display: block !important;
}

.show-menu {
  display: block !important;
}

#content {
  margin: 0;
  padding: 0;
  min-height: 500px;
}

/*****************************************************
*Bouton
***************************************************/
.btn-blanc a
{
  color: var(--noir95);
  background-color: white;
  padding: 7px 15px;
  font-family: "Jost-Medium";
  line-height: 2.5em;
}
.btn-blanc a:hover
{
  background-color: var(--noir95);
  color: white;
}

.btn-orange a {
  color: white;
  background-color: var(--orange-2024);
  padding: 7px 15px;
  font-family: "Jost-Medium";
  border: var(--orange-2024) solid 1px;
}

.btn-orange a:hover {
  color: var(--orange-2024);
  background-color: white;
  border: solid 1px var(--orange-2024);
}
 
/*****************************************************
*Fleche
***************************************************/
.TitreAvecFleche {
  display: flex;
  align-items: center;        /* centre verticalement */
  justify-content: space-between; /* texte à gauche, image à droite */
  gap: 50px;                  /* espacement entre texte et image */
  padding: 1rem 0;
}

.TitreAvecFleche h2 {
  margin: 0;
  font-size: 1.7em;
  flex: 1;                    /* prend la place restante */
}

.TitreAvecFleche img.flechecote {
  height: 25px;
  width: auto;
  object-fit: contain;
}

/* Tablette (>=768px) */
@media screen and (max-width: 1024px) {
  .TitreAvecFleche {
    display: block;
  }
  .TitreAvecFleche h2 {
    font-size: 1.2em;
  }
}

/* Mobile (<= 767px) */
@media screen and (max-width: 767px) {
}

/*****************************************************
*Schéma 2 images
***************************************************/

.Carre2Images {
  display: flex;
  gap: 10px;
  max-width: 100%;
  height: auto;
}

.Carre2Images img {
  filter: grayscale(100%);
}
.Carre2Images img:hover {
  filter: grayscale(0%);
}

.Carre2Images .image-left,
.Carre2Images .image-right > div {
  position: relative;
  overflow: hidden;
}

.Carre2Images .image-left {
  flex: 1;
}

.Carre2Images .image-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.Carre2Images .image-left img,
.Carre2Images .image-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(100%);
  transition: filter 0.4s ease, transform 0.4s ease;
}

.Carre2Images .image-left:hover img,
.Carre2Images .image-right > div:hover img {
  filter: grayscale(0%);
  transform: scale(1.05);
}

.Carre2Images .image-left a,
.Carre2Images .image-right a {
  display: block;
  height: 100%;
}

.Carre2Images .image-left h3,
.Carre2Images .image-right h3 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(255, 255, 255, 0.7);
  padding: 10px 20px;
  font-size: 1.2rem;
  color: #000;
  opacity: 0;
  transition: opacity 0.3s ease;
  white-space: nowrap;
}

.Carre2Images .image-left:hover h3,
.Carre2Images .image-right > div:hover h3 {
  opacity: 1;
}

.Carre2Images .image-left {
  height: auto;
  aspect-ratio: 4 / 3;
}

.Carre2Images .image-right > div {
  flex: 1;
}

/*****************************************************
*Schéma 3 images
***************************************************/

.Carre3Images {
  display: flex;
  gap: 10px;
  max-width: 100%;
  height: auto;
}

.Carre3Images img {
  filter: grayscale(100%);
}
.Carre3Images img:hover {
  filter: grayscale(0%);
}

.Carre3Images .image-left,
.Carre3Images .image-right > div {
  position: relative;
  overflow: hidden;
}

.Carre3Images .image-left {
  flex: 2;
}

.Carre3Images .image-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.Carre3Images .image-left img,
.Carre3Images .image-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(100%);
  transition: filter 0.4s ease, transform 0.4s ease;
}

.Carre3Images .image-left:hover img,
.Carre3Images .image-right > div:hover img {
  filter: grayscale(0%);
  transform: scale(1.05);
}

.Carre3Images .image-left a,
.Carre3Images .image-right a {
  display: block;
  height: 100%;
}

.Carre3Images .image-left h3,
.Carre3Images .image-right h3 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(255, 255, 255, 0.7);
  padding: 10px 20px;
  font-size: 1.2rem;
  color: #000;
  opacity: 0;
  transition: opacity 0.3s ease;
  white-space: nowrap;
}

.Carre3Images .image-left:hover h3,
.Carre3Images .image-right > div:hover h3 {
  opacity: 1;
}

.Carre3Images .image-left {
  height: auto;
  aspect-ratio: 4 / 3;
}

.Carre3Images .image-right > div {
  flex: 1;
}
/*****************************************************
*Schéma 4 images
 *****************************************************/
 .Carre4Images {
  display: flex;
  gap: 10px;
  max-width: 100%;
}

.Carre4Images .image-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.zoom-overlay {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.zoom-overlay img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  transition: filter 0.4s ease, transform 0.4s ease;
  display: block;
}

.zoom-overlay:hover img {
  filter: grayscale(0%);
  transform: scale(1.05);
}

.zoom-overlay a {
  display: block;
  height: 100%;
}

.zoom-overlay h3 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(255, 255, 255, 0.7);
  padding: 10px 20px;
  font-size: 1.2rem;
  color: #000;
  opacity: 0;
  transition: opacity 0.3s ease;
  white-space: nowrap;
}

.zoom-overlay:hover h3 {
  opacity: 1;
}


/*****************************************************
*Bloc colonnes
***************************************************/

.BlocColonnes {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  padding: 2rem 0;
}

.BlocColonnes .colonne {
  flex: 1;
  text-align: left;
}

.BlocColonnes h3 {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.BlocColonnes h3::first-letter {
  color: var(--orange-2024);
  font-weight: bold;
}

.BlocColonnes p 
{
  line-height: 1.4;
  margin: 0;
  margin-top: 15px;
  margin-bottom: 25px;
  text-align: justify;
}
@media (max-width: 768px) {
  .BlocColonnes {
    flex-direction: column;
    gap: 20px;
  }

  .BlocColonnes .colonne {
    flex: unset;
    width: 100%;
  }
}

/*****************************************************
* Bloc Cartes — Responsive & Modulaire
*****************************************************/
.cards-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  align-items: stretch;
}

/* Styles communs à toutes les cartes */
.card,
.cards-container a.card {
  flex: 1 1 auto;
  position: relative;
  padding: 30px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  height: 100%;
  box-sizing: border-box;
  align-self: stretch; /* 🆕 S'assurer que chaque carte suit la hauteur du plus grand */
  height: auto; /* ✅ annule tout height: 100% gênant */
  padding-bottom: 70px;
}

/* Largeurs spécifiques selon le nombre de cartes */
.card.DeuxCartes { width: 350px; }
.card.TroisCartes { width: 300px; }
.card.QuatreCartes { width: 250px; }

/* Hover global */
.card:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* Image dans la carte */
.card-image-wrapper {
  width: 100%;
  height: 150px;
  margin-top: auto;
  overflow: hidden;
  position: relative;
  border-radius: 0px;
  flex-shrink: 0;
}

.card-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  transition: filter 0.4s ease, transform 0.4s ease;
}

.card:hover .card-image-wrapper img {
  filter: grayscale(0%);
  transform: scale(1.05);
}

/* Contenu texte */
.card h3 {
  margin-bottom: 20px;
  font-size: 1.4em;
  line-height: 1.3;
}

.card ul {
  padding-left: 20px;
  list-style: disc;
  margin-bottom: 0px;
  flex-grow: 1;
}

.card ul li {
  margin-bottom: 15px;
}

.card ul li a {
  font-weight: normal;
  text-decoration: underline;
}

/* Thèmes de couleur */
.card-orange {
  background-color: var(--orange-2024);
  color: white;
}

.card-orange a {
  color: white;
}

.card-white {
  background-color: white;
  color: var(--noir95, #111);
}

.card-white a {
  color: var(--noir95, #111);
}

/* Numéro flottant optionnel */
.card-number {
  position: absolute;
  bottom: 0;
  right: 15px;
  font-size: 55px;
  font-weight: bold;
  opacity: 0.1;
  pointer-events: none;
}

/* Pour cartes sans image — pas de marge fantôme */
.card:not(:has(.card-image-wrapper)) {
  padding-bottom: 30px;
}

/* Responsive (optionnel) */
@media screen and (max-width: 768px) {
  .card.DeuxCartes,
  .card.TroisCartes,
  .card.QuatreCartes {
    width: 100%;
  }
}


/*****************************************************
* Description
*****************************************************/
.BlocDescription
{
  margin-top: 30px;
}
.BlocDescription h3 {
  font-size: 1.4em;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.BlocDescription h3::first-letter {
  color: var(--orange-2024);
  font-weight: bold;
}

.BlocDescription p 
{
  line-height: 1.4;
  margin: 0;
  margin-top: 15px;
  margin-bottom: 25px;
  text-align: justify;
}
.BlocDescription:not(:last-child)::after {
  content: "";
  display: block;
  width: 50%;
  height: 1px;
  background-color: var(--orange-2024);
  margin: 30px auto 0 auto;
}
/*****************************************************
* FAQ
*****************************************************/

.faq-slider {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  gap: 20px;
  padding-bottom: 10px;
}

.faq-item {
  flex: 0 0 300px;
  background: white;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  scroll-snap-align: start;
  transition: transform 0.3s ease;
}

.faq-item:hover {
  transform: translateY(-5px);
}

.faq-item h3 {
  font-size: 1.1em;
  color: var(--orange-2024);
  margin-bottom: 10px;
}

.faq-item p {
  font-size: 0.95em;
  line-height: 1.4;
  color: #444;
}

/* Scrollbar discrète */
.faq-slider::-webkit-scrollbar {
  height: 8px;
}
.faq-slider::-webkit-scrollbar-thumb {
  background: var(--orange-2024);
  border-radius: 4px;
}

/*****************************************************
* Légal
*****************************************************/

#legal
{
  margin-top: 115px;
  margin-bottom: 15px;
}