/* LOGIN / SIGNUP */
.banner{
  position:relative;
  z-index:-2;
}

.banner img{
  width:100%;
  height:45vh;
  object-fit:cover;
  display:block;
}

.banner::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:150px;
  background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
}

.auth-page{
  width:min(560px, 90%);
  margin:-70px auto 90px;
  position:relative;
  z-index:2;
}

.auth-card{
  background:linear-gradient(145deg, #1b1b2f, #11111f);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:28px;
  padding:42px;
  box-shadow:0 25px 70px rgba(0,0,0,0.45);
}

.auth-card h1{
  font-size:44px;
  margin-bottom:12px;
}

.auth-switch{
  margin:25px 0 0;
  text-align:center;
}

.auth-switch a{
  color:lightblue;
  font-weight:800;
}

.message{
  padding:14px 16px;
  border-radius:14px;
  margin-bottom:20px;
  line-height:1.5;
}

.message-error{
  background:rgba(255,80,80,0.14);
  color:#ffb3b3;
  border:1px solid rgba(255,80,80,0.25);
}

.message-success{
  background:rgba(120,255,170,0.12);
  color:#b8ffd0;
  border:1px solid rgba(120,255,170,0.25);
}

.form-subtitle{
  color:#bdbdbd;
  margin-bottom:30px;
}

.contact-form{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.form-group{
  display:flex;
  flex-direction:column;
}

.form-group label{
  margin-bottom:8px;
  font-size:14px;
  color:white;
}

.form-group input,
.form-group textarea{
  width:100%;
  padding:15px;
  border:none;
  border-radius:10px;
  background:#2a2a44;
  color:white;
  font-size:15px;
}

.form-group textarea{
  min-height:140px;
  resize:vertical;
}

.form-group input:focus,
.form-group textarea:focus{
  outline:none;
}

.contact-form .btn{
  width:100%;
  background:lightblue;
  color:#111;
  font-weight:bold;
  border-radius:10px;
}