@media (max-width: 575px) {
  .brandlogo {
    height: 1.8em;
    width: 1.8em;
  }
  .flags {
    height: 2.3em;
    width: 2.3em;
  }
  .custom-panel-title-SM {
    font-size: 1.2rem;
  }
  .floatinginfos {
    font-size: 1.2rem;
  }
  
}

@media (min-width: 576px) {
  .brandlogo {
    height: 1.8em;
    width: 1.8em;
  }
  .flags {
    height: 3em;
    width: 3em;
  }
  .floatinginfos {
    font-size: 1.25rem;
  }
  
}

@media (min-width: 768px) {
  .brandlogo {
    height: 3em;
    width: 3em;
  }
  .custom-panel-title-SM {
    font-size: 1.25rem;
  }
}

@media (min-width: 992px) {
  .brandlogo {
    height: 3.8em;
    width: 3.8em;
  }
}

@media (min-width: 1200px) {
  .brandlogo {
    height: 3.2em;
    width: 3.2em;
  }
}

@media (min-width: 1400px) {
  
  
}



.greeting {
    color: #ffffff;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    text-align: left;
    margin: 20px 0;
    width: 100%;
  }

  .statements {
    line-height: 1.35;
    color: #416985;
    font-weight: 500;
    text-align: center;
  }

  .floatinginfos {
    line-height: 1.2;
    color: #424242;
    font-weight: 400;
  }

  .highlight {
    background-color:#7c9da3;
    padding-left: 14px;
    padding-right: 14px;
    display: inline-block;
    line-height: 1.25;
    color: #efeeee;
    font-weight: 500;
  }

  .modaltitre {
    line-height: 1.2;
    color: #416985;
    font-weight: 600;
    font-size: 1.5em;
  }
  .modalexplications {
    line-height: 1;
    color: #2D2D2D;
    font-weight: 400;
    font-size: 1.2em;
  }

  .content {
    transition: opacity 0.5s ease-in-out;
  }

  .custom-img {
    width: 100%;
    object-fit: cover;
  }

  .paddingtopbottom {
    padding-top: 8em;
    padding-bottom: 8em;
  }


  .material-symbols-rounded {
    font-variation-settings:
      'FILL' 0,
      'wght' 400,
      'GRAD' 0,
      'opsz' 24
  }

  .symbolsLarge {
    font-variation-settings:
        'wght' 300,
        'GRAD' 0,
        'opsz' 48;
    line-height: normal; /* ou line-height: 1; pour un espacement minimal */
}



  #button-container {
    background-color: #42424200;
    padding: 0.2em;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }

  .custom-button {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    font-weight: 500;
    width: auto;
    margin: 1em;
    padding: 1em;
    transition: background-color 0.3s ease;
    cursor: pointer;
  }

  .custom-button:hover {
    background-color: #e3e1e1;
    
  }

  .custom-button .material-icons {
    font-size: 2.25em;
    margin-bottom: 0.35em;
  }

  .custom-button .button-title {
    font-size: 1.2em;
    text-align: center;
    line-height: 1.2;
  }

  /* panels for all along processs */

  #panels-container {
    display: flex;
    height: 50vh;
    gap: 1em;
    align-items: center;
    padding: 1em;
    overflow-x: auto;
}

.custom-panel {
    height: 100%;
    border-radius: 2em;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #333;
    text-align: center;
    padding: 0.5em;
    box-sizing: border-box;
    transition: width 0.5s ease-in-out;
}

.custom-panel:not(.active) {
    width: 5em;
}

.custom-panel.active {
    width: 40em;
}

/* Masquage par défaut du contenu */
.custom-panel-content {
    display: none;
}

/* Affichage du contenu uniquement pour le panel actif */
.custom-panel.active .custom-panel-content {
    display: block;
}

.custom-panel-content .material-icons {
    font-size: 4rem;
    margin-bottom: 0.25em;
}

.custom-panel-content .panel-title {
    font-size: 1.8rem;
    margin-bottom: 0.75em;
    line-height: 1.1;
    font-weight: 500;
}

.custom-panel-content ul {
    list-style-type: none;
    padding: 0;
    margin: 0.5em 0 0 0;
    font-size: 1.1rem;
    overflow: hidden;
}

.custom-panel-content li::before {
    content: "• ";
    margin-right: 0.3em;
}

/* Couleurs pastel pour chaque panel */
#panel1 { background-color: #006f9e40; }
#panel2 { background-color: #00889c40; }
#panel3 { background-color: #00a18a40; }
#panel4 { background-color: #39b55f40; }
#panel5 { background-color: #9ebf3040; }
#panel6 { background-color: #fbbb2d40; }


/* DESIGN TO CODE PROGRESSION */



  /* Conteneur transparent */
  .conteneur-transparent {
    background-color: #efeeee;
    border-radius: 0.5em;
    border : 1px solid #7d735930;
}

