@charset "utf-8";

/* ================================================
   REDPOL 01 — 게시판 스타일
   contact.php 폼 디자인 기반 다크 테마
   ================================================ */

/* ---- 변수 ---- */
:root {
  --red: #f3310f;
  --white: #ffffff;
  --black: #0a0a0a;
  --gray: #555;
  --border: rgba(255,255,255,0.12);
  --text-dim: rgba(255,255,255,0.45);
  --text-mid: rgba(255,255,255,0.65);
  --bg-card: rgba(255,255,255,0.03);
  --font-sans: 'AstaSans', sans-serif;
  --font-display: 'Paperozi', sans-serif;
}

/* ================================================
   게시판 카테고리
   ================================================ */
#bo_cate { margin: 28px 0; }
#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 { display:inline-block; }
#bo_cate a {
  display: block;
  line-height: 1;
  padding: 8px 18px;
  border: 1px solid var(--border);
  border-radius: 0;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.15em;
  color: var(--text-dim);
  text-decoration: none;
  transition: color 0.3s, border-color 0.3s;
}
#bo_cate a:focus,
#bo_cate a:hover,
#bo_cate a:active {
  color: var(--white);
  border-color: rgba(255,255,255,0.4);
  text-decoration: none;
}
#bo_cate #bo_cate_on {
  border-color: var(--red);
  color: var(--white);
  position: relative;
}
#bo_cate #bo_cate_on::after {
  content: '';
  position: absolute;
  bottom: -1px; left: 0;
  width: 100%; height: 1px;
  background: var(--red);
}

/* ================================================
   체크박스
   ================================================ */
.selec_chk { position:absolute; top:0; left:0; width:0; height:0; opacity:0; outline:0; z-index:-1; overflow:hidden; }
.chk_box { position:relative; list-style:none;}
.chk_box input[type="checkbox"] + label {
  position: relative;
  padding-left: 30px;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight:500;
  line-height: 1;
  letter-spacing: 0.05em;
  vertical-align: baseline;
  cursor: pointer;
  transition: color 0.3s;
}
.chk_box input[type="checkbox"] + label:hover { color: var(--white); }
.chk_box input[type="checkbox"] + label span {
  position: absolute;
  top: 1px; left: 0;
  width: 14px; height: 14px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 0;
}
.write_div .chk_box input[type="checkbox"] + label span,
.bo_vc_w .chk_box input[type="checkbox"] + label span {
position: absolute;
    top: 0;
    left: 0;
    width: 19px;
    height: 19px;
    border-radius: 3px;
}
.chk_box input[type="checkbox"]:checked + label { color: var(--white); }
.chk_box input[type="checkbox"]:checked + label span {
  background: var(--red);
  border-color: var(--red);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%23fff' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size:17px;
}
.all_chk.chk_box input[type="checkbox"] + label span { top:0; left:0; }

/* ================================================
   갤러리 목록
   ================================================ */
#bo_gall h2 { position:absolute; font-size:0; line-height:0; overflow:hidden; }
#bo_gall #gall_ul { margin:16px 0 0; padding:0; list-style:none; display:grid; gap:24px; }

.gall_row .col-gn-0, .gall_row .col-gn-1 { width:100%; }
.gall_row .col-gn-2 { width:50%; }
.gall_row .col-gn-3 { width:33.33%; }
.gall_row .col-gn-4 { width:25%; }
.gall_row .col-gn-5 { width:20%; }
.gall_row .col-gn-6 { width:16.67%; }
.gall_row [class^="col-gn-"] { float:left; padding:0 10px; box-sizing:border-box; }
.gall_row .box_clear { clear:both; }

#bo_gall .gall_li { }
#bo_gall .gall_li .gall_chk { position:absolute; top:8px; left:8px; z-index:1; }

#bo_gall .gall_box {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 0;
  transition: border-color 0.3s;
}
#bo_gall .gall_box:hover { border-color: rgba(255,255,255,0.28); }
#bo_gall .gall_con { position:relative; }

