@import "login.css";
@import "register.css";
@import "forgot-password.css";
@import "email-sent.css";
@import "reset-password.css";


* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Reset margins and padding */
html,
body {
  background: black url('path/to/earth-space-background.jpg') no-repeat center center fixed;
  background-size: cover;
  font-family: Arial, sans-serif;
  min-height: 100vh;
}


.container-auth {
  display: flex;
  /* min-height: 100vh; */
  height: 100%;
  padding: 20px;
  width: 100%;
}

.left-section {
  flex: 1;
  /* padding: 40px; */
  display: flex;
  flex-direction: column;
  padding-left: 40px;
  /* justify-content: center; */
}

.right-section {
  /* background: white; */
  /* padding: 40px; */
  border-radius: 12px;
  margin: 20px 20px 20px 20px;
  /* color: rgb(44, 39, 39); */
  align-self: center;
  padding: 0rem 2rem 2rem 2rem;
  display: flex;
  /* justify-content: flex-end; Aligns content to the right */
  align-items: center; /* Vertically centers the content */
  vertical-align: top; /* Align child to the top */
  height: 100%;
}
#static-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  color: #ffffff;
}

#static-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 3.875rem;
}
#static-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5rem;
}

#static-title {
  font-family: "Magistral", sans-serif;
  font-size: 3rem;
  font-weight: 500;
  font-style: normal;
  margin: 0;
  max-width: 40rem;
}

#static-subtitle {
  font-family: "Magistral", sans-serif;
  font-size: 1.5rem;
  font-weight: normal;
  font-style: normal;
  margin: 0;
}

#static-footer {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.375rem;
}

#static-footer-copywrite {
  font-size: 1rem;
  font-weight: normal;
  font-style: normal;
  margin: 0;
  color: #a3a3a3;
  padding-left: 40px;
}
@media screen and (max-width: 700px) {
  #static-footer-copywrite {
      padding-left: 0;  /* Remove padding for mobile */
  }
  #static-small-text {
    padding-left: 0 !important;  /* Remove padding for mobile */
  }
}
#static-small-text {
  font-size: 0.75rem;
  font-weight: normal;
  font-style: normal;
  margin: 0;
  color: #737373;
  padding-left: 40px;
  a {
    color: #e5e5e5;
    text-decoration: none;
  }
}

.logo {
  width: 20rem;
  margin-bottom: 70px;

  img {
    width: auto;
    height: auto;
    max-width: -webkit-fill-available;
  }
}

.subtitle {
  font-size: clamp(16px, 2vw, 18px);
  opacity: 0.9;
  max-width: 500px;
}

.sign-in-button {
  width: 100%;
  padding: 14px;
  background: #0088cc;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  transition: background-color 0.2s;
}

.copyright {
  position: fixed;
  bottom: 20px;
  left: 20px;
  font-size: 12px;
  opacity: 0.7;
  justify-content: space-between;
}
#auth-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  background-color: #ffffff;
  border-radius: 20px;
  flex-grow: 1;
  padding: 2rem;
  max-width: 26rem;
  overflow: clip;
  min-height: 725px;
}
#auth-card .static-container-auth{
  position: relative;
  height: 700px;
  overflow-y: scroll;
  min-width: 300px; /* Adjust this value as needed */
  max-width: 500px; /* Optional: add a max-width to prevent it from getting too wide */
}

    /* Add these styles for consent text */
.active-slide{
      max-width: 480px !important;
}
/* Responsive Design */
@media (max-width: 1024px) {
  .container-auth {
      padding: 10px;
  }
  
  .left-section {
      padding: 20px;
  }
  .right-section {
    padding: 0rem 2rem 2rem 2rem;
  }
  #auth-card  {
    min-height: auto;
  }
}
@media (max-width: 820px) {
  .container-auth {
      flex-direction: column;
      padding: 0;
  }

  .left-section, .right-section {
    flex: none;
    width: 100%;
    /* padding: 1rem; */
  }
  .right-section {
    justify-content: center; /* Centers content on mobile */
    width: 100%;
    padding: 1rem;
    margin: 0px 20px 20px 20px;
    padding: 0rem 2rem 2rem 2rem;
  }
  #auth-title-group {
    h3 {
        font-size: 1rem !important;
        font-weight: 500;
    }

    
  }

  #auth-card {
      width: 100%; /* Full width on mobile */
      padding: 1rem;
      min-height: auto;
  }
  
  .logo {
      margin: 20px auto;
  }

  .subtitle {
      margin: 0 auto;
  }

  .copyright {
    position: relative;
    margin-top: 4rem;
  }
}
@media (max-width: 768px) {
  .container-auth {
      flex-direction: column;
      padding: 0;
  }

  .left-section, .right-section {
    flex: none;
    width: 100%;
    /* padding: 1rem; */
  }
  .right-section {
    justify-content: center; /* Centers content on mobile */
    width: 115%;
    padding: 1rem;
    margin: 0px 20px 20px 20px;
    padding: 0rem 2rem 2rem 2rem;
  }
  #auth-title-group {
    h3 {
        font-size: 1rem !important;
        font-weight: 500;
    }
  }

  #auth-card {
      width: 100%; /* Full width on mobile */
      padding: 1rem;
      display: block;
  }
  
  .logo {
      margin: 20px auto;
  }

  .subtitle {
      margin: 0 auto;
  }

  .copyright {
    position: relative; /* Change to relative on mobile */
    margin-top: 4rem; /* Push to bottom of container */
  }
}
#form-title-group .email-sent-text{
  max-width: 399px !important;
  text-align: center;
}
@media (max-width: 480px) {
  .form-header {
      flex-direction: column;
      gap: 10px;
      align-items: flex-start;
  }

  .remember-forgot {
      flex-direction: column;
      gap: 10px;
      align-items: flex-start;
  }
  .copyright {
    margin-top: 15rem;  /* Adds 2rem top margin on mobile */
  }
  #auth-card {
    display: block;
  }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {



}

