@charset "utf-8";
/* ==========================================================================
   우리의집 테마 — 회원 (로그인 · 가입 · 찾기 · 프로필 · 쪽지 · 포인트)
   ========================================================================== */

/* ============================================================== 인증 카드 */
.oh-auth {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--oh-sp-4);
  padding: var(--oh-sp-9) var(--oh-gutter) var(--oh-sp-11);
}
.oh-auth__card {
  width: 100%;
  max-width: 420px;
  padding: var(--oh-sp-8);
  background: var(--oh-elevated);
  border: 1px solid var(--oh-border);
  border-radius: var(--oh-r-lg);
}
.oh-auth__card--wide { max-width: 720px; }
.oh-auth__card--form { max-width: 860px; }

.oh-auth__logo { display: flex; justify-content: center; margin-bottom: var(--oh-sp-5); color: var(--oh-text-1); }
.oh-auth__logo .oh-ico { width: 40px; height: 40px; color: var(--oh-primary); }
.oh-auth__logo--celebrate .oh-ico {
  width: 32px; height: 32px;
  padding: 12px;
  box-sizing: content-box;
  border-radius: var(--oh-r-full);
  background: var(--oh-primary-weak);
  color: var(--oh-primary-hover);
}

.oh-auth__title { text-align: center; font-size: var(--oh-fs-24); letter-spacing: -.03em; }
.oh-auth__sub {
  margin: var(--oh-sp-2) 0 var(--oh-sp-6);
  text-align: center;
  font-size: var(--oh-fs-14);
  color: var(--oh-text-2);
  line-height: var(--oh-lh-loose);
}
.oh-auth__sectitle { margin-bottom: var(--oh-sp-2); font-size: var(--oh-fs-15); }

.oh-auth__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--oh-sp-3);
  margin-top: var(--oh-sp-4);
  font-size: var(--oh-fs-13);
}
.oh-auth__row a { color: var(--oh-text-2); }
.oh-auth__row a:hover { color: var(--oh-primary); }

.oh-auth__idbox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--oh-sp-3);
  padding: var(--oh-sp-3) var(--oh-sp-4);
  margin-bottom: var(--oh-sp-4);
  background: var(--oh-surface);
  border-radius: var(--oh-r-md);
  font-size: var(--oh-fs-14);
}

.oh-auth__foot {
  margin-top: var(--oh-sp-6);
  padding-top: var(--oh-sp-5);
  border-top: 1px solid var(--oh-divider);
  text-align: center;
  font-size: var(--oh-fs-13);
  color: var(--oh-text-2);
}
.oh-auth__foot a { font-weight: var(--oh-fw-bold); color: var(--oh-primary-hover); }

.oh-auth__divider { margin-top: var(--oh-sp-6); padding-top: var(--oh-sp-6); border-top: 1px solid var(--oh-divider); }
.oh-auth__notes { margin-top: var(--oh-sp-5); font-size: var(--oh-fs-13); color: var(--oh-text-2); }
.oh-auth__notes li { position: relative; padding-left: var(--oh-sp-4); line-height: var(--oh-lh-loose); }
.oh-auth__notes li::before { content: '·'; position: absolute; left: var(--oh-sp-2); }
.oh-auth__btns { justify-content: flex-end; margin-top: var(--oh-sp-6); }
.oh-auth__btns .oh-btn { flex: 1 1 0; }

@media (max-width: 479px) {
  .oh-auth { padding: var(--oh-sp-6) var(--oh-gutter) var(--oh-sp-9); }
  .oh-auth__card { padding: var(--oh-sp-5); border: 0; }
}

/* ============================================================== 약관 */
.oh-terms + .oh-terms { margin-top: var(--oh-sp-5); }
.oh-terms__title { margin-bottom: var(--oh-sp-2); font-size: var(--oh-fs-14); }
.oh-terms__box {
  max-height: 180px;
  overflow-y: auto;
  padding: var(--oh-sp-4);
  border: 1px solid var(--oh-border);
  border-radius: var(--oh-r-md);
  background: var(--oh-surface);
  font-size: var(--oh-fs-13);
  line-height: var(--oh-lh-loose);
  color: var(--oh-text-2);
}
.oh-terms__box--table { padding: 0; }
.oh-terms__box table { font-size: var(--oh-fs-12); }
.oh-terms__box th, .oh-terms__box td {
  padding: var(--oh-sp-2) var(--oh-sp-3);
  border-bottom: 1px solid var(--oh-border);
  text-align: left;
  vertical-align: top;
}
.oh-terms__box th { background: var(--oh-surface-2); font-weight: var(--oh-fw-semibold); color: var(--oh-text-1); }
.oh-terms .oh-check { margin-top: var(--oh-sp-3); }
.oh-auth__allchk {
  width: 100%;
  padding: var(--oh-sp-4);
  margin-bottom: var(--oh-sp-5);
  border: 1px solid var(--oh-primary);
  border-radius: var(--oh-r-md);
  background: var(--oh-primary-weak);
  font-size: var(--oh-fs-15);
}