#bo_gall .gall_now .gall_text_href a { color: var(--red); }
#bo_gall .gall_href a:link,
#bo_gall .gall_href a:focus,
#bo_gall .gall_href a:hover { text-decoration:none; }

#bo_gall .gall_img {
  border-bottom: 1px solid var(--border);
  text-align: center;
  overflow: hidden;
  background: rgba(255,255,255,0.02);
}
#bo_gall .gall_img a,
#bo_gall .gall_img .no_image,
#bo_gall .gall_img .is_notice { display:block; }
#bo_gall .gall_img img,
#bo_gall .gall_img video { max-width:100%; height:auto !important; display:block; width:100%; }
#bo_gall .gall_img span {
  display: inline-block;
  background: rgba(255,255,255,0.05);
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1em;
  color: var(--text-dim);
}

#bo_gall .gall_text_href { margin:12px 16px 4px; }
#bo_gall .gall_text_href a {
    font-family: var(--font-sans);
    color: var(--white);
    font-size: 1.25em;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 1em 0;

}
#bo_gall .gall_text_href img { margin:0 0 0 4px; }
#bo_gall .bo_tit {
  display: block;
  line-height: 1.5;
  color: var(--white);
}
#bo_gall .bo_tit .cnt_cmt {
  background: rgba(243,49,15,0.15);
  color: var(--red);
  font-size: 10px;
  height: 16px;
  line-height: 16px;
  padding: 0 6px;
  border-radius: 0;
  vertical-align: middle;
}
#bo_gall .bo_cnt {    padding-top: 5px;
    color: rgb(255 255 255 / 31%);
    line-height: 1.6;
    font-size: 0.975em;
    letter-spacing: 0em;}
#bo_gall .profile_img img { border-radius: 50%; }

#bo_gall .gall_info {
  padding: 8px 16px 14px;
  line-height: 1.6;
  font-family: var(--font-sans);
  font-size:0.92em;
  font-weight:300;    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
#bo_gall .gall_info strong { display:inline-block; margin:0; }
#bo_gall .gall_info i { font-size:11px; }
#bo_gall .gall_info .gall_date,
#bo_gall .gall_info .gall_view {
  display: inline-flex;

  color:#fff;
  letter-spacing: 0.05em;
}
#bo_gall .gall_info .gall_view .material-symbols-rounded{padding-right:5px; font-weight:400; font-size:20px;}
#bo_gall .gall_option { position:absolute; top:10px; right:10px; }
#bo_gall .gall_option strong {
  background: rgba(10,10,10,0.85);
  padding: 4px 10px;
  border: 1px solid var(--border);
  font-size: 11px;
  color: var(--text-mid);
}

#bo_gall li.empty_list {
  padding: 100px 0;
  text-align: center;
  color: var(--text-dim);
  font-family: var(--font-sans);
  font-size: 13px;
  letter-spacing: 0.1em;
}

/* ================================================
   게시판 목록 공통
   ================================================ */
#bo_btn_top { margin:12px 0; display:flex; align-items:center; justify-content:space-between; }
.bo_fx { float:right; }
.bo_fx ul { margin:0; padding:0; list-style:none; display:flex; gap:6px; }
#bo_list_total {
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--text-dim);
  line-height: 36px;
}

.btn_bo_user { float:right; margin:0; padding:0; list-style:none; display:flex; gap:6px; }
.btn_bo_user li { position:relative; }
.btn_bo_adm { float:left; display:flex; gap:6px; }
.btn_bo_adm li { }
.btn_bo_adm input {
  padding: 0 12px;
  height: 34px;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--text-mid);
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: border-color 0.3s, color 0.3s;
}
.btn_bo_adm input:hover { border-color: rgba(255,255,255,0.35); color: var(--white); }

.bo_notice td { background: rgba(243,49,15,0.04) !important; border-bottom: 1px solid rgba(243,49,15,0.12); }
.bo_notice td a { font-weight: 500; }
.bo_notice .notice_icon {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--red);
}

