@charset "utf-8";

/* ============================================================
   상담후기 스킨 - 새 디자인
   컨셉: 따뜻한 신뢰감 / 카드형 후기 / 프리미엄 웰니스 톤
   컬러: 딥 네이비 #1A2540 / 골드 #C9A84C / 크림 #FAF8F4 / 연회색 #F2F0EC
   타이포: Noto Serif KR (제목) + 본고딕(본문)
============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@300;400;600;700&display=swap');

/* ── 기본 변수 ─────────────────────────── */
:root {
  --navy:   #1A2540;
  --gold:   #C9A84C;
  --gold-lt:#E8D49A;
  --cream:  #FAF8F4;
  --gray-bg:#F2F0EC;
  --border: #E4E0D8;
  --text:   #2C2C2C;
  --muted:  #888880;
  --white:  #FFFFFF;
  --radius: 16px;
  --shadow: 0 4px 24px rgba(26,37,64,.08);
  --shadow-hover: 0 12px 40px rgba(26,37,64,.14);
}

/* ── 게시판 공통 ────────────────────────── */
#bo_list { position:relative; margin-bottom:20px; }
#bo_list:after { display:block; visibility:hidden; clear:both; content:""; }

/* ── 카테고리 탭 ────────────────────────── */
#bo-cate { margin:0 0 28px; }
#bo-cate h2 { position:absolute; font-size:0; line-height:0; overflow:hidden; }
#bo-cate ul { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0; }
#bo-cate li { margin:0; }
#bo-cate a {
  display:flex; align-items:center; justify-content:center;
  height:40px; padding:0 22px;
  border:1.5px solid var(--border);
  border-radius:40px;
  color:var(--muted);
  font-size:14px; font-weight:500;
  background:var(--white);
  transition:all .25s ease;
}
#bo-cate a:hover { border-color:var(--gold); color:var(--navy); background:var(--cream); }
#bo-cate #bo_cate_on {
  background:var(--navy); color:var(--gold);
  border-color:var(--navy);
}
#bo-cate #bo_cate_on:after { display:none; }

/* ── 상단 툴바 ──────────────────────────── */
.bo-top-wrap {
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:24px;
  padding-bottom:16px;
  border-bottom:1px solid var(--border);
}
.list-total { font-size:14px; color:var(--muted); }
.list-total strong { color:var(--navy); font-weight:700; }
.list-total .total-page { font-size:12px; margin-left:6px; }

/* ── 버튼 공통 ──────────────────────────── */
.board-btn a {
  display:inline-flex; align-items:center; justify-content:center;
  height:36px; padding:0 16px;
  border:1.5px solid var(--border);
  border-radius:8px;
  font-size:13px; font-weight:600;
  color:var(--navy);
  background:var(--white);
  transition:all .2s ease;
  vertical-align:top;
}
.board-btn a:hover {
  background:var(--navy); color:var(--gold);
  border-color:var(--navy);
  box-shadow:var(--shadow);
}
.board-btn a:before, .board-btn a:after { display:none; }

.bo-bottom-wrap {
  display:flex; justify-content:space-between; align-items:center;
  margin-top:8px; margin-bottom:20px;
}
.bo-admin-select-wrap { display:inline-block; position:relative; }
.more-opt {
  display:none; position:absolute; top:40px; right:0;
  background:var(--white); z-index:999; min-width:140px;
  border:1px solid var(--border); border-radius:10px;
  box-shadow:var(--shadow); overflow:hidden;
}
.more-opt li { border-bottom:1px solid var(--border); }
.more-opt li:last-child { border-bottom:0; }
.more-opt li button {
  width:100%; border:0; background:var(--white);
  color:var(--text); text-align:left; padding:10px 14px;
  font-size:13px; transition:background .15s;
}
.more-opt li:hover button { background:var(--gray-bg); }

/* SVG 아이콘 버튼 */
.btn-bo-rss,.btn-bo-search,.btn-bo-write,.btn-bo-admin,
.btn-bo-admin-select,.btn-bo-modify,.btn-bo-delete,
.btn-bo-copy,.btn-bo-move,.btn-bo-list,.btn-bo-reply {
  background-image:none !important; padding-left:16px !important;
}
.board-btn.btn-text-none a {
  text-indent:0; width:auto; padding:0 14px;
  background-image:none !important;
}
.board-btn.btn-text-none a:after,
.board-btn.btn-text-none a:before { display:none; }


/* ================================================================
   메인: 갤러리 목록 카드
================================================================ */
.gallery-list {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
  gap:24px;
  margin:0 0 28px;
  list-style:none; padding:0;
}

.gallery-list li {
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  transition:transform .3s ease, box-shadow .3s ease;
  position:relative;
}
.gallery-list li:hover {
  transform:translateY(-6px);
  box-shadow:var(--shadow-hover);
}
.gallery-list li a {
  display:flex; flex-direction:column;
  height:100%; text-decoration:none; color:inherit;
}

