@charset "utf-8";

/* 스크린리더 전용(시각적으로 숨김) 공통 클래스.
   이 정의가 없어서 .sound_only 텍스트(목록/답변/글쓰기/게시판 리스트 옵션/본문/페이지 정보/작성자 등)가
   전부 화면에 그대로 노출되고, 좁은 고정폭 버튼(.btn_bo_user li, width:40px) 안에서
   "게시판 리스트 옵션" 같은 긴 텍스트가 세로로 줄바꿈되어 깨져 보이던 원인이었음. */
.sound_only {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* 게시판 목록 */
#bo_list {position:relative;margin-bottom:20px}
#bo_list:after {display:block;visibility:hidden;clear:both;content:""}
#bo_list .td_board {width:120px;text-align:center}
#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1}
#bo_list .td_date {width:60px;text-align:center}
#bo_list .td_datetime {width:60px;text-align:center}
#bo_list .td_group {width:100px;text-align:center}
#bo_list .td_mb_id {width:100px;text-align:center}
#bo_list .td_mng {width:80px;text-align:center}
#bo_list .td_name {width:90px;text-align:left;padding:10px 0}
#bo_list .td_nick {width:100px;text-align:center}
#bo_list .td_num {width:50px;text-align:center}
#bo_list .td_num2 {width:50px;text-align:center}
#bo_list .td_numbig {width:80px;text-align:center}
#bo_list .txt_active {color:#5d910b}
#bo_list .txt_expired {color:#ccc}
#bo_list tbody tr {border-left:2px solid transparent}
#bo_list tbody tr:hover {border-left:2px solid #253dbe}
#bo_list tbody .even td {background:#fbfbfb}

#bo_cate {margin:25px 0}
#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_cate ul {zoom:1}
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_cate li {display:inline-block;padding:2px}
#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3}
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff}
#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd;
-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202);
-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202);
box-shadow:inset 0 2px 5px rgb(33, 135, 202)}
.td_subject img {margin-left:5px}

/* 게시판 목록 공통 */
.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}
.chk_box input[type="checkbox"] + label {position:relative;color:#676e70}
.chk_box input[type="checkbox"] + label:hover {color:#2172f8}
.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px}
.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.chk_box input[type="checkbox"]:checked + label {color:#000}
.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}


#bo_btn_top {margin:10px 0}
#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx {margin-bottom:5px;float:right;zoom:1}
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx ul {margin:0;padding:0;list-style:none}
#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f}

.btn_bo_user {float:right;margin:0;padding:0;list-style:none}
.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff}
.btn_bo_user > li {position:relative}
.btn_bo_adm {float:left}
.btn_bo_adm li {float:left;margin-right:5px}
.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle}
.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee}
.bo_notice td a {font-weight:bold}
.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f}

.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999}
.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent}
.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left}
.more_opt li:last-child {border-bottom:0}
.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c}
.more_opt li:hover a,
.more_opt li:hover button {color:#000}
.more_opt li i {float:right;line-height:20px}

.td_num strong {color:#000}
.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */
.bo_cate_link:hover {text-decoration:none}
.bo_tit {display:block;color:#000;font-weight:bold}
.bo_current {color:#e8180c}
#bo_list .profile_img img {border-radius:50%}
#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle}

#bo_list .bo_tit .title_icon {margin-right:2px}
#bo_list .bo_tit .fa-heart {color:#ff0000}
#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle}
#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle}
#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle}
#bo_list .bo_tit .fa-caret-right {color:#bbb}
#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle}
#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle}

.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%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px}
.bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8}
.bo_sch legend {background:red}
.bo_sch form {padding:15px;display:block}
.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left}
.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px}
.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff}
.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%}

/* 게시판 쓰기 */
#char_count_desc {display:block;margin:0 0 5px;padding:0}
#char_count_wrap {margin:5px 0 0;text-align:right}
#char_count {font-weight:bold}