/* ============================================================== 회원가입 폼 */
.oh-auth--form { align-items: stretch; }
.oh-auth--form .oh-auth__card { margin-inline: auto; }
.register_form_inner + .register_form_inner { margin-top: var(--oh-sp-7); }
.oh-fs__title {
  padding-bottom: var(--oh-sp-3);
  margin-bottom: var(--oh-sp-4);
  border-bottom: 1px solid var(--oh-border);
  font-size: var(--oh-fs-16);
}
#register_form ul > li { margin-bottom: var(--oh-sp-4); }
#register_form label,
#register_form .frm_label {
  display: block;
  margin-bottom: var(--oh-sp-2);
  font-size: var(--oh-fs-13);
  font-weight: var(--oh-fw-semibold);
  color: var(--oh-text-1);
}
#register_form .half_input { display: inline-block; width: calc(50% - 6px); vertical-align: top; }
#register_form .half_input.left_input.margin_input { margin-right: 10px; }
#register_form textarea {
  width: 100%;
  min-height: 110px;
  padding: var(--oh-sp-3) var(--oh-sp-4);
  border: 1px solid var(--oh-border-strong);
  border-radius: var(--oh-r-sm);
  background: var(--oh-bg);
  color: var(--oh-text-1);
  font-family: var(--oh-font-sans);
  font-size: var(--oh-fs-14);
}
#register_form input[type="file"] {
  padding: var(--oh-sp-2);
  font-size: var(--oh-fs-13);
  color: var(--oh-text-2);
}
#register_form .frm_info,
#register_form .cert_desc,
#register_form .consent-date {
  display: inline-block;
  margin-top: var(--oh-sp-2);
  font-size: var(--oh-fs-12);
  font-weight: var(--oh-fw-regular);
  color: var(--oh-text-3);
}
#register_form .twopart_input { display: inline-block; width: 140px; margin-right: var(--oh-sp-2); }
#register_form .tooltip_icon { margin-left: 4px; color: var(--oh-text-3); }
#register_form .tooltip {
  display: none;
  margin-top: var(--oh-sp-2);
  padding: var(--oh-sp-3);
  border-radius: var(--oh-r-sm);
  background: var(--oh-surface);
  font-size: var(--oh-fs-12);
  font-weight: var(--oh-fw-regular);
  color: var(--oh-text-2);
}
#register_form .tooltip_icon:focus + .tooltip,
#register_form label:hover .tooltip { display: block; }
#register_form .consent-line { display: flex; align-items: center; gap: var(--oh-sp-2); flex-wrap: wrap; }
#register_form .consent-child { padding-left: var(--oh-sp-6); }
#msg_mb_id, #msg_mb_nick, #msg_certify {
  display: block;
  margin-top: var(--oh-sp-2);
  font-size: var(--oh-fs-12);
  color: var(--oh-danger);
}
@media (max-width: 767px) {
  #register_form .half_input { width: 100%; }
  #register_form .half_input.left_input.margin_input { margin-right: 0; }
}

/* ============================================================== 팝업 창 */
.new_win {
  max-width: 720px;
  margin-inline: auto;
  padding: var(--oh-sp-6) var(--oh-gutter) var(--oh-sp-9);
}
#win_title {
  padding-bottom: var(--oh-sp-4);
  margin-bottom: var(--oh-sp-5);
  border-bottom: 1px solid var(--oh-border);
  font-size: var(--oh-fs-20);
}
#win_title .win_total { margin-top: var(--oh-sp-2); font-size: var(--oh-fs-13); font-weight: var(--oh-fw-regular); color: var(--oh-text-2); }

.win_ul {
  display: flex;
  gap: var(--oh-sp-1);
  margin-bottom: var(--oh-sp-5);
  padding: 4px;
  border-radius: var(--oh-r-full);
  background: var(--oh-surface);
}
.win_ul li { flex: 1 1 0; }
.win_ul a {
  display: block;
  padding: var(--oh-sp-2);
  border-radius: var(--oh-r-full);
  text-align: center;
  font-size: var(--oh-fs-13);
  font-weight: var(--oh-fw-semibold);
  color: var(--oh-text-2);
}
.win_ul .selected a { background: var(--oh-bg); color: var(--oh-text-1); box-shadow: var(--oh-shadow-1); }

.win_btn { display: flex; gap: var(--oh-sp-2); justify-content: flex-end; margin-top: var(--oh-sp-6); }
.win_desc { margin-top: var(--oh-sp-4); font-size: var(--oh-fs-12); color: var(--oh-text-3); }
.empty_li, .empty_table {
  padding: var(--oh-sp-9) 0;
  text-align: center;
  color: var(--oh-text-3);
  font-size: var(--oh-fs-14);
}