/* 썸네일 */
.gallery-list .gallery-list-img {
  position:relative; height:0; padding-top:62%;
  display:block;
  background-size:cover;
  background-position:center !important;
  background-repeat:no-repeat;
  border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.gallery-list .gallery-list-img.no-image { display:none; }
.gallery-list .gallery-list-img.secret-box {
  background:#2C2C2C url(feelz_shadow_up/svg/lock.svg) center center no-repeat;
  background-size:60px;
}
.gallery-list .gallery-list-img:before { display:none; }

/* 아이콘 팩 */
.gallery-list .gallery-icon-pack {
  position:absolute; right:12px; top:12px; z-index:10;
  display:flex; gap:6px;
}
.gallery-list .list-icon {
  display:inline-block;
  background:rgba(26,37,64,.75); color:var(--gold);
  padding:0 10px; font-size:11px; height:26px; line-height:26px;
  border-radius:26px; font-weight:600; letter-spacing:.5px;
  backdrop-filter:blur(4px);
}
.gallery-list .list-icon.icon-new {
  background:rgba(201,168,76,.9); color:var(--navy);
}

/* 카드 텍스트 영역 */
.gallery-list .gallery-list-content {
  padding:18px 20px 20px;
  flex:1; display:flex; flex-direction:column;
  position:relative;
}
.gallery-list .gallery-list-content:after { display:none; }

/* 카테고리 레이블 */
.gallery-list .gallery-list-category {
  font-size:11px; font-weight:700;
  color:var(--gold);
  letter-spacing:1.2px;
  text-transform:uppercase;
  margin-bottom:6px;
  display:block;
}

/* 별점 */
.review-star {
  font-size:15px;
  color:#F6B100;
  margin-bottom:8px;
  letter-spacing:1px;
  line-height:1;
}

/* 제목 */
.gallery-list .gallery-list-title {
  font-family:'Noto Serif KR', serif;
  font-size:18px; font-weight:700;
  color:var(--navy);
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-bottom:8px;
}

/* 본문 미리보기 */
.gallery-list .gallery-list-category-text {
  font-size:13px; color:var(--muted);
  line-height:1.6;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  flex:1;
  margin-bottom:12px;
}
.gallery-list .gallery-list-content-text { display:none; }

/* 하단 메타 */
.gallery-list .gallery-list-content-etc {
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  font-size:12px; color:var(--muted);
  padding-top:12px;
  border-top:1px solid var(--border);
  margin-top:auto;
}
.gallery-list .gallery-list-content-etc .list-writer {
  font-weight:600; color:var(--navy);
  background:none !important;
  padding-left:0 !important;
}
.gallery-list .gallery-list-content-etc .list-date {
  background:none !important; padding-left:0 !important;
  margin-left:0 !important; font-family:tahoma;
}
.gallery-list .gallery-list-content-etc .list-comment { display:none; }

/* 실제방문 뱃지 */
.review-badge {
  display:inline-block;
  background:var(--navy);
  color:var(--gold);
  font-size:10px; font-weight:700;
  padding:3px 9px;
  border-radius:20px;
  letter-spacing:.5px;
  margin-left:auto;
}

/* 빈 목록 */
.gallery-empty-list { grid-column:1/-1; }
.gallery-empty-list div {
  height:160px; display:flex; align-items:center;
  justify-content:center; color:var(--muted);
  font-size:15px; border:1px dashed var(--border);
  border-radius:var(--radius);
}

/* 체크박스 */
.gallery-list-checkbox .check-box span,
.gallery-list-checkbox .check-box label { width:22px!important; height:22px!important; }
.gallery-list-checkbox .check-box span:after { top:3px; left:7px; }
.bo-top-wrap .gallery-list-checkbox {
  width:42px; display:inline-flex;
  align-items:center; justify-content:center; height:36px; vertical-align:top;
}
.gallery-list .gallery-list-checkbox { margin-bottom:12px; }


/* ================================================================
   페이지네이션
================================================================ */
#bo_list .pg_wrap { clear:both; text-align:center; margin-top:32px; }
#bo_list .pg { text-align:center; display:flex; align-items:center; justify-content:center; gap:4px; flex-wrap:wrap; }
#bo_list .pg_page,
.pg_current {
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px;
  border:1px solid var(--border);
  border-radius:8px;
  font-size:14px; color:var(--muted);
  transition:all .2s ease;
  background:var(--white);
  position:relative;
}
#bo_list .pg_page:hover {
  background:var(--gray-bg); border-color:var(--navy);
  color:var(--navy); font-weight:700;
  box-shadow:var(--shadow);
}
#bo_list .pg_current {
  background:var(--navy); border-color:var(--navy);
  color:var(--gold); font-weight:700;
}
#bo_list .pg_start,#bo_list .pg_prev,
#bo_list .pg_end,#bo_list .pg_next {
  width:36px; height:36px; overflow:hidden;
  border:1px solid var(--border); border-radius:8px;
  background:var(--white); position:relative;
}
#bo_list .pg_prev:after  { font-family:FontAwesome; content:"\f104"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-indent:0; font-size:16px; color:var(--muted); }
#bo_list .pg_start:after { font-family:FontAwesome; content:"\f100"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-indent:0; font-size:16px; color:var(--muted); }
#bo_list .pg_next:after  { font-family:FontAwesome; content:"\f105"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-indent:0; font-size:16px; color:var(--muted); }
#bo_list .pg_end:after   { font-family:FontAwesome; content:"\f101"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-indent:0; font-size:16px; color:var(--muted); }
#bo_list .pg_start:hover,#bo_list .pg_prev:hover,
#bo_list .pg_end:hover,#bo_list .pg_next:hover { background:var(--gray-bg); }


/* ================================================================
   검색창 오버레이
================================================================ */
.bo-sch-wrap { display:none; width:100%; height:100%; position:fixed; top:0; left:0; z-index:9999; }
.bo-sch-content { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.bo-sch { position:relative; z-index:2; }
.bo-sch h3 {
  font-family:'Noto Serif KR', serif;
  font-size:40px; color:var(--white); text-align:center;
  font-weight:600; margin-bottom:28px;
  opacity:0; transform:translateY(-20px);
}
.bo-sch-box {
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.25);
  border-radius:20px; padding:28px;
  width:400px; opacity:0; transform:translateY(-20px);
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.bo-sch-inner { background:rgba(255,255,255,.9); border-radius:12px; padding:20px; }
.bo-sch select {
  width:100%; height:44px; padding:0 14px;
  border:1px solid var(--border); border-radius:8px;
  font-size:14px; background:var(--white);
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
}
.bo-sch-input { display:block; }
.bo-sch input[type=text] {
  width:100%; height:44px; padding:0 14px;
  border:1px solid var(--border); border-radius:8px;
  margin-top:12px; font-size:14px; background:var(--white);
}
.bo-sch-btn { margin-top:14px; padding-top:14px; border-top:1px solid var(--border); text-align:center; }
.bo-sch-btn:after { display:none; }
.bo-sch .sch-btn {
  height:40px; background:var(--navy); color:var(--gold);
  border:none; border-radius:8px; font-size:15px;
  font-weight:700; padding:0 32px; cursor:pointer;
  transition:opacity .2s;
}
.bo-sch .sch-btn:hover { opacity:.85; }
.bo-sch-cls {
  position:absolute; right:40px; top:40px;
  width:32px; height:32px; background:rgba(255,255,255,.2);
  border:1px solid rgba(255,255,255,.4); border-radius:50%;
  color:var(--white); font-size:18px; font-weight:300;
  z-index:5; opacity:0; transform:translateX(20px);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all .3s ease;
  text-indent:0;
}
.bo-sch-bg { background:rgba(26,37,64,.82); backdrop-filter:blur(4px); width:100%; height:100%; position:absolute; left:0; top:0; cursor:pointer; }
.bo-sch-wrap.active { display:block; }
.bo-sch-wrap.active .bo-sch-cls { opacity:1; transform:translateX(0); }
.bo-sch-wrap.active h3 { opacity:1; transform:translateY(0); transition:all .4s ease; }
.bo-sch-wrap.active .bo-sch-box { opacity:1; transform:translateY(0); transition:all .4s ease .15s; }


/* ================================================================
   게시물 읽기 (view_skin)
================================================================ */
#bo_v { margin-bottom:32px; background:var(--white); border-radius:var(--radius); border:1px solid var(--border); overflow:hidden; }

/* 상단 버튼 */
.bo-v-btn-wrap { display:flex; justify-content:space-between; margin-bottom:16px; }

/* 정보 바 (제목 헤더 제거로 상단 헤더 역할 승계) */
#bo-v-info {
  display:flex; justify-content:space-between; flex-wrap:wrap;
  align-items:center;
  padding:28px 36px;
  background:linear-gradient(135deg, var(--navy) 0%, #253060 100%);
  border-bottom:1px solid var(--border);
  color:var(--gold-lt);
}
#bo-v-info h2 { position:absolute; font-size:0; line-height:0; overflow:hidden; }
#bo-v-info .profile-info { display:flex; align-items:center; gap:10px; }
#bo-v-info .profile-info .pf-img img { border-radius:50%; width:36px; height:36px; vertical-align:top; border:2px solid var(--gold-lt); }
#bo-v-info .profile-info strong {
  font-weight:700; color:var(--white); font-size:15px;
  background:none !important; padding-left:0 !important;
  display:flex; flex-direction:column; gap:4px;
}
#bo-v-info .review-star { margin-bottom:0; font-size:14px; }
.article-info { display:flex; align-items:center; gap:14px; font-size:12px; color:rgba(255,255,255,.6); font-family:tahoma; }
.article-comment, .article-hit, .article-date {
  display:inline-flex; align-items:center; gap:4px;
  font-weight:normal; line-height:1; color:rgba(255,255,255,.75);
  background:none !important; padding-left:0 !important; margin-left:0 !important;
}
.article-comment a { color:inherit; }
.article-ip { font-size:11px; color:rgba(255,255,255,.5); margin-left:4px; }