#autosave_wrapper {position:relative}
#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff;
-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent}
#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */
#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}
#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8}
#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1}
#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""}
#autosave_pop a {display:block;float:left}
#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999}
.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em}
.autosave_close:hover {background:#f3f3f3;color:#3597d9}
.autosave_content {display:none}
.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px}

/* 게시판 읽기 */
#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box}

/* theme/blog(falette.org 공유 파일)의 article#bo_v 공통 카드 스타일이 그누보드 표준 ID #bo_v와
   충돌해 view 페이지에만 이중 카드(padding/border/box-shadow) + overflow:hidden이 덧씌워지던 문제.
   theme/blog는 건드리지 않고, 이 파일 안에서만 specificity를 높여(id+class) 무력화한다. */
.page-container #bo_v {
    background: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-bottom: 20px !important;
    overflow: visible !important;
}

#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em}

/* 뉴스 기사 스타일 타이포그래피 */
#bo_v_title {}
#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;}
#bo_v_title .bo_v_tit {
  display:block; font-size:30px; font-weight:800; line-height:1.4;
  letter-spacing:-0.02em; word-break:keep-all; margin:10px 0 0;
  font-family: var(--blog-font, 'Pretendard', 'Noto Sans KR', -apple-system, sans-serif);
}

#bo_v_info {margin:20px 0 0; padding-bottom:20px; border-bottom:1px solid #eceef1; color:#666}
#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_info .profile_info {margin:0; display:flex; align-items:center; gap:12px;}
#bo_v_info .profile_info .pf_img {flex-shrink:0;}
#bo_v_info .profile_info .pf_img img {border-radius:50%;width:44px;height:44px;}
#bo_v_info .profile_info .profile_info_ct {display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; line-height:1.5;}

#bo_v_info strong {display:inline-block;margin:0;font-weight:normal;font-size:13px;color:#8a9099;}
#bo_v_info .sv_member,
#bo_v_info .sv_guest,
#bo_v_info .member,
#bo_v_info .guest {font-weight:700;font-size:15px;color:#111317;}
#bo_v_info .profile_img {display:none}
#bo_v_info .sv_member {color:#111317}
#bo_v_info .if_date {margin:0;color:#8a9099}

#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px;
-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)}
#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px}
#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000}
#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd}
#bo_v_file img {float:left;margin:0 10px 0 0}
#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em}
#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4}
#bo_v_file li:hover i {color:#3a8afd}
#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc}


#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px;
-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)}
#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px}
#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000}
#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd}
#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em}
#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4}
#bo_v_link li:hover i {color:#3a8afd}
#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc}

#bo_v_top {zoom:1}
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff}

#bo_v_bot {zoom:1}
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_bot ul {padding:0;list-style:none}

.bo_v_com {margin:20px 0;float:right}
.bo_v_com > li {position:relative;float:left;margin-left:5px}

