@charset "utf-8";
/* ==========================================================================
   우리의집 테마 — 부가 스킨
   (아웃로그인 · 인기검색어 · 통계 · FAQ · 콘텐츠 · 최신글 · 검색 · 설문 · 1:1문의)
   ========================================================================== */

/* ============================================================== 아웃로그인 */
.oh-ol__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: var(--oh-sp-3);
}
.oh-ol__head strong { font-size: var(--oh-fs-15); }
.oh-ol__head a { font-size: var(--oh-fs-12); color: var(--oh-primary-hover); font-weight: var(--oh-fw-semibold); }
.oh-ol .oh-input { margin-bottom: var(--oh-sp-2); min-height: 42px; }
.oh-ol .oh-btn { margin-top: var(--oh-sp-1); }
.oh-ol__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: var(--oh-sp-3);
  font-size: var(--oh-fs-12);
  color: var(--oh-text-2);
}
.oh-ol__me { display: flex; align-items: center; gap: var(--oh-sp-3); padding-bottom: var(--oh-sp-4); border-bottom: 1px solid var(--oh-divider); }
.oh-ol__me strong { display: block; font-size: var(--oh-fs-15); }
.oh-ol__me p { font-size: var(--oh-fs-12); }
.oh-ol__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--oh-sp-2); padding-block: var(--oh-sp-4); }
.oh-ol__stats a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: var(--oh-sp-3) var(--oh-sp-1);
  border-radius: var(--oh-r-md);
  background: var(--oh-surface);
  font-size: var(--oh-fs-11);
}
.oh-ol__stats a:hover { background: var(--oh-primary-weak); }
.oh-ol__stats strong { font-size: var(--oh-fs-15); color: var(--oh-text-1); }
.oh-ol__links { display: grid; gap: 2px; padding-top: var(--oh-sp-3); border-top: 1px solid var(--oh-divider); }
.oh-ol__links a {
  display: flex;
  align-items: center;
  gap: var(--oh-sp-2);
  padding: var(--oh-sp-2);
  border-radius: var(--oh-r-sm);
  font-size: var(--oh-fs-13);
  color: var(--oh-text-2);
}
.oh-ol__links a:hover { background: var(--oh-surface); color: var(--oh-text-1); }

/* ============================================================== 인기검색어 */
.oh-popular { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px var(--oh-sp-5); }
.oh-popular a { display: flex; align-items: center; gap: var(--oh-sp-3); padding: var(--oh-sp-2) 0; }
.oh-popular__no {
  flex: 0 0 auto;
  width: 16px;
  font-size: var(--oh-fs-13);
  font-weight: var(--oh-fw-bold);
  color: var(--oh-text-3);
  text-align: center;
}
.oh-popular li:nth-child(-n+3) .oh-popular__no { color: var(--oh-primary); }
.oh-popular__word { font-size: var(--oh-fs-14); color: var(--oh-text-1); }
@media (max-width: 479px) { .oh-popular { grid-template-columns: 1fr; } }

/* ============================================================== 통계 */
.oh-stats__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--oh-sp-2); }
.oh-stats__list li { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: var(--oh-fs-11); }
.oh-stats__list strong { font-size: var(--oh-fs-16); color: var(--oh-text-1); }

/* ============================================================== FAQ */
.oh-faq { padding-top: var(--oh-sp-4); }
.oh-faq__banner img { width: 100%; border-radius: var(--oh-r-lg); }
.oh-faq__search { max-width: 560px; margin: 0 auto var(--oh-sp-6); }
.oh-faq__cate { justify-content: center; margin-bottom: var(--oh-sp-6); }
.oh-faq__q {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 26px; height: 26px;
  border-radius: var(--oh-r-full);
  background: var(--oh-primary-weak);
  color: var(--oh-primary-hover);
  font-size: var(--oh-fs-13);
  font-weight: var(--oh-fw-bold);
}
.oh-faq__subject { flex: 1 1 auto; min-width: 0; }
.oh-faq .oh-accordion summary { gap: var(--oh-sp-3); }
.oh-faq .oh-accordion__body { padding-left: calc(26px + var(--oh-sp-3) + var(--oh-sp-2)); }
.oh-faq .oh-accordion__body img { max-width: 100%; height: auto; border-radius: var(--oh-r-md); }