/* 본문 */
#bo_v_atc { padding:32px 36px; }
#bo_v_atc_title { position:absolute; font-size:0; line-height:0; overflow:hidden; }
#bo_v_con { font-size:15px; line-height:1.85; color:var(--text); word-break:break-word; }

/* 공유 */
#bo_v_share { margin-bottom:20px; display:flex; align-items:center; gap:10px; }

/* 추천 */
#bo_v_act {
  display:flex; gap:12px; justify-content:center;
  padding:28px 0 8px;
}
.bo_v_act_gng {}
#bo_v_act a {
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 28px; border-radius:40px;
  border:2px solid var(--border);
  font-size:14px; font-weight:700; color:var(--muted);
  transition:all .25s ease; text-decoration:none;
}
.bo_v_good:hover { background:var(--navy); color:var(--gold); border-color:var(--navy); }
.bo_v_nogood:hover { background:#555; color:#fff; border-color:#555; }
#bo_v_act a strong { font-size:18px; }

/* 이전/다음 */
.bo_v_nb {
  list-style:none; margin:0; padding:0;
  border-top:1px solid var(--border);
  margin:0 36px 0;
}
.bo_v_nb li {
  display:flex; align-items:center; gap:12px;
  padding:14px 0; border-bottom:1px solid var(--border);
  font-size:13px;
}
.bo_v_nb .nb_tit {
  flex-shrink:0; width:48px; font-size:11px; font-weight:700;
  color:var(--gold); letter-spacing:.5px; text-transform:uppercase;
}
.bo_v_nb a { color:var(--navy); flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bo_v_nb a:hover { color:var(--gold); }
.bo_v_nb .nb_date { flex-shrink:0; font-size:11px; color:var(--muted); font-family:tahoma; }

/* 첨부파일 */
#bo_v_file { padding:0 36px 24px; }
#bo_v_file h2 { position:absolute; font-size:0; line-height:0; overflow:hidden; }
#bo_v_file ul { list-style:none; margin:0; padding:0; }
#bo_v_file li { padding:12px 16px; border:1px solid var(--border); border-radius:8px; margin-bottom:8px; transition:box-shadow .2s; }
#bo_v_file li:hover { box-shadow:var(--shadow); border-color:var(--gold-lt); }
#bo_v_file a { display:block; text-decoration:none; color:var(--navy); font-size:13px; margin-bottom:2px; }
#bo_v_file a:hover { color:var(--gold); }
#bo_v_file .bo_v_file_cnt { font-size:11px; color:var(--muted); }
#bo_v_file .file-size-txt { font-size:11px; color:var(--muted); }

/* 관련링크 */
#bo_v_link { padding:0 36px 24px; }
#bo_v_link h2 { position:absolute; font-size:0; line-height:0; overflow:hidden; }
#bo_v_link ul { list-style:none; margin:0; padding:0; }
#bo_v_link li { padding:12px 16px; border:1px solid var(--border); border-radius:8px; margin-bottom:8px; transition:box-shadow .2s; }
#bo_v_link li:hover { box-shadow:var(--shadow); }
#bo_v_link a { display:block; text-decoration:none; color:var(--navy); font-size:13px; }
#bo_v_link a:hover { color:var(--gold); }
#bo_v_link .bo_v_link_cnt { font-size:11px; color:var(--muted); }


/* ================================================================
   댓글 (view_comment_skin)
================================================================ */
.cmt_btn {
  width:100%; height:52px;
  background:var(--cream); border:1px solid var(--border);
  border-radius:12px; margin:24px 0 0;
  font-size:15px; font-weight:600; color:var(--navy);
  cursor:pointer; display:flex; align-items:center;
  justify-content:center; gap:8px; transition:all .2s;
}
.cmt_btn:hover { background:var(--navy); color:var(--gold); border-color:var(--navy); }
.cmt_btn .total b { font-weight:800; }
.cmt_btn .cmt_more { width:20px; height:20px; position:relative; }
.cmt_btn .cmt_more:before,
.cmt_btn .cmt_more:after {
  content:""; position:absolute; background:currentColor;
  border-radius:2px;
}
.cmt_btn .cmt_more:before { width:10px; height:2px; top:9px; left:5px; }
.cmt_btn .cmt_more:after  { width:2px; height:10px; top:5px; left:9px; transition:transform .25s; }
.cmt_btn_op .cmt_more:after { transform:rotate(90deg); opacity:0; }

#bo_vc { padding:0; list-style:none; }

#bo_vc article {
  background:var(--cream);
  border:1px solid var(--border);
  border-radius:12px;
  margin-bottom:12px;
  overflow:hidden;
  transition:box-shadow .2s;
}
#bo_vc article:hover { box-shadow:var(--shadow); }
#bo_vc article.bo-vc-reply {
  margin-left:28px !important;
  border-left:3px solid var(--gold-lt);
}