/* 이전글/다음글: 구분선 위에 카드 형태로 */
.bo_v_nb {position:relative;margin:30px 0 10px;padding-top:24px;border-top:1px solid #eceef1;clear:both;text-align:left;display:flex;flex-direction:column;gap:10px;}
.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""}
.bo_v_nb li {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  border:1px solid #eceef1; border-radius:10px; padding:14px 18px; background:#fff;
  transition: border-color .15s, background .15s;
}
.bo_v_nb li:hover {background:#fafbfc; border-color:#d8dce2;}
.bo_v_nb li i {font-size:13px;color:#9aa0a8}
.bo_v_nb li a {flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; color:#232529;}
.bo_v_nb li .nb_tit {flex-shrink:0; display:inline-block;padding-right:14px;color:#9aa0a8;font-size:13px;}
.bo_v_nb li .nb_date {flex-shrink:0; color:#9aa0a8;font-size:12px;}

#bo_v_atc {min-height:200px;height:auto !important;height:200px}
#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_img {width:100%;overflow:hidden;zoom:1}
#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_img a.view_image {display:block}
#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto}

#bo_v_con {
  margin:28px 0 30px; width:100%; min-height:200px; overflow:hidden;
  font-size:17px; line-height:1.8; color:#232529; word-break:keep-all;
  font-family: var(--blog-font, 'Pretendard', 'Noto Sans KR', -apple-system, sans-serif);
}
#bo_v_con p { margin:0 0 24px; }
#bo_v_con p:last-child { margin-bottom:0; }
#bo_v_con a {color: var(--blog-accent, #03c75a);text-decoration:underline}
#bo_v_con img {width:100%;max-width:100%;height:auto;border-radius:8px;display:block;margin:24px 0;}

/* 좋아요/싫어요: 본문 하단 중앙 정렬 원형 아이콘 버튼 */
#bo_v_act {margin:40px 0 30px; text-align:center; display:flex; justify-content:center; align-items:flex-start; gap:20px;}
#bo_v_act .bo_v_act_gng {position:relative; display:inline-flex;}
#bo_v_act a {
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  width:64px; height:64px; margin:0;
  border:1px solid #e5e7eb; border-radius:50%; background:#fff; color:#4a5158;
  transition: border-color .15s, color .15s;
}
#bo_v_act a:hover {background-color:#fff;color:var(--blog-accent, #03c75a);border-color:var(--blog-accent, #03c75a)}
#bo_v_act i {font-size:19px;margin:0}
#bo_v_act a strong {font-size:12px;font-weight:700;margin:0}
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:70px;left:50%;transform:translateX(-50%);z-index:9999;padding:10px 14px;width:180px;border-radius:8px;background:#2f353f;color:#fff;text-align:center;font-size:13px;}
#bo_v_act .bo_v_good, #bo_v_act .bo_v_nogood {display:flex;}

#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block}
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left}
#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em}
#bo_v_sns li img {vertical-align:middle;margin-right:5px}
#bo_v_sns li .sns_f {display:block;background:#3b5997}
#bo_v_sns li .sns_t {display:block;background:#09aeee}
#bo_v_sns li .sns_g {display:block;background:#ea4026}
#bo_v_sns li .sns_k {display:block;background:#fbe300}

#bo_v_share {position:relative;padding:20px 0}
#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px}
#bo_v_share .btn:hover {background:#fff}
#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle}

/* 게시판 댓글 */
.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 18px}
.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1.15em;color:var(--blog-accent, #03c75a)}
.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px}
.cmt_btn_op span.cmt_more {background-position:right -8px}
.cmt_btn b {font-size:1.5em;color:#111317}
.cmt_btn span.total:after {position:absolute;bottom:-19px;left:0;display:inline-block;background:var(--blog-accent, #03c75a);content:"";width:100%;height:2px}
#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 #f0f0f0}
#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc article .profile_img img {border-radius:50%}
#bo_vc article .pf_img {float:left;margin-right:10px}
#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px}
#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%}
#bo_vc header {position:relative;width:100%}
#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc header .profile_img {display:none}
#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px}
#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold}
.bo_vc_hdinfo {color:#777}
#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px}
#bo_vc p a {text-decoration:underline}
#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479}
#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center}
#bo_vc #bo_vc_winfo {float:left}
#bo_vc .bo_vl_opt {position:absolute;top:0;right:0}

.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999}
.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent}
.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
.bo_vc_act li {border-bottom:1px solid #f0f0f0}
.bo_vc_act li:last-child {border-bottom:0}
.bo_vc_act li a {display:inline-block;padding:10px 15px}
.bo_vc_act li a:hover {color:#3a8afd}

/* 댓글 작성 폼: 배경/여백을 하나의 카드로 통일 */
/* 댓글 작성 카드. 실제 DOM 확인 결과:
   <aside id="bo_vc_w" class="bo_vc_w">
     <textarea id="wr_content">
     <div class="bo_vc_w_wr">
       <div class="bo_vc_w_info">
         <label class="sound_only">...(숨김, position:absolute라 flex item 아님)
         <input id="wr_name" class="frm_input">
         <input id="wr_password" class="frm_input">
         <fieldset id="captcha" class="captcha recaptcha">(reCAPTCHA, 브라우저 기본 fieldset 테두리/패딩 있음)
       <div class="btn_confirm">
         <span class="secret_cm chk_box">...<label>비밀글</label></span>
         <button id="btn_submit" class="btn_submit"> */
#bo_vc_w {position:relative;margin:10px 0;display:block;background:#f4f5f7 !important;border-radius:12px;padding:24px;box-shadow:none;}
#bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc_w #char_cnt {display:block;margin:0 0 8px}
#bo_vc_w textarea {border:1px solid #e5e7eb;background:#fff;color:#232529;vertical-align:middle;border-radius:8px;padding:12px 14px;width:100%;height:80px;
font-size:14px; line-height:1.6; transition: border-color .15s;
box-shadow:none; display:block; margin-bottom:8px;}
#bo_vc_w textarea:focus {outline:none; border-color:var(--blog-accent, #03c75a);}
#bo_vc_w textarea::placeholder {color:#b3b8c2;}
#wr_secret {}
.bo_vc_w_wr {display:flex; flex-direction:column; gap:10px;}
.bo_vc_w_info {display:flex !important; flex-wrap:wrap; align-items:center; gap:8px !important;}
.bo_vc_w_info input.frm_input {
  flex:1 !important; width:auto !important; min-width:0 !important;
  border:1px solid #e5e7eb; border-radius:8px; background:#fff; box-shadow:none;
  padding:0 14px; height:36px; line-height:34px; font-size:14px; color:#232529; margin:0;
}
.bo_vc_w_info input.frm_input::placeholder {color:#b3b8c2;}
.bo_vc_w_info input.frm_input:focus {outline:none; border-color:var(--blog-accent, #03c75a);}
/* reCAPTCHA(fieldset)는 이름/비밀번호 줄 다음, 자기 줄 전체를 차지하도록 강제 줄바꿈.
   브라우저 기본 fieldset 테두리/여백(border/padding)을 완전히 제거해 카드 배경과 통일. */
.bo_vc_w_info fieldset#captcha,
.bo_vc_w_info #captcha {
  flex:1 0 100% !important; width:100% !important; margin:0; padding:0;
  border:0; background:transparent;
}
.bo_vc_w .btn_confirm {display:flex; align-items:center; justify-content:flex-end; gap:12px; margin:0;}
.bo_vc_w .btn_confirm label {display:inline-block;margin-right:0;border-radius:3px;font-size:1em;text-align:center}
.bo_vc_w .btn_submit {height:40px;padding:0 22px;border-radius:20px;font-weight:bold;font-size:1em;border:1px solid var(--blog-accent, #03c75a);background:var(--blog-accent, #03c75a);color:#fff;box-shadow:none;}
.bo_vc_w .btn_submit:hover {opacity:.9}
.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important}
.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""}
.secret_cm {display:inline-flex; align-items:center;}

#bo_vc_send_sns {display:inline-block;float:left}
#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1}
#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc_sns li {float:left;margin:0 5px 0 0}
#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px}
#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px}
#bo_vc_sns .sns_li_off {background:#bbb}
#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px}
#bo_vc_sns input {margin:0 5px 0 0}

/*글쓰기*/
#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0}
#bo_w .bo_v_option li label {vertical-align:baseline}
#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px}
#bo_w .write_div {margin:10px 0;position:relative}
#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""}
#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""}
#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%}
#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%}
#bo_w .wr_content.smarteditor2 iframe {background:#fff}
#bo_w .bo_w_tit {position:relative}
#bo_w .bo_w_tit .frm_input {padding-right:120px}
#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px}
#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2}
#bo_w .bo_w_link .frm_input {padding-left:50px}
#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2}
#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px}
#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0}
#bo_w .bo_w_flie .frm_input {margin:10px 0 0}
#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d}
#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px}
#bo_w .btn_submit {padding:0 20px;font-size:1.167em}
#bo_w .btn_cancel {border-radius:3px;font-size:1.167em}

/* === Naver-style sticky layout added === */

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
:root {
  --header-h: 64px;
  --sticky-top: 84px;
}
body {
  font-family: var(--blog-font, 'Noto Sans KR', -apple-system, sans-serif);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }

/* #header/.hidden 삭제: 실제 헤더는 blog_head.php의 .site-header(position:sticky)이고
   #header id는 어디에도 쓰이지 않는 죽은 규칙이었음. body{padding-top:var(--header-h)}도
   고정(fixed) 헤더를 가정한 보정값이라 sticky 헤더에는 불필요한 상단 여백만 만들어서 제거함. */
.header-inner {
  max-width: 1120px;
  height: 100%;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
/* .logo 규칙 삭제: blog_head.php가 이미 자체 .logo 스타일을 정의하고 있고,
   이 파일의 예전 display:flex/gap:10px가 겹쳐 로고가 "fa"+"lette" 사이에
   벌어져 보이는 문제를 일으켰음 (blog_skin 자체 마크업에서는 .logo 미사용) */
.logo-mark {
  width: 24px; height: 24px; border-radius: 7px;
  background: #000;
  display: grid; place-items: center;
  color: #fff; font-size: 14px; font-weight: 900;
}
.gnb { display: flex; gap: 22px; font-size: 14px; color: #5c6470; }
.gnb a { text-decoration: none; color: #5c6470; }
.gnb a:hover { color: #000; }
.header-right { display: flex; align-items: center; gap: 14px; color: #8a9099; }
.search-btn { width: 34px; height: 34px; border-radius: 10px; border: 1px solid #eceef1; background: #fff; display: grid; place-items: center; cursor: pointer; }

/* Layout */
/* blog.falette.org는 theme/blog와 완전히 독립되어 blog_head.php가 자체 헤더를 그리므로,
   홈(index.php)의 .page-wrap/.header-inner와 동일하게 1320px로 맞춘다.
   sticky 사이드바도 index.php(.page-wrap/.main-col/.side-col)에서 이미 검증된
   flexbox 패턴을 그대로 재사용한다 (grid+이중 래퍼 구조에서 sticky가 잘 붙지 않던 문제). */
.page-container {
  max-width: 1320px;
  width: 100%;
  margin: 0 auto;
  padding: 28px 20px 80px;
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
.main-content { flex: 1; min-width: 0; }

.breadcrumb {
  font-size: 13px; color: #8a9099; margin-bottom: 12px;
}
.page-head { margin: 0 0 18px; }
.page-title { font-size: 26px; font-weight: 800; letter-spacing: -0.02em; margin: 0; }

.posts {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  padding: 6px 26px;
}
.post {
  padding: 30px 0;
  border-bottom: 1px solid #f1f3f5;
}
.post:last-child { border-bottom: 0; }
.post-title {
  font-size: 21px; line-height: 1.45; margin: 0 0 10px;
  font-weight: 800; letter-spacing: -0.02em; word-break: keep-all;
  font-family: var(--blog-font, 'Pretendard', 'Noto Sans KR', -apple-system, sans-serif);
}
.post-title a { text-decoration: none; color: #111317; }
.post-title a:hover { color: var(--blog-accent, #03c75a); text-decoration: none; }
.post-meta { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #8a9099; }
.post-meta .author { color: #4b5058; font-weight: 600; }
.post-meta .dot { opacity: .6; }
.post-excerpt {
  margin: 12px 0 0; font-size: 15px; line-height: 1.8; color: #4b5058; word-break: keep-all;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* Sidebar */
aside {
  width: 260px;
  flex-shrink: 0;
  position: sticky;
  top: 80px;
  align-self: flex-start;
}

.widget {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  padding: 18px 18px;
  margin-bottom: 16px;
}
.widget:last-child { margin-bottom: 0; }
.widget-title {
  font-size: 13px; font-weight: 800; letter-spacing: .02em;
  color: #111317; margin: 0 0 14px; padding-bottom: 10px;
  border-bottom: 2px solid var(--blog-accent, #03c75a);
  display: flex; align-items: center; gap: 8px;
}

.profile { text-align: center; padding: 22px 18px; }
.profile-avatar {
  width: 64px; height: 64px; border-radius: 50%;
  margin: 0 auto 10px;
  background: linear-gradient(135deg, #111 0%, #555 100%);
  display: grid; place-items: center; color: #fff; font-weight: 800;
}
.profile-name { font-weight: 700; }
.profile-desc { font-size: 13px; color: #7a828e; margin-top: 4px; }
.profile-stats { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin-top: 14px; padding-top: 14px; border-top: 1px dashed #eee; }
.stat-num { font-weight: 700; font-size: 14px; }
.stat-label { font-size: 11px; color: #8a9099; }

.category-list { list-style: none; margin: 0; padding: 0; }
.category-list li {
  display: flex; justify-content: space-between; align-items: center;
  padding: 9px 0; border-bottom: 1px dashed #f1f3f5; font-size: 14px;
}
.category-list li:last-child { border-bottom: 0; }
.category-list a { text-decoration: none; color: #333840; }
.category-list a:hover { color: var(--blog-accent, #03c75a); }
.category-list .count { font-size: 12px; color: #9aa0a8; background: #f6f7f9; padding: 2px 8px; border-radius: 999px; }

.popular-list { list-style: none; margin: 0; padding: 0; counter-reset: pop; }
.popular-list li { counter-increment: pop; display: flex; gap: 10px; padding: 10px 0; border-bottom: 1px solid #f5f6f7; }
.popular-list li:last-child { border-bottom: 0; }
.popular-list li::before {
  content: counter(pop); font-size: 12px; font-weight: 700; color: #9aa0a8;
  width: 20px; height: 20px; flex-shrink: 0; display: grid; place-items: center;
  background: #f6f7f9; border-radius: 6px; margin-top: 2px;
}
.popular-list a { text-decoration: none; color: #2f353f; font-size: 14px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.popular-list a:hover { color: var(--blog-accent, #03c75a); }

.tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.tag-cloud a {
  font-size: 12px; padding: 6px 10px; background: #f6f7f9; color: #5c6470;
  border: 1px solid #eceef1; border-radius: 999px; text-decoration: none;
}
.tag-cloud a:hover { background: #111; color: #fff; border-color: #111; }

.notice { font-size: 13px; line-height: 1.6; color: #5c6470; background: #fbfcfd; border: 1px dashed #e3e6ea; border-radius: 12px; padding: 12px 14px; }

/* Footer */
footer {
  border-top: 1px solid #eceef1;
  background: #fcfcfd;
  color: #8a9099;
}
.footer-inner {
  max-width: 1120px; margin: 0 auto; padding: 36px 20px 80px;
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
  font-size: 13px;
}
.footer-links { display: flex; gap: 16px; }
.footer-links a { color: #7a828e; text-decoration: none; }
.footer-links a:hover { color: #111; }

/* Mobile */
@media (max-width: 1023px) {
  .page-container { flex-direction: column; gap: 28px; padding: 20px 16px 60px; }
  .posts { padding: 4px 18px; border-radius: 14px; }
  .post-title { font-size: 18px; }
  .gnb { display: none; }
  aside { width: 100%; position: static; }
}
@media (max-width: 480px) {
  .header-inner { padding: 0 14px; }
  .page-title { font-size: 22px; }
}
