/* 로그인 페이지 */
/* ===== 로그인 페이지 레이아웃 ===== */
.kegm-login-page{
  max-width: 620px;
  margin: 84px auto 120px;
  padding: 0 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.login-title{
  margin: 0 0 10px;
  font-size: clamp(30px, 3.8vw, 40px);
  font-weight: 700;
  color:#0f172a;
  letter-spacing:-.03em;
}
.login-title .emph{ color:#0b5bd3; }

.login-sub{
  margin: 0 0 20px;
  color:#475569;
  font-size: 15px;
  line-height: 1.7;
  max-width: 44ch;
}

/* ===== 버튼 세트 (상단 액션) ===== */
.login-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content: center;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  height: 40px;
  padding: 0 14px;
  border-radius: 10px; font-weight: 600; text-decoration:none; cursor:pointer;
  transition: transform .08s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}
.btn:hover{ transform: translateY(-1px); }
.btn:active{ transform: translateY(0); }

/* 변형 */
.btn.ghost{
  color:#0c3c78;
  background: #eef4fb;
  border:1px solid #d7e3f2;
}
.btn.ghost:hover{ background: #e3edf9; box-shadow:0 6px 16px rgba(12,60,120,.12); }

.btn.outline{
  color:#0c3c78;
  background:#eef4fb;
  border:1px solid #d7e3f2;
}
.btn.outline:hover{ border-color:#c5d6eb; box-shadow:0 6px 16px rgba(12,60,120,.12); }

.kegm-login-form-wrap{
  width: 100%;
  max-width: 500px;
  padding: 16px 0 0;
  border-top: 1px solid #dbe7f6;
  background: #f7fafe;
  border-radius: 14px;
  padding: 20px 20px 18px;
  text-align: left;
}

.kegm-login-error{
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fef2f2;
  color: #b91c1c;
  font-size: 13px;
  font-weight: 600;
}

/* ===== 기본 폼 스타일 (wp_login_form 결과물 타겟) ===== */
#kegm-loginform{
  display:grid;
  gap: 14px;
}

/* 라벨 */
#kegm-loginform label{
  display:block;
  font-size: 15px;
  font-weight: 700;
  color:#334155;
  margin-bottom: 8px;
}

/* 입력 */
#kegm-loginform input[type="text"],
#kegm-loginform input[type="password"]{
  width: 100%;
  height: 50px;
  padding: 10px 12px;
  border: 1px solid #d7e3f2;
  border-radius: 10px;
  background: #ffffff;
  color:#0f172a;
  font-size: 16px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
#kegm-loginform input[type="text"]::placeholder,
#kegm-loginform input[type="password"]::placeholder{ color:#94a3b8; }
#kegm-loginform input[type="text"]:focus,
#kegm-loginform input[type="password"]:focus{
  outline: none;
  border-color: #0c3c78;
  box-shadow: 0 0 0 3px rgba(12,60,120,.14);
}

/* 체크박스 줄 */
#kegm-loginform .forgetmenot{
  display:flex; align-items:center; gap:8px;
  font-size: 13px; color:#475569; margin: 2px 0 6px;
}
#kegm-loginform #rememberme{ width:16px; height:16px; accent-color:#0b5bd3; }

/* 제출 버튼 (풀폭, 프라이머리) */
#kegm-loginform #wp-submit{
  width: 100%;
  height: 54px;
  border: none;
  border-radius: 10px;
  font-size: 18px;
  font-weight: 700;
  color:#fff;
  background: #0c3c78;
  box-shadow: none;
  cursor: pointer;
  transition: transform .06s ease, background-color .18s ease;
}
#kegm-loginform #wp-submit:hover{
  transform: translateY(-1px);
  background: #0a335f;
}
#kegm-loginform #wp-submit:active{ transform: translateY(0); }

/* 하단 링크 */
.login-links{
  margin: 16px 0 0;
  color: #475569;
  font-size: 14px;
  text-align: center;
}

.login-links .link{
  color:#0c3c78; text-decoration:none; font-weight:600;
  transition: color .18s ease, text-decoration-color .18s ease;
  text-decoration-color: transparent;
}
.login-links .link:hover{ text-decoration: underline; text-underline-offset: 2px; }

/* 포커스 접근성 */
#kegm-loginform #wp-submit:focus-visible,
.btn:focus-visible,
.login-links .link:focus-visible{
  outline: 3px solid rgba(59,130,246,.5);
  outline-offset: 3px;
}

/* 모바일 미세조정 */
@media (max-width: 480px){
  .kegm-login-page{ margin: 64px auto 96px; }
  #kegm-loginform input[type="text"],
  #kegm-loginform input[type="password"]{ height: 46px; font-size: 15px; }
  #kegm-loginform #wp-submit{ height: 50px; font-size: 16px; }
}