.cm_wrap { padding:18px 20px; }
#bo_vc article header {
  display:flex; justify-content:space-between; align-items:flex-start;
  margin-bottom:10px;
}
#bo_vc article header h2 { position:absolute; font-size:0; line-height:0; overflow:hidden; }
.cm-header-content {
  display:flex; align-items:center; gap:8px;
  font-size:13px; color:var(--muted);
}
.cm-header-content .pf_img img { width:30px; height:30px; border-radius:50%; border:2px solid var(--border); vertical-align:top; }
.bo-vc-datetime time { font-family:tahoma; font-size:12px; }
.bo-vc-act { display:flex; gap:6px; flex-shrink:0; }
.cm-reply-btn, .cm-modify-btn, .cm-delete-btn {
  font-size:12px; padding:3px 10px; border-radius:6px;
  border:1px solid var(--border); background:var(--white);
  color:var(--muted); transition:all .15s; text-decoration:none;
}
.cm-reply-btn:hover  { background:var(--navy); color:var(--gold); border-color:var(--navy); }
.cm-modify-btn:hover { background:var(--gold); color:var(--navy); border-color:var(--gold); }
.cm-delete-btn:hover { background:#e55; color:#fff; border-color:#e55; }

.cmt_contents p {
  font-size:14px; color:var(--text); line-height:1.75;
  white-space:pre-wrap; word-break:break-word; margin:0;
}
.cm-parent-info { color:var(--gold); font-weight:700; margin-right:4px; }
.cmt-secret-box { font-style:italic; color:var(--muted); }

#bo_vc_empty { color:var(--muted); text-align:center; padding:32px; font-size:14px; }

/* 댓글 쓰기 */
#bo_vc_w {
  background:var(--white); border:1px solid var(--border);
  border-radius:12px; padding:24px; margin-top:16px;
}
#bo_vc_w h2 { font-size:16px; font-weight:700; color:var(--navy); margin-bottom:16px; }

.bo-vc-guest-area { display:flex; align-items:flex-start; gap:12px; margin-bottom:14px; flex-wrap:wrap; }
.bo-vc-guest-input { display:flex; flex-direction:column; gap:8px; }
.bo-vc-guest-notice { font-size:12px; color:var(--muted); margin-bottom:6px; }
.bo-vc-guest-input input {
  height:40px; border:1px solid var(--border); border-radius:8px;
  padding:0 12px; font-size:13px; outline:none;
  transition:border-color .2s;
}
.bo-vc-guest-input input:focus { border-color:var(--gold); }

.comment-write-box textarea {
  width:100%; min-height:100px;
  border:1px solid var(--border); border-radius:8px;
  padding:12px; font-size:14px; resize:vertical;
  font-family:inherit; color:var(--text); outline:none;
  transition:border-color .2s; box-sizing:border-box;
}
.comment-write-box textarea:focus { border-color:var(--gold); }

.bo-vc-bottom {
  display:flex; justify-content:space-between; align-items:center;
  margin-top:10px;
}
.bo-vc-bottom-left { display:flex; align-items:center; gap:12px; }
.bo-vc-submit {
  height:40px; padding:0 24px; border-radius:8px;
  background:var(--navy); color:var(--gold);
  border:none; font-size:14px; font-weight:700;
  cursor:pointer; transition:opacity .2s;
}
.bo-vc-submit:hover { opacity:.85; }


/* ================================================================
   게시물 쓰기 (write_skin)
================================================================ */
#bo_w { background:var(--white); border-radius:var(--radius); border:1px solid var(--border); padding:36px; margin-bottom:32px; }

.content-input-form { font-size:14px; }
.input-wrap { margin-bottom:20px; }

.input-box {
  display:flex; align-items:flex-start;
  padding:14px 0;
  border-bottom:1px solid var(--border);
  gap:16px;
}
.input-box.required .input-title:after {
  content:" *"; color:var(--gold); font-weight:700;
}
.input-title {
  flex:0 0 90px; font-size:13px; font-weight:700;
  color:var(--navy); padding-top:10px; letter-spacing:.3px;
}
.input-content { flex:1; }
.input-content input[type=text],
.input-content input[type=password] {
  width:100%; height:44px; padding:0 14px;
  border:1px solid var(--border); border-radius:8px;
  font-size:14px; color:var(--text); outline:none;
  transition:border-color .2s; box-sizing:border-box;
}
.input-content input:focus { border-color:var(--gold); }
.input-content select {
  height:44px; padding:0 14px;
  border:1px solid var(--border); border-radius:8px;
  font-size:14px; color:var(--text);
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  background:var(--white); min-width:200px; outline:none;
}
.input-content select:focus { border-color:var(--gold); }

/* 별점 라디오 */
.star_rating { display:flex; flex-direction:column; gap:6px; }
.star_rating label {
  display:inline-flex; align-items:center; gap:6px;
  cursor:pointer; font-size:15px; padding:4px 8px;
  border-radius:6px; transition:background .15s;
}
.star_rating label:hover { background:var(--gray-bg); }
.star_rating input[type=radio] { accent-color:var(--navy); width:16px; height:16px; }

/* 파일첨부 */
.input-content .file-route {
  flex:1; height:40px; padding:0 12px;
  border:1px solid var(--border); border-radius:8px 0 0 8px;
  font-size:13px; color:var(--muted); background:var(--gray-bg);
}
.input-content .file-label {
  background:var(--navy); color:var(--gold);
  width:80px; height:40px; border-radius:0 8px 8px 0;
  font-size:13px; font-weight:600;
  display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer;
}

/* 에디터 textarea */
.wr_content textarea {
  width:100%; min-height:180px;
  border:1px solid var(--border); border-radius:8px;
  padding:14px; font-size:14px; resize:vertical;
  color:var(--text); outline:none; font-family:inherit;
  transition:border-color .2s; box-sizing:border-box;
}
.wr_content textarea:focus { border-color:var(--gold); }