/* 더보기 드롭다운 */
.more_opt {
  display: none;
  position: absolute;
  top: 42px; right: 0;
  background: rgba(15,15,15,0.96);
  border: 1px solid var(--border);
  backdrop-filter: blur(12px);
  z-index: 999;
  min-width: 110px;
}
.more_opt:before,
.more_opt:after { display:none; }
.more_opt li {
  border-bottom: 1px solid var(--border);
  padding: 10px 16px;
  float: none;
  width: auto;
  margin: 0;
  color: var(--text-dim);
  text-align: left;    list-style: none;
}
.more_opt li:last-child { border-bottom: 0; }
.more_opt li button,
.more_opt li a {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--text-mid);
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: color 0.3s;
}
.more_opt li:hover a,
.more_opt li:hover button { color: var(--white); }
.more_opt li i { float:right; line-height:20px; }

/* 분류 링크 */
.bo_cate_link {
  display: inline-block;
  background: rgba(243,49,15,0.1);
  color: var(--red);
  font-weight: 400;
  height: 20px;
  line-height: 20px;
  padding: 0 8px;
  font-size: 10px;
  letter-spacing: 0.1em;
  border-radius: 0;
}
.bo_cate_link:hover { background: rgba(243,49,15,0.2); text-decoration: none; }
.bo_current { color: var(--red); }

#bo_list .profile_img { display:inline-block; margin-right:5px; }
#bo_list .profile_img img { border-radius:50%; }
#bo_list .cnt_cmt {
  display: inline-block;
  margin: 0 0 0 4px;
  font-weight: 500;
  color: var(--red);
  font-size: 0.85em;
}
.td_num strong { color: var(--white); }
.td_subject img { margin-left:3px; }

/* ================================================
   검색 모달
   ================================================ */
.bo_sch_wrap { display:none; width:100%; height:100%; position:fixed; top:0; left:0; z-index:999; }
.bo_sch {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(12,12,12,0.97);
  border: 1px solid var(--border);
  backdrop-filter: blur(20px);
  width: 360px;
  max-height: 320px;
  overflow-y: auto;
  border-radius: 0;
}
.bo_sch h3 {
  padding: 18px 20px;
  border-bottom: 1px solid var(--border);
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: 0.15em;
  color: var(--text-mid);
}
.bo_sch form { padding: 16px 20px; }
.bo_sch select {
  border: none;
  border-bottom: 1px solid var(--border);
  width: 100%;
  height: 40px;
  background: transparent;
  color: var(--white);
  font-family: var(--font-sans);
  font-size: 13px;
  letter-spacing: 0.04em;
  padding: 0;
}
.bo_sch .sch_bar {
  display: flex;
  align-items: center;
  margin-top: 14px;
  border-bottom: 1px solid rgba(255,255,255,0.2);
  transition: border-color 0.3s;
}
.bo_sch .sch_bar:focus-within { border-bottom-color: var(--red); }
.bo_sch .sch_input {
  flex: 1;
  height: 38px;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--white);
  font-family: var(--font-sans);
  font-size: 13px;
  letter-spacing: 0.04em;
  outline: none;
}
.bo_sch .sch_input::placeholder { color: var(--text-dim); }
.bo_sch .sch_btn {
  height: 38px;
  color: var(--text-dim);
  background: none;
  border: 0;
  width: 36px;
  font-size: 14px;
  cursor: pointer;
  transition: color 0.3s;
}
.bo_sch .sch_btn:hover { color: var(--red); }
.bo_sch .bo_sch_cls {
  position: absolute;
  right: 0; top: 0;
  color: var(--text-dim);
  border: 0;
  padding: 14px 16px;
  font-size: 14px;
  background: transparent;
  cursor: pointer;
  transition: color 0.3s;
}
.bo_sch .bo_sch_cls:hover { color: var(--white); }
.bo_sch_bg { background: rgba(0,0,0,0.6); width:100%; height:100%; backdrop-filter: blur(4px); }

/* ================================================
   글쓰기 / 폼 필드
   contact.php 동일 스타일
   ================================================ */
#char_count_desc { display:block; margin:0 0 6px; color: var(--text-dim); font-size:11px; letter-spacing:0.08em; }
#char_count_wrap { margin:6px 0 0; text-align:right; }
#char_count { font-weight:600; color: var(--red); }