/* ============================================================== 콘텐츠 페이지 */
.oh-content { padding-top: var(--oh-sp-4); }
.oh-content__banner img { width: 100%; border-radius: var(--oh-r-lg); margin-bottom: var(--oh-sp-6); }
.oh-content__body {
  max-width: 800px;
  margin-inline: auto;
  font-size: var(--oh-fs-16);
  line-height: 1.85;
}
.oh-content__body img { height: auto; border-radius: var(--oh-r-md); }

/* ==========================================================================
   코어 마크업을 쓰는 스킨 (최신글 · 통합검색 · 1:1문의 · 설문)
   구조는 그누보드 그대로 두고 색·타이포·간격만 테마에 맞춘다.
   ========================================================================== */

/* ---- 공통 검색 폼 ---- */
#new_sch, #sch_res, .sch_wrap, #qalist_sch {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--oh-sp-2);
  padding: var(--oh-sp-4);
  margin-bottom: var(--oh-sp-5);
  background: var(--oh-surface);
  border-radius: var(--oh-r-lg);
}
#new_sch form, .sch_wrap form { display: flex; flex-wrap: wrap; gap: var(--oh-sp-2); align-items: center; width: 100%; }
#new_sch p { width: 100%; font-size: var(--oh-fs-12); color: var(--oh-text-3); }
#new_sch select, .sch_wrap select, #sch_res select { min-height: 42px; }
#new_sch .oh-input, .sch_wrap .oh-input { flex: 1 1 200px; min-height: 42px; }

/* ---- 최신글 / 검색 결과 목록 ---- */
#fnewlist table, .sch_res_list table { font-size: var(--oh-fs-14); }
.tbl_head01 th {
  padding: var(--oh-sp-3);
  border-bottom: 1px solid var(--oh-border-strong);
  background: transparent;
  font-size: var(--oh-fs-13);
  font-weight: var(--oh-fw-semibold);
  color: var(--oh-text-2);
  text-align: left;
}
.tbl_head01 td {
  padding: var(--oh-sp-3);
  border-bottom: 1px solid var(--oh-divider);
  color: var(--oh-text-1);
}
.tbl_head01 tbody tr:hover { background: var(--oh-surface); }
.tbl_head01 .td_num, .tbl_head01 .td_num2, .tbl_head01 .td_datetime,
.tbl_head01 .td_date, .tbl_head01 .td_name { color: var(--oh-text-2); font-size: var(--oh-fs-13); }
.tbl_head01 .empty_table { padding: var(--oh-sp-9) 0; text-align: center; color: var(--oh-text-3); }

.sch_res_list { margin-bottom: var(--oh-sp-7); }
.sch_res_list h2 { font-size: var(--oh-fs-16); margin-bottom: var(--oh-sp-3); }
.sch_res_list ul > li {
  padding: var(--oh-sp-4) 0;
  border-bottom: 1px solid var(--oh-divider);
}
.sch_res_list .sch_tit, .sch_res_list li > a { font-size: var(--oh-fs-15); font-weight: var(--oh-fw-semibold); }
.sch_more { float: right; font-size: var(--oh-fs-13); color: var(--oh-text-2); }
#sch_res h2 strong { color: var(--oh-primary); }
#sch_res_ul, .sch_bo_list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--oh-sp-2);
  padding-block: var(--oh-sp-4);
}
#sch_res_ul li a, .sch_bo_list li a {
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding-inline: var(--oh-sp-3);
  border: 1px solid var(--oh-border-strong);
  border-radius: var(--oh-r-full);
  font-size: var(--oh-fs-13);
  color: var(--oh-text-2);
}
#sch_res_ul li a.sch_on, .sch_bo_list li a.sch_on {
  background: var(--oh-text-1);
  border-color: var(--oh-text-1);
  color: var(--oh-bg);
}
.cmt_def { color: var(--oh-primary); }
.sch_word { background: var(--oh-primary-weak); color: var(--oh-primary-hover); padding: 0 2px; border-radius: 2px; }