/* ---- 포인트 ---- */
.point_all {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--oh-sp-5);
  margin-bottom: var(--oh-sp-5);
  border-radius: var(--oh-r-lg);
  background: var(--oh-primary-weak);
  font-size: var(--oh-fs-14);
  font-weight: var(--oh-fw-semibold);
  color: var(--oh-primary-hover);
}
.point_all .full_li { display: flex; width: 100%; align-items: center; justify-content: space-between; }
.point_all span { font-size: var(--oh-fs-24); font-weight: var(--oh-fw-bold); }
.point_list > li { padding: var(--oh-sp-4) 0; border-bottom: 1px solid var(--oh-divider); }
.point_top { display: flex; align-items: center; justify-content: space-between; gap: var(--oh-sp-3); }
.point_tit { font-size: var(--oh-fs-14); color: var(--oh-text-1); }
.point_num { font-size: var(--oh-fs-15); font-weight: var(--oh-fw-bold); color: var(--oh-primary-hover); }
.point_use .point_num { color: var(--oh-sale); }
.point_date1, .point_date { display: inline-block; margin-top: var(--oh-sp-2); margin-right: var(--oh-sp-3); font-size: var(--oh-fs-12); color: var(--oh-text-3); }
.txt_expired { color: var(--oh-sale); }
.point_status {
  display: flex;
  gap: var(--oh-sp-4);
  justify-content: flex-end;
  padding: var(--oh-sp-4) 0;
  font-size: var(--oh-fs-14);
  font-weight: var(--oh-fw-bold);
}

/* ---- 스크랩 ---- */
#scrap ul > li { position: relative; padding: var(--oh-sp-4) var(--oh-sp-8) var(--oh-sp-4) 0; border-bottom: 1px solid var(--oh-divider); }
.scrap_tit { display: block; font-size: var(--oh-fs-15); font-weight: var(--oh-fw-semibold); color: var(--oh-text-1); }
.scrap_cate {
  display: inline-block;
  margin-top: var(--oh-sp-2);
  margin-right: var(--oh-sp-3);
  padding: 2px var(--oh-sp-2);
  border-radius: var(--oh-r-xs);
  background: var(--oh-surface-2);
  font-size: var(--oh-fs-11);
  color: var(--oh-text-2);
}
.scrap_datetime { font-size: var(--oh-fs-12); color: var(--oh-text-3); }
.scrap_del { position: absolute; right: 0; top: var(--oh-sp-4); color: var(--oh-text-3); }
.scrap_del:hover { color: var(--oh-danger); }

/* ---- 쪽지 ---- */
.memo_list > ul > li {
  display: flex;
  align-items: flex-start;
  gap: var(--oh-sp-3);
  padding: var(--oh-sp-4) 0;
  border-bottom: 1px solid var(--oh-divider);
}
.memo_list .profile_big_img { position: relative; flex: 0 0 auto; }
.memo_list .profile_big_img img { width: 44px; height: 44px; border-radius: var(--oh-r-full); object-fit: cover; }
.no_read {
  position: absolute;
  top: -2px; right: -2px;
  width: 9px; height: 9px;
  overflow: hidden;
  text-indent: -999px;
  border-radius: var(--oh-r-full);
  background: var(--oh-sale);
}
.memo_name { flex: 1 1 auto; min-width: 0; font-size: var(--oh-fs-14); font-weight: var(--oh-fw-semibold); }
.memo_datetime { margin-left: var(--oh-sp-2); font-size: var(--oh-fs-12); font-weight: var(--oh-fw-regular); color: var(--oh-text-3); }
.memo_preview { margin-top: var(--oh-sp-2); font-size: var(--oh-fs-13); font-weight: var(--oh-fw-regular); color: var(--oh-text-2); }
.memo_list li.read .memo_name { font-weight: var(--oh-fw-regular); color: var(--oh-text-2); }
.memo_del { flex: 0 0 auto; color: var(--oh-text-3); }
.memo_del:hover { color: var(--oh-danger); }

/* ---- 프로필 ---- */
.profile_name {
  display: flex;
  align-items: center;
  gap: var(--oh-sp-3);
  padding-bottom: var(--oh-sp-5);
  margin-bottom: var(--oh-sp-5);
  border-bottom: 1px solid var(--oh-border);
  font-size: var(--oh-fs-18);
  font-weight: var(--oh-fw-bold);
}
.my_profile_img img, .profile_info .pf_img img { width: 56px; height: 56px; border-radius: var(--oh-r-full); object-fit: cover; }

/* ---- 코어 테이블(프로필·인증 등) ---- */
.tbl_head02 table, .tbl_frm01 table { font-size: var(--oh-fs-14); }
.tbl_head02 th, .tbl_head02 td,
.tbl_frm01 th, .tbl_frm01 td {
  padding: var(--oh-sp-3) var(--oh-sp-4);
  border-bottom: 1px solid var(--oh-border);
  text-align: left;
}
.tbl_head02 th, .tbl_frm01 th {
  width: 140px;
  background: var(--oh-surface);
  font-weight: var(--oh-fw-semibold);
  color: var(--oh-text-2);
}

/* ---- 소셜 로그인 버튼(플러그인) ---- */
.social_login, #social_login { margin-top: var(--oh-sp-5); }
.social_login ul { display: grid; gap: var(--oh-sp-2); }
.social_login a { border-radius: var(--oh-r-sm) !important; }
