@charset "utf-8";

/* =========================================================
   운송나라 커뮤니티 게시판 스킨
   - default.css 및 테마 충돌 완벽 방어 (!important 전역 제어)
   - 스마트에디터 툴바/프레임 다크모드 스타일
   ========================================================= */

@font-face {
    font-family: 'GmarketSansMedium';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* default.css의 #container 930px 고정 해제 및 1200px 그리드 보장 */
#wrapper, #container_wr, #container {
    width: 100% !important;
    max-width: 1200px !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

body { background-color:#f4f5f7 !important; }
html[data-theme="dark"] body { background-color:#12141c !important; }

/* ---------- 테마 변수: 라이트 ---------- */
.comm-wrap, #bo_list, #bo_v, #bo_w, #bo_vc, .mypage-wrap {
    --bd-bg:            #f4f5f7;
    --bd-bg-card:       #ffffff;
    --bd-bg-elevated:   #ffffff;
    --bd-bg-soft:       #f8fafc;   /* 라이트 hover: 세련된 연한 회색 */
    --bd-th-bg:         #f1f5f9;
    --bd-border:        #e2e8f0;
    --bd-border-soft:   #f1f5f9;
    --bd-text:          #1e293b;
    --bd-text-muted:    #64748b;
    --bd-text-faint:    #94a3b8;
    --bd-accent:        #2f6fed;
    --bd-accent-hover:  #2158c9;
    --bd-accent-soft:   #e8f0fe;
    --bd-accent-2:      #6d5ce8;
    --bd-accent-2-soft: #efeaff;
    --bd-btn-bg:        #242836;
    --bd-btn-text:      #ffffff;
    --bd-orange:        #ff6a00;
    --bd-danger:        #ef4444;
    --bd-success:       #16a34a;
    --bd-notice-bg:     #fffbf0;
    --bd-notice-text:   #d97706;
    --bd-new-bg:        #e6f9f0;
    --bd-new-text:      #0ea573;
    --bd-teal:          #12b3a8;
    --bd-tag-bg:        #f5f6f8;
    --bd-shadow:        0 2px 10px rgba(20,24,34,0.06);
    --bd-shadow-lg:     0 10px 34px rgba(20,24,34,0.14);
    --bd-radius:        8px;
    --bd-radius-sm:     6px;
    --bd-input-bg:      #ffffff;
}

/* ---------- 테마 변수: 다크 (스크린샷 색상 추출 매칭) ---------- */
html[data-theme="dark"] .comm-wrap,
html[data-theme="dark"] #bo_list,
html[data-theme="dark"] #bo_v,
html[data-theme="dark"] #bo_w,
html[data-theme="dark"] #bo_vc,
html[data-theme="dark"] .mypage-wrap {
    --bd-bg:            #12141c;   /* 전체 배경 */
    --bd-bg-card:       #1e1e1e;   /* 본문/카드/글목록/댓글 박스 배경 */
    --bd-bg-elevated:   #2a2a2a;   /* 드롭다운/팝업 배경 */
    --bd-bg-soft:       #2a2a2a;   /* 다크 hover 하이라이트 */
    --bd-th-bg:         #262626;   /* 테이블 헤더 */
    --bd-border:        #3a3a3a;   /* 박스 테두리 */
    --bd-border-soft:   #3a3a3a;   /* 구분선 */
    --bd-text:          #e5e7eb;   /* 본문 폰트 */
    --bd-text-muted:    #9aa0a8;   /* 보조 폰트 */
    --bd-text-faint:    #6b7280;   /* 연한 폰트 */
    --bd-accent:        #38bdf8;
    --bd-accent-hover:  #0ea5e9;
    --bd-accent-soft:   #0c4a6e;
    --bd-accent-2:      #818cf8;
    --bd-accent-2-soft: #312e81;
    --bd-btn-bg:        #1d4ed8;
    --bd-btn-text:      #ffffff;
    --bd-orange:        #fb923c;
    --bd-danger:        #f87171;
    --bd-success:       #16a34a;
    --bd-notice-bg:     #171926;
    --bd-notice-text:   #fbbf24;
    --bd-new-bg:        #064e3b;
    --bd-new-text:      #34d399;
    --bd-teal:          #20c997;
    --bd-tag-bg:        #162238;
    --bd-shadow:        0 4px 20px rgba(0,0,0,0.5);
    --bd-shadow-lg:     0 16px 40px rgba(0,0,0,0.7);
    --bd-input-bg:      #131e36;   /* 인풋창 배경 */
}

/* =========================================================
   최상위 레이아웃
   ========================================================= */
.comm-wrap, .comm-wrap * { box-sizing:border-box; font-family:"Pretendard","Apple SD Gothic Neo",sans-serif; }
.comm-wrap {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 20px 15px 60px !important;
    color: var(--bd-text) !important;
    font-size: 13px !important;
}

.comm-layout {
    display: grid !important;
    grid-template-columns: 1fr 340px !important;
    gap: 24px !important;
    align-items: start !important;
    width: 100% !important;
}
.comm-main { min-width: 0 !important; }

.comm-wrap a { color:inherit; text-decoration:none; }
.comm-wrap button { font-family:inherit; cursor:pointer; }
.comm-wrap input, .comm-wrap select, .comm-wrap textarea {
    font-family:inherit; color:var(--bd-text) !important; background:var(--bd-input-bg) !important; border:1px solid var(--bd-border) !important;
}

/* 상단 +글쓰기 버튼 */
.btn_write_top { 
    height:36px; padding:0 16px; border-radius:6px; 
    background:#16a34a !important; color:#ffffff !important; 
    border:0 !important; font-weight:700; font-size:13px; white-space:nowrap; 
    display:inline-flex; align-items:center; justify-content:center; gap:4px; flex-shrink:0; 
}
.btn_write_top:hover { filter:brightness(1.1); color:#fff !important; }

/* =========================================================
   1. 게시판 목록 (list.skin.php)
   ========================================================= */
#bo_list { width:100% !important; margin:0 auto; }

#bo_list_head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin:0 0 16px; flex-wrap:wrap; }
#bo_list_head h1 { font-family:"GmarketSansMedium","Pretendard",sans-serif; font-size:22px; font-weight:700; margin:0; }
#bo_list_head .bl_total { color:var(--bd-text-muted); font-size:13px; margin-left:8px; font-weight:400; }

/* =========================================================
   [신규] 상단 히어로 배너 (quote/index.php의 qi-hero-card 참고)
   ========================================================= */
.bl-hero-card, .bl-hero-card * { font-family:'GmarketSansMedium','Pretendard',sans-serif; }
.bl-hero-card { background:linear-gradient(180deg,var(--bd-accent-2-soft),var(--bd-bg-card)); border:1px solid var(--bd-border); border-radius:22px; padding:26px 26px 22px; margin-bottom:20px; }
.bl-hero-carousel { overflow:hidden; }
.bl-hero-track { display:flex; transition:transform .4s ease; }
.bl-hero-slide { flex:0 0 100%; display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; }
.bl-hero-label { font-size:12.5px; color:var(--bd-text-muted); margin-bottom:8px; }
.bl-hero-title { font-size:19px; font-weight:800; line-height:1.35; word-break:keep-all; color:var(--bd-text); }
.bl-hero-title .hl { color:var(--bd-accent-2); }
.bl-hero-btn { display:inline-block; background:var(--bd-bg-card); color:var(--bd-text); border:1px solid var(--bd-border); padding:9px 18px; border-radius:20px; font-size:13px; font-weight:700; text-decoration:none; margin-top:12px; }
.bl-hero-btn:hover { border-color:var(--bd-accent-2); color:var(--bd-accent-2); }
.bl-hero-bars { display:flex; align-items:flex-end; gap:8px; flex-shrink:0; }
.bl-hero-bar-col { display:flex; flex-direction:column; align-items:center; gap:6px; text-decoration:none; }
.bl-hero-bar { width:30px; border-radius:6px 6px 0 0; display:flex; align-items:flex-start; justify-content:center; padding-top:6px; color:#fff; font-size:10.5px; font-weight:700; }
.bl-hero-bar-label { font-size:11px; color:var(--bd-text-muted); white-space:nowrap; max-width:44px; overflow:hidden; text-overflow:ellipsis; }
.bl-hero-bar-col.top .bl-hero-bar { position:relative; }
.bl-hero-bar-col.top .bl-hero-bar::after { content:''; position:absolute; top:-14px; left:50%; transform:translateX(-50%); border-left:6px solid transparent; border-right:6px solid transparent; border-bottom:10px solid var(--bd-accent-2); }
.bl-hero-dots { display:flex; gap:6px; justify-content:center; margin-top:16px; }
.bl-hero-dots .dot { width:6px; height:6px; border-radius:50%; background:var(--bd-border); cursor:pointer; }
.bl-hero-dots .dot.active { background:var(--bd-accent-2); width:16px; border-radius:4px; }
@media (max-width:480px) {
    .bl-hero-card { padding:20px 18px; }
    .bl-hero-title { font-size:16px; }
}

#bo_cate { margin:0 0 16px; }
#bo_cate h2 { position:absolute; font-size:0; overflow:hidden; }
#bo_cate_ul { display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:0; padding:0; }
#bo_cate_ul a { display:block; padding:6px 14px; border-radius:20px; border:1px solid var(--bd-border); color:var(--bd-text-muted); font-size:12.5px; font-weight:600; background:var(--bd-bg-card); transition:.15s; }
#bo_cate_ul a:hover, #bo_cate_ul #bo_cate_on a { background:var(--bd-accent); border-color:var(--bd-accent); color:#fff; }

/* 상단 검색 / 글쓰기 / 관리자 버튼 가로 정렬 바 */
#bo_list_topbar { 
    display: flex !important; 
    align-items: center !important; 
    justify-content: space-between !important; 
    gap: 10px !important; 
    margin-bottom: 14px !important; 
    flex-wrap: nowrap !important;
}
#bo_list_topbar .bl_search_inline { margin: 0 !important; }
.sir_search_wrap { display: flex; align-items: center; gap: 6px; }
.sir_sfl {
    height: 36px; padding: 0 12px; border-radius: 6px;
    border: 1px solid var(--bd-border) !important; background: var(--bd-input-bg) !important;
    color: var(--bd-text) !important; font-size: 13px; font-weight: 600; outline: none;
}
.sir_input_box {
    display: flex; align-items: center; height: 36px; border: 1px solid var(--bd-border);
    border-radius: 6px; background: var(--bd-input-bg); overflow: hidden;
}
.sir_stx {
    height: 100%; padding: 0 12px; border: 0 !important;
    background: transparent !important; color: var(--bd-text) !important;
    font-size: 13px; width: 160px; outline: none;
}
.sir_stx::placeholder { color: var(--bd-text-faint); }
#bo_list_topbar .btn_search {
    height: 36px; padding: 0 16px; border-radius: 6px;
    background: #2563eb !important; color: #ffffff !important;
    border: 0 !important; font-weight: 700; font-size: 13px; white-space: nowrap;
    display: inline-flex; align-items: center; gap: 6px;
}
#bo_list_topbar .btn_search:hover { filter: brightness(1.1); }
#bo_list_topbar .btn_search svg.ico_search { display: inline-block; vertical-align: middle; }

/* 우측 상단 글쓰기 및 관리자 버튼 그룹 */
.bo_top_right_btns {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}

/* 목록 테이블 (default.css 강제 덮어쓰기) */
.tbl_head01.tbl_wrap, .tbl_wrap { background:var(--bd-bg-card) !important; border:1px solid var(--bd-border) !important; border-radius:var(--bd-radius); overflow:hidden; box-shadow:var(--bd-shadow); }
.tbl_head01 table, .tbl_wrap table { width:100% !important; border-collapse:collapse !important; table-layout:fixed !important; background:var(--bd-bg-card) !important; border:none !important; }
.tbl_head01 caption { position:absolute; font-size:0; overflow:hidden; }

.tbl_head01 thead th { 
    display:table-cell !important;
    background:var(--bd-th-bg) !important; 
    color:var(--bd-text-muted) !important; 
    font-size:12.5px !important; 
    font-weight:600 !important; 
    padding:11px 4px !important; 
    border-top:none !important;
    border-bottom:1px solid var(--bd-border) !important; 
    text-align:center !important; 
    vertical-align:middle !important;
    height:auto !important;
}
.tbl_head01 thead th a { color:inherit; }

.tbl_head01 tbody tr { border-bottom:1px solid var(--bd-border-soft) !important; transition:background-color .12s ease; background:var(--bd-bg-card) !important; }
.tbl_head01 tbody tr:last-child { border-bottom:0 !important; }
.tbl_head01 tbody td { 
    display:table-cell !important;
    padding:12px 4px !important; 
    font-size:13px !important; 
    color:var(--bd-text) !important; 
    background:transparent !important; 
    border-top:none !important;
    border-bottom:1px solid var(--bd-border-soft) !important; 
    text-align:center !important;
    vertical-align:middle !important;
    height:auto !important;
}

/* 마우스 오버 시 연한 회색 배경 전환 */
.tbl_head01 tbody tr:hover td { 
    background-color: var(--bd-bg-soft) !important; 
}

.tbl_head01 tbody tr.bo_notice { background:var(--bd-notice-bg) !important; }
.tbl_head01 tbody tr.bo_notice:hover td { filter:brightness(0.97); }

.tbl_head01 .all_chk, .tbl_head01 .td_chk { text-align:center !important; padding:12px 0 !important; }
.tbl_head01 .th_subject { text-align:left !important; padding-left:14px !important; }
.tbl_head01 .td_subject { text-align:left !important; padding-left:14px !important; }
.tbl_head01 .th_name, .tbl_head01 .td_name { text-align:left !important; padding-left:8px !important; }
.tbl_head01 .th_datetime, .tbl_head01 .td_datetime { color:var(--bd-text-muted) !important; font-size:12.5px !important; }
.tbl_head01 .th_hit, .tbl_head01 .td_num { color:var(--bd-text-faint) !important; font-size:12.5px !important; }

/* 글쓴이 텍스트 색상 및 썸네일 */
.td_name.sv_use { display:flex !important; align-items:center !important; gap:6px !important; color:var(--bd-text) !important; width:100% !important; overflow:hidden !important; }
.td_name .profile_thumb { display:inline-flex !important; align-items:center !important; justify-content:center !important; width:22px !important; height:22px !important; flex-shrink:0 !important; }
.td_name .profile_thumb img { width:22px !important; height:22px !important; max-width:22px !important; max-height:22px !important; border-radius:50% !important; object-fit:cover !important; display:inline-block !important; }
.td_name .writer_name, .td_name a, .td_name .sv_member, .td_name .sv_guest { color:var(--bd-text) !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; font-size:12.5px !important; }

.tbl_head01 .notice_icon { display:inline-block; padding:1px 6px; border-radius:10px; background:#ef4444; color:#fff !important; font-size:11px; font-weight:700; margin-right:6px; }
.tbl_head01 .bo_current { color:var(--bd-danger) !important; font-weight:700; }

/* 게시물 제목 스타일 (밑줄 제거 및 클릭한 글 연한 회색 처리) */
.tbl_head01 .bo_tit { display:flex; align-items:center; gap:6px; font-weight:400; color:var(--bd-text) !important; overflow:hidden; }
.tbl_head01 .bo_tit a { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--bd-text) !important; text-decoration:none !important; }
.tbl_head01 .bo_tit a:hover { text-decoration:none !important; color:var(--bd-accent) !important; }

/* 본인이 클릭한(방문한) 게시물 연한 회색 처리 */
.tbl_head01 .bo_tit a.bo_tit_link:visited { color: var(--bd-text-faint) !important; }

.tbl_head01 .bo_notice .bo_tit { font-weight:600; color:var(--bd-notice-text) !important; }
.tbl_head01 .bo_notice .bo_tit a { color:var(--bd-notice-text) !important; }
.tbl_head01 .bo_cate_link { display:inline-block; margin-right:6px; padding:1px 6px; border-radius:4px; background:var(--bd-accent-soft); color:var(--bd-accent) !important; font-size:11.5px; font-weight:600; }

/* new 뱃지 스타일 */
.tbl_head01 .new_icon { 
    display:inline-flex; align-items:center; justify-content:center; 
    height:18px; padding:0 6px; border-radius:4px; 
    background:var(--bd-new-bg); color:var(--bd-new-text) !important; 
    font-size:11px; font-weight:700; font-family:"Pretendard",sans-serif;
    letter-spacing:-0.2px; line-height:1;
}

/* 댓글수 [ 1 ] 스타일 */
.tbl_head01 .cnt_cmt { color:#f97316 !important; font-size:12.5px; font-weight:700; margin-left:2px; }

.tbl_head01 .empty_table { padding:70px 0 !important; background:var(--bd-bg-card) !important; color:var(--bd-text-faint) !important; font-size:13px; border:none !important; text-align:center !important; }

/* 체크박스 */
span.chk_box { position:relative; display:inline-flex; align-items:center; justify-content:center; vertical-align:middle; line-height:1; }
.selec_chk { position:absolute; opacity:0; width:0; height:0; }
span.chk_box label { position:relative; display:inline-flex; align-items:center; cursor:pointer; margin:0; line-height:1; }
span.chk_box label span { display:block; width:15px; height:15px; border-radius:4px; border:1.5px solid var(--bd-text-faint); background:var(--bd-input-bg); }
span.chk_box input:checked + label span { background:var(--bd-accent); border-color:var(--bd-accent); position:relative; }
span.chk_box input:checked + label span:after { content:""; position:absolute; left:4px; top:1px; width:4px; height:7px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }

/* 하단 버튼줄 */
.bo_fx { margin:14px 0 8px; display:flex; justify-content:flex-end; }
.bo_fx .btn_bo_user { display:flex; gap:8px; list-style:none; margin:0; padding:0; }

/* 페이지네이션 */
.pg_wrap { display:flex !important; align-items:center !important; justify-content:center !important; margin:22px 0 6px !important; position:relative !important; min-height:40px !important; float:none !important; clear:both !important; width:100% !important; }
.pg_wrap .pg { display:inline-flex; align-items:center; gap:4px; }
.pg_wrap .pg_page { display:inline-flex; align-items:center; justify-content:center; min-width:32px; height:32px; padding:0 4px; border-radius:6px; color:var(--bd-text-muted) !important; font-size:13px; font-weight:600; background:transparent !important; border:none !important; }
.pg_wrap .pg_page:hover { background:var(--bd-bg-soft) !important; }
.pg_wrap .pg_current { display:inline-flex; align-items:center; justify-content:center; min-width:32px; height:32px; border-radius:6px; background:var(--bd-accent) !important; color:#fff !important; font-weight:800; border:none !important; }
.pg_wrap .pg_start, .pg_wrap .pg_prev, .pg_wrap .pg_end, .pg_wrap .pg_next {
    position:absolute; top:50%; transform:translateY(-50%);
    display:inline-flex; align-items:center; gap:4px;
    height:34px; padding:0 14px; border-radius:18px;
    background:var(--bd-bg-card) !important; border:1px solid var(--bd-border) !important;
    color:var(--bd-text-muted) !important; font-size:12.5px; font-weight:700;
}
.pg_wrap .pg_start, .pg_wrap .pg_prev { left:0; }
.pg_wrap .pg_end, .pg_wrap .pg_next { right:0; }
.pg_wrap a:hover { border-color:var(--bd-accent) !important; color:var(--bd-accent) !important; }

/* =========================================================
   우측 사이드바
   ========================================================= */
.rg-side {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  position: sticky !important;
  top: 100px !important;
  width: 340px !important;
}
/* [변경] 사이드바 전체 폰트를 quote/index.php(택배 견적) 기준으로 통일 - 지마켓산스 우선 적용 */
.rg-side, .rg-side * { font-family: 'GmarketSansMedium', 'Pretendard', sans-serif !important; }

.rg-side-card {
  background: var(--bd-bg-card) !important;
  border: 1px solid var(--bd-border) !important;
  border-radius: 16px !important;
  padding: 22px !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.03) !important;
}

.rg-side-title {
  font-weight: normal !important;
  font-size: 15.5px !important;
  margin: 0 0 16px !important;
  color: var(--bd-text) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.rg-side-title a { font-size: 12.5px !important; color: var(--bd-text-muted) !important; text-decoration: none !important; }
.rg-side-title a:hover { color: var(--bd-teal) !important; }

.rg-tabs { display: flex !important; gap: 18px !important; margin-bottom: 14px !important; border-bottom: none !important; }
.rg-tabs button {
  background: none !important;
  border: none !important;
  padding: 0 0 8px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--bd-text-muted) !important;
  cursor: pointer !important;
  border-bottom: 2px solid transparent !important;
  transition: .2s !important;
  font-family: 'GmarketSansMedium', sans-serif !important;
}
.rg-tabs button.active {
  color: var(--bd-teal) !important;
  border-bottom-color: var(--bd-teal) !important;
}

.rg-tab-panel { display: none !important; }
.rg-tab-panel.active { display: block !important; }

.rg-pill-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; }
.rg-pill-grid a {
  display: block !important;
  text-align: center !important;
  padding: 8px 4px !important;
  border: 1px solid var(--bd-border) !important;
  border-radius: 8px !important;
  font-size: 12.5px !important;
  color: var(--bd-text) !important;
  text-decoration: none !important;
  transition: .2s !important;
  background: var(--bd-bg-card) !important;
}
.rg-pill-grid a:hover { border-color: var(--bd-teal) !important; color: var(--bd-teal) !important; }
.rg-pill-grid a.more-btn { background: var(--bd-tag-bg) !important; border-color: var(--bd-tag-bg) !important; color: var(--bd-text-muted) !important; font-weight: 700 !important; }
.rg-pill-grid a.more-btn:hover { background: var(--bd-border) !important; border-color: var(--bd-border) !important; color: var(--bd-text) !important; }

.rg-side-item { display: block !important; padding: 11px 0 !important; border-bottom: 1px solid var(--bd-border) !important; text-decoration: none !important; }
.rg-side-item:last-child { border-bottom: none !important; }
.rg-side-item .t1 { font-size: 14px !important; font-weight: 700 !important; color: var(--bd-text) !important; margin-bottom: 3px !important; }
.rg-side-item .t2 { font-size: 12.5px !important; color: var(--bd-text-muted) !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; font-family: 'GmarketSansMedium', 'Pretendard', sans-serif !important; }
.rg-side-item:hover .t1 { color: var(--bd-teal) !important; }
.rg-side-empty { font-size: 13px !important; color: var(--bd-text-muted) !important; padding: 10px 0 !important; }

.rg-board-item { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 8px !important; padding: 11px 0 !important; border-bottom: 1px solid var(--bd-border) !important; text-decoration: none !important; }
.rg-board-item:last-child { border-bottom: none !important; }
.rg-board-item .subj { font-size: 13.5px !important; color: var(--bd-text) !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.rg-board-item:hover .subj { color: var(--bd-teal) !important; }
.rg-board-item .date { font-size: 12px !important; color: var(--bd-text-muted) !important; flex-shrink: 0 !important; font-family: 'GmarketSansMedium', 'Pretendard', sans-serif !important; }

/* =========================================================
   글쓰기 화면 및 스마트에디터 다크모드 대응
   ========================================================= */
#bo_w { max-width:900px; margin:0 auto 60px; padding:0 16px; }
.bo_w_head { display:flex; align-items:center; justify-content:space-between; margin:24px 0 16px; }
.bo_w_head h1 { font-family:"GmarketSansMedium","Pretendard",sans-serif; font-size:19px; font-weight:700; margin:0; }

#bo_w .write_form_card { background:var(--bd-bg-card); border:1px solid var(--bd-border); border-radius:var(--bd-radius); padding:20px; box-shadow:var(--bd-shadow); }
#bo_w .write_div { margin-bottom:14px; }
#bo_w .bo_v_option { display:flex; gap:12px; flex-wrap:wrap; list-style:none; margin:0 0 14px; padding:0; }
#bo_w .bo_v_option .chk_box label { display:flex; align-items:center; gap:5px; font-size:12.5px; color:var(--bd-text-muted); }

#bo_w .bo_w_select select { width:100%; height:42px; border-radius:var(--bd-radius-sm); padding:0 12px; font-size:13.5px; }
#bo_w .bo_w_info { display:flex; gap:8px; flex-wrap:wrap; }
#bo_w .frm_input { height:42px; padding:0 12px; border-radius:var(--bd-radius-sm); font-size:13.5px; width:100%; color:var(--bd-text) !important; background:var(--bd-input-bg) !important; }
#bo_w #wr_subject { font-family:'GmarketSansMedium','Pretendard',sans-serif; }
#bo_w .half_input { flex:1; min-width:160px; }

#bo_w .bo_w_tit { position:relative; }
#autosave_wrapper { position:relative; display:flex; align-items:center; gap:6px; }
#autosave_wrapper .frm_input { flex:1; font-size:15px; font-weight:600; }
#btn_autosave { height:36px; padding:0 12px; border-radius:18px; background:var(--bd-bg-soft); border:1px solid var(--bd-border); color:var(--bd-text-muted); font-size:12px; white-space:nowrap; }
#autosave_pop { display:none; position:absolute; top:42px; right:0; width:240px; background:var(--bd-bg-elevated); border:1px solid var(--bd-border); border-radius:10px; box-shadow:var(--bd-shadow-lg); padding:12px; z-index:30; }

#bo_w .wr_content { border:1px solid var(--bd-border); border-radius:var(--bd-radius-sm); overflow:hidden; background:var(--bd-input-bg) !important; }
#bo_w textarea#wr_content { width:100%; min-height:300px; border:0; padding:14px; font-size:14px; line-height:1.7; resize:vertical; background:var(--bd-input-bg) !important; color:var(--bd-text) !important; font-family:'GmarketSansMedium','Pretendard',sans-serif; }
#char_count_desc { font-size:12px; color:var(--bd-text-faint); margin:0 0 6px; }
#char_count_wrap { text-align:right; padding:6px 10px; font-size:11.5px; color:var(--bd-text-muted); border-top:1px solid var(--bd-border-soft); }

#bo_w .bo_w_flie .file_wr { display:flex; align-items:center; gap:8px; height:42px; padding:0 12px; border:1px solid var(--bd-border); border-radius:var(--bd-radius-sm); }
#bo_w .lb_icon { color:var(--bd-text-faint); }
#bo_w .frm_file { flex:1; font-size:12.5px; }
#bo_w .file_del { display:block; margin-top:5px; font-size:11.5px; color:var(--bd-text-faint); }

.bo_w_actions { display:flex; align-items:center; justify-content:space-between; margin-top:14px; flex-wrap:wrap; gap:8px; }
.bo_w_actions .left_actions { display:flex; align-items:center; gap:6px; }
.bo_w_actions button.btn_frmline { height:34px; padding:0 14px; border-radius:6px; background:var(--bd-bg-soft); border:1px solid var(--bd-border); color:var(--bd-text-muted); font-weight:600; font-size:12.5px; }
.bo_w_actions button.btn_frmline:hover { color:var(--bd-accent); border-color:var(--bd-accent); }
.bo_w_actions .tempsave_char_count_text { font-size:12px; color:var(--bd-text-muted); }

.btn_confirm.write_div { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }
#bo_w .btn_cancel { display:inline-flex; align-items:center; height:42px; padding:0 20px; border-radius:22px; background:var(--bd-bg-soft); border:1px solid var(--bd-border); color:var(--bd-text-muted); font-weight:700; font-size:13.5px; }
#bo_w .btn_submit { height:42px; padding:0 26px; border-radius:22px; background:var(--bd-accent); color:#fff; border:0; font-weight:800; font-size:13.5px; }
#bo_w .btn_submit:hover { background:var(--bd-accent-hover); }

/* 스마트에디터2 프레임 다크모드 */
html[data-theme="dark"] #bo_w .smarteditor2 { border:none !important; background: var(--bd-bg-card) !important; }
html[data-theme="dark"] #bo_w .smarteditor2 iframe { background: transparent !important; }
html[data-theme="dark"] #bo_w #wr_subject { border:none !important; }
html[data-theme="dark"] #bo_w .wr_content { border:none !important; }

/* =========================================================
   투표 시스템
   ========================================================= */
.poll_toggle_card {
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    padding:14px 16px; margin:14px 0; border-radius:var(--bd-radius);
    background:linear-gradient(135deg, var(--bd-accent-2) 0%, #4f46e5 100%);
    color:#fff; box-shadow:0 6px 18px rgba(109,92,232,0.25);
}
html[data-theme="dark"] .poll_toggle_card { box-shadow:0 6px 18px rgba(0,0,0,0.4); }
.poll_toggle_card .ptc_left { display:flex; align-items:center; gap:10px; }
.poll_toggle_card .ptc_icon { display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:8px; background:rgba(255,255,255,0.18); font-size:16px; }
.poll_toggle_card .ptc_title { font-weight:800; font-size:14px; display:flex; align-items:center; gap:6px; }
.poll_toggle_card .ptc_badge { font-size:10.5px; font-weight:700; padding:2px 6px; border-radius:8px; background:rgba(255,255,255,0.22); }
.poll_toggle_card .ptc_desc { font-size:12px; opacity:.9; margin-top:2px; }

.ptc_switch { position:relative; display:inline-block; width:42px; height:24px; flex-shrink:0; }
.ptc_switch input { opacity:0; width:0; height:0; }
.ptc_switch .slider { position:absolute; inset:0; background:rgba(255,255,255,0.3); border-radius:20px; transition:.2s; cursor:pointer; }
.ptc_switch .slider:before { content:""; position:absolute; width:18px; height:18px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.2s; }
.ptc_switch input:checked + .slider { background:#16c784; }
.ptc_switch input:checked + .slider:before { transform:translateX(18px); }

.poll_builder { display:none; margin:0 0 14px; padding:18px; border-radius:var(--bd-radius); background:var(--bd-bg-soft); border:1px solid var(--bd-border); }
.poll_builder, .poll_builder * { font-family:'GmarketSansMedium','Pretendard',sans-serif; }
.poll_builder.is_on { display:block; }
.poll_builder .pb_field { margin-bottom:14px; }
.poll_builder .pb_label { display:block; font-size:12.5px; font-weight:700; color:var(--bd-text-muted); margin-bottom:6px; }
.poll_builder .pb_label .req { color:var(--bd-danger); margin-left:2px; }
.poll_builder input[type="text"] { width:100%; height:40px; padding:0 12px; border-radius:var(--bd-radius-sm); font-size:13.5px; box-shadow:none; }
.poll_builder input[type="text"]:focus { box-shadow:none; outline:2px solid var(--bd-accent-2); outline-offset:1px; border-color:var(--bd-accent-2); }
.poll_builder .pb_options { display:flex; flex-direction:column; gap:6px; }
.poll_builder .pb_option_row { display:flex; align-items:center; gap:6px; }
.poll_builder .pb_option_row input { flex:1; }
.poll_builder .pb_option_remove { flex-shrink:0; width:34px; height:34px; border-radius:6px; border:1px solid var(--bd-border); background:var(--bd-bg-card); color:var(--bd-text-faint); font-size:15px; }
.poll_builder .pb_option_remove:hover { color:var(--bd-danger); border-color:var(--bd-danger); }
.poll_builder .pb_add_option { display:inline-flex; align-items:center; gap:5px; margin-top:8px; font-size:12.5px; font-weight:700; color:var(--bd-accent-2); background:transparent; border:0; }
.poll_builder .pb_radio_group { display:flex; gap:16px; }
.poll_builder .pb_radio_group label { display:flex; align-items:center; gap:5px; font-size:13px; color:var(--bd-text); cursor:pointer; }
.poll_builder select { width:100%; max-width:200px; height:40px; border-radius:var(--bd-radius-sm); padding:0 10px; font-size:13px; }
.poll_builder .pb_deadline_hint { margin-left:6px; font-size:12px; color:var(--bd-text-faint); }

/* 반응형 처리 */
@media (max-width: 1020px) {
    .comm-layout { grid-template-columns: 1fr !important; }
    .rg-side { position: static !important; width: 100% !important; }
}

@media (max-width: 768px) {
    #bo_list_topbar { flex-wrap:wrap !important; }
    #bo_list_topbar .bl_search_inline { width:100%; }
    .sir_search_wrap { width:100%; }
    .sir_input_box { flex:1; }
    .sir_stx { width:100%; }
    .bo_top_right_btns { width:100%; justify-content:flex-end; }

    .tbl_head01 colgroup { display:none; }
    .tbl_head01 thead { display:none; }
    .tbl_head01.tbl_wrap { background:transparent !important; border:0 !important; box-shadow:none !important; overflow:visible !important; }
    .tbl_head01 table, .tbl_head01 tbody, .tbl_head01 tr { display:block !important; width:100% !important; }
    .tbl_head01 tbody tr {
        display:block !important;
        padding:14px 14px; position:relative; margin-bottom:10px;
        border:1px solid var(--bd-border) !important; border-radius:12px;
        background:var(--bd-bg-card) !important; box-shadow:var(--bd-shadow);
    }
    .tbl_head01 tbody tr:last-child { margin-bottom:0; }
    .tbl_head01 tbody td {
        display:block !important; width:100% !important;
        text-align:left !important; padding:2px 0 !important;
        border:0 !important; border-top:0 !important; border-bottom:0 !important;
    }
    .tbl_head01 .td_chk { position:absolute; top:12px; right:12px; width:auto !important; padding:0 !important; }
    .tbl_head01 .td_subject { padding:0 24px 4px 0 !important; }
    .tbl_head01 .bo_tit { font-size:14.5px; white-space:normal; }
    .tbl_head01 .bo_tit a { white-space:normal; }
    .tbl_head01 .td_name, .tbl_head01 .td_datetime, .tbl_head01 .td_num { display:inline-flex !important; width:auto !important; align-items:center; font-size:12px; }
    .tbl_head01 .td_name.sv_use { width:auto !important; }
    .tbl_head01 .td_name:after, .tbl_head01 .td_datetime:after { content:"·"; margin:0 5px; color:var(--bd-text-faint) !important; }

    .pg_wrap { padding:0 80px; }
    .pg_wrap .pg_start, .pg_wrap .pg_prev, .pg_wrap .pg_end, .pg_wrap .pg_next { padding:0 10px; font-size:0; }
    .pg_wrap .pg_start i, .pg_wrap .pg_prev i, .pg_wrap .pg_end i, .pg_wrap .pg_next i { font-size:13px; }
}

.bl_float_write { display:none; }
@media (max-width:768px) {
    .bl_float_write {
        display:flex; align-items:center; gap:6px;
        position:fixed; right:16px; bottom:20px; z-index:80;
        height:46px; padding:0 18px; border-radius:24px;
        background:var(--bd-success); color:#fff; font-weight:700; font-size:13.5px;
        box-shadow:0 8px 24px rgba(0,0,0,0.28);
    }
}

/* =========================================================
   [복원] 목록 - 더보기(⋮) 관리자 옵션 드롭다운
   ========================================================= */
.btn_more_opt {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: 50%;
    background: var(--bd-bg-card); border: 1px solid var(--bd-border);
    color: var(--bd-text-muted); cursor: pointer;
}
.btn_more_opt:hover { color: var(--bd-accent); border-color: var(--bd-accent); }
.more_opt {
    display: none; position: absolute; top: 42px; right: 0;
    min-width: 140px; background: var(--bd-bg-elevated);
    border: 1px solid var(--bd-border); border-radius: 10px;
    box-shadow: var(--bd-shadow-lg); z-index: 50; overflow: hidden;
    list-style: none; margin: 0; padding: 4px;
}
.more_opt li { border-bottom: 1px solid var(--bd-border-soft); }
.more_opt li:last-child { border-bottom: 0; }
.more_opt li button, .more_opt li a {
    display: flex; align-items: center; gap: 8px;
    width: 100%; padding: 10px 14px; background: transparent; border: 0;
    color: var(--bd-text); font-size: 13px; text-align: left; cursor: pointer;
    font-weight: 600; border-radius: 6px;
}
.more_opt li button:hover, .more_opt li a:hover { background: var(--bd-bg-soft); color: var(--bd-accent); }

/* =========================================================
   [복원] 게시물 보기 (#bo_v) 본문 및 메타
   ========================================================= */
#bo_v { margin: 0; padding: 0; }
.comm-main #bo_v { max-width: none; }

.comm-view-container {
    background-color: var(--bd-bg-card) !important;
    border: 1px solid var(--bd-border) !important;
    border-radius: 12px !important;
    padding: 32px !important;
    margin-bottom: 30px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.04) !important;
}
html[data-theme="dark"] .comm-view-container {
    background-color: var(--bd-bg-card) !important;
    border-color: var(--bd-border) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.5) !important;
}
.comm-view-container header { 
    border-bottom: 1px solid var(--bd-border-soft) !important; 
    padding-bottom: 20px !important; 
    margin-bottom: 20px !important; 
    display: flex !important; 
    align-items: flex-start !important; 
    gap: 16px !important; 
}

.bo_v_avatar {
    flex-shrink: 0; width: 56px; height: 56px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 22px; font-weight: 800;
    font-family: "GmarketSansMedium", sans-serif;
    box-shadow: var(--bd-shadow);
}
.bo_v_head_main { flex: 1; min-width: 0; margin: 0 !important; padding: 0 !important; }
.bo_v_head_main > * { margin-left: 0 !important; padding-left: 0 !important; }

#bo_v_title { 
    font-size: 19px !important; 
    font-weight: 700 !important; 
    margin: 0 0 8px 0 !important; 
    padding: 0 !important;
    color: var(--bd-text) !important; 
    font-family: "GmarketSansMedium", sans-serif !important; 
    line-height: 1.4 !important; 
    text-align: left !important;
}
#bo_v_title .bo_v_cate { display: inline-block; margin-right: 8px; padding: 4px 12px; border-radius: 20px; background: var(--bd-accent-soft); color: var(--bd-accent); font-size: 13px; font-weight: 700; vertical-align: middle; }
#bo_v_title .bo_v_tit { display: inline !important; margin: 0 !important; padding: 0 !important; }

/* 블라인드 제목 붉은색 표시 */
.bo_v_blind_title { color: var(--bd-danger) !important; font-weight: 700 !important; }

/* 작성자 정보 좌측 정렬 및 간격 초기화 */
.profile_info_ct { 
    display: flex !important; 
    flex-wrap: wrap !important; 
    align-items: center !important; 
    justify-content: flex-start !important;
    gap: 4px 12px !important; 
    font-size: 13px !important; 
    color: var(--bd-text-muted) !important; 
    margin: 0 !important; 
    padding: 0 !important; 
    text-align: left !important;
}
.profile_info_ct .v_writer_name { margin: 0 !important; padding: 0 !important; display: inline-flex !important; align-items: center !important; }
.profile_info_ct .v_writer_name strong { margin: 0 !important; padding: 0 !important; color: var(--bd-text) !important; font-weight: 700 !important; }
.profile_info_ct .sv_member, .profile_info_ct .sv_guest { color: var(--bd-text) !important; margin: 0 !important; padding: 0 !important; }
.profile_info_ct > span { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; position: relative; padding-right: 12px; }
.profile_info_ct > span::after { content: "•"; position: absolute; right: -2px; color: var(--bd-border); }
.profile_info_ct > span:last-child { padding-right: 0; }
.profile_info_ct > span:last-child::after { content: ""; }

/* 게시글 신고 링크 버튼 */
.bo_v_report_opt a { font-size: 12.5px; transition: .15s; }
.bo_v_report_user { color: var(--bd-text-muted) !important; }
.bo_v_report_user:hover { color: var(--bd-danger) !important; text-decoration: underline; }
.bo_v_report_admin { color: var(--bd-danger) !important; font-weight: 700; }

/* 블라인드 본문 안내 박스 */
.blind_post_box {
    text-align: center; padding: 50px 20px; border-radius: 8px;
    background: var(--bd-bg-soft); border: 1px dashed var(--bd-border);
    margin: 20px 0; color: var(--bd-text-muted);
}
.blind_post_box i { font-size: 36px; color: var(--bd-danger); margin-bottom: 12px; }
.blind_post_box p { font-size: 14.5px; line-height: 1.6; margin: 0; color: var(--bd-text); font-weight: 600; }

.admin_blind_alert {
    padding: 14px 18px; margin-bottom: 20px; border-radius: 6px;
    background: #fef2f2; border: 1px solid #fecaca; color: #991b1b;
    display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap;
    font-size: 13.5px;
}
html[data-theme="dark"] .admin_blind_alert {
    background: #39181f; border-color: #5c202a; color: #fca5a5;
}
.btn_admin_restore {
    padding: 6px 14px; border-radius: 4px; background: #dc2626; color: #fff;
    border: 0; font-size: 12.5px; font-weight: 700; cursor: pointer;
}

#bo_v_top { margin-top: 14px; padding-top: 0; border-top: 0; }
.bo_v_com { display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
.bo_v_com li { position: relative; }
.bo_v_com li a, .bo_v_com li button {
    height: 34px; padding: 0 14px; border-radius: 6px;
    background: var(--bd-btn-bg); color: var(--bd-btn-text) !important;
    border: 0; font-size: 12.5px; font-weight: 700;
    display: inline-flex; align-items: center; gap: 6px;
}
.bo_v_com li a:hover, .bo_v_com li button:hover { filter: brightness(1.12); }
.bo_v_com .more_opt { right: 0; left: auto; }

#bo_v_atc { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
#bo_v_share { padding: 0 0 16px; margin-bottom: 16px; border-bottom: 1px solid var(--bd-border-soft); }
#bo_v_con { min-height: 150px; font-size: 14.5px; line-height: 1.6; color: var(--bd-text); margin-bottom: 24px; word-break: break-all; }
#bo_v_con img { max-width: 100%; height: auto; border-radius: 8px; }
#bo_v_con img { max-width: 100%; height: auto; border-radius: 8px; }
#bo_v_con img { max-width: 100%; height: auto; border-radius: 8px; }
#bo_v_img { margin-bottom: 16px; }
#bo_v_img img { max-width: 100%; border-radius: 10px; margin-bottom: 10px; }

#bo_v_act { border-top: 1px solid var(--bd-border); padding-top: 16px; margin-top: 0; display: flex; justify-content: center; gap: 14px; }
.bo_v_act_gng { position: relative; }
#bo_v_act .bo_v_good, #bo_v_act .bo_v_nogood { display: flex; align-items: center; gap: 8px; padding: 0 20px; height: 44px; border-radius: 26px; border: 1px solid var(--bd-border); background: var(--bd-bg-card); font-weight: 700; color: var(--bd-text-muted); }
#bo_v_act .bo_v_good:hover { color: var(--bd-accent); border-color: var(--bd-accent); }
#bo_v_act .bo_v_nogood:hover { color: var(--bd-danger); border-color: var(--bd-danger); }
#bo_v_act_good, #bo_v_act_nogood { display: none; position: absolute; bottom: 52px; left: 50%; transform: translateX(-50%); padding: 8px 14px; border-radius: 8px; background: #1c2029; color: #fff; font-size: 12px; white-space: nowrap; }

#bo_v_manage { display: flex; gap: 8px; margin-top: 16px; }
#bo_v_manage .btn_manage {
    height: 36px; padding: 0 18px; border-radius: 6px;
    background: var(--bd-bg-soft); border: 1px solid var(--bd-border);
    color: var(--bd-text-muted); font-size: 13px; font-weight: 600;
    display: inline-flex; align-items: center; justify-content: center;
}
#bo_v_manage .btn_manage:hover { color: var(--bd-text); border-color: var(--bd-text-faint); }
#bo_v_manage .btn_delete:hover { color: var(--bd-danger); border-color: var(--bd-danger); }

#bo_v_file, #bo_v_link { margin-top: 16px; padding: 16px 18px; background: var(--bd-bg-card); border: 1px solid var(--bd-border); border-radius: var(--bd-radius); }
#bo_v_file h2, #bo_v_link h2 { font-size: 14px; margin: 0 0 10px; color: var(--bd-text-muted); }
#bo_v_file ul, #bo_v_link ul { list-style: none; margin: 0; padding: 0; }
#bo_v_file li, #bo_v_link li { padding: 10px 0; border-bottom: 1px solid var(--bd-border-soft); font-size: 13.5px; color: var(--bd-text); }
#bo_v_file li:last-child, #bo_v_link li:last-child { border-bottom: 0; }
.bo_v_file_cnt, .bo_v_link_cnt { display: block; margin-top: 4px; color: var(--bd-text-faint); font-size: 12px; }

.bo_v_nb { display: flex; gap: 12px; list-style: none; margin: 20px 0 40px !important; padding: 0; }
.bo_v_nb li { flex: 1; min-width: 0; background: var(--bd-bg-card); border: 1px solid var(--bd-border); border-radius: var(--bd-radius-sm); padding: 14px 16px; }
.bo_v_nb .btn_prv { text-align: left; }
.bo_v_nb .btn_next { text-align: right; }
.bo_v_nb .nb_tit { display: block; font-size: 12px; color: var(--bd-text-faint); margin-bottom: 6px; }
.bo_v_nb a { display: block; font-size: 14px; font-weight: 600; color: var(--bd-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo_v_nb a:hover { color: var(--bd-accent); }
.bo_v_nb .nb_date { display: block; font-size: 11px; color: var(--bd-text-faint); margin-top: 4px; }
@media (max-width: 640px) {
    .bo_v_nb { flex-direction: column; }
    .bo_v_nb .btn_next { text-align: left; }
}

/* =========================================================
   [복원] 댓글 (#bo_vc) - view_comment.skin.php 구조 전체
   ========================================================= */
#bo_vc { max-width: 900px; margin: 50px auto 0; padding: 0 16px; color: var(--bd-text); }
.cmt_btn { display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 24px 0 14px; padding: 0 0 14px; border: 0; border-bottom: 2px solid var(--bd-border); background: transparent; cursor: pointer; }
.cmt_btn .total { font-size: 15px; font-weight: 700; font-family: "GmarketSansMedium", sans-serif; color: var(--bd-text); }
.cmt_btn .total b { color: var(--bd-text); }
.cmt_btn span.cmt_more { width: 9px; height: 9px; border-right: 2px solid var(--bd-text-faint); border-bottom: 2px solid var(--bd-text-faint); transform: rotate(45deg); transition: .2s; display: inline-block; }
.cmt_btn_op span.cmt_more { transform: rotate(-135deg); }

#bo_vc article {
    display: flex; gap: 10px; padding: 12px 14px; margin-bottom: 10px;
    background: var(--bd-bg-card); border: 1px solid var(--bd-border); border-radius: 6px;
}
#bo_vc article .pf_img img { width: 36px; height: 36px; border-radius: 50%; }
#bo_vc .cm_wrap { flex: 1; min-width: 0; }
#bo_vc header { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12.5px; font-weight: 700; color: var(--bd-text); }
#bo_vc header .sv_member, #bo_vc header .sv_guest { font-weight: 700; font-size: 14px; color: var(--bd-text) !important; }
.bo_vc_hdinfo { font-weight: normal; color: var(--bd-text-faint); font-size: 11.5px; }
#bo_vc .cmt_contents p { margin: 6px 0 0; line-height: 1.5; font-size: 13.5px; color: var(--bd-text); word-break: break-word; }
#bo_vc_empty { padding: 50px 0 !important; text-align: center; color: var(--bd-text-faint); }

.blind_comment_text { color: var(--bd-text-faint) !important; font-style: italic; font-size: 13px !important; }
.admin_cmt_blind_tag { display: inline-block; font-size: 11px; font-weight: bold; color: var(--bd-danger); margin-bottom: 4px; }

.bo_vl_opt { position: relative; }
.btn_cm_opt {
    display: inline-flex; align-items: center; justify-content: center;
    width: 30px; height: 30px; border-radius: 50%;
    background: var(--bd-bg-card); border: 1px solid var(--bd-border);
    color: var(--bd-text-muted); cursor: pointer;
}
.btn_cm_opt:hover { color: var(--bd-accent); border-color: var(--bd-accent); }
.bo_vc_act {
    display: none; position: absolute; top: 36px; right: 0; min-width: 110px;
    background: var(--bd-bg-elevated); border: 1px solid var(--bd-border);
    border-radius: 10px; box-shadow: var(--bd-shadow-lg); z-index: 30;
    overflow: hidden; list-style: none; margin: 0; padding: 4px;
}
.bo_vc_act li { border-radius: 6px; }
.bo_vc_act li a {
    display: block; padding: 8px 12px; font-size: 12.5px; font-weight: 600;
    color: var(--bd-text); border-radius: 6px;
}
.bo_vc_act li a:hover { background: var(--bd-bg-soft); color: var(--bd-accent); }

aside.bo_vc_w {
    margin-top: 20px; padding: 20px; border-top: 0;
    background: var(--bd-bg-card); border: 1px solid var(--bd-border);
    border-radius: var(--bd-radius); box-shadow: var(--bd-shadow);
}
.bo_vc_w textarea {
    width: 100%; min-height: 88px; border-radius: var(--bd-radius); padding: 14px 16px;
    font-size: 14px; resize: vertical; background: var(--bd-bg-card); color: var(--bd-text);
    border: 1px solid var(--bd-border);
}
.bo_vc_w #char_cnt { display: block; text-align: right; font-size: 12px; color: var(--bd-text-faint); margin-bottom: 6px; }
.bo_vc_w_info { display: flex; gap: 8px; flex-wrap: wrap; }
.bo_vc_w_info .frm_input { height: 34px; padding: 0 12px; border-radius: 8px; }
.bo_vc_w_wr { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; flex-wrap: nowrap; gap: 10px; }
.btn_confirm { display: flex; align-items: center; gap: 24px; margin-left: auto; flex-wrap: nowrap; flex-shrink: 0; }
.secret_cm { flex-shrink: 0; }
.secret_cm label { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--bd-text-muted); cursor: pointer; white-space: nowrap; flex-direction: row; }
.bo_vc_w .btn_submit { height: 34px; padding: 0 20px; border-radius: 6px; background: var(--bd-accent); color: #fff !important; border: 0; font-weight: 700; font-size: 12.5px; }
.bo_vc_w .btn_submit:hover { background: var(--bd-accent-hover); }

/* =========================================================
   [복원] 투표 결과 표시 (view.skin.php 안 .poll_view_card / .pv_*)
   ========================================================= */
.poll_view_card { margin: 18px 0; padding: 20px 20px 18px; border-radius: var(--bd-radius); background: var(--bd-bg-soft); border: 1px solid var(--bd-border); }
.poll_view_card .pv_head { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.poll_view_card .pv_icon { color: var(--bd-accent-2); }
.poll_view_card .pv_title { font-size: 16px; font-weight: 800; color: var(--bd-text); }
.poll_view_card .pv_meta { font-size: 12.5px; color: var(--bd-text-faint); margin-bottom: 14px; }
.poll_view_card .pv_meta.is_closed { color: var(--bd-danger); font-weight: 700; }

.pv_options { display: flex; flex-direction: column; gap: 8px; }
.pv_option label {
    display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px 14px;
    border: 1.5px solid var(--bd-border); border-radius: var(--bd-radius-sm); cursor: pointer;
    background: var(--bd-bg-card); color: var(--bd-text); font-size: 14px; transition: .15s;
}
.pv_option label:hover { border-color: var(--bd-accent-2); }
.pv_option input { accent-color: var(--bd-accent-2); width: 16px; height: 16px; flex-shrink: 0; }
.pv_option .pv_option_text { flex: 1; }

.pv_submit_row { display: flex; justify-content: flex-end; margin-top: 14px; }
.pv_submit_row button { height: 40px; padding: 0 22px; border-radius: 22px; background: var(--bd-accent-2); color: #fff; border: 0; font-weight: 700; font-size: 13px; }
.pv_submit_row button:hover { filter: brightness(1.08); }

.pv_result_row { position: relative; padding: 10px 12px; border-radius: var(--bd-radius-sm); border: 1px solid var(--bd-border); background: var(--bd-bg-card); overflow: hidden; }
.pv_result_row .pv_bar { position: absolute; left: 0; top: 0; bottom: 0; background: var(--bd-accent-2-soft); z-index: 0; transition: width .5s ease; }
.pv_result_row.is_mine .pv_bar { background: linear-gradient(90deg, var(--bd-accent-2-soft), rgba(109,92,232,0.35)); }
.pv_result_row .pv_result_line { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 13.5px; }
.pv_result_row .pv_result_text { display: flex; align-items: center; gap: 6px; font-weight: 600; color: var(--bd-text); }
.pv_result_row .pv_result_text .pv_mine_badge { font-size: 10.5px; font-weight: 800; color: var(--bd-accent-2); border: 1px solid var(--bd-accent-2); border-radius: 8px; padding: 1px 6px; }
.pv_result_row .pv_result_pct { font-weight: 800; color: var(--bd-accent-2); white-space: nowrap; }
.pv_total_votes { margin-top: 10px; font-size: 12px; color: var(--bd-text-faint); text-align: right; }

/* =========================================================
   [복원] 임시저장 팝업 헤더/전체삭제 (write.skin.php)
   ========================================================= */
#autosave_pop .autosave_pop_head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
#autosave_pop .autosave_pop_head strong { font-size: 13.5px; font-weight: 700; color: var(--bd-text); }
#autosave_pop .autosave_delete_all { font-size: 12px; color: var(--bd-text-faint); background: transparent; border: 0; text-decoration: underline; cursor: pointer; }
#autosave_pop .autosave_delete_all:hover { color: var(--bd-danger); }
#autosave_pop ul { list-style: none; margin: 0; padding: 0; max-height: 240px; overflow-y: auto; }
#autosave_pop li { display: flex; align-items: center; gap: 8px; padding: 9px 4px; border-bottom: 1px solid var(--bd-border-soft); font-size: 12.5px; }
#autosave_pop li a { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--bd-text); }
#autosave_pop .autosave_close { width: 100%; margin-top: 10px; height: 34px; border-radius: 6px; background: var(--bd-bg-soft); border: 1px solid var(--bd-border); color: var(--bd-text-muted); font-size: 12.5px; }

/* =========================================================
   [복원] 공통 유틸리티 클래스
   ========================================================= */
.sound_only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.required { }
.full_input { width: 100%; }
.if_date { }
.btn_b01, .btn_b03 { display: inline-flex; align-items: center; gap: 6px; }

/* =========================================================
   상단 목록(중앙)/더보기(우측) 바 + 댓글 로그인 안내
   ========================================================= */
.comm-view-topbar {
    position: relative; display: flex; align-items: center; justify-content: center;
    min-height: 20px; margin-bottom: 14px; font-size: 13px;
}
.comm-view-topbar-list { color: var(--bd-text-muted); font-weight: 600; }
.comm-view-topbar-list:hover { color: var(--bd-text); }
.comm-view-topbar-more { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
.comm-view-topbar-more .btn_more_opt {
    display: inline-flex; align-items: center; justify-content: center;
    width: 30px; height: 30px; border-radius: 50%;
    background: transparent; border: 0;
    color: var(--bd-text-muted); cursor: pointer;
}
.comm-view-topbar-more .btn_more_opt:hover { color: var(--bd-text); }
.comm-view-topbar-more .more_opt { top: 34px; }
.dots_v { font-size: 18px; line-height: 1; font-style: normal; }

.bo_vc_login_notice {
    text-align: center; padding: 18px 16px; margin-top: 16px; font-size: 13.5px;
    color: var(--bd-text-muted); background: var(--bd-bg-soft);
    border: 1px solid var(--bd-border); border-radius: var(--bd-radius-sm);
}
.bo_vc_login_notice a { color: var(--bd-accent); font-weight: 700; text-decoration: underline; }

@media (max-width: 640px) {
    .comm-view-container { padding: 18px 16px !important; }
    #bo_v_title { font-size: 17px !important; }
    .comm-view-container header { gap: 12px !important; }
    .bo_v_avatar { width: 44px; height: 44px; font-size: 18px; }
    .profile_info_ct { font-size: 12px; gap: 2px 8px; }
    #bo_v_manage .btn_manage { height: 34px; padding: 0 14px; font-size: 12.5px; }
}

@media (max-width: 480px) {
    .bo_vc_w_wr { flex-wrap: wrap; }
}

/* =========================================================
   개인정보수정 (#tab-profile) 개편 스타일
   ========================================================= */
.pf-img-zone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--bd-border-soft);
}

.pf-img-zone .pf-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--bd-text);
    margin-bottom: 15px;
    font-family: 'GmarketSansMedium', sans-serif;
}

/* 동그란 아바타 기본 스타일 (mypage, board 공통 사용) */
.bd-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-weight: 800;
    text-transform: uppercase;
    box-shadow: var(--bd-shadow);
    user-select: none;
    flex-shrink: 0;
}

/* 마이페이지 전용 큰 아바타 크기 및 폰트 정의 */
#tab-profile .bd-avatar {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    font-size: 50px;
    margin-bottom: 20px;
}

