/* =========================================================
   BACKGROUND FIXE ULTRA COMPATIBLE (Mobile + Tablette + iOS)
   ========================================================= */
   body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    pointer-events: none;
  
    background: linear-gradient(180deg, #1B1B1B 0%, #2B2B2B 44.23%, #323232 77.88%, #1B1B1B 100%);
    background-size: cover;
  }
  
  body::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
  
   
  }
  
  /* On supprime le background-attachment fixed qui ne fonctionne pas sur iOS */
  body {
    background: none !important;
  }
  
  body .pattern-background {
  background-image: linear-gradient(#4e4b4194 1px, transparent 1px),
                    linear-gradient(to right, #4e4b4194 1px, #71718300 1px);
  background-size: 40px 40px;
  background-attachment: fixed;
  }
  
  /******************* TITRES **********************/
  h1, h2, h3 {
    color: var(--font-color);
    font-family: var(--title-font);
  }

	h4 {
		 color: var(--font-color);
		 text-align: center ;
		font-size: large ;
		font-family: var(--title-font) ;
		 margin-top: 3em ;
		 margin-bottom: 1em ;
	}
  
  p{
    color: var(--font-color);
    font-family: var(--general-font);
  }

/* ================== Titre Contact animation par lettres ================== */
.titre-contact-layer {
  visibility: hidden; /* caché au départ */
}

.titre-contact-layer .letter {
  display: inline-block;
  opacity: 0;
  transform: translateX(-20px); /* part de la gauche */
  transition: opacity 0.7s ease, transform 0.7s ease;

  font-family: var(--title-font);
  color: inherit;
  -webkit-text-stroke-width: inherit;
  -webkit-text-stroke-color: inherit;
}

.titre-contact-layer .letter.active {
  opacity: 1;
  transform: translateX(0);
}

  
  /******************* CSS Formulaire Contact Centré et Champs Uniformes **********************/
  .formulaireContact {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 2rem auto 3rem auto;
    width: 100%;
    max-width: 600px;
    padding: 1rem;
  }
  
  .contact-form {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 1rem;
  }
  
  .contact-form label {
    color: #ffffff;
    font-weight: 500;
    margin-bottom: 0.3rem;
  }
  
  .contact-form input[type="text"],
  .contact-form input[type="email"],
  .contact-form select,
  .contact-form textarea,
  .contact-form button.btn {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid var(--border-color-side);
    border-radius: 4px;
    background-color: rgba(34, 34, 34, 0.5);
    color: #ffffff;
    font-family: var(--general-font);
    font-size: 1rem;
    outline: none;
    transition: border-color 0.3s, background-color 0.3s;
  }
  
  .contact-form input[type="text"]::placeholder,
  .contact-form input[type="email"]::placeholder,
  .contact-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.7);
  }
  
  .contact-form select {
    cursor: pointer;
    appearance: none;
    background-color: rgba(34, 34, 34, 0.5);
    color: #ffffff;
  }
  
  .contact-form input[type="text"]:focus,
  .contact-form input[type="email"]:focus,
  .contact-form select:focus,
  .contact-form textarea:focus {
    border-color: #580caa;
    background-color: rgba(34, 34, 34, 0.7);
  }
  
  .contact-form button.btn {
    cursor: pointer;
    transition: background-color 0.3s, border-color 0.3s;
  }
  
  .contact-form button.btn:hover {
    background-color: rgba(88, 12, 170, 0.7);
    border-color: #580caa;
  }
  
  
  /******************* CSS Contact général **********************/
  .formulaireContact >  h2 {
    text-align: center;
  }
  label{
    font-family: var(--general-font);
  }
