/* Copie et harmonisation avec inscriptionetconnexion.css */
@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;
    overflow-x: hidden;
    height: 100vh;
    padding: 10px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.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;
    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;
    font-size: 75px;
    text-align: center;
    margin-top: 20px;
}
.header-bar h2 {
    font-family: "Cormorant Garamond", sans-serif;
    color: #ffffff88;
    font-size: 20px;
    font-weight: 400;
    text-align: center;
    position: relative;
    bottom: 70px;
    right: 90px;
}
.promo-banner {
    position: fixed;
    top: 150px; /* hauteur du header desktop */
    left: 0; right: 0;
    background: #6c0d9b;
    color: #fff;
    text-align: center;
    padding: 10px 14px;
    border-top: 1px solid #ffffff;
      border-bottom: 1px solid #ffffff;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    z-index: 999;
}
.form-wrapper {
    position: relative;
    width: 310px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    margin-top: 233px;
    margin-bottom: 50px;
}
/* Scrollbar invisibles (cohérence) */
body::-ms-scrollbar, html::-ms-scrollbar, *::-ms-scrollbar,
*::-ms-scrollbar-track, *::-ms-scrollbar-thumb, *::-ms-scrollbar-corner {
    display: none !important;
}
* { -ms-overflow-style: none !important; }
body.no-scroll {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}
body::-webkit-scrollbar, html::-webkit-scrollbar, *::-webkit-scrollbar,
body::-webkit-scrollbar-track, body::-webkit-scrollbar-thumb, body::-webkit-scrollbar-corner,
html::-webkit-scrollbar-track, html::-webkit-scrollbar-thumb, html::-webkit-scrollbar-corner,
*::-webkit-scrollbar-track, *::-webkit-scrollbar-thumb, *::-webkit-scrollbar-corner {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
}
.card-3d-wrap {
    width: 310px;
    height: 150px;
    perspective: 1000px;
    margin-top: 40px;
    position: relative;
}
.card-3d {
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.8s;
    display: flex;
    justify-content: center;
    align-items: center;
}
.card-3d.animating ~ * { pointer-events: none; }
.card-3d.rotated { transform: rotateY(180deg); display:flex; justify-content:center; align-items:center; }
.signup, .login {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    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;
    max-width: 500px;
    font-size: 0.85rem;
    padding: 10px 10px 10px 11px;
    border-radius: 25px;
    margin-bottom: 17px;
    margin-top: 15px;
    color: #fff;
    border: 1px solid #ffffff;
    box-sizing: border-box;
    display: block;
    margin-left: auto;
    margin-right: auto;
    background-color: #ffffff3c !important;
}
/* Petite note sous les boutons */
.nlw-small {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    color: #ffffffcc;
    display: block;
    margin-top: 20px;
    text-align: left;
}
input::placeholder { color: #ffffffc1; opacity: 1; }
input:-webkit-autofill,
input:-webkit-autofill:focus,
input:-webkit-autofill:hover,
input:-webkit-autofill:active {
    background-color: #fff !important;
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-text-fill-color: #3e0847 !important;
    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;
    margin: auto;
    border: 2px solid antiquewhite;
    width: 302px;
    max-width: 500px;
}
button:hover { background: #b014fd; }
.toggle-container { margin-top: 20px; 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;
}
.slider-ball {
    position: relative;
    width: 35px;
    height: 35px;
    background-color: #6c0d9b;
    border-radius: 50%;
    transition: transform 0.6s ease, left 0.6s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    color: antiquewhite;
    font-size: 15px;
    font-weight: bold;
    border: 2px solid antiquewhite;
    overflow: visible;
    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-ball::before { content: '↑'; transform: rotate(-45deg); }
.slider.active .slider-ball::before { transform: rotate(45deg); }
.labels-container {
    font-family: "Montserrat", serif;
    font-weight: 600;
    font-size: 17px;
    display: flex;
    justify-content: space-around;
    width: 270px;
    margin: 0 auto;
}
.label-left, .label-right {
    font-weight: bold;
    color: antiquewhite;
    text-transform: uppercase;
    font-weight: lighter;
}
.popup-message { /* conservé si utilisé par JS */
    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:.5px;
    border:2.5px solid #e2d0f3; transition: box-shadow .2s;
}
.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: 310px; /* Augmente la largeur pour élargir l'écart */
    margin: 0 auto; /* Centre le conteneur horizontalement */
    
}

@media (max-width: 600px) {
    
    /* Garde le scroll mais rend les barres invisibles - FINI LE DÉCALAGE ! */
body {
    overflow-x: hidden !important; /* Bloque horizontal */
    overflow-y: hidden !important; /* Garde vertical mais... */
    /* Rend la barre verticale invisible */
    scrollbar-width: none !important; /* Firefox */
    -ms-overflow-style: none !important; /* IE/Edge */
}
      .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: 50px !important;
        bottom: 10px !important;
        margin: 0 !important;
    }  
    .promo-banner {
    top: 110px!important; /* hauteur du header desktop */

}
 .form-wrapper {
 
      min-height: 100vh!important;
  display: flex!important;
  flex-direction: column!important;
  justify-content: center!important;
  align-items: center!important;
  margin: 0!important; /* supprime le margin-top */

}
      .popup-message {
    font-size: 16px !important;
  }
  
}
@media (min-width: 1000px) and (max-width: 1200px) and (orientation: landscape) {
  .form-wrapper {
    margin-top: 500px !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;
    right: 80px !important;


  }


  .form-wrapper {
    width: 410px !important; /* Largeur adaptée aux tablettes */
    position: fixed !important; /* Position fixe pour un centrage parfait */
        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 */

  }
  .card-3d-wrap {
    width: 410px !important;
    height: 200px !important;
    margin-top: 50px !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;
  }


  .popup-message {
    font-size: 22px !important;
    width: 90vw !important;
  }
}
  
@media (min-width: 1300px) and (max-width: 2000px)  {
    
    .promo-banner {
 
    top: 180px!important; /* hauteur du header desktop */

}
  .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;
    right: 120px !important;
    top : -91px !important;
 }

  .signup, .login {
    width: 100% !important;
    height: 100% !important;
    padding: 25px !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;
   
}
 .card-3d-wrap {
    width: 410px !important;
    height: 200px !important;
    margin-top: 50px !important; /* Utilise margin au lieu de position */
  }
  .login { transform: none; }
.signup { transform: rotateY(180deg); }
input,
button{

    width: 400px;


}
    
}
     