@media (max-width: 768px) {
  /* #auth-card {
    width: 80%;
    min-width: auto;
    padding: 1rem;
  } */
  #static-content {
    display: none !important;
  }
}

@media (max-width: 450px) {
  /* #auth-card {
    width: 75%;
    min-width: auto;
    padding: 1rem;
  } */
}

/* ----- LOGIN AND REGISTER PAGE ----- */
#auth-tabs-and-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
}

#auth-card-tabs {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;

  div {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 16rem;
    gap: 0.125rem;
    background-color: #f4f5fe;
    border-radius: 0.5rem;
    padding: 0.25rem;
  }
}

.auth-card-tab {
  width: 100%;
  text-decoration: none;

  button {
    border: none;
    background: none;
    border-radius: 0.5rem;
    padding: 0.5rem 0.75rem;
    color: #666b96;
    font-size: 1rem;
    font-weight: 500;
    font-style: normal;
    line-height: 1.2;
    width: 100%;
    cursor: pointer;

    &.active {
      background-color: #ffffff;
    }
  }
}

#auth-title-group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.375rem;
  width: 100%;


  h3 {
    font-family: "Magistral", sans-serif;
    font-size: 2rem;
    font-weight: 500;
    font-style: normal;
    margin: 0;
  }

  p {
    font-size: 1rem;
    font-weight: normal;
    font-style: normal;
    margin: 0;
    color: #737373;
  }
}

#auth-form-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.form-input-group {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  font-size: 0.875rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.2;
  gap: 0.375rem;

  .form-input {
    width: 100%;
    padding: 0.625rem 0.875rem;
    border: 1px solid #e5e5e5;
    border-radius: 0.5rem;
    font-size: 1rem;
    font-weight: normal;
    font-style: normal;
    line-height: 1.2;

    &:focus-visible {
      outline-color: #0091cd;
    }

    .token-input {
      width: 3rem; /* Adjust width to make it smaller */
      height: 3rem; /* Make inputs square */
      text-align: center; /* Center the digit inside the box */
      font-size: 1.5rem; /* Make the digit larger */
      border: 1px solid #e5e5e5;
      border-radius: 0.5rem;
      line-height: 1.2;
      font-weight: normal;
      font-style: normal;
      
    
      &:focus-visible {
        outline-color: #0091cd;
      }

  }
  .form-input.error {
    border-color: #e21f1f;
  }

  label.error,
  span.error {
    color: #e21f1f;
    font-weight: normal;
    font-style: normal;
    line-height: 1.2;
  }

  span.error {
    display: none;
  }
}
}

.form-input-group.error span.error {
  display: inline;
}

.auth-password {
  display: flex;
  justify-content: center;
  align-items: flex-start;

  .password-group {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    gap: 0.5rem;
    position: relative;

    .form-input {
      width: 100%;
    }
  }
}

.togglePassword {
  position: absolute;
  right: 0.5rem;
  top: 0.5rem;
  background: none;
  border: none;
  padding: 0.25rem;

  span {
    font-size: 1.25rem;
    color: #333333;
    cursor: pointer;
  }
}

#auth-submit-group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: 1.5rem;
}

/* ----- PASSWORD AND EMAIL RESET ----- */
#form-icon-and-title-group {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
}

#form-title-group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /* gap: 0.375rem; */
  width: 100%;

  h3 {
    font-family: "Magistral", sans-serif;
    font-size: 2rem;
    font-weight: 500;
    font-style: normal;
    margin: 0;
  }

  p {
    font-size: 1rem;
    font-weight: normal;
    font-style: normal;
    margin: 0;
    color: #737373;
  }
}
#form-title-group p {
  margin-bottom: 20px;
}

#back-button-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

#back-button {
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
  background: none;

  a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
    font-weight: 500;
    font-style: normal;
    margin: 0;
    color: #3b3e61;
    text-decoration: none;
  }

  .material-symbols-rounded {
    font-size: 1.5rem;
    color: #3b3e61;
  }
}
.welcome-login{margin-bottom: 20px;}

.featured-icon {
  color: #0088cc;
  width: 3.5rem;
  height: 3.5rem;
  flex-grow: 0;
  padding: 1rem;
  border-radius: 12px;
  box-shadow: 0 1px 2px 0 rgba(16, 24, 40, 0.05);
  border: solid 1px #d4f2ff;
  background-color: #fff;
  display:flex;
  justify-content: center;        /* Centers horizontally */
  align-items: center; 
  margin-bottom: 1.5rem;
}

.vector {
  color: #0091cd;  /* This changes the icon color */
  font-size: 2rem; /* Adjusts the icon size */
}

@media screen and (max-width: 700px) {
    .left-section {
        padding-left: 0;  /* Remove padding for mobile */
    }
}