@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+KR:wght@400;500;600;700&display=swap');


/* 전체 공통 */
#wpmem_login,
#wpmem_reg,
#wpmem_pwdreset,
#wpmem_profile,
div[id^="wpmem"] {
  font-family: 'IBM Plex Sans KR', sans-serif;
  color: #4e4e4e;
}

/* 폼 박스 */
#wpmem_login form,
#wpmem_reg form,
#wpmem_pwdreset form,
#wpmem_profile form {
  max-width: 720px;
  margin: 40px auto;
  padding: 42px 38px;
  background: #ffffff;
  border: 1px solid #e8edf2;
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(30, 50, 80, 0.06);
  box-sizing: border-box;
}

/* 제목 */
#wpmem_login legend,
#wpmem_reg legend,
#wpmem_pwdreset legend,
#wpmem_profile legend,
#wpmem_login h2,
#wpmem_reg h2,
#wpmem_pwdreset h2,
#wpmem_profile h2 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.03em;
  color: #1f2d3d;
  margin-bottom: 28px;
  border: 0;
}

/* 각 입력 영역 */
#wpmem_login .div_text,
#wpmem_reg .div_text,
#wpmem_pwdreset .div_text,
#wpmem_profile .div_text {
  margin-bottom: 18px;
}

/* 라벨 */
#wpmem_login label,
#wpmem_reg label,
#wpmem_pwdreset label,
#wpmem_profile label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #5f6b7a;
  letter-spacing: -0.01em;
}

/* 입력창 */
#wpmem_login input[type="text"],
#wpmem_login input[type="email"],
#wpmem_login input[type="password"],
#wpmem_login input[type="tel"],
#wpmem_login input[type="number"],
#wpmem_login select,
#wpmem_login textarea,

#wpmem_reg input[type="text"],
#wpmem_reg input[type="email"],
#wpmem_reg input[type="password"],
#wpmem_reg input[type="tel"],
#wpmem_reg input[type="number"],
#wpmem_reg select,
#wpmem_reg textarea,

#wpmem_pwdreset input[type="text"],
#wpmem_pwdreset input[type="email"],
#wpmem_pwdreset input[type="password"],
#wpmem_pwdreset select,
#wpmem_pwdreset textarea,

#wpmem_profile input[type="text"],
#wpmem_profile input[type="email"],
#wpmem_profile input[type="password"],
#wpmem_profile input[type="tel"],
#wpmem_profile input[type="number"],
#wpmem_profile select,
#wpmem_profile textarea {
  width: 100% !important;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #d8e0e8;
  border-radius: 14px;
  background: #fbfcfe;
  font-size: 15px;
  color: #25313d;
  box-sizing: border-box;
  transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
  appearance: none;
}

/* textarea */
#wpmem_reg textarea,
#wpmem_profile textarea {
  min-height: 120px;
  padding: 14px 16px;
  resize: vertical;
}

/* 포커스 */
#wpmem_login input:focus,
#wpmem_reg input:focus,
#wpmem_pwdreset input:focus,
#wpmem_profile input:focus,
#wpmem_login select:focus,
#wpmem_reg select:focus,
#wpmem_pwdreset select:focus,
#wpmem_profile select:focus,
#wpmem_login textarea:focus,
#wpmem_reg textarea:focus,
#wpmem_pwdreset textarea:focus,
#wpmem_profile textarea:focus {
  outline: none;
  border-color: #8fb7d8;
  box-shadow: 0 0 0 4px rgba(143, 183, 216, 0.16);
  background: #ffffff;
}

/* 체크박스 영역 */
#wpmem_login input[type="checkbox"],
#wpmem_reg input[type="checkbox"],
#wpmem_pwdreset input[type="checkbox"],
#wpmem_profile input[type="checkbox"] {
  width: auto !important;
  min-height: auto;
  margin-right: 6px;
}

/* 버튼 영역 */
#wpmem_login .button_div,
#wpmem_reg .button_div,
#wpmem_pwdreset .button_div,
#wpmem_profile .button_div,
#wpmem_login .div_buttons,
#wpmem_reg .div_buttons,
#wpmem_pwdreset .div_buttons,
#wpmem_profile .div_buttons {
  margin-top: 28px;
}

/* 기본 버튼 */
#wpmem_login input[type="submit"],
#wpmem_login button,
#wpmem_login .button,

