html, body{
  margin:0;
  padding:0;
  height:100%;
}

body {
  margin: 0;
  padding: 0;
  overflow: initial !important;
  font-size: 13px;
  line-height: 1.46668;
  font-weight: 400;
  font-variant-ligatures: common-ligatures;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

header {
  position: relative;
}


ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

ul li {
  margin-bottom: 22px; /* 기존 input 박스 간격 */
}

ul li.login__button__li {
  margin-bottom: 0;
  text-align: right; /* 오른쪽 정렬 */
}

section.login{
  min-height: 100vh;
  background: url("/images/com/login_bg2.png") center/cover no-repeat;
  display: grid;
  place-items: center; /* 전체 가운데 기준 */
  padding: 40px 24px;
  box-sizing: border-box;
}

.login__layout{
  width: 100%;
  display: grid;
  grid-template-columns: 57% 43%;  /* 좌: 타이틀, 우: 로그인 */
  align-items: self-start;  /* start → center로 변경 (핵심) */
  justify-items: center; /* 각 컬럼 내용물 가로 가운데 */
  height:80%;
  margin-top:200px;
}

.name_txt {
  display:flex;
  align-items:center;      /* 세로 가운데 */
  justify-content:center;  /* 가로 가운데(핵심) */
  gap:10px;
  padding:0;
  margin:0;
  list-style:none;
}

.name_txt .name_text {
  font-size: 48px;
  font-family: "Pretendard";
  font-weight: bold;
  color: #404040;
  white-space: nowrap;
  margin: 0;
}

.name_txt .name_logo {
  margin: 0;
}

.login__right-column {
  display: flex;
  flex-direction: column;
  align-items: center;    /* 가로 가운데 */
  justify-content: center; /* 세로 가운데 */
  gap: 24px;              /* login_box와 footer 간격 */
  width: 100%;
  min-height: 500px;      /* 세로 공간 확보 */
}

/* 3. login__box는 flex-grow: 0 (자연 크기) */
.login__box {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-grow: 0; /* footer와 균등 공간 분배 안함 */
}

/* 4. footer 스타일 */
.login-footer {
  margin: 0 auto; /* 가로 가운데 확실히 */
  text-align: center;
  font-size: 15px;
  color: #666;
}

.login__box{
	padding-top:50px;
}
.login__box form {
  width: 100%;
}

.login__box > p {
  font-family: "Pretendard";
  font-size: 20px;
  font-weight: normal;
  color: #808b9f;
  text-align: center;
}
.login__box > p:nth-child(2) {
  margin-bottom: 66px;
}
.login__box > div {
  margin-top: 20px; /* 텍스트와 input 상단 간격 */
  display: flex;
  flex-direction: column; /* 세로 배치 */
  gap: 10px; /* input 사이 간격 */
  align-items: center; /* 가로 가운데 정렬 */
  font-family: "Pretendard";
}

.login__box input.login__id,
input.login__password {
  width: 100%;
  height: 45px;
  max-width: 330px; /* 선택: 최대 너비 제한할 경우 */
  padding: 8px 12px;
  box-sizing: border-box;
  font-size: 15px;
  border: none;
  font-weight: normal;

  background: url("/images/btn/id_btn.png") center/cover no-repeat;
}

input {
  color: #808b9f;
}
input.login__button {
  font-size: 15px;
  font-weight: bold;
}

.login__button {
  transition: background-color 0.3s ease;
  width: 330px;
  height: 120px;
  border: none;
  background: url("/images/btn/login_btn.png") center/cover no-repeat;
}

.login__button:hover {
  /* width: 330px;
  height: 100px; */
  background: url("/images/btn/login_btn_hover.png") center/cover no-repeat;
}

footer {
  font-family: "Pretendard";
  font-size: 15px;
  font-weight: 400;
  color: #666363;
  text-align: center;
}

@media (max-width: 1200px){
  .name_txt{
    min-width: 600px;
  }
  .login__right-column{
    min-width: 500px;
  }
  .login {
    min-width: 1150px;
  }
}