@media (max-width: 900px) and (orientation: landscape) {
  .mobile-landscape-blocker {
    display: flex !important;
    position: fixed;
    z-index: 99999;
    font-family: "Montserrat", sans-serif;
    color: #ffffff;
    top: 0; left: 0; right: 0; bottom: 0;
    align-items: center;
    justify-content: center;
    font-size: 1em;
    text-align: center;
    padding: 2em;
  }
  body *:not(.mobile-landscape-blocker) {
    display: none !important;
  }
}
body {

    margin: 0;
    background: #310439;
    overflow-y: auto; /* Permet le scroll vertical */
    overflow-x: hidden; /* Bloque le scroll horizontal */
    height: 100vh; /* Hauteur fixe pour éviter les débordements */
    padding: 10px; /* Petit padding pour éviter le collage aux bords */
    box-sizing: border-box; /* Inclut le padding dans le calcul */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /* Masque la barre de défilement sur Chrome/Safari */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}
.header-bar {
    background-color: #dfcfec00;
      backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

    width: 100%;
    height: 150px;
    margin: 0;
    position: fixed;
    top: 0;
    left: 0;
    box-sizing: border-box; /* Empêche le débordement */
    text-align: center;
    box-shadow: 0 2px 12px #a97bcf8e;
    z-index: 100;
}

.header-bar h1 {
    font-family: "Pinyon Script", sans-serif;
    color: #dfcfec;
    font-weight: 500; /* Ajouté pour un poids de police plus léger */
    font-size: 75px;
    text-align: center; /* Ajout pour centrer le texte horizontalement */
    margin-top: 20px; /* Ajustez cette valeur pour le centrage vertical */
  
}
.header-bar h2 {  
    
    font-family: "Cormorant Garamond", sans-serif;
    color: #ffffff88;
    font-size: 20px;
       font-weight: 500; /* Ajouté pour un poids de police plus léger */
    text-align: center; /* Optionnel, déjà hérité de .header-bar */
    position : relative;
    bottom: 70px;
    right: -60px;

  
   
    
} 

.form-wrapper {
    position: relative;
    width: 310px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    margin-top: 350px; /* Ajout pour placer sous le header-bar (150px + marge) */
        margin-bottom: 50px;
}
/* Edge Chromium : même traitement que Chrome */
body::-ms-scrollbar {
    display: none !important;
    width: 0 !important;
}

html::-ms-scrollbar {
    display: none !important;
    width: 0 !important;
}

/* Edge Legacy : propriétés -ms spécifiques */
*::-ms-scrollbar {
    display: none !important;
    width: 0 !important;
}

*::-ms-scrollbar-track {
    display: none !important;
}

*::-ms-scrollbar-thumb {
    display: none !important;
}

*::-ms-scrollbar-corner {
    display: none !important;
}

/* Double sécurité pour tous les navigateurs Microsoft */
* {
    -ms-overflow-style: none !important;
}
/* Garde le scroll mais rend les barres invisibles - FINI LE DÉCALAGE ! */
body.no-scroll {
    overflow-x: hidden !important; /* Bloque horizontal */
    overflow-y: auto !important; /* Garde vertical mais... */
    /* Rend la barre verticale invisible */
    scrollbar-width: none !important; /* Firefox */
    -ms-overflow-style: none !important; /* IE/Edge */
}

/* Chrome/Safari : barre de défilement invisible - VERSION RENFORCÉE */
body::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
}

body::-webkit-scrollbar-track {
    display: none !important;
}

body::-webkit-scrollbar-thumb {
    display: none !important;
}

body::-webkit-scrollbar-corner {
    display: none !important;
}

/* Force aussi sur html pour Chrome récalcitrant */
html::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

html::-webkit-scrollbar-track {
    display: none !important;
}

html::-webkit-scrollbar-thumb {
    display: none !important;
}

html::-webkit-scrollbar-corner {
    display: none !important;
}

/* Solution UNIVERSELLE pour Chrome - cache TOUTES les barres */
* {
    scrollbar-width: none !important; /* Firefox */
    -ms-overflow-style: none !important; /* IE/Edge */
}

*::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

*::-webkit-scrollbar-track {
    display: none !important;
}

*::-webkit-scrollbar-thumb {
    display: none !important;
}

*::-webkit-scrollbar-corner {
    display: none !important;
}
.card-3d-wrap {
   
    width: 310px;
    height: 420px;
    perspective: 1000px;
    margin-top: 40px; /* Espace depuis le toggle */
    position: relative; /* Position relative pour garder l'ordre des éléments */

    
}