/* ---- 페이징 (코어 get_paging) ---- */
.pg_wrap {
  display: flex;
  justify-content: center;
  gap: var(--oh-sp-1);
  margin-top: var(--oh-sp-8);
}
.pg_page, .pg_current, .pg_start, .pg_prev, .pg_next, .pg_end {
  display: grid;
  place-items: center;
  min-width: 36px; height: 36px;
  padding-inline: var(--oh-sp-2);
  border-radius: var(--oh-r-sm);
  font-size: var(--oh-fs-14);
  color: var(--oh-text-2);
}
.pg_page:hover { background: var(--oh-surface); color: var(--oh-text-1); }
.pg_current {
  background: var(--oh-text-1);
  color: var(--oh-bg);
  font-weight: var(--oh-fw-bold);
}

/* ---- 설문 ---- */
#poll, #poll_result { font-size: var(--oh-fs-14); }
#poll h2, #poll_result h2 { font-size: var(--oh-fs-16); margin-bottom: var(--oh-sp-3); }
.poll_all { display: inline-block; margin-bottom: var(--oh-sp-3); font-size: var(--oh-fs-13); color: var(--oh-text-2); }
#poll_result_list li { padding: var(--oh-sp-3) 0; border-bottom: 1px solid var(--oh-divider); }
.poll_result_graph {
  height: 8px;
  margin-block: var(--oh-sp-2);
  border-radius: var(--oh-r-full);
  background: var(--oh-surface-2);
  overflow: hidden;
}
.poll_result_graph span { display: block; height: 100%; background: var(--oh-primary); border-radius: var(--oh-r-full); }
.poll_1st .poll_result_graph span { background: var(--oh-primary-strong); }
.poll_numerical { display: flex; gap: var(--oh-sp-3); font-size: var(--oh-fs-12); color: var(--oh-text-2); }
.poll_cnt { color: var(--oh-text-1); }
#poll ul li { padding: var(--oh-sp-2) 0; }
#poll_result_oth li { display: flex; justify-content: space-between; gap: var(--oh-sp-3); padding: var(--oh-sp-2) 0; border-bottom: 1px solid var(--oh-divider); font-size: var(--oh-fs-13); }

/* ---- 1:1 문의 ---- */
#qalist .tbl_head01 td, #qaview { font-size: var(--oh-fs-14); }
#qaview_title, #qa_title { font-size: var(--oh-fs-20); font-weight: var(--oh-fw-bold); margin-bottom: var(--oh-sp-4); }
#qaview_content, .qa_content {
  padding: var(--oh-sp-5);
  border-radius: var(--oh-r-md);
  background: var(--oh-surface);
  line-height: var(--oh-lh-loose);
}
.qa_answer, #qa_answer {
  margin-top: var(--oh-sp-4);
  padding: var(--oh-sp-5);
  border-left: 3px solid var(--oh-primary);
  border-radius: 0 var(--oh-r-md) var(--oh-r-md) 0;
  background: var(--oh-primary-weak);
}

/* ---- 접속자 현황 ---- */
#current_connect .tbl_head01 { margin-top: var(--oh-sp-4); }

/* ---- 코어 공통 버튼 잔재 ---- */
.btn_confirm { display: flex; gap: var(--oh-sp-2); justify-content: flex-end; margin-top: var(--oh-sp-6); }
.btn_bo_user { display: flex; gap: var(--oh-sp-2); }
.btn_bo_user li { list-style: none; }
