.container {
  max-width: 1016px;
  margin: 0 auto;
  padding: 0 24px;  /* 양옆 패딩 */
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 80px; /* footer와 간격 */
}

.signup-wrapper {
  width: 488px;
  background-color: rgba(251, 242, 248, 0.18);
  border-radius: 30px;

  box-shadow: inset 0 0 0 2px rgba(110,57,104,0.22),
              0 4px 4px rgba(0,0,0,0.25);

  padding: 40px;
  margin: 80px auto 100px;
  display: flex;
  flex-direction: column;
  text-align: center;
}


.signup-top{
  flex:2;
  display:flex;
  justify-content:center;
  align-items:center;
  margin-bottom: 40px;
  margin-top: 20px;
}

.signup-title{
  color:var(--purple-dark);
  font-size:25px;
  font-weight: 500;
}

.signup-form {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.signup-box {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.signup-input {
  width: 100%;
  height: 49px;
  padding: 0 12px;
  margin-bottom: 16px;
  border: 2px solid rgba(110,57,104,0.22);
  border-radius: 10px;
  background-color: rgba(213, 194, 207, 0.22);
  font-size: 15px;
  color: var(--purple-dark);
  outline: none;
  box-sizing: border-box;
}
.signup-input::placeholder { color: var(--purple-light); }
.signup-input:focus { border-color: var(--purple-dark); border-width: 1px; }

/* 학년 + 단과대 한 줄로 */
.signup-academic {
  display: flex;
  gap: 6px;
  width: 100%;
}

/* 학년 select */
.signup-grade-select {
  flex: 2;
  height: 49px;
  padding: 0 12px;
  border: 2px solid rgba(110,57,104,0.22);
  border-radius: 10px;
  background-color: rgba(213, 194, 207, 0.22);
  font-size: 15px;
  color: var(--purple-dark);
  outline: none;
  cursor: pointer;
  box-sizing: border-box;
  margin-bottom: 16px;
}
.signup-grade-select:focus { border-color: var(--purple-dark); border-width: 1px; }
.signup-grade-select option {
  background-color: rgba(105,57,90,0.22);
  color: var(--purple-dark);
}

/* 단과대 select */
.signup-college-select {
  flex: 9;
  height: 49px;
  padding: 0 12px;
  border: 2px solid rgba(110,57,104,0.22);
  border-radius: 10px;
  background-color: rgba(213, 194, 207, 0.22);
  font-size: 15px;
  color: var(--purple-dark);
  outline: none;
  cursor: pointer;
  box-sizing: border-box;
  margin-bottom: 16px;
}
.signup-college-select:focus { border-color: var(--purple-dark); border-width: 1px; }
.signup-college-select option {
  background-color: rgba(105,57,90,0.22);
  color: var(--purple-dark);
}

/* 학과 select */
.signup-department-select {
  width: 100%;
  height: 49px;
  padding: 0 12px;
  margin-bottom: 16px;
  border: 2px solid rgba(110,57,104,0.22);
  border-radius: 10px;
  background-color: rgba(213, 194, 207, 0.22);
  font-size: 15px;
  color: var(--purple-dark);
  outline: none;
  cursor: pointer;
  box-sizing: border-box;
}
.signup-department-select:focus { border-color: var(--purple-dark); border-width: 1px; }
.signup-department-select option {
  background-color: rgba(105,57,90,0.22);
  color: var(--purple-dark);
}

/* 가입 버튼 */
.signup-submit {
  width: 100%;
  height: 49px;
  padding: 0 12px;
  border: 2px solid rgba(110,57,104,0.22);
  border-radius: 10px;
  background-color: rgba(105,57,90,0.22);
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  cursor: pointer;
  box-sizing: border-box;
  margin-top: 10px;
}
.signup-submit:hover {
  background: rgba(76,25,65,0.268);
}

.form-error-box {
  margin: 10px 0;
  padding: 12px;
  border-radius: 8px;
  background: #fff0f0;
  color: #b00020;
  font-size: 14px;
}

.errorlist {
  margin: 6px 0 12px;
  padding-left: 18px;
  color: #b00020;
  font-size: 13px;
}