.card-3d {
    
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.8s;
    display: flex; /* Ajoute un conteneur flex pour centrer */
    justify-content: center; /* Permet au contenu de commencer en haut */
    align-items: center; /* Centre verticalement */
}


.card-3d.animating ~ * {
    pointer-events: none; /* Désactive les interactions pendant l'animation */
}
.card-3d.rotated {
    transform: rotateY(180deg);
    align-items: center;
    display: flex; /* Assure que le conteneur reste flex */
    justify-content: center; /* Permet au contenu de commencer en haut */
; /* Centre horizontalement le formulaire connexion */
    align-items: center; /* Centre verticalement le formulaire connexion */
}

.signup, .login {
    
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Permet au contenu de commencer en haut */
    align-items: center;
    padding: 15px;
    font-size: 0.9rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    background: #ffffff00;
    border-radius: 30px;
    border : 1px solid #ffffff;
}

.login {

    transform: none;
}

.signup {
  
    transform: rotateY(180deg);
}



input {
    font-family: "Montserrat", sans-serif;
    width: 300px; /* Réduit les marges latérales pour rendre les champs plus larges */
    max-width: 300px; /* Définit une largeur maximale pour éviter qu'ils ne deviennent trop grands */
    font-size: 0.85rem;
    padding: 10px 10px 10px 11px;
    border-radius: 25px;
    margin-bottom: 17px; /* Augmente l'espace entre les champs */
    margin-top: 2px;
    color: #fff;
    border: 1px solid #ffffff; /* Ajoute une bordure blanche semi-transparente */
    box-sizing: border-box; /* Inclut le padding et la bordure dans la largeur totale */
    display: block; /* Assure que l'input est un bloc */
    margin-left: auto; /* Centre horizontalement */
    margin-right: auto; /* Centre horizontalement */    
    background-color: #ffffff3c !important;
}


input::placeholder {
    color: #ffffffc1; /* Placeholder violet foncé */
    opacity: 1;
    
}

input:-webkit-autofill,
input:-webkit-autofill:focus,
input:-webkit-autofill:hover,
input:-webkit-autofill:active {
    background-color: #fff !important; /* Fond blanc même en auto-remplissage Chrome */
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-text-fill-color: #3e0847 !important; /* Texte foncé même en auto-remplissage */
    color: #3e0847 !important;
    border-radius: 25px;
}

button {
    font-family: "Montserrat", sans-serif;
    padding: 8px 15px;
    background: #6c0d9b;
    color: #fff;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    font-size: 14px;
    display: block; /* Assure que le bouton est un bloc */
    margin: auto; /* Centre le bouton horizontalement */
    border: 2px solid antiquewhite; /* Ajoute un contour blanc */
    width: 302px; /* Réduit les marges latérales pour rendre les champs plus larges */
    max-width: 500px; /* Définit une largeur maximale pour éviter qu'ils ne deviennent trop grands */
}

button:hover {
    background: #b014fd;
   
}

a {
    color: #000000;
    text-align: center; /* Centre le lien horizontalement */
    display: block; /* Assure que le lien est un bloc pour le centrage */
    margin-top: 30px; /* Ajoute un espace au-dessus du lien */
}

a:hover {
    text-decoration: underline;
}

.toggle-container {
    margin-top: 20px; /* Espace depuis les labels */
    display: flex;
    justify-content: center;
}



.slider {
    position: relative;
    width: 90px;
    height: 30px;
    border: none;
    border-radius: 15px;
    cursor: pointer;
    outline: none;
    display: flex;
    align-items: center;
    border: 2px solid antiquewhite; /* Ajoute un contour blanc */
    
}



.slider-ball {
    position: relative;
    width: 35px; /* Augmentation de la taille */
    height: 35px;
    background-color: #6c0d9b;
    border-radius: 50%;
    transition: transform 0.6s ease, left 0.6s ease; /* Ajout d'une transition fluide */
    display: flex;
    align-items: center;
    justify-content: center;
    color: antiquewhite;
    font-size: 15px;
    font-weight: bold;
    border: 2px solid antiquewhite; /* Ajoute un contour blanc */
    overflow: visible; /* Permet à la boule de dépasser */
    margin-left: -4px;
}

.slider-ball::before {
    font-family: none;
    content: '↑'; /* Flèche vers le haut */
    transform: rotate(-45deg); /* Par défaut, flèche vers la gauche */
   
}



