.welcome {
  font-family: var(--font-varela);
  font-weight: var(--font-weight-normal);
  font-style: normal;
  font-size: 52px;
  line-height: 100%;
  letter-spacing: 0;
  text-align: center;
  color: var(--main-black);
  margin-bottom:40px;
  text-shadow: 4px 4px 4px var(--black-border);
}
.wikethesa {
  font-family: var(--font-varela);
  font-weight: var(--font-weight-normal);
  font-style: normal;
  font-size: 65px;
  line-height: 100%;
  letter-spacing: 0;
  text-align: center;
  color: var(--main-black);
  margin-bottom:30px;
  text-shadow: 4px 4px 4px var(--black-border);
}

.login-container {
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: flex-start;
  align-items: center;
  min-height: 100vh;
  margin-top:-80px;
}

a{
  text-decoration:none !important;
}
.remember-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 16px;
  user-select: none;
  align-self: flex-start;
  padding-right:5px;
}

.remember-wrapper input[type="checkbox"] {
  display: none;
}

.checkbox-custom {
  width: 20px;
  height: 20px;
  border: 2px solid #999;
  border-radius: 4px;
  display: inline-block;
  position: relative;
  background-color: var(--main-white); 
}

.remember-label-text {
  font-family: var(--font-hebrew);
  font-weight: var(--font-weight-normal);
  font-size: 16px;
  font-style: normal;
  line-height: 100%;
}

#remember_me {
  width:20px;
  height:20px;
}

.remember-wrapper input[type="checkbox"]:checked + .checkbox-custom {
  background-color: var(--pruple); 
  border-color: var(--pruple); 
}

.remember-wrapper input[type="checkbox"]:checked + .checkbox-custom::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 7px;
  height: 13px;
  border: solid var(--main-white); ;
  border-width: 0 3.5px 3.5px 0;
  transform: rotate(45deg);
}

.regit-user {
  font-family: var(--font-hebrew);
  font-weight: var(--font-weight-medium);
  font-size: 16px;
  font-style: medium;
  line-height: 100%;
  align-self: flex-start;
  color: var(--main-black);
  margin-top:-15px;
}

.rules {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-normal);
  font-style: normal;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  text-align: right;
  display: flex;
  align-items: center;
  color:var(--main-black);
  margin-top:20px;
}

.no-account {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-normal);
  font-style: normal;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  text-align: right;
  display: flex;
  align-items: center;
  color: var(--main-black); 
  margin-bottom:20px;
}

.rules-strong {
  font-family: var(--font-poppins);
  font-weight: var(--font-weight-bold);
  font-style: bold;
  color:var(--main-black);
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  text-align: right;
  display: flex;
  align-items: center;
  margin-right: 5px;
}

#login-message {
  font-family: var(--font-hebrew);
  font-weight: var(--font-weight-semibold);
  font-size: 16px;
  font-style: medium;
  line-height: 100%;
  color:var(--green-success);
}
.link-forget-password {
  font-family: var(--font-hebrew);
  font-weight: var(--font-weight-medium);
  font-size: 16px;  
  font-style: normal;
  color: var(--main-black); 
  line-height: 100%;
  align-self: flex-end;
  padding-left:5px;
}

.login-fields {
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
  align-items: center;
  position: relative;
}

.login-field-wrapper {
  position: relative;
  width: 500px;
  height: 68px;
  border-radius: 20px;
  background-color: var(--main-white);
  box-shadow: 4px 4px 4px 0 rgba(154, 20, 176, 0.5);
  overflow: visible;
}

.login-fields input,
.password-wrapper input {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 20px;
  background-color: transparent;
  font-family: var(--font-hebrew);
  font-weight: var(--font-weight-normal);
  font-size: 18px;
  color: var(--main-black);
  padding-left: 20px;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
  border-bottom: solid 1px var(--pruple-border);
}

.login-fields input::placeholder,
.password-wrapper input::placeholder {
  color: var(--main-black);
  opacity: 1;
}

.login-fields input:focus,
.login-fields input:not(:placeholder-shown),
.password-wrapper input:focus,
.password-wrapper input:not(:placeholder-shown) {
  outline: none;
  background-color: var(--main-white) !important;
}

.login-field-google {
  position: relative;
  width: 500px;
  height: 68px;
  border-radius: 20px;
  background-color: var(--main-white);
  box-shadow: 4px 4px 4px 0 rgba(154, 20, 176, 0.5);
  overflow: visible;
  border-bottom: 2px solid var(--pruple-border);
  cursor: pointer;
  margin-bottom: 45px;
}

.google-content {
  display: flex;
  align-items: center;
  width: 100%;
  justify-content: space-between; 
  direction: rtl;
}
.google-link {
  display: flex;
  align-items: center;  
  justify-content: space-between; 
  width: 100%;
  height: 100%;
  padding: 0 15px 0 35px; 
  box-sizing: border-box;
  direction: ltr; 
  text-decoration: none;
}

.google-text {
  font-family: var(--font-hebrew);
  font-size: 18px;
  color: var(--main-black);
  text-align: right;
  margin-left: 10px; 
  white-space: nowrap; 
}

