* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: "DM Sans", Helvetica, sans-serif;
}

li {
  list-style-type: none;
}

.form-container {
  display: flex;
}

.left-form {
  width: 50%;
  padding-top: 6rem;
  padding-left: 6rem;
  padding-right: 6rem;
  height: 91vh;
}
@media screen and (max-width: 1068px) {
  .left-form {
    width: 60%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .left-form {
    width: 90%;
    padding: 2rem 9rem;
    margin: auto;
  }
}
@media only screen and (min-width: 300px) and (max-width: 767px) {
  .left-form {
    width: 100%;
    padding: 2.2rem 1.5rem;
  }
}

.right-form {
  width: 50%;
  background-image: url("https://assets.xfinity.com/assets/cima/login/default/ad/BAU-XM_CIMA_4.15.25_Update_Desktop.png");
  height: 91vh;
  background-size: cover;
  background-repeat: no-repeat;
  background-size: 126%;
  background-position: top;
}
@media screen and (max-width: 1036px) {
  .right-form {
    width: 40%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .right-form {
    width: 0;
  }
}
@media only screen and (min-width: 300px) and (max-width: 767px) {
  .right-form {
    width: 0;
  }
}

.logo h3 {
  margin-bottom: 1.7rem;
  font-family: "DM Sans", Helvetica, sans-serif;
  color: rgb(182, 181, 181);
  font-size: 24px;
}

h1 {
  font-family: "DM Sans", Helvetica, sans-serif;
  font-size: 28.625px;
}

/* shared input styles (email + password) */
.input input {
  padding: 20px;
  background-color: rgb(247, 247, 247);
  width: 100%;
  max-width: 580px;
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 1px solid black;
  border-radius: 5px;
  font-size: 16px;
}
.input input:focus {
  border: 3px solid #5a23b9;
  outline: none;
}
.input input::placeholder {
  font-size: 15px;
  color: #5e5e5e;
}

/* responsive input width */
@media screen and (max-width: 1036px) {
  .input input {
    max-width: 90%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .input input {
    max-width: 100%;
  }
}
@media only screen and (min-width: 300px) and (max-width: 767px) {
  .input input {
    max-width: 100%;
  }
}

/* forgot password link */
.forgot-link {
  margin: 0.5rem 0 1.2rem 0;
}
.forgot-link a {
  color: #5a23b9;
  text-decoration: none;
  font-weight: 500;
  font-size: 15px;
}
.forgot-link a:hover {
  text-decoration: underline;
}

/* keep me signed in checkbox */
.checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 1rem 0 1.2rem 0;
  font-size: 15px;
  color: #141417;
  cursor: pointer;
}
.checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #5a23b9;
  cursor: pointer;
}

/* terms paragraph (password step) */
.terms {
  font-size: 14px;
  color: #141417;
  margin: 1.2rem 0 0.5rem 0;
}
.terms a {
  color: #6138f5;
  text-decoration: none;
}
.terms a:visited {
  color: #6138f5;
}
.terms a:hover {
  text-decoration: underline;
}

/* action button (Let's go / Sign in) */
button {
  padding: 16px 32px;
  margin: 2rem 0 2.7rem 0;
  background-color: #5a23b9;
  border: 0;
  border-radius: 5px;
  color: #f6f6f9;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
button:hover {
  background-color: #451a8f;
}

/* help links at bottom (unchanged) */
.check-acct a {
  display: flex;
  text-align: none;
  padding: 20px;
  border-bottom: 1px solid rgb(221, 221, 221);
  text-decoration: none;
  margin-bottom: 1px;
  font-size: 16px;
  color: black;
}
.check-acct a:nth-last-child(1) {
  border-bottom: 0;
}
.check-acct a,
span {
  display: flex;
  justify-content: space-between;
}
.check-acct a:hover {
  background-color: #f6f6f9;
}

/* footer links (unchanged) */
.since {
  display: block;
  text-align: center;
  margin: 0 175px;
  margin-top: 2rem;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .since {
    margin: 0 0 16px;
    padding-top: 5rem;
  }
}
@media only screen and (min-width: 300px)  {
  .since {
    margin: 0 0 16px;
    padding-top: 5rem;
  }
}

  @media only screen and (min-width: 414px) and (max-width: 767px) {
  .since {
    margin: 0 0 16px;
    margin-top: -12rem;
  }
}

.since p {
  margin-bottom: 10px;
  font-size: 14px;
  color: #9797a4;
}
.term ul {
  display: flex;
  list-style-type: none;
  flex-wrap: wrap;
  padding: 0 24px 8px;
  justify-content: center;
}
.term ul li {
  margin-bottom: 16px;
  padding: 0 16px;
  font-size: 14px;
}
.term ul li a {
  text-decoration: none;
  color: black;
}
.term ul li a:hover {
  text-decoration: underline;
}

/* footer cookie bar (unchanged) */
footer {
  background-color: #141417;
  padding: 12px;
}
.cookie p {
  display: block;
  text-align: center;
  font-size: 12px;
  color: white;
}