.slider.active .slider-ball::before {
    transform: rotate(45deg); /* Flèche vers la droite */
}




.labels-container {
    font-family: "Montserrat", serif;
    font-weight: 600;
    font-size: 17px;
    display: flex;
    justify-content: space-around; /* Ajoute plus d'espace entre les mots */
    width: 270px; /* Augmente la largeur pour élargir l'écart */
    margin: 0 auto; /* Centre le conteneur horizontalement */
    
}

.label-left, .label-right {

    
    font-weight: bold;
    color: antiquewhite;
    text-transform: uppercase;
    font-weight: lighter;
}

.motdepasseoublie {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    background-color: #ffffff00;
    color: #ffffff;
    text-align: center; /* Centre le lien horizontalement */
    display: block; /* Assure que le lien est un bloc pour le centrage */
    margin-top: 30px; /* Ajoute un espace au-dessus du lien */
    border: 2px solid #ffffff; /* Ajoute un contour blanc */
    margin: 10px; 
  
}

.motdepasseoublie:hover {
    text-decoration: none;
    background-color: #6c0d9b; /* Change la couleur de fond au survol */
    color: #ffffff; /* Change la couleur du texte au survol */
    border: 2px solid #ffffff; /* Ajoute un contour blanc */
}

/* Message pop-up pour inscription/connexion */
.popup-message {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 320px;
    width: 80vw;
    padding: 200% 200%;
    background: #310439c9;
    color: #ffffff;
    text-align: center;
    border-radius: 18px;
    z-index: 1000;
    box-shadow: 0 8px 32px rgba(49,4,57,0.13), 0 1.5px 8px rgba(49,4,57,0.08);
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 19px;
    font-weight: 300;
    letter-spacing: 0.5px;
    border: 2.5px solid #e2d0f3;
    transition: box-shadow 0.2s;



}
.popup-message.success {
    background: #310439c9;
    color: #ffffff;
    font-weight: 300;
   
}
.popup-message.error {
    background: #310439c9;
    color: #ffffff;
    font-weight: 300;
 
}
.popup-message strong {
    font-weight: bold;
}

@media (max-width: 600px) {
      .header-bar {
    height: 111px !important;
    min-height: 111px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    }
    .header-bar h1 {
        font-size: 48px !important;
        margin: 0 !important;
    }
    .header-bar h2 {
        font-size: 16px !important;
        right: -25px !important;
        bottom: 10px !important;
        margin: 0 !important;
    }
    
  .form-wrapper {
    /* Supprime position: fixed et centrer verticalement */
    position: relative !important;
    top: unset !important;
    left: unset !important;
    transform: unset !important;
    margin-top: 110px !important; /* Toujours sous le header-bar */
    width: 300px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap:10px!important;
  }

  .signup, .login {
    width: 100% !important;
    height: 100% !important;
    padding: 25px !important;
    font-size: 16px !important;
    border-radius: 40px !important;
    max-width: 410px !important;
  }

  .card-3d-wrap {
     width: 300px !important;
     height: 420px !important;
     margin-top: 40px !important; /* Garde l'espacement relatif */
  }
  
  .toggle-container {
    margin-top: 20px !important;
  }

  .labels-container {
    font-size: 16px !important;
    width: 270px !important;
  }

  input,
  button  {
       font-size: 12px !important;
  }
  body {
    overflow-y: auto !important; /* Autorise le défilement */
    overflow-x: hidden !important;
    position: static !important; /* Plus de blocage */
    height: auto !important; /* S’adapte à la hauteur du contenu */
    padding: 10px !important; /* Restaure un léger padding */
  }

  html {
    -webkit-text-size-adjust: 100% !important;

    
  }

  .slider-ball {
    margin-left: -3px !important;
  }

  .popup-message {
    font-size: 16px !important;
  }

}




 


@media (min-width: 1300px) and (max-width: 2000px) {
  .form-wrapper {
    width: 350px !important; /* Largeur adaptée aux grands écrans */
    gap: 10px!important;
    margin-top: 100px!important;
  }
.header-bar 
  {
    height: 180px !important;
    min-height: 180px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
 
  }
  .header-bar h1 {
    font-size: 100px !important;
   
  }
  .header-bar h2 {
   font-size: 27px !important;
    left: 80px !important;
    top : -91px !important;
 }

  .signup, .login {
    width: 100% !important;
    height: 100% !important;
    padding: 25px !important;
    border-radius: 40px !important;
    max-width: 410px !important;
  }

  .toggle-container {
    margin-top: 20px !important; /* Utilise margin au lieu de top */
  }
  
  .labels-container {
    font-size: 18px !important;
    width: 333px !important;
  }

  input#email_connexion,
  input#password_connexion,
  button,
  button.motdepasseoublie {
    font-size: 14px !important;
  }  

.popup-message  {
    font-size: 20px !important;
    width: 80vw !important;
   
}
     
  }
    /* Tablette : 601px à 1200px */