/* 이미지 업로드/사용안함 버튼 그룹 */
.pf-btn-group {
    display: flex;
    gap: 8px;
    margin-bottom: 15px;
}

/* 이미지 업로드 버튼 스타일 */
.btn-pf-upload {
    background: var(--bd-bg-card);
    border: 1px solid var(--bd-border);
    color: var(--bd-text);
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.1s;
    display: flex;
    align-items: center;
    gap: 6px;
}
.btn-pf-upload:hover {
    border-color: var(--bd-text-faint);
    background: var(--bd-bg-soft);
}

/* 사용 안함 버튼 스타일 */
.btn-pf-delete {
    background: var(--bd-bg-soft);
    border: 1px solid var(--bd-border);
    color: var(--bd-text-muted);
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.1s;
    display: flex;
    align-items: center;
    gap: 6px;
}
.btn-pf-delete:hover {
    border-color: var(--bd-danger);
    color: var(--bd-danger);
    background: #fdecec; /* 라이트모드 연한 빨강 */
}
html[data-theme="dark"] .btn-pf-delete:hover {
    background: #3a1c22; /* 다크모드 연한 빨강 */
}

/* 하단 설명 텍스트 */
.pf-note {
    font-size: 12px;
    color: var(--bd-text-muted);
    line-height: 1.6;
}

/* 모바일 반응형 처리 */
@media (max-width: 480px) {
    #tab-profile .bd-avatar { width: 100px; height: 100px; font-size: 40px; }
    .pf-btn-group { flex-direction: column; width: 100%; max-width: 240px; }
    .btn-pf-upload, .btn-pf-delete { justify-content: center; }
}