/* Style des tablettes */
.tablette {
    height: 30vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1em;
    color: #333;
    text-align: center;
}

/* Fond uniquement pour la tablette centrale */
.tablette.milieu {
    background-color: #7c9da3; 
    --s: 3em; /* control the shape */
    clip-path: polygon(0 0,calc(100% - var(--s)) 0,100% 50%,calc(100% - var(--s)) 100%,0 100%,var(--s) 50%);
}



/* Style des éléments internes */
.tablette-icone {
    font-size: 5em;
    margin-bottom: 0.1em;
    color: #555;
}

.tablette-titre {
    font-size: 2em;
    font-weight: 500;
    margin-bottom: 0.5em;
    color: #416985;
}

.tablette-texte {
    font-size: 1.1rem;
    margin-bottom: 1.5em;
    line-height: 1.4;
    color: #424242;
    font-weight: 500;
}

/*    TABLETTE VERTICALE       */

/* Style des tablettes verticales */
.tablette-verticale {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 10px; /* Espace réduit pour les flèches */
}

/* Contenu centré */
.tablette-content {
  text-align: center;
}

.tablette-title {
  margin-bottom: 10px;
  color: #333;
}

.tablette-text {
  margin-bottom: 15px;
  color: #666;
  line-height: 1.4;
}