/* 입력 필드 공통 — contact.php 동일 */
.frm_input,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="url"],
textarea,
select {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,0.2);
  padding: 10px 0;
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: 14px;
  color: var(--white);
  outline: none;
  border-radius: 0;
  transition: border-color 0.3s ease;
  letter-spacing: 0.04em;
}
.frm_input:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
  border-bottom-color: var(--red);
}
.frm_input::placeholder,
input::placeholder,
textarea::placeholder {
  color: var(--text-dim);
}
textarea {
  resize: vertical;
  min-height: 100px;
  line-height: 1.7;
}

/* 버튼 — contact.php SEND 버튼 동일 */
.btn,
input[type="submit"],
button[type="submit"],
.btn_submit {

}
.btn:hover,
input[type="submit"]:hover,
button[type="submit"]:hover,
.btn_submit:hover {
  transform: translateY(-1px);
  text-decoration: none;
}

/* 보조 버튼 */
.btn_cancel,
.btn_list,
.btn_reply {

  background: transparent;
  color: var(--text-mid);

  border: 1px solid var(--border);
  transition: border-color 0.3s, color 0.3s;
}
.btn_cancel:hover,
.btn_list:hover,
.btn_reply:hover {
  border-color: rgba(255,255,255,0.35);
  color: var(--white);
  text-decoration: none;
}

/* ================================================
   자동저장
   ================================================ */
#autosave_wrapper { position:relative; }
#autosave_pop {
  display: none;
  z-index: 10;
  position: absolute;
  top: 40px; right: 0;
  width: 320px;
  border: 1px solid var(--border);
  background: rgba(10,10,10,0.96);
  backdrop-filter: blur(16px);
}
#autosave_pop:before,
#autosave_pop:after { display:none; }
#autosave_pop strong { position:absolute; font-size:0; line-height:0; overflow:hidden; }
#autosave_pop div { text-align:center; margin:0 !important; }
#autosave_pop button { margin:0; padding:0; border:0; background:transparent; }
#autosave_pop ul {
  padding: 12px;
  border-top: 1px solid var(--border);
  list-style: none;
  overflow-y: scroll;
  height: 140px;
  border-bottom: 1px solid var(--border);
}
#autosave_pop li {
  padding: 8px 10px;
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,0.03);
}
#autosave_pop li:last-child { border-bottom:0; }
#autosave_pop a {
  display: block;
  float: left;
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--text-mid);
  text-decoration: none;
}
#autosave_pop span {
  display: block;
  float: right;
  font-size: 11px;
  color: var(--text-dim);
  font-style: italic;
}
.autosave_close {
  cursor: pointer;
  width: 100%;
  height: 36px;
  background: none;
  color: var(--text-dim);
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.1em;
  border: 0;
  transition: color 0.3s;
}
.autosave_close:hover { color: var(--white); }
.autosave_content { display:none; }
.autosave_del {
  background: transparent;
  border: 1px solid var(--border);
  width: 20px; height: 20px;
  text-indent: -999px;
  overflow: hidden;
  cursor: pointer;
}

/* ================================================
   게시글 읽기
   ================================================ */
#bo_v {
  margin-bottom: 32px;
  background: transparent;
  box-sizing: border-box;
}
#bo_v_table {
  position: absolute;
  top: 0; right: 16px;
  padding: 0 10px;
  height: 24px;
  background: var(--red);
  color: var(--white);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 24px;
}
#bo_v_title { }
#bo_v_title .bo_v_cate {
  display: inline-block;
  background: rgba(243,49,15,0.1);
  color: var(--red);
  padding: 4px 10px;
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.12em;
}
#bo_v_title .bo_v_tit {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(18px,2.5vw,28px);
  color: var(--white);
  margin: 8px 0 0;
  font-weight: 700;
  letter-spacing: -0.01em;
  word-break: break-all;
}