.contactComplet {
	display: flex;
    margin: 0 1em;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
}
  .messagePageContact {
    display: flex;
    flex-direction: column;
    justify-items: center;
  }

  .messagePageContact h1 {
    font-size: medium;
    text-align: center;
	margin: 1em ;
  }

  .conteneurMembres {
    display: flex;
    justify-self: center;
  }

  .profilAlexis, 
  .profilLina, 
  .profilMatilda, 
  .profilRemy, 
  .profilPeterson,
  .profilCamille,
  .profilCaroline,
  .profilManon,
  .profilStephanie,
  .profilWebMaster {
    background-image: linear-gradient(177deg, #580caa 11.95%, #580caa 28.39%, #21212100 100%);
    border: 1px solid var(--border-color-side);
  }

  .profilRemy .imgProf {
    width: 300px;
    height: 300px;
  }

  .profilRemy h3,
  .profilRemy p,
  .profilAlexis h3,
  .profilAlexis ,
  .profilLina h3,
  .profilLina p,
  .profilPeterson h3,
  .profilPeterson p,
  .profilMatilda h3,
  .profilMatilda p {
    text-align: center;
  }

  .conteneurProfils {
    display: flex;
    justify-self: center;
      margin-bottom: 4vw;
  }

  .conteneurProfils img {
    width: 300px;
    height: 300px;
  }

  .profilCaroline, 
  .profilCamille, 
  .profilManon, 
  .profilStephanie,
  .profilWebMaster{
    max-width: 300px;
    text-align: center;
    padding: 1rem;
  }
 
  
  input[type="button"] {
    border: 1px solid var(--border-color-side);
    color: var(--font-color);
    font-family: var(--general-font);
    background-color: rgb(34, 34, 34, 0);
    padding: 12px;
    border-radius: 3px;
  }
  
  
  /********************* Section @Media  Mobile********************/
  @media screen and (max-width: 576px) {
    .border {
      position: fixed;
      background: var(--border-color-side);
      z-index: 9999;
    }
  
    .border.gauche {
      top: 0;
      left: 1em;
      width: 1px;
      height: 100%;
    }
  
    .border.droite {
      top: 0;
      right: 1em;
      width: 1px;
      height: 100%;
    }
  
    .contact-section {
      background-image: linear-gradient(177deg, #580caa 11.95%, #580caa 28.39%, #21212100 82.04%);
      border: solid 1px var(--border-color-side);
      margin-left: 1em;
      margin-right: 1em;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      height: 263.93px;
    }
  
    .titre-contact {
      color: transparent;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      font-size: clamp(16px, 8vw, 28px);
      text-transform: uppercase;
      margin: 0;
      -webkit-text-stroke-width: 0.6px;
      -webkit-text-stroke-color: #fff;
      line-height: 0.7;
      letter-spacing: 1px;
      margin-top: 30px;
    }
  
    .titre-contact-base {
      -webkit-text-fill-color: var(--title-color);
    }
  
    .titre-contact-layer--1 { opacity: 0.8; }
    .titre-contact-layer--2 { opacity: 0.5; }
    .titre-contact-layer--3 { opacity: 0.3; }
  
    .formulaireContact{
      max-width: 320px;
    }

/*     .contactComplet{
      padding-bottom: 6rem;
	  padding-right: 3em;
	  padding-left: 3em;
	  margin: 0 2em;
    } */
  
    .conteneurProfils, .conteneurMembres{
      flex-direction: column;
      gap: 3rem;
	 
    }
  }
  /********************* Section @Media  Tablette********************/
  @media screen and (min-width: 576.02px) and (max-width: 1024px){
    .border {
      position: fixed;
      background: var(--border-color-side);
      z-index: 9999;
    }
  
    .border.gauche {
      top: 0;
      left: 2em;
      width: 1px;
      height: 100%;
    }
  
    .border.droite {
      top: 0;
      right: 2em;
      width: 1px;
      height: 100%;
    }
  
    .contact-section {
      background-image: linear-gradient(177deg, #580caa 11.95%, #580caa 28.39%, #21212100 82.04%);
      border: solid 1px var(--border-color-side);
      margin-left: 2em;
      margin-right: 2em;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      padding: 15px;
      height: 263.93px;
    }
  
    .titre-contact {
      color: transparent;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      font-size: 6vw;
      text-transform: uppercase;
      margin: 0;
      -webkit-text-stroke-width: 0.7px;
      -webkit-text-stroke-color: #fff;
      line-height: 0.65;
      letter-spacing: 1px;
      margin-top: 30px;
    }
  
    .titre-contact-base {
      -webkit-text-fill-color: var(--title-color);
    }
  
    .titre-contact-layer--1 { opacity: 0.8; }
    .titre-contact-layer--2 { opacity: 0.5; }
    .titre-contact-layer--3 { opacity: 0.3; }
  
    .messagePageContact{
      padding-bottom: 2rem;
    }

    .messagePageContact h1 {
/*       font-size: xx-large; */
    }
  
    .conteneurMembres{
      flex-wrap: wrap;
      justify-content: center;
      gap: 10px;
    }

    .conteneurProfils  {
      flex-wrap: wrap;
      gap: 10px;
      justify-content: center;
    }

    
  }
  
  /********************* Section @Media  Desktop********************/
  @media screen and (min-width: 1025px){
       .border {
      position: fixed;
      background: var(--border-color-side);
      z-index: 9999;
    }
  
    .border.gauche {
      top: 0;
      left: 2em;
      width: 1px;
      height: 100%;
    }
  
    .border.droite {
      top: 0;
      right: 2em;
      width: 1px;
      height: 100%;
    }
  
    .contact-section {
      background-image: linear-gradient(177deg, #580caa 11.95%, #580caa 28.39%, #21212100 82.04%);
      border: solid 1px var(--border-color-side);
      margin-left: 2em;
      margin-right: 2em;
      justify-content: center;
      display: flex;
      align-items: center;
      gap: 20px;
      flex-direction: column;
      padding: 15px;
    }
  
    .titre-contact {
      color: transparent;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      font-size: clamp(18px, 10vw, 40px);
      text-transform: uppercase;
      margin: 0;
      -webkit-text-stroke-width: 0.7px;
      -webkit-text-stroke-color: #fff;
      line-height: 0.65;
      letter-spacing: 1px;
      margin-top: 30px;
    }
  
    .titre-contact-base {
      -webkit-text-fill-color: var(--title-color);
    }
  
    .titre-contact-layer--1 { opacity: 0.8; }
    .titre-contact-layer--2 { opacity: 0.5; }
    .titre-contact-layer--3 { opacity: 0.3; }

    .messagePageContact h1 {
      font-size: 2vw;
    }
	  .messagePaegContact p {
		  font-size: 2vw;
	  }

    .conteneurMembres {
      gap: 20px;
      flex-wrap: wrap;
      justify-content: center;
    }

	  .conteneurProfils {
      gap: 20px;
    }
  }
	

  @media screen and (min-width: 1368px){
    .border {
      position: fixed;
      background: var(--border-color-side);
      z-index: 9999;
    }
  
    .border.gauche { top: 0; left: 3em; width: 1px; height: 100%; }
    .border.droite { top: 0; right: 3em; width: 1px; height: 100%; }
  
    .search-section{
      display: flex;
      justify-content: center;
    }
  
    .titre-contact-base {
      -webkit-text-fill-color: var(--title-color);
    }
  
    .titre-contact {
      color: transparent;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      font-size: clamp(20px, 12vw, 50px);
      text-transform: uppercase;
      margin: 0;
      -webkit-text-stroke-width: 0.8px;
      -webkit-text-stroke-color: #fff;
      line-height: 0.6;
      letter-spacing: 1px;
      height: 220px;
      font-weight: lighter;
    }
  
    .titre-contact-layer--1 { opacity: 0.8; }
    .titre-contact-layer--2 { opacity: 0.5; }
    .titre-contact-layer--3 { opacity: 0.3; }
  
    .contact-section{
      background-image: linear-gradient(177deg, #580caa 11.95%, #580caa 28.39%, #21212100 82.04%);
      border: solid 1px var(--border-color-side);
      margin-left: 3em;
      margin-right: 3em;
      justify-content: center;
      display: flex;
      align-items: center;
      gap: 30px;
    }
  
    input[type="button"]:hover {
      background-color: rgb(34, 34, 34);
      transition: background-color 0.5s;
    }

  }
  