/* Pictos agrandis de 40% au total */
.tablette-pictos {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.tablette-pictos .material-icons {
  color: #555;
  font-size: 2.1rem; /* +20% vs 1.8rem (soit +40% vs 1.5rem initial) */
}

/* Flèches externes (entre les tablettes) */
.tablette-external-arrow {
  color: #FF5722;
  font-size: 3.25rem;
  margin: 0px 0px; /* Espace vertical autour de la flèche */
}

/* Masquer la flèche après la 3ème tablette */
.row justify-content-center > .col-10:last-child {
  display: none; /* Cache la dernière flèche (inutile) */
}


/*   MENU SHADOWS      */

.menushadow {
box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}


/* VIDEOS   */

.video-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  height: 100vh;
  width: 100%;
}
.video-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: #000;
}
.video-preview {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.video-player {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 4rem;
  z-index: 3;
  pointer-events: none;
}
.video-container:hover .video-player {
  opacity: 1;
}


/*  VIDEOS VERTICALES   */

/* Conteneur de la vidéo (col-10 centré) */
.video-container-SM {
  margin-bottom: 20px;
}

/* Wrapper relatif pour superposer les éléments */
.video-wrapper-SM {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%; /* Ratio 16:9 (ajuste si besoin) */
  overflow: hidden;
  border-radius: 8px;
  cursor: pointer;
}

/* Image de couverture (par défaut) */
.video-cover-SM {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

/* Lecteur vidéo (masqué initialement) */
.video-player-SM {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* Picto centré (toujours visible) */
.video-picto-SM {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20%; /* Taille du picto (ajuste si besoin) */
  height: auto;
  z-index: 3;
  pointer-events: none; /* Permet les clics sur la vidéo */
}

/* Vidéo active (visible) */
.video-wrapper-SM.active-SM .video-cover-SM {
  display: none;
}

.video-wrapper-SM.active-SM .video-player-SM {
  opacity: 1;
}






/*    MENU DEFIS     */

#defiscene {
  position: relative;
  height: 80vh;
}

.defi-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  display: none;
  transition: opacity 0.5s ease-in-out;
}

.defi-content.active {
  display: flex !important;
  opacity: 1;
}



/*   DIVERSITEE VISUELLE  */

[id^="defiimage"] {
  display: none;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
[id^="defiimage"].active {
  display: block;
  opacity: 1;
}

.defi-menu-container {
  background-color: #efeeee;
  padding: 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: auto;
}
.defi-menu-bouton {
  color: #ffffff;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5em;
  margin: 0.2em 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
.defi-menu-bouton:hover {
  background-color: #7d735930;
  border-radius: 0.25em;
}
.defi-menu-bouton.active {
  background-color: #cb6765;
  border-radius: 0.25em;
}
.defi-image-conteneur {
  display: none;
  opacity: 0;
}
.defi-image-conteneur.active {
  display: block;
  opacity: 1;
}
.defi-paire-images {
  width: 100%;
  margin-bottom: 30px;
}
.defi-paire-images img {
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}

/*    SKILLS SCENE    */


.slideSkills {
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.slideSkills.active {
  display: block;
  opacity: 1;
}


.divvisuelle-conteneur {
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.divvisuelle-conteneur.active {
  display: block;
  opacity: 1;
}


/*  SMARTCAR  */

#citroen-smartcar, #opel-smartcar, #fiat-smartcar {
  display: none;
  opacity: 0;
  transition: opacity 1s ease;
}



/*   EXP CONDUITE UNIUES  */

#peugeot-driveexp, #alfa-driveexp, #ds-driveexp, #lancia-driveexp,
#opel-driveexp, #citroen-driveexp, #fiatpro-driveexp, #jeep-driveexp {
    display: none;
    opacity: 0;
    transition: opacity 1s ease;
}

/*   GRILLE DETAIL  */

.parent-grille {
	display: grid;
	grid-gap: 0.25em;
	grid-template-columns: auto auto auto auto auto;
	justify-content: space-evenly;

  }
  .zone1 {
	grid-column: 1/6;
	grid-row: 1;
	flex: 0 0 auto;
	
  }
  .zone2 {
	grid-column: auto;
	grid-row: 2;
	flex: auto auto auto;
  }
  .zone3 {
	grid-column: auto;
	grid-row: 2;
	flex: auto auto auto;
  }
  .zone4 {
	grid-column: auto;
	grid-row: 2;
	flex: auto auto auto;
  }
  .zone5 {
	grid-column: auto;
	grid-row: 2;
	flex: auto auto auto;
  }
  .zone6 {
	grid-column: auto;
	grid-row: 2;
	flex: auto auto auto;
  }
  .zoneA {
	grid-column: 2/5;
	grid-row: 1;
	flex: auto auto auto;
  }
  .zoneB {
	grid-column: auto;
	grid-row: 1;
	flex: auto auto auto;
  }
  .zoneC {
	grid-column: auto;
	grid-row: 1;
	flex: auto auto auto;
  }
  .zoneD {
	grid-column: 2/5;
	grid-row: 2;
	flex: auto auto auto;
  }
  .zoneE {
	grid-column: auto;
	grid-row: 2;
	flex: auto auto auto;
  }
  .zoneF {
	grid-column: auto;
	grid-row: 2;
	flex: auto auto auto;
  }

  /*   surfaces agradnissables pour modules  */

  .surfaces-container {
    display: flex;
    height: 50vh;
    width: 100%;
    gap: 0.5em; /* Pas d'espace entre les surfaces */
    overflow: hidden; /* Pour éviter les débordements */
    align-items: stretch; /* Étire les surfaces sur toute la hauteur */
  }
  
  .surface {
    flex: 1; /* Répartition égale de l'espace */
    transition: flex 0.5s ease; /* Animation douce pour la largeur */
    overflow: hidden; /* Cache les débordements */
    position: relative; /* Pour le positionnement des images */
  }
  
  .surface-img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Remplit toute la surface */
    opacity: 0.5; /* Opacité réduite par défaut */
    transition: opacity 0.3s ease; /* Animation douce pour l'opacité */
  }
  
  .surface:hover {
    flex: 4; /* Agrandit la surface au survol */
  }
  
  .surface:hover .surface-img {
    opacity: 1; /* Montre clairement l'image au survol */
  }
  
  .surface:not(:hover) {
    flex: 0.5; /* Réduit les autres surfaces */
  }
  

/*  PANELS VERTICAUX  */

/* Conteneur principal */
.custom-panels-container-SM {
  display: flex;
  flex-direction: column;
  height: 80vh;
  gap: 12px;
  padding: 16px;
  overflow-y: auto;
}

/* Style des panels */
.custom-panel-SM {
  background-color: var(--panel-bg);
  border-radius: 12px;
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
}

/* En-tête du panel (centré horizontalement) */
.custom-panel-header-SM {
  padding: 16px;
  cursor: pointer;
  text-align: center;
}

.custom-panel-icon-title-SM {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

/* Icône */
.custom-panel-icon-SM {
  font-size: 1.8rem;
  color: var(--panel-text); /* Couleur du titre pour l'icône */
}

/* Titre */
.custom-panel-title-SM {
  font-weight: 600;
  color: var(--panel-text); /* Couleur contrastée pour le titre */
}

/* Contenu du panel (masqué par défaut) */
.custom-panel-content-SM {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition:
    max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.4s ease,
    padding 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 0 10px;
}

/* Liste à puces */
.custom-panel-list-SM {
  list-style-type: none;
  padding: 0;
  margin: 12px 0;
}

.custom-panel-list-SM li {
  padding: 6px 0;
  position: relative;
  padding-left: 24px;
  color: #424242; /* Couleur neutre pour les points */
}

.custom-panel-list-SM li::before {
  content: "•";
  color: var(--panel-text); /* Couleur du titre pour les puces */
  font-weight: bold;
  position: absolute;
  left: 0;
}

/* État actif */
.custom-panel-SM.active-SM {
  background-color: var(--panel-bg);
}

.custom-panel-SM.active-SM .custom-panel-content-SM {
  max-height: 500px;
  opacity: 1;
  padding: 16px;
}

/* Responsive : col-12 jusqu'à md */
@media (min-width: 768px) {
  .custom-panels-container-SM {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .custom-panel-SM {
    flex: 0 0 100%;
  }
  @media (min-width: 992px) {
    .custom-panel-SM {
      flex: 0 0 calc(50% - 24px);
    }
  }
}