#bo_v_info {
  margin: 0;
  border-bottom: 1px solid var(--border);
  color: var(--text-dim);
  font-family: var(--font-sans);
  font-size: 12px;
}
#bo_v_info .profile_info { margin: 16px 0 10px; display:inline-block; float:left; }
#bo_v_info .profile_info .pf_img { float:left; margin-right:10px; }
#bo_v_info .profile_info .pf_img img { border-radius:50%; width:40px; height:40px; }
#bo_v_info .profile_info .profile_info_ct {    display: grid;    gap: 10px;}
#bo_v_info .profile_info .profile_info_ct p{color:#fff;font-weight:600;}
#bo_v_info strong { display:inline-block; margin:0 8px 0 0; font-weight:400; }
#bo_v_info .sv_member,
#bo_v_info .member { font-weight:600; color: var(--white); }
#bo_v_info .if_date { margin:0; color: var(--text-dim); }

/* 첨부파일 */
#bo_v_file h2,
#bo_v_link h2 { position:absolute; font-size:0; line-height:0; overflow:hidden; }
#bo_v_file ul,
#bo_v_link ul { margin:0; list-style:none; padding:0; }
#bo_v_file li,
#bo_v_link li {
  padding: 14px 18px;
  position: relative;
  margin: 8px 0;
  border: 1px solid var(--border);
  background: var(--bg-card);
  border-radius: 0;
  transition: border-color 0.3s;
}
#bo_v_file li:hover,
#bo_v_link li:hover { border-color: rgba(255,255,255,0.28); }
#bo_v_file li i,
#bo_v_link li i { float:left; color: var(--text-dim); font-size:1.8em; margin-right:16px; }
#bo_v_file a,
#bo_v_link a {
  float: left;
  color: var(--text-mid);
  font-family: var(--font-sans);
  font-size: 13px;
  text-decoration: none;
  word-wrap: break-word;
  transition: color 0.3s;
}
#bo_v_file a:hover,
#bo_v_link a:hover { color: var(--white); text-decoration: none; }
#bo_v_file .bo_v_file_cnt,
#bo_v_link .bo_v_link_cnt { color: var(--text-dim); font-size:11px; }

/* 게시글 본문 */
#bo_v_con {
  margin: 20px 0 36px;
  width: 100%;
  line-height: 2;
  min-height: 180px;
  word-break: break-all;
  overflow: hidden;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.78);
}
#bo_v_con a { color: var(--red); text-decoration: underline; }
#bo_v_con img { max-width:100%; height:auto; }

/* 추천/비추천 */
#bo_v_act { margin-bottom:36px; text-align:center; }
#bo_v_act a {
  margin-right: 6px;
  vertical-align: middle;
  color: var(--text-mid);
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-decoration: none;
  transition: color 0.3s;
}
#bo_v_act a:hover { color: var(--red); }
#bo_v_act .bo_v_good,
#bo_v_act .bo_v_nogood {
  display: inline-block;
  border: 1px solid var(--border);
  min-width: 68px;
  line-height: 44px;
  padding: 0 16px;
  border-radius: 0;
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: 0.1em;
  transition: border-color 0.3s, color 0.3s;
}
#bo_v_act .bo_v_good:hover,
#bo_v_act .bo_v_nogood:hover { border-color: var(--red); color: var(--red); }

/* 이전/다음글 */
.bo_v_nb { margin:24px 0; position:relative; clear:both; text-align:left; }
.bo_v_nb li {
  border-top: 1px solid var(--border);
  padding: 14px 16px;
  font-family: var(--font-sans);
  font-size: 12px;
  transition: background 0.3s;
}
.bo_v_nb li:last-child { border-bottom: 1px solid var(--border); }
.bo_v_nb li:hover { background: rgba(255,255,255,0.03); }
.bo_v_nb li i { font-size:11px; color: var(--text-dim); }
.bo_v_nb li .nb_tit { display:inline-block; padding-right:16px; color: var(--text-dim); letter-spacing:0.06em; }
.bo_v_nb li a { color: var(--text-mid); transition: color 0.3s; }
.bo_v_nb li a:hover { color: var(--white); }
.bo_v_nb li .nb_date { float:right; color: var(--text-dim); font-size:11px; }

/* ================================================
   댓글
   ================================================ */