.google-img {
  width: 28px;
  height: 28px;
  margin-right: 10px; 
}


.password-wrapper {
  position: relative;  
  width: 500px;
  height: 68px;
  border-radius: 20px;
  background-color: var(--main-white);
  box-shadow: 4px 4px 4px 0 rgba(154, 20, 176, 0.5);
  overflow: visible;
}

.toggle-password {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  user-select: none;
  z-index: 3;
}

.password-look {
  margin-left: 30px;
}

#login_submit {
  color: var(--main-white);
  background-color: var(--pruple);
  box-shadow: -4px 6px 6px var(--black-border);
  width: 250px;
  height: 68px;
  border-radius: 100px;
  border: none;
  font-weight: var(--font-weight-semibold);
  font-family: var(--font-hebrew);
  font-size:22px;
}

.or {
  font-family: var(--font-hebrew);
  font-weight: var(--font-weight-normal);
  font-size: 22px;
  color: var(--pruple-less);
  font-style: normal;
  line-height: 100%;
  margin-bottom: 20px;
}

.success-wrapper {
  display: none;  
  justify-content: flex-end;
  padding-right:35px;
  gap:15px;
  margin-bottom:10px;
  align-items: center;
  width: 300px;
  height: 48px;
  border-radius: 20px;
  background-color: var(--main-white);
  overflow: visible;
}

.error-wrapper {
  display: none;  
  justify-content: flex-end;
  padding-right:25px;
  gap:15px;
  margin-bottom:10px;
  align-items: center;
  width: 300px;
  height: 48px;
  border-radius: 20px;
  background-color: var(--main-white);
  overflow: visible;
}

#error-login {
  color: var(--red-error);
  font-family: var(--font-hebrew);
  font-weight: var(--font-weight-bold);
  font-size: 16px;
  font-style: bold;
  line-height: 100%;
}

.login-message {
  display:flex;
  gap:15px;
  align-items: center;
  direction: ltr;
}

.loader {
  position: relative;
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px auto;
  display:none;
}

.spinner {
  width: 90px;
  height: 90px;
  border: 11px solid rgba(255, 255, 255, 1);
  border-right-color: rgba(217, 217, 217, 1); 
  border-radius: 50%;
  animation: spin 2s linear infinite;
  position: absolute;
  top: 0;
  left: 0;
}


.loader-text {
  position: absolute;
  z-index: 2;
  color: rgba(0, 0, 0, 1);
  font-family: var(--font-varela);
  font-weight: var(--font-weight-normal);
  font-size: 18px;
  text-align: center;
  padding: 0 10px;
  direction: rtl;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.google-img {
  width: 28px;
  height: 28px;
}

.google-text {
  font-family: var(--font-hebrew);
  font-size: 18px;
  color: var(--main-black);
  white-space: nowrap;
}

.lang-en .password-wrapper .toggle-password,
.lang-de .password-wrapper .toggle-password {
  left: auto;
  right: 10px;
}

.lang-en .password-look,
.lang-de .password-look{
  margin-left: 0;
  margin-right: 30px;
}
.lang-en .google-content,
.lang-de .google-content {
  direction: ltr;
  justify-content: space-between;
  gap: 10px;
}
.lang-en .google-link,
.lang-de .google-link{
  display: flex;
  align-items: center;  
  justify-content: space-between; 
  width: 100%;
  height: 100%;
  padding: 0 35px 0 15px; 
  box-sizing: border-box;
  direction: ltr; 
  text-decoration: none;
}
.lang-en .welcome,
.lang-de .welcome {
    text-align: left;
}
.lang-en .wikethesa,
.lang-de .wikethesa {
    text-align: left;
}
.lang-en .rules,
.lang-en .no-account,
.lang-en .rules-strong,
.lang-de .rules,
.lang-de .no-account,
.lang-de .rules-strong {
    text-align: left;
    direction: ltr;
}
.lang-en .loader-text,
.lang-de .loader-text {
    direction: ltr;
}

html[lang="en"],
html[lang="de"],
html[lang="fr"] {
    direction: ltr;
    text-align: left;
}
/* עבור שפות LTR */
.lang-en .login-fields input,
.lang-en .password-wrapper input,
.lang-de .login-fields input,
.lang-de .password-wrapper input {
    text-align: left;      /* מיושר שמאל */
    padding-left: 20px;    /* המרחק משמאל */
    padding-right: 0;      /* ביטול padding ימני */
}

/* במקביל, עבור RTL כמו עברית */
.lang-he .login-fields input,
.lang-he .password-wrapper input {
    text-align: right;     /* מיושר לימין */
    padding-right: 20px;   /* המרחק מימין */
    padding-left: 0;       /* ביטול padding שמאלי */
}
.lang-de .link-forget-password {
    font-family: var(--font-hebrew);
    font-weight: var(--font-weight-medium);
    font-size: 16px;
    font-style: normal;
    color: var(--main-black);
    line-height: 100%;
    align-self: flex-start;
    padding-right: 5px;
}
.lang-de .remember-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 16px;
    user-select: none;
    align-self: flex-end;
    padding-left: 5px;
    flex-direction:row-reverse
}