#wpmem_reg input[type="submit"],
#wpmem_reg button,
#wpmem_reg .button,

#wpmem_pwdreset input[type="submit"],
#wpmem_pwdreset button,
#wpmem_pwdreset .button,

#wpmem_profile input[type="submit"],
#wpmem_profile button,
#wpmem_profile .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 150px;
  height: 52px;
  padding: 0 24px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #8fb7d8 0%, #6aa3cf 100%);
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
  cursor: pointer;
  box-shadow: 0 10px 20px rgba(106, 163, 207, 0.18);
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

#wpmem_login input[type="submit"]:hover,
#wpmem_login button:hover,
#wpmem_login .button:hover,
#wpmem_reg input[type="submit"]:hover,
#wpmem_reg button:hover,
#wpmem_reg .button:hover,
#wpmem_pwdreset input[type="submit"]:hover,
#wpmem_pwdreset button:hover,
#wpmem_pwdreset .button:hover,
#wpmem_profile input[type="submit"]:hover,
#wpmem_profile button:hover,
#wpmem_profile .button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 24px rgba(106, 163, 207, 0.24);
}

/* 링크 */
#wpmem_login a,
#wpmem_reg a,
#wpmem_pwdreset a,
#wpmem_profile a {
  color: #6aa3cf;
  text-decoration: none;
}

#wpmem_login a:hover,
#wpmem_reg a:hover,
#wpmem_pwdreset a:hover,
#wpmem_profile a:hover {
  text-decoration: underline;
}

/* 안내문구, 에러, 메시지 */
#wpmem_msg,
#wpmem_reg .err,
#wpmem_login .err,
div.wpmem_msg,
div.wpmem_err {
  max-width: 720px;
  margin: 0 auto 18px;
  padding: 14px 16px;
  border-radius: 14px;
  font-size: 14px;
  line-height: 1.6;
  box-sizing: border-box;
}

div.wpmem_msg {
  background: #f4f9fd;
  border: 1px solid #d7e9f5;
  color: #46657d;
}

div.wpmem_err,
#wpmem_reg .err,
#wpmem_login .err {
  background: #fff7f7;
  border: 1px solid #f1d6d6;
  color: #a35b5b;
}

/* 회원가입 필수표시 */
#wpmem_reg .req,
#wpmem_profile .req {
  color: #d17b7b;
  font-weight: 600;
}

/* 테이블 형태로 출력되는 경우 깨짐 방지 */
#wpmem_login table,
#wpmem_reg table,
#wpmem_profile table,
#wpmem_pwdreset table {
  width: 100%;
  border-collapse: collapse;
}

#wpmem_login td,
#wpmem_reg td,
#wpmem_profile td,
#wpmem_pwdreset td {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
}

/* 혹시 테마가 flex를 강제로 주는 경우 방지 */
#wpmem_login form,
#wpmem_reg form,
#wpmem_pwdreset form,
#wpmem_profile form {
  display: block !important;
}

/* 모바일 */
@media (max-width: 767px) {
  #wpmem_login form,
  #wpmem_reg form,
  #wpmem_pwdreset form,
  #wpmem_profile form {
    margin: 20px auto;
    padding: 26px 18px;
    border-radius: 18px;
  }

  #wpmem_login legend,
  #wpmem_reg legend,
  #wpmem_pwdreset legend,
  #wpmem_profile legend,
  #wpmem_login h2,
  #wpmem_reg h2,
  #wpmem_pwdreset h2,
  #wpmem_profile h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }

  #wpmem_login input[type="submit"],
  #wpmem_reg input[type="submit"],
  #wpmem_pwdreset input[type="submit"],
  #wpmem_profile input[type="submit"] {
    width: 100%;
  }
}

/* 상단 안내 메시지 (로그인 필요 안내) */
#wpmem_msg,
div.wpmem_msg,
.wpmem_msg {
  max-width: 720px;
  margin: 30px auto 20px;
  padding: 16px 18px;
  border-radius: 14px;
  background: #f4f9fd;
  border: 1px solid #d7e9f5;
  color: #4a6a82;
  font-size: 14px;
  line-height: 1.6;
  box-sizing: border-box;
  text-align: left;
}

/* 아이콘 느낌 추가 (선택) */
.wpmem_msg::before {
  content: "ℹ️";
  margin-right: 6px;
}