.cmt_btn {
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--border);
  background: transparent;
  font-family: var(--font-sans);
  font-weight: 600;
  margin: 36px 0 0;
  padding: 0 0 16px;
  cursor: pointer;
  color: var(--white);
  letter-spacing: 0.08em;
  font-size: 13px;
}
.cmt_btn span.total {
  position: relative;
  display: inline-block;
  margin-right: 6px;
  color: var(--red);
}
.cmt_btn span.total:after {
  position: absolute;
  bottom: -17px; left: 0;
  display: inline-block;
  background: var(--red);
  content: "";
  width: 100%; height: 1px;
}
.cmt_btn b { color: var(--white); }

#bo_vc { }
#bo_vc h2 { position:absolute; font-size:0; line-height:0; overflow:hidden; }
#bo_vc article {
  margin: 20px 0;
  position: relative;
  border-bottom: 1px solid var(--border);
  padding-bottom: 4px;
}
#bo_vc article .pf_img { float:left; margin-right:12px; }
#bo_vc article .pf_img img { border-radius:50%; width:40px; height:40px; }
#bo_vc article .cm_wrap { float:left; max-width:80%; width:80%; }
#bo_vc header { position:relative; width:100%; margin-bottom:6px; }
#bo_vc header .icon_reply { position:absolute; top:14px; left:-18px; color: var(--red); }
#bo_vc .member,
#bo_vc .guest,
#bo_vc .sv_member { font-weight:600; color: var(--white); }
.bo_vc_hdinfo {
  color: var(--text-dim);
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.06em;
}
#bo_vc .cmt_contents {
  line-height: 2;
  padding: 0 0 18px;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.72);
}
#bo_vc_empty {
  margin: 0;
  padding: 80px 0 !important;
  color: var(--text-dim);
  text-align: center;
  font-family: var(--font-sans);
  font-size: 13px;
  letter-spacing: 0.1em;
}

/* 댓글 액션 메뉴 */
.bo_vc_act {
  display: none;
  position: absolute;
  right: 0; top: 36px;
  background: rgba(10,10,10,0.96);
  border: 1px solid var(--border);
  backdrop-filter: blur(12px);
  margin: 0; list-style: none;
  z-index: 9999;
  min-width: 80px;
}
.bo_vc_act:before,
.bo_vc_act:after { display:none; }
.bo_vc_act li { border-bottom: 1px solid var(--border); }
.bo_vc_act li:last-child { border-bottom:0; }
.bo_vc_act li a {
  display: inline-block;
  padding: 10px 16px;
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: 0.06em;
  color: var(--text-mid);
  transition: color 0.3s;
}
.bo_vc_act li a:hover { color: var(--white); }

/* 댓글 입력 폼 — contact.php 동일 */
.bo_vc_w { position:relative; margin:12px 0; display:block; }
.bo_vc_w h2 { position:absolute; font-size:0; line-height:0; overflow:hidden; }
.bo_vc_w textarea {
  border: none;
  border-bottom: 1px solid rgba(255,255,255,0.2);
  background: transparent;
  color: var(--white);
  padding: 10px 0;
  width: 100%;
  height: 100px;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 300;
  line-height: 1.7;
  border-radius: 0;
  resize: none;
  outline: none;
  transition: border-color 0.3s;
}
.bo_vc_w textarea:focus { border-bottom-color: var(--red); }
.bo_vc_w_info { margin:10px 0; float:left; }
.bo_vc_w_info .frm_input { float:left; margin-right:8px; }
.bo_vc_w .btn_confirm { clear:both; margin-top:12px; }
.bo_vc_w .btn_submit { padding:14px 32px; }
.secret_cm { display:inline-block; float:left; }

/* ================================================
   SNS 공유
   ================================================ */
#bo_v_share { position:relative; padding:20px 0; text-align:right }
#bo_v_share .btn {
  padding: 3px 12px;
  color: var(--text-mid);
  width: auto;
  border: 1px solid var(--border);
  border-radius: 3px;
  background: transparent; text-decoration:none;
}
#bo_v_share .btn:hover { border-color: rgba(255,255,255,0.3); color: var(--white); }
#bo_v_share .btn i { margin-right:6px; }