/* 제출 버튼 */
.btn-confirm {
  display:flex; gap:12px; padding-top:24px;
  border-top:1px solid var(--border); margin-top:8px;
}
#bo_w .btn-confirm .btn-submit {
  height:50px; padding:0 36px; border-radius:10px;
  background:var(--navy); color:var(--gold);
  border:none; font-size:16px; font-weight:700;
  cursor:pointer; transition:opacity .2s;
  box-shadow:0 4px 16px rgba(26,37,64,.2);
}
#bo_w .btn-confirm .btn-submit:hover { opacity:.85; }
#bo_w .btn-confirm .btn-cancel {
  height:50px; padding:0 36px; border-radius:10px;
  border:1.5px solid var(--border); background:var(--white);
  color:var(--muted); font-size:16px; font-weight:600;
  display:inline-flex; align-items:center; text-decoration:none;
  transition:all .2s;
  box-shadow:none; line-height:1;
}
#bo_w .btn-confirm .btn-cancel:hover { border-color:var(--navy); color:var(--navy); }

/* 버튼 draw/meet 오버라이드 */
.button { border:none; box-shadow:none; }
.button::before, .button::after { display:none; }
.draw:hover, .draw:hover::before, .draw:hover::after,
.meet:hover, .meet::before, .meet::after { all:unset; }

/* 체크박스 공통 */
.check-box { position:relative; display:inline-flex; align-items:center; }
.check-box input { display:none; }
.check-box span {
  display:inline-block; width:17px; height:17px;
  border:1.5px solid var(--border); background:var(--white);
  border-radius:4px; transition:background .2s;
  position:absolute; left:0; top:50%; transform:translateY(-50%);
}
.check-box span::after {
  content:""; position:absolute; top:1px; left:5px;
  width:5px; height:10px;
  border-right:2px solid var(--white); border-bottom:2px solid var(--white);
  transform:rotate(45deg) scale(0); transition:all .25s ease .1s; opacity:0;
}
.check-box label {
  cursor:pointer; padding-left:24px; position:relative;
  z-index:1; word-break:break-all; display:inline-block; line-height:1em;
}
.check-box label.sound_only { width:17px; height:17px; }
.check-box input:checked ~ span { border-color:transparent; background:var(--navy); }
.check-box input:checked ~ span:after { opacity:1; transform:rotate(45deg) scale(1); }
@keyframes checkbox-jelly {
  0%  { transform:scale(1,1) translateY(-50%); }
  30% { transform:scale(1.2,.8) translateY(-50%); }
  50% { transform:scale(.9,1.1) translateY(-50%); }
  to  { transform:scale(1,1) translateY(-50%); }
}