@media (min-width: 601px) and (max-width: 1200px) {
  body {
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  
h1.header-title {
    font-size: 75px !important;
    
  }

h2.header-title{
    font-size: 24px !important;
    left: 45px !important;


  }

  .form-wrapper {
    width: 410px !important; /* Largeur adaptée aux tablettes */
    position: fixed !important; /* Position fixe pour un centrage parfait */
    top: 50% !important; /* Centre verticalement */
    left: 50% !important; /* Centre horizontalement */
    transform: translate(-50%, -50%) !important; /* Centre parfait au pixel près */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important; /* Espacement entre les éléments */
     margin-top: 50px!important;

  }
  .card-3d-wrap {
    width: 410px !important;
    height: 540px !important;
    margin-top: 40px !important; /* Utilise margin au lieu de position */
  }

  .card-3d {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .signup, .login {
    width: 100% !important;
    height: 100% !important;
    padding: 25px !important;
    font-size: 16px !important;
    border-radius: 40px !important;
    max-width: 410px !important;
  }

  input {
    width: 400px !important;
    max-width: 400px !important;
    font-size: 16px !important;
    padding: 14px 14px 14px 15px !important;
    border-radius: 35px !important;
  }

  button {
    width: 402px !important;
    max-width: 600px !important;
    font-size: 16px !important;
    border-radius: 35px !important;
    padding: 12px 20px !important;
  }

  .toggle-container {
    margin-top: 20px !important; /* Utilise margin au lieu de position */
  }

  .labels-container {
    width: 370px !important;
    font-size: 20px !important;
  }

  .slider {
    width: 120px !important;
    height: 40px !important;
    border-radius: 20px !important;
  }

  .slider-ball {
    width: 45px !important;
    height: 45px !important;
    font-size: 18px !important;
    border-radius: 50% !important;
    margin-left: -3.5px !important;
  }

  .motdepasseoublie {
    font-size: 16px !important;
    border-radius: 30px !important;
    margin: 15px !important;
  }

  .popup-message {
    font-size: 22px !important;
    width: 90vw !important;
  }
}



@media (min-width: 1000px) and (max-width: 1200px) and (orientation: landscape) {

    
          body {
    overflow-y: auto !important; /* réactive le défilement */
    overflow-x: hidden !important;
    height: auto !important;
    padding-top: 160px !important; /* espace pour le header (150px) */
  }
    .form-wrapper {
    width: 350px !important; /* Légèrement plus large */
    position: relative !important;   /* annule le fixed du breakpoint 601–1200 */
    top: auto !important;
    left: auto !important;
    transform: none !important;
    margin-top: 0 !important;        /* on s'appuie sur le padding-top du body */
    margin-bottom: 80px !important; /* espace bas pour voir tout le wrapper */
    /* width: 350px !important;  <-- déjà défini plus bas dans ce même breakpoint */

    }
    
    .card-3d-wrap {
        width: 350px !important; /* Légèrement plus large */
        height: 460px !important; /* Légèrement plus haut */
    }
    
    input {
        width: 330px !important; /* Légèrement plus large */
        max-width: 330px !important;
        font-size: 0.9rem !important; /* Légèrement plus gros */
        padding: 12px 12px 12px 13px !important; /* Légèrement plus de padding */
    }

    button {
        width: 332px !important; /* Légèrement plus large */
        font-size: 15px !important; /* Légèrement plus gros */
        padding: 10px 18px !important; /* Légèrement plus de padding */
    }
    
    .labels-container {
        font-size: 18px !important; /* Légèrement plus gros */
        width: 300px !important; /* Légèrement plus large */
    }

    .slider {
        width: 100px !important; /* Légèrement plus large */
        height: 35px !important; /* Légèrement plus haut */
    }

    .slider-ball {
        width: 40px !important; /* Légèrement plus gros */
        height: 40px !important; /* Légèrement plus gros */
        font-size: 16px !important; /* Légèrement plus gros */
    }
}