/* ================================================================
   관리자 보기 전용
================================================================ */
.bo-cate-link { display:inline-block; position:relative; padding-right:10px; margin-right:10px; }
.bo-cate-link:after { height:14px; width:1px; content:""; display:block; position:absolute; right:0; top:3px; background:var(--border); }
.bo-current { color:var(--gold); font-weight:700; }
#bo_v_act { position:relative; z-index:999; }
#bo_v_act a { pointer-events:auto; cursor:pointer; }
.list-content-secret { color:#e3401b; }

/* 자동저장 팝업 */
#autosave_wrapper { position:relative; }
#autosave_pop { display:none; z-index:10; position:absolute!important; top:40px; right:0; width:320px; max-height:180px; border:1px solid var(--border); background:var(--white); border-radius:10px; box-shadow:var(--shadow); overflow:hidden; }
#autosave_pop ul { padding:10px; list-style:none; overflow-y:scroll; height:120px; border-bottom:1px solid var(--border); }
#autosave_pop li { padding:7px 10px; border-bottom:1px solid var(--border); background:var(--gray-bg); border-radius:4px; margin-bottom:4px; }
#autosave_pop a { display:block; font-size:13px; }
#autosave_pop span { font-size:11px; color:var(--muted); float:right; }
#autosave_pop div { text-align:center; padding:6px; }
.autosave_close { cursor:pointer; width:100%; height:30px; background:none; color:var(--muted); font-size:13px; border:none; }
.autosave_close:hover { background:var(--gray-bg); }
#btn_autosave { height:36px; font-size:12px; padding:0 12px; border:1px solid var(--border); border-radius:6px; background:var(--white); cursor:pointer; color:var(--muted); margin-left:8px; }
#char_count_desc { font-size:12px; color:var(--muted); margin-bottom:6px; }
#char_count_wrap { text-align:right; font-size:12px; color:var(--muted); margin-top:4px; }
#char_count { font-weight:700; color:var(--navy); }

/* ================================================================
   반응형
================================================================ */
@media screen and (max-width: 900px) {
  .gallery-list { grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:16px; }
}

@media screen and (max-width: 760px) {
  .gallery-list { grid-template-columns:1fr; gap:14px; }
  .gallery-list li:hover { transform:none; }

  #bo-cate a { font-size:13px; height:36px; padding:0 16px; }

  .bo-top-wrap { flex-wrap:wrap; gap:10px; margin-bottom:16px; }
  .board-btn a { font-size:12px; padding:0 12px; height:32px; }

  #bo-v-title { padding:22px 20px 18px; }
  .bo-v-tit { font-size:18px; }
  #bo-v-info { padding:12px 20px; font-size:12px; }
  #bo_v_atc { padding:20px; }
  .bo_v_nb { margin:0 20px 0; }
  #bo_v_file, #bo_v_link { padding:0 20px 18px; }

  .bo-vc-act { flex-direction:column; gap:4px; }
  .cm-header-content { font-size:12px; flex-wrap:wrap; }

  #bo_w { padding:20px; }
  .input-title { flex:0 0 72px; font-size:12px; }
  .input-content input[type=text],
  .input-content input[type=password] { height:40px; font-size:13px; }
  #bo_w .btn-confirm .btn-submit,
  #bo_w .btn-confirm .btn-cancel { height:44px; padding:0 24px; font-size:14px; }

  .bo-sch-box { width:calc(100% - 40px); }
  .bo-sch h3 { font-size:28px; }
  .bo-sch-cls { right:20px; top:20px; }

  /* review list item - widen inner side padding on mobile */
  .review-list-style li { padding-left:14px; padding-right:14px; }
  .review-item-flex { gap:14px; }
  .review-image-area { width:96px; height:96px; }
}

/* 후기 별점 공통 */
.review-star { font-size:16px; color:#F6B100; letter-spacing:1px; }

/* ============================================================
   CHOYEONGUNG OVERRIDE  (hanji folio retheme + full width)
   Appended last so it wins the cascade. English comments only.
   Redefining the skin variables here recolors the whole skin.
============================================================ */
:root{
  --navy:#3F6752;      /* strong accent (was navy) -> deep celadon */
  --gold:#AE8836;      /* antique gold - labels */
  --gold-lt:#C6A356;
  --cream:#FBF8F1;
  --gray-bg:#ECE5D6;
  --border:#DBD2C0;
  --text:#241F1A;
  --muted:#8B8173;
  --white:#FBF8F1;
  --radius:14px;
  --shadow:0 4px 20px rgba(94,74,42,.10);
  --shadow-hover:0 12px 34px rgba(94,74,42,.16);
}

/* full-width wrapper (fills .ch-sub-wrap; no bootstrap container) */
.chrev{width:100%;}
.chrev-head{margin-bottom:30px;}

/* primary action button (write) filled celadon */
.chrev .btn-bo-write{background:var(--navy);color:#FBF8F1;border-color:var(--navy);}
.chrev .btn-bo-write:hover{background:#33553F;color:#FBF8F1;border-color:#33553F;}
/* keep text readable on any celadon-filled control */
.chrev .board-btn a:hover,.chrev #bo_cate_on,.chrev .pg_current,
.chrev .cmt_btn:hover,.chrev .bo-vc-submit,.chrev .sch-btn,
.chrev .bo_v_good:hover,.chrev .check-box input:checked ~ span{color:#FBF8F1;}
.sch-btn,.bo-vc-submit,#bo_cate_on{color:#FBF8F1;}

/* ---- review list: full-width testimonial cards ---- */
.chrev .review-list-style{display:flex;flex-direction:column;gap:14px;width:100%;margin:0 0 30px;padding:0;list-style:none;}
.chrev .review-list-style li{
  display:block;width:100%;background:var(--white);
  border:1px solid var(--border);border-radius:var(--radius);
  padding:24px 26px;transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease;
}
.chrev .review-list-style li:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px);border-color:var(--gold-lt);}
.chrev .review-item-flex{display:flex;width:100%;justify-content:space-between;align-items:center;gap:26px;}
.chrev .review-text-area{flex:1;display:block;color:inherit;text-decoration:none;min-width:0;}
.chrev .gallery-list-content{position:relative;display:block;}

.chrev .gallery-list-category{display:block;font-family:'Gowun Batang',serif;font-size:12px;letter-spacing:.14em;color:var(--gold);margin-bottom:4px;}
.chrev .gallery-list-category:empty{display:none;}

/* star row (SVG) */
.chrev .review-star{display:flex;gap:3px;margin:2px 0 12px;line-height:1;}
.chrev .review-star svg{width:17px;height:17px;fill:#DBD2C0;display:block;}
.chrev .review-star svg.on{fill:#C6A356;}

/* review body = the testimonial, made prominent */
.chrev .review-list-style .gallery-list-category-text{
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  font-family:'Gowun Batang',serif;font-size:17px;line-height:1.7;color:var(--text);margin:0 0 16px;
}
.chrev .gallery-list-content-text{display:none;}

/* meta row */
.chrev .gallery-list-content-etc{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12.5px;color:var(--muted);padding-top:14px;border-top:1px solid var(--border);margin-top:auto;}
.chrev .review-badge{display:inline-block;background:#B0402E;color:#F6ECDD;font-size:11px;font-weight:700;padding:4px 11px;border-radius:3px;letter-spacing:.02em;margin:0;}
.chrev .list-writer{font-weight:700;color:var(--text);background:none;padding-left:0;}
.chrev .list-date{color:var(--muted);font-family:tahoma;font-size:12px;background:none;padding-left:0;margin-left:0;}
.chrev .list-comment{display:none;}

/* thumbnail */
.chrev .review-image-area{width:136px;height:136px;flex-shrink:0;overflow:hidden;border-radius:10px;position:relative;border:1px solid var(--border);}
.chrev .review-list-thumb{width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;}
.chrev .review-swiper,.chrev .review-swiper .swiper-slide{width:100%;height:100%;}
.chrev .no-img-box{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--gray-bg);color:var(--muted);font-size:11px;border:1px dashed var(--border);}
.chrev .no-img-box.secret-box{background:#241F1A;color:#C6A356;border-style:solid;}
/* hide the empty-thumbnail box on modern browsers so text fills the row */
.chrev .review-image-area:has(.no-img-box:not(.secret-box)){display:none;}

/* empty list */
.chrev .gallery-empty-list div{height:170px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:15px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--white);}

/* ---- view page ---- */
.chrev #bo-v-info{background:linear-gradient(135deg,#3F6752 0%,#241F1A 100%);color:#EFE7D6;}
.chrev #bo-v-info .profile-info strong{color:#fff;}
.chrev #bo-v-info .review-star svg{width:15px;height:15px;}
.chrev #bo_v_con{font-family:'Gowun Batang',serif;font-size:16px;line-height:1.9;}

/* ---- mobile ---- */
@media (max-width:760px){
  .chrev .review-list-style li{padding:18px 18px;}
  .chrev .review-item-flex{flex-direction:column;align-items:stretch;gap:14px;}
  .chrev .review-image-area{width:100%;height:190px;order:-1;}
  .chrev .review-list-style .gallery-list-category-text{font-size:15.5px;-webkit-line-clamp:4;}
  .chrev .gallery-list-content-etc{gap:8px;}
}

/* ---- write page: star rating (SVG) + submit ---- */
.chrev .star_rating{display:flex;flex-direction:column;gap:6px;}
.chrev .star_rating label{display:inline-flex;align-items:center;gap:10px;cursor:pointer;padding:6px 10px;border-radius:8px;transition:background .15s;}
.chrev .star_rating label:hover{background:var(--gray-bg);}
.chrev .star_rating .stars{display:inline-flex;gap:2px;}
.chrev .star_rating .stars svg{width:20px;height:20px;fill:#C6A356;display:block;}
.chrev .star_rating input[type=radio]{accent-color:#3F6752;width:16px;height:16px;}
.chrev #bo_w .btn-confirm .btn-submit{background:var(--navy);color:#FBF8F1;border:none;}
.chrev #bo_w .btn-confirm .btn-submit:hover{background:#33553F;opacity:1;color:#FBF8F1;}

/* ---- write page: file attach row (single clean line) ---- */
.chrev .file-input-row{display:flex;align-items:stretch;width:100%;}
.chrev .file-input-row .file-route{
  flex:1 1 auto;width:auto;min-width:0;height:44px;
  border:1px solid var(--border);border-right:0;border-radius:8px 0 0 8px;
  padding:0 14px;font-size:13px;color:var(--muted);background:var(--gray-bg);
}
.chrev .file-input-row .file-label{
  flex:0 0 auto;width:auto;min-width:96px;height:44px;padding:0 20px;
  background:var(--navy);color:#FBF8F1;border-radius:0 8px 8px 0;
  font-size:13px;font-weight:600;letter-spacing:.02em;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;white-space:nowrap;transition:background .2s;
}
.chrev .file-input-row .file-label:hover{background:#33553F;}
/* hide native file input (label click still opens the dialog) */
.chrev .file-input-row .hidden-file{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}


/* ============================================================
   CHEONMU DARK RETHEME (ink navy + gold)
   Appended last so it wins the cascade. English comments only.
   Flips the whole review skin to the site's dark theme and
   hides the skin's own pagehead (head.php provides the banner).
============================================================ */
:root{
  --navy:#1b263f;      /* deep panel (used for gradients/fills base) */
  --gold:#c9a24b;      /* gold accent */
  --gold-lt:#e6c877;
  --cream:#0e1524;     /* subtle dark surface */
  --gray-bg:#1b263f;   /* input fill dark */
  --border:#26324c;    /* separators */
  --text:#dbe2ee;      /* body text light */
  --muted:#8a97ad;     /* secondary text */
  --white:#131c2f;     /* card surface dark */
  --shadow:0 6px 24px rgba(0,0,0,.4);
  --shadow-hover:0 16px 40px rgba(0,0,0,.55);
}

/* hide skin's own banner (head.php cm-sub-top already shows the title) */
.ch-pagehead, .chrev-head{ display:none !important; }

.chrev{ color:var(--text); }

/* --- gold-filled primary buttons, dark text --- */
.chrev .board-btn a.btn-bo-write,
.chrev .btn-bo-write,
.chrev .sch-btn,
.chrev .bo-vc-submit,
.chrev #bo_w .btn-confirm .btn-submit,
.chrev .file-input-row .file-label,
.chrev .file-label,
.chrev #bo_cate_on,
.chrev .pg_current,
.chrev #bo_list .pg_current{
  background:linear-gradient(135deg,#c9a24b,#e6c877) !important;
  color:#0a0f1a !important;
  border-color:#c9a24b !important;
}
.chrev .board-btn a.btn-bo-write:hover,
.chrev .btn-bo-write:hover,
.chrev .sch-btn:hover,
.chrev .bo-vc-submit:hover,
.chrev #bo_w .btn-confirm .btn-submit:hover,
.chrev .file-input-row .file-label:hover{
  background:linear-gradient(135deg,#e6c877,#c9a24b) !important;
  color:#0a0f1a !important; opacity:1;
}

/* --- outline buttons --- */
.chrev .board-btn a{
  background:var(--white) !important; color:#e8ecf5 !important; border-color:var(--border) !important;
}
.chrev .board-btn a:hover{
  background:#c9a24b !important; color:#0a0f1a !important; border-color:#c9a24b !important; box-shadow:var(--shadow);
}

/* --- top toolbar / totals --- */
.chrev .bo-top-wrap{ border-color:var(--border); }
.chrev .list-total{ color:var(--muted); }
.chrev .list-total strong{ color:var(--gold-lt); }

/* --- category tabs --- */
.chrev #bo-cate a{ background:var(--white); border-color:var(--border); color:var(--muted); }
.chrev #bo-cate a:hover{ background:var(--cream); border-color:#c9a24b; color:var(--gold-lt); }

/* --- review list cards --- */
.chrev .review-list-style li{ background:var(--white); border-color:var(--border); }
.chrev .review-list-style li:hover{ border-color:rgba(201,162,75,.5); box-shadow:var(--shadow-hover); }
.chrev .gallery-list-category{ color:var(--gold); }
.chrev .review-list-style .gallery-list-category-text{ color:var(--text); }
.chrev .gallery-list-content-etc{ border-color:var(--border); color:var(--muted); }
.chrev .list-writer{ color:#e8ecf5 !important; }
.chrev .list-date{ color:var(--muted) !important; }
.chrev .review-star svg{ fill:#3a4560; }
.chrev .review-star svg.on{ fill:#e6c877; }
.chrev .review-badge{ background:linear-gradient(135deg,#c9a24b,#e6c877) !important; color:#0a0f1a !important; }
.chrev .review-image-area{ border-color:var(--border); }
.chrev .no-img-box{ background:var(--gray-bg); color:var(--muted); border-color:var(--border); }
.chrev .no-img-box.secret-box{ background:#0a0f1a; color:var(--gold-lt); }
.chrev .gallery-empty-list div{ background:var(--white); border-color:var(--border); color:var(--muted); }

/* --- pagination --- */
.chrev #bo_list .pg_page,
.chrev #bo_list .pg_start,.chrev #bo_list .pg_prev,
.chrev #bo_list .pg_end,.chrev #bo_list .pg_next{
  background:var(--white); border-color:var(--border); color:var(--muted);
}
.chrev #bo_list .pg_page:hover,
.chrev #bo_list .pg_start:hover,.chrev #bo_list .pg_prev:hover,
.chrev #bo_list .pg_end:hover,.chrev #bo_list .pg_next:hover{
  background:var(--gray-bg); border-color:#c9a24b; color:var(--gold-lt);
}

/* --- view page --- */
.chrev #bo_v{ background:var(--white); border-color:var(--border); }
.chrev #bo-v-info{ background:linear-gradient(135deg,#131c2f 0%,#1b263f 100%) !important; color:var(--gold-lt); border-color:var(--border); }
.chrev #bo-v-info .profile-info strong{ color:#fff; }
.chrev #bo_v_con{ color:var(--text); }
.chrev #bo_v_act a{ border-color:var(--border); color:var(--muted); }
.chrev .bo_v_nb{ border-color:var(--border); }
.chrev .bo_v_nb li{ border-color:var(--border); }
.chrev .bo_v_nb .nb_tit{ color:var(--gold); }
.chrev .bo_v_nb a{ color:#e8ecf5; }
.chrev .bo_v_nb a:hover{ color:var(--gold-lt); }
.chrev #bo_v_file li,.chrev #bo_v_link li{ border-color:var(--border); }
.chrev #bo_v_file a,.chrev #bo_v_link a{ color:#e8ecf5; }
.chrev #bo_v_file a:hover,.chrev #bo_v_link a:hover{ color:var(--gold-lt); }

/* --- comments --- */
.chrev .cmt_btn{ background:var(--cream); border-color:var(--border); color:#e8ecf5; }
.chrev .cmt_btn:hover{ background:#c9a24b; color:#0a0f1a; border-color:#c9a24b; }
.chrev #bo_vc article{ background:var(--cream); border-color:var(--border); }
.chrev #bo_vc article.bo-vc-reply{ border-left-color:var(--gold-lt); }
.chrev .cm-header-content{ color:var(--muted); }
.chrev .cmt_contents p{ color:var(--text); }
.chrev .cm-parent-info{ color:var(--gold-lt); }
.chrev .cm-reply-btn,.chrev .cm-modify-btn,.chrev .cm-delete-btn{ background:var(--white); border-color:var(--border); color:var(--muted); }
.chrev #bo_vc_empty{ color:var(--muted); }
.chrev #bo_vc_w{ background:var(--white); border-color:var(--border); }
.chrev #bo_vc_w h2{ color:#fff; }

/* --- write form --- */
.chrev #bo_w{ background:var(--white); border-color:var(--border); }
.chrev .input-box{ border-color:var(--border); }
.chrev .input-title{ color:#d9bd7e; }
.chrev .input-content input[type=text],
.chrev .input-content input[type=password],
.chrev .input-content select,
.chrev .wr_content textarea,
.chrev .comment-write-box textarea,
.chrev .bo-vc-guest-input input,
.chrev .file-input-row .file-route{
  background:var(--gray-bg) !important; border-color:var(--border) !important; color:#e8ecf5 !important;
}
.chrev .btn-cancel{ background:var(--white) !important; color:#e8ecf5 !important; border-color:var(--border) !important; }
.chrev .btn-cancel:hover{ border-color:#c9a24b !important; color:var(--gold-lt) !important; }
.chrev #char_count_desc{ color:var(--muted); }
.chrev #char_count{ color:var(--gold-lt); }

/* --- search overlay (dark glass) --- */
.bo-sch h3{ color:#fff !important; }
.bo-sch-inner{ background:rgba(19,28,47,.95) !important; }
.bo-sch select,.bo-sch input[type=text]{ background:var(--gray-bg) !important; color:#e8ecf5 !important; border-color:var(--border) !important; }
.bo-sch-bg{ background:rgba(10,15,26,.85) !important; }
.bo-sch-cls{ color:#fff !important; }

/* --- checkbox --- */
.chrev .check-box input:checked ~ span{ background:#c9a24b !important; border-color:#c9a24b !important; }
.chrev .check-box span:after{ border-color:#0a0f1a; }


/* ============================================================
   FINAL READABILITY PASS (literal colors, no CSS vars)
   Some servers did not resolve the :root var override, leaving
   white cards + faint text. These literal rules force the dark
   card surfaces and strong, readable text regardless of vars.
============================================================ */
/* review list cards -> dark surface */
.chrev .review-list-style li{
  background:#131c2f !important;
  border:1px solid #26324c !important;
}
.chrev .review-list-style li:hover{ border-color:#c9a24b !important; }

/* review content text -> bright + a touch bolder */
.chrev .review-list-style .gallery-list-category-text{
  color:#eef2f8 !important; font-weight:500 !important;
}
.chrev .gallery-list-category{ color:#e6c877 !important; }
.chrev .list-writer{ color:#f2f5fa !important; font-weight:700 !important; }
.chrev .list-date{ color:#95a2b8 !important; }
.chrev .gallery-list-content-etc{ border-top-color:#26324c !important; }
.chrev .review-star svg{ fill:#3a4560 !important; }
.chrev .review-star svg.on{ fill:#e6c877 !important; }

/* view page surfaces + text */
.chrev #bo_v{ background:#131c2f !important; border-color:#26324c !important; }
.chrev #bo-v-info{ background:linear-gradient(135deg,#131c2f 0%,#1b263f 100%) !important; }
.chrev #bo_v_con{ color:#eef2f8 !important; font-size:16px !important; line-height:1.9 !important; }
.chrev .bo_v_nb a{ color:#eef2f8 !important; }
.chrev .bo_v_nb .nb_tit{ color:#e6c877 !important; }

/* comments surfaces + text */
.chrev #bo_vc article{ background:#0e1524 !important; border-color:#26324c !important; }
.chrev .cmt_contents p{ color:#eef2f8 !important; }
.chrev .cm-header-content{ color:#95a2b8 !important; }
.chrev #bo_vc_w{ background:#131c2f !important; border-color:#26324c !important; }

/* write form surfaces + inputs */
.chrev #bo_w{ background:#131c2f !important; border-color:#26324c !important; }
.chrev .input-box{ border-color:#26324c !important; }
.chrev .input-title{ color:#e6c877 !important; }
.chrev .input-content input[type=text],
.chrev .input-content input[type=password],
.chrev .input-content select,
.chrev .wr_content textarea,
.chrev .comment-write-box textarea,
.chrev .bo-vc-guest-input input,
.chrev .file-input-row .file-route{
  background:#1b263f !important; border-color:#26324c !important; color:#eef2f8 !important;
}

/* no-image thumb box */
.chrev .no-img-box{ background:#1b263f !important; color:#95a2b8 !important; border-color:#26324c !important; }


/* --- view/list action buttons: force dark bg + readable light text --- */
.chrev .board-btn a{
  background:#1b263f !important;
  color:#eaf0f8 !important;
  border:1px solid #33415f !important;
  text-decoration:none !important;
}
.chrev .board-btn a:hover{
  background:#c9a24b !important;
  color:#0a0f1a !important;
  border-color:#c9a24b !important;
}
/* primary write button stays gold */
.chrev .board-btn a.btn-bo-write{
  background:linear-gradient(135deg,#c9a24b,#e6c877) !important;
  color:#0a0f1a !important;
  border-color:#c9a24b !important;
}