@charset "utf-8";
/* ============================================================
   올창고(allchanggo) 게시판 스킨 (quote) — 모던 / 라이트·다크 대응
   메인 테마 CSS 변수 사용 → data-theme="dark" 자동 적용
   ============================================================ */
:root{
  --m-brand:var(--brand,#2563eb);
  --m-brand-dark:var(--brand-dark,#1d4ed8);
  --m-brand-light:var(--brand-light,#eff6ff);
  --m-accent:var(--accent,#2563eb);
  --m-ink:var(--ink,#111827);
  --m-ink-2:var(--ink-2,#374151);
  --m-muted:var(--muted,#6b7280);
  --m-line:var(--line,#e5e7eb);
  --m-white:var(--white,#fff);
  --m-bg:var(--bg-gray,#f8fafc);
  --m-radius:14px;
  --m-radius-sm:10px;
}
html[data-theme="dark"]{--m-muted:#d1d5db}

/* ---------- 게시판 목록 ---------- */
#bo_list{position:relative;margin-bottom:20px;color:var(--m-ink)}
#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 var(--m-line);border-bottom:1px solid var(--m-line)}
#bo_list .td_date,#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,#bo_list .td_num2{width:50px;text-align:center}
#bo_list .td_numbig{width:80px;text-align:center}
#bo_list .txt_active{color:var(--m-brand)}
#bo_list .txt_expired{color:var(--m-muted)}
#bo_list tbody tr{border-left:2px solid transparent}
#bo_list tbody tr:hover{border-left:2px solid var(--m-brand)}
#bo_list tbody .even td{background:var(--m-bg)}

.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:var(--m-ink-2)}
.chk_box input[type="checkbox"] + label:hover{color:var(--m-brand)}
.chk_box input[type="checkbox"] + label span{float:left;width:16px;height:16px;display:block;background:var(--m-white);border:1px solid var(--m-line);border-radius:4px}
.write_div .chk_box input[type="checkbox"] + label,.bo_vc_w .chk_box input[type="checkbox"] + label{padding-left:22px}
.write_div .chk_box input[type="checkbox"] + label span,.bo_vc_w .chk_box input[type="checkbox"] + label span{position:absolute;top:5px;left:0;width:16px;height:16px;display:block;margin:0;background:var(--m-white);border:1px solid var(--m-line);border-radius:4px}
.chk_box input[type="checkbox"]:checked + label{color:var(--m-ink)}
.chk_box input[type="checkbox"]:checked + label span{background:url(./img/chk.png) no-repeat 50% 50% var(--m-brand);border-color:var(--m-brand);border-radius:4px}

#bo_btn_top{margin:10px 0}
#bo_btn_top:after{display:block;visibility:hidden;clear:both;content:""}
.bo_fx{margin-bottom:5px;float:right}
.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:var(--m-muted)}

.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:transparent}
.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:var(--m-line);color:var(--m-ink-2);text-decoration:none;vertical-align:middle;border-radius:6px}
.bo_notice td{background:var(--m-bg) !important;border-bottom:1px solid var(--m-line)}
.bo_notice td a{font-weight:bold}
.bo_notice .notice_icon{display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:var(--m-accent)}

.more_opt{display:none;position:absolute;top:45px;right:0;background:var(--m-white);border:1px solid var(--m-line);z-index:999;border-radius:8px;box-shadow:var(--shadow,0 6px 24px rgba(17,24,39,.08))}
.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 var(--m-line) 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 var(--m-white) transparent}
.more_opt li{border-bottom:1px solid var(--m-line);padding:10px;float:inherit;width:100px;margin:0;color:var(--m-ink-2);text-align:left}
.more_opt li:last-child{border-bottom:0}
.more_opt li button,.more_opt li a{width:100%;border:0;background:transparent;color:var(--m-ink-2)}
.more_opt li:hover a,.more_opt li:hover button{color:var(--m-brand)}
.more_opt li i{float:right;line-height:20px}

.td_num strong{color:var(--m-ink)}
.bo_cate_link{float:left;display:inline-block;margin-right:10px;background:var(--m-brand-light);color:var(--m-brand);font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:6px;font-size:0.95em}
.bo_cate_link:hover{text-decoration:none}
.bo_tit{display:block;color:var(--m-ink);font-weight:bold}
.bo_current{color:var(--m-accent)}
#bo_list .profile_img img{border-radius:50%}
#bo_list .cnt_cmt{background:var(--m-brand-light);color:var(--m-brand);font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:4px;vertical-align:middle}

#bo_list .bo_tit .title_icon{margin-right:2px}
#bo_list .bo_tit .fa-heart{color:#ef4444}
#bo_list .bo_tit .fa-lock{display:inline-block;line-height:14px;width:16px;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:3px;font-size:12px;vertical-align:middle}
#bo_list .bo_tit .new_icon{display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#16a34a;background:#dcfce7;text-align:center;border-radius:3px;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:#ef4444;background:#fee2e2;text-align:center;border-radius:3px;vertical-align:middle}
#bo_list .bo_tit .fa-caret-right{color:var(--m-muted)}
#bo_list .bo_tit .fa-download{display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#fef3c7;text-align:center;border-radius:3px;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:#f3e8ff;text-align:center;border-radius:3px;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%;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border:1px solid var(--m-line);background:var(--m-white);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.bo_sch:after{display:block;visibility:hidden;clear:both;content:""}
.bo_sch h3{padding:15px;border-bottom:1px solid var(--m-line);color:var(--m-ink)}
.bo_sch form{padding:15px;display:block}
.bo_sch select{border:1px solid var(--m-line);width:100%;height:42px;border-radius:8px;background:var(--m-white);color:var(--m-ink)}
.bo_sch .sch_bar{display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid var(--m-line);border-radius:8px}
.bo_sch .sch_input{width:250px;height:40px;border:0;padding:0 10px;background-color:transparent;float:left;color:var(--m-ink)}
.bo_sch .sch_btn{height:40px;float:right;color:var(--m-ink-2);background:none;border:0;width:42px;font-size:15px}
.bo_sch .bo_sch_cls{position:absolute;right:0;top:0;color:var(--m-muted);border:0;padding:12px 15px;font-size:16px;background:transparent}
.bo_sch_bg{background:rgba(0,0,0,0.35);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;max-height:180px;border:1px solid var(--m-line);background:var(--m-white);border-radius:8px;box-shadow:0 6px 20px rgba(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 var(--m-line) 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 var(--m-white) transparent}
html.no-overflowscrolling #autosave_pop{height:auto;max-height:10000px !important}
#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 var(--m-line);list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid var(--m-line)}
#autosave_pop li{padding:8px 5px;border-bottom:1px solid var(--m-line);background:var(--m-bg)}
#autosave_pop li:after{display:block;visibility:hidden;clear:both;content:""}
#autosave_pop a{display:block;float:left;color:var(--m-ink-2)}
#autosave_pop span{display:block;float:right;font-size:0.92em;font-style:italic;color:var(--m-muted)}
.autosave_close{cursor:pointer;width:100%;height:30px;background:none;color:var(--m-muted);font-weight:bold;font-size:0.92em}
.autosave_close:hover{background:var(--m-bg);color:var(--m-brand)}
.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; box-sizing:border-box;color:var(--m-ink)}
#bo_v_table{position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:var(--m-accent);color:#fff;font-weight:bold;line-height:2.2em;border-radius:0 0 6px 6px}
#bo_v_title .bo_v_cate{display:inline-block;line-height:20px;background:var(--m-brand-light);color:var(--m-brand);padding:2px 10px;border-radius:6px}
#bo_v_title .bo_v_tit{display:block;font-size:1.35em;margin:5px 0 0;word-break:break-all;color:var(--m-ink);font-weight:600}

#bo_v_info{margin:0;border-bottom:1px solid var(--m-line);color:var(--m-muted)}
#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:20px 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:50px;height:50px}
#bo_v_info .profile_info .profile_info_ct{float:left;padding:0px 0;line-height:50px}
#bo_v_info strong{display:inline-block;margin:0 10px 0 0;font-weight:normal}
#bo_v_info .sv_member,#bo_v_info .sv_guest,#bo_v_info .member,#bo_v_info .guest{font-weight:bold}
#bo_v_info .profile_img{display:none}
#bo_v_info .sv_member{color:var(--m-ink)}
#bo_v_info .if_date{margin:0;color:var(--m-muted)}

#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 var(--m-line);border-radius:10px;background:var(--m-white)}
#bo_v_file li i{float:left;color:var(--m-muted);font-size:2.35em;margin-right:20px}
#bo_v_file a{float:left;display:block;text-decoration:none;word-wrap:break-word;color:var(--m-ink)}
#bo_v_file a:focus,#bo_v_file li:hover a,#bo_v_file a:active{text-decoration:underline;color:var(--m-brand)}
#bo_v_file img{float:left;margin:0 10px 0 0}
#bo_v_file .bo_v_file_cnt{color:var(--m-muted);font-size:0.92em}
#bo_v_file li:hover{border-color:var(--m-brand)}
#bo_v_file li:hover i{color:var(--m-brand)}

#bo_v_link h2{position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_link li{padding:15px;position:relative;margin:10px 0;border:1px solid var(--m-line);border-radius:10px;background:var(--m-white)}
#bo_v_link li i{float:left;color:var(--m-muted);font-size:2.35em;margin-right:20px}
#bo_v_link a{float:left;display:block;text-decoration:none;word-wrap:break-word;color:var(--m-ink)}
#bo_v_link a:focus,#bo_v_link li:hover a,#bo_v_link a:active{text-decoration:underline;color:var(--m-brand)}
#bo_v_link .bo_v_link_cnt{color:var(--m-muted);font-size:0.92em}
#bo_v_link li:hover{border-color:var(--m-brand)}
#bo_v_link li:hover i{color:var(--m-brand)}

#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;}
#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:20px 0;clear:both;text-align:left}
.bo_v_nb:after{display:block;visibility:hidden;clear:both;content:""}
.bo_v_nb li{border-top:1px solid var(--m-line);padding:13px}
.bo_v_nb li:last-child{border-bottom:1px solid var(--m-line)}
.bo_v_nb li:hover{background:var(--m-bg)}
.bo_v_nb li i{font-size:13px;color:var(--m-muted)}
.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:var(--m-muted)}
.bo_v_nb li .nb_date{float:right;color:var(--m-muted)}

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

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

#bo_v_con{margin:10px 0 0;width:100%;line-height:1.7em;/* min-height:200px; */word-break:break-all;overflow:hidden;color:var(--m-ink-2)}
#bo_v_con a{color:var(--m-brand);text-decoration:underline}
#bo_v_con img{max-width:100%;height:auto}

#bo_v_act{margin-bottom:30px;text-align:center}
#bo_v_act .bo_v_act_gng{position:relative}
#bo_v_act a{margin-right:5px;vertical-align:middle;color:var(--m-ink-2)}
#bo_v_act a:hover{background-color:transparent;color:#ef4444;border-color:#ef4444}
#bo_v_act i{font-size:1.4em;margin-right:5px}
#bo_v_act_good,#bo_v_act_nogood{display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:var(--m-accent);color:#fff;text-align:center;border-radius:8px}
#bo_v_act .bo_v_good,#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid var(--m-line);width:70px;line-height:46px;border-radius:30px}

#bo_v_sns{padding:0;list-style:none;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:6px;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:var(--m-ink-2);font-weight:normal;font-size:1em;width:90px;line-height:35px;height:35px;border:1px solid var(--m-line);border-radius:6px}
#bo_v_share .btn:hover{background:var(--m-bg)}
#bo_v_share .btn i{margin-right:5px;color:var(--m-ink-2);vertical-align:middle}

/* ---------- 게시판 댓글 ---------- */
.cmt_btn{width:100%;text-align:left;border:0;border-bottom:1px solid var(--m-line);background:transparent;font-weight:bold;margin:30px 0 0;padding:0 0 15px;color:var(--m-ink)}
.cmt_btn span.total{position:relative;display:inline-block;margin-right:5px;font-size:1em;color:var(--m-brand)}
.cmt_btn span.cmt_more{float:right;display:inline-flex;align-items:center;line-height:1;color:var(--m-ink);margin-top:2px}
.cmt_btn span.cmt_more i{font-size:18px;transition:transform .2s}
.cmt_btn_op span.cmt_more i{transform:rotate(180deg)}
.cmt_btn b{font-size:1.2em;color:var(--m-ink)}
.cmt_btn span.total:after{position:absolute;bottom:-17px;left:0;display:inline-block;background:var(--m-brand);content:"";width:100%;height:2px}
#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(--m-line)}
#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;color:var(--m-ink)}
.bo_vc_hdinfo{color:var(--m-muted)}
#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;color:var(--m-ink-2)}
#bo_vc p a{text-decoration:underline}
#bo_vc p a.s_cmt{text-decoration:underline;color:var(--m-accent)}
#bo_vc_empty{margin:0;padding:80px 0 !important;color:var(--m-muted);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 var(--m-line);margin:0;list-style:none;background:var(--m-white);z-index:9999;border-radius:8px}
.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 var(--m-line) 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 var(--m-white) transparent}
.bo_vc_act li{border-bottom:1px solid var(--m-line)}
.bo_vc_act li:last-child{border-bottom:0}
.bo_vc_act li a{display:inline-block;padding:10px 15px;color:var(--m-ink-2)}
.bo_vc_act li a:hover{color:var(--m-brand)}

.bo_vc_w{position:relative;margin:10px 0;display:block}
.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 5px}
.bo_vc_w textarea{border:1px solid var(--m-line);background:var(--m-white);color:var(--m-ink);vertical-align:middle;border-radius:10px;padding:12px 14px;width:100%;height:120px;font-family:inherit;line-height:1.6}
.bo_vc_w textarea:focus{outline:0;border-color:var(--m-brand);box-shadow:0 0 0 3px rgba(37,124,252,.15)}
.bo_vc_w_info{margin:10px 0;float:left}
.bo_vc_w_info:after{display:block;visibility:hidden;clear:both;content:""}
.bo_vc_w_info .frm_input{float:left;margin-right:5px}
.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both}
.bo_vc_w .btn_confirm{clear:both;margin-top:10px}
.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:6px;font-size:1.5em;text-align:center}
.bo_vc_w .btn_submit{height:46px;padding:0 22px;border-radius:10px;font-weight:bold;font-size:1.05em}
.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-block;float:left}

#bo_vc_send_sns{display:inline-block;float:left}
#bo_vc_sns{display:inline-block;margin:0;padding:0;list-style:none}
#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:6px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px}
#bo_vc_sns .sns_li_t{border-radius:6px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px}
#bo_vc_sns .sns_li_off{background:var(--m-muted)}
#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;color:#fff}
#bo_vc_sns input{margin:0 5px 0 0}

/* ---------- 글쓰기 ---------- */
#bo_w{color:var(--m-ink)}
#bo_w .bo_v_option li{display:inline-block;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 .quote-box.write_div{margin:14px 0}
#bo_w .quote-box.write_div:after{content:none}
#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:var(--m-white)}
#bo_w .bo_w_select select{border:1px solid var(--m-line);width:100%;height:48px;border-radius:10px;background:var(--m-white);padding-left:10px;color:var(--m-ink)}
#bo_w .btn_confirm{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
#bo_w .btn_submit{padding:0 22px;height:48px;font-size:15px;font-weight:800;border-radius:10px}
#bo_w .btn_cancel{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 20px;border-radius:10px;font-size:15px;font-weight:700;border:1px solid var(--m-line);background:var(--m-white);color:var(--m-ink-2)}
#bo_w .btn_cancel:hover{border-color:var(--m-brand);color:var(--m-brand)}

/* ---------- 목록 테이블 (default.css 오버라이드, 라이트/다크 대응) ---------- */
.tbl_wrap table{background:var(--m-white);border-top-color:var(--m-line);border-bottom-color:var(--m-line)}
.tbl_head01 thead th{border-bottom-color:var(--m-line);color:var(--m-ink)}
.tbl_head01 tbody th{border-bottom-color:var(--m-line);color:var(--m-ink-2)}
.tbl_head01 td{color:var(--m-ink-2);border-top-color:var(--m-line);border-bottom-color:var(--m-line)}
.tbl_head01 tbody tr:hover td{background:var(--m-bg)}
.tbl_head01 tfoot th,.tbl_head01 tfoot td{background:var(--m-bg);border-top-color:var(--m-line);border-bottom-color:var(--m-line);color:var(--m-ink-2)}

/* ---------- 다크모드 미세 보정 ---------- */
html[data-theme="dark"] #bo_v_file li,
html[data-theme="dark"] #bo_v_link li{box-shadow:none}
html[data-theme="dark"] #bo_list .cnt_cmt,
html[data-theme="dark"] .bo_cate_link,
html[data-theme="dark"] #bo_v_title .bo_v_cate{background:rgba(96,165,250,.15)}
/* 다크모드: 카테고리 배지가 잘 안 보이는 문제 보정 */
html[data-theme="dark"] .bo_cate_link{background:rgba(96,165,250,.28);color:#cfe3ff}
html[data-theme="dark"] .bo_sch{box-shadow:0 12px 40px rgba(0,0,0,.6)}
html[data-theme="dark"] #bo_v_share .btn,
html[data-theme="dark"] #bo_v_share .btn i{color:#000}
html[data-theme="dark"] #bo_v_share .btn:hover,
html[data-theme="dark"] #bo_v_share .btn:hover i{color:#fff}

/* ---------- 본문 HTML용 2열 그리드 (PC 50%씩 2개 / 모바일 100% 1열) ---------- */
.svc-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:768px){.svc-grid-2{grid-template-columns:1fr}}

/* ---------- 이사 견적 입력폼 ---------- */
.quote-box{border:1px solid var(--m-line);border-radius:var(--m-radius);background:var(--m-bg);padding:20px 22px;margin:10px 0 18px}
.quote-h{margin:0 0 16px;font-size:17px;font-weight:800;color:var(--m-ink)}
.quote-h i{color:var(--m-brand);margin-right:6px}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 18px}
.quote-field{display:flex;flex-direction:column}
.quote-field-full{grid-column:1 / -1}
.quote-field label{font-size:13px;font-weight:600;color:var(--m-ink-2);margin-bottom:6px}
.quote-box .frm_input{width:100%;height:46px;border:1px solid var(--m-line);background:var(--m-white);color:var(--m-ink);border-radius:var(--m-radius-sm);padding:0 12px;font-size:14px;font-family:inherit}
.quote-box textarea.frm_input{height:auto;padding:10px 12px;line-height:1.6}
.quote-box .frm_input:focus{outline:0;border-color:var(--m-brand);box-shadow:0 0 0 3px rgba(37,124,252,.15)}
.region-select-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.region-select-row select.frm_input{appearance:auto;cursor:pointer}
@media (max-width:900px){.quote-grid{grid-template-columns:1fr 1fr}}
@media (max-width:768px){.quote-grid{grid-template-columns:1fr}.region-select-row{grid-template-columns:1fr}}

/* 세간살이 수량 선택 (+/- 스테퍼) */
.item-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.item-cat{grid-column:1/-1;margin:10px 0 2px;padding-bottom:6px;border-bottom:2px solid var(--m-line);font-size:13px;font-weight:800;color:var(--m-brand)}
.item-cat:first-child{margin-top:0}
.item-qrow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px 7px 13px;border:1px solid var(--m-line);border-radius:10px;background:var(--m-white);color:var(--m-ink-2);font-size:13px}
.item-qrow.on{border-color:var(--m-brand);background:var(--m-brand-light)}
.item-qrow.on .iq-name{color:var(--m-brand);font-weight:700}
.iq-name{flex:1;min-width:0;word-break:keep-all;line-height:1.25}
.iq-ctrl{display:inline-flex;align-items:center;gap:5px;flex-shrink:0}
.iq-btn{width:26px;height:26px;border:1px solid var(--m-line);background:var(--m-white);color:var(--m-ink-2);border-radius:7px;font-size:16px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:.12s}
.iq-btn:hover{border-color:var(--m-brand);color:var(--m-brand)}
.iq-num{min-width:22px;text-align:center;font-weight:700;color:var(--m-ink)}

/* ---------- 읽기 화면 견적 표시 ---------- */
.quote-view{border:1px solid var(--m-line);border-radius:var(--m-radius);overflow:hidden;margin:16px 0}
.quote-view h3{margin:0;padding:14px 18px;font-size:16px;font-weight:800;color:var(--m-ink);background:var(--m-bg);border-bottom:1px solid var(--m-line)}
.quote-view h3 i{color:var(--m-brand);margin-right:6px}
.quote-view dl{display:grid;grid-template-columns:150px 1fr;margin:0}
.quote-view dt{padding:12px 18px;font-weight:700;color:var(--m-ink-2);background:var(--m-bg);border-bottom:1px solid var(--m-line)}
html[data-theme="dark"] .quote-view dt{background:#172432;color:#fff}
.quote-view dd{padding:12px 18px;margin:0;color:var(--m-ink);border-bottom:1px solid var(--m-line);word-break:break-all}
/* 모바일: 라벨(dt) / 값(dd) 각각 한 줄씩 세로 배치 */
@media (max-width:600px){
  .quote-view dl{grid-template-columns:1fr}
  .quote-view dt{border-bottom:0;padding:10px 14px 10px}
  .quote-view dd{padding:6px 14px 12px;word-break:break-all}
}

/* 세간살이: 동일 너비 버튼형 칩 그리드 */
.quote-view dd.goods-dd{padding:12px 14px}
.goods-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.goods-chip{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:9px 8px;border:1px solid var(--m-line);border-radius:9px;background:var(--m-bg);color:var(--m-ink);font-size:13px;font-weight:600;text-align:center}
.goods-chip .gc-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.goods-chip .gc-qty{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:20px;background:var(--m-brand);color:#fff;font-size:12px;font-weight:700;line-height:1}
@media (max-width:768px){.goods-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:480px){.goods-grid{grid-template-columns:repeat(2,1fr)}}
html[data-theme="dark"] .goods-chip{border-color:#555}

/* 게시물 보기 상단 텍스트 버튼 (목록/답변/글쓰기/관리) */
.bo_v_com li{width:auto}
.bo_v_com .btn-vtext{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;line-height:36px;font-size:14px;font-weight:700;border:1px solid var(--m-line);border-radius:8px;background:var(--m-white);color:var(--m-ink-2);cursor:pointer}
.bo_v_com .btn-vtext:hover{border-color:var(--m-brand);background:var(--m-bg);color:var(--m-brand) !important}
.bo_v_com .btn-vtext i{font-size:15px}

/* 견적의뢰(글쓰기) 텍스트 버튼 */
.btn_bo_user li.li-quote-req{width:auto}
.btn-quote-req{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;background:var(--m-brand);color:#fff !important;border-radius:8px;font-weight:700;font-size:14px;white-space:nowrap;line-height:36px}
.btn-quote-req:hover{background:var(--m-brand-dark);color:#fff}
.btn-quote-req i{font-size:15px}
html[data-theme="dark"] .btn-quote-req{background:#2563eb}

/* 하단 고정 검색바 */
.bo_sch_inline{clear:both;width:100%;margin:18px 0 10px;padding-top:18px; text-align: center;}
.bo_sch_inline form{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;justify-content:center}
.bo_sch_inline select{flex:0 0 auto;height:44px;border:1px solid var(--m-line);border-radius:8px;background:var(--m-white);color:var(--m-ink);padding:0 10px;font-family:inherit}
.bo_sch_inline .sch_input{flex:1 1 320px;min-width:0;max-width:420px;height:44px;border:1px solid var(--m-line);border-radius:8px;background:var(--m-white);color:var(--m-ink);padding:0 14px;font-size:14px;font-family:inherit}
.bo_sch_inline .sch_input:focus,.bo_sch_inline select:focus{outline:0;border-color:var(--m-brand);box-shadow:0 0 0 3px rgba(37,124,252,.15)}
.bo_sch_inline .sch_btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 20px;border:0;border-radius:8px;background:var(--m-brand);color:#fff;font-weight:700;font-size:14px;cursor:pointer}
.bo_sch_inline .sch_btn:hover{background:var(--m-brand-dark)}
html[data-theme="dark"] .bo_sch_inline .sch_btn{background:#2563eb}
@media (max-width:600px){
  .bo_sch_inline{padding-top:12px}
  .bo_sch_inline form{flex-direction:column;gap:8px}
  .bo_sch_inline select,
  .bo_sch_inline .sch_input,
  .bo_sch_inline .sch_btn{flex:1 1 auto;width:100%;max-width:none}
  .bo_sch_inline .sch_btn{justify-content:center}
}

/* ============================================================
   반응형 게시판 목록 (table → div/span 대체)
   ============================================================ */
.bo_ulist{border-top:1px solid var(--m-ink);margin:0 0 14px}
html[data-theme="dark"] .bo_ulist{border-top-color:var(--m-line)}
/* 다크모드: 목록 메타값(조회·날짜) 및 의뢰인 이름이 어두워 잘 안 보이는 문제 보정 */
html[data-theme="dark"] .bo_li .col-hit,
html[data-theme="dark"] .bo_li .col-date,
html[data-theme="dark"] .bo_li .col-name,
html[data-theme="dark"] .bo_li .col-name .sv_member,
html[data-theme="dark"] .bo_li .col-name .sv_guest{color:#eee}
/* 다크모드: 체크박스 박스가 너무 어두워 잘 안 보이는 문제 보정 */
html[data-theme="dark"] .chk_box input[type="checkbox"] + label span{background:#aaa;border-color:#aaa}
.bo_li_head{display:flex;align-items:center;gap:12px;padding:13px 14px;background:var(--m-bg);border-bottom:1px solid var(--m-line);font-weight:700;font-size:14px;color:var(--m-ink)}
.bo_li_head a{color:var(--m-ink)}
.bo_li{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid var(--m-line);border-left:2px solid transparent;color:var(--m-ink-2);transition:.12s}
.bo_li:hover{background:var(--m-bg);border-left-color:var(--m-brand)}
.bo_li.bo_notice{background:var(--m-bg)}
.bo_li.bo_notice .bo_tit a{font-weight:700}

.bo_li .col-chk,.bo_li_head .col-chk{flex:0 0 28px;display:flex;justify-content:center}
.bo_li .col-num,.bo_li_head .col-num{flex:0 0 56px;text-align:center;color:var(--m-muted);font-size:13px}
.bo_li .col-subject,.bo_li_head .col-subject{flex:1 1 auto;min-width:0}
.bo_li .col-name,.bo_li_head .col-name{flex:0 0 110px;text-align:center;font-size:13px}
.bo_li .col-hit,.bo_li_head .col-hit{flex:0 0 64px;text-align:center;font-size:13px}
.bo_li .col-good,.bo_li_head .col-good,.bo_li .col-nogood,.bo_li_head .col-nogood{flex:0 0 56px;text-align:center;font-size:13px}
.bo_li .col-date,.bo_li_head .col-date{flex:0 0 92px;text-align:center;font-size:13px;color:var(--m-muted)}

.bo_li .col-subject{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}
.bo_li .col-subject .bo_cate_link{float:none;margin:0}
.bo_li .bo_tit{display:inline;flex:1 1 auto;min-width:0;color:var(--m-ink);font-weight:500}
.bo_li .bo_tit a{color:var(--m-ink)}
.bo_li .bo_tit a:hover{color:var(--m-brand)}
.bo_li_empty{padding:70px 0;text-align:center;color:var(--m-muted);border-bottom:1px solid var(--m-line)}

/* 태블릿 */
@media (max-width:1024px){
  .bo_li .col-name,.bo_li_head .col-name{flex-basis:88px}
}

/* 모바일: 카드형 전환 (제목 위, 메타 아래 한 줄) */
@media (max-width:768px){
  .bo_ulist{border-top-width:1px}
  .bo_li_head{display:none}
  .bo_li{flex-wrap:wrap;column-gap:12px;row-gap:8px;padding:15px 14px}
  .bo_li .col-chk{order:0;flex:0 0 auto}
  .bo_li .col-subject{order:1;flex:1 1 100%;min-width:0}
  .bo_li .bo_tit{font-size:15px;line-height:1.45}
  .bo_li .col-num,
  .bo_li .col-name,
  .bo_li .col-hit,
  .bo_li .col-good,
  .bo_li .col-nogood,
  .bo_li .col-date{order:2;flex:0 0 auto;text-align:left;font-size:12px;color:var(--m-muted)}
  .bo_li .col-num{display:none}
  .bo_li [data-th]::before{content:attr(data-th) " ";color:var(--m-ink-2);font-weight:600;margin-right:2px}
}

/* ============================================================
   카드형 목록 (pic_quote 스타일)
   그리드: 4 → 3(≤1280) → 2(≤768) → 1(≤480)
   ============================================================ */
#bo_list .quote-list{width:100%;margin:14px 0}
#bo_list .quote-list .ql-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0;padding:0;list-style:none}

#bo_list .ql-selall{margin:6px 0 -4px;padding:6px 2px}
#bo_list .ql-selall .chk_all_label{cursor:pointer;font-size:13px;color:var(--m-muted);display:inline-flex;align-items:center;gap:6px}
#bo_list .ql-selall .chk_all_label span{float:none;display:inline-block;vertical-align:middle}

#bo_list .quote-list .ql-card{position:relative;display:flex;flex-direction:column;background:var(--m-white);border:1px solid var(--m-line);border-radius:14px;overflow:hidden;transition:.2s}
#bo_list .quote-list .ql-card:hover{transform:translateY(-5px);box-shadow:0 14px 36px rgba(37,99,235,.16);border-color:transparent}
#bo_list .quote-list .ql-notice{border-color:var(--m-accent)}
#bo_list .quote-list .ql-current{border-color:var(--m-brand);box-shadow:0 0 0 2px rgba(37,99,235,.18)}
#bo_list .quote-list .ql-link{display:block;padding:20px 20px 16px;flex:1 1 auto}

#bo_list .quote-list .ql-chk{position:absolute;top:16px;left:14px;z-index:3}
#bo_list .quote-list .ql-chk label span{float:none;display:block}
#bo_list .quote-list .ql-chk + .ql-link .ql-top{ }

#bo_list .quote-list .ql-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
#bo_list .quote-list .ql-cat{display:inline-block;font-size:12px;font-weight:800;color:var(--m-brand);background:var(--m-brand-light);padding:4px 11px;border-radius:20px;white-space:nowrap}
#bo_list .quote-list .ql-cat-notice{color:#fff;background:var(--m-accent)}
#bo_list .quote-list .ql-cat-check{color:var(--m-brand,#2563eb);background:var(--m-brand-light,#eff6ff)}
#bo_list.chk-list .chk-card .ql-date{margin-left:8px;color:var(--m-muted,#6b7280);font-size:12px}
#bo_list .quote-list .ql-cat-empty{color:var(--m-muted);background:var(--m-bg)}
#bo_list .quote-list .ql-date{font-size:12px;color:var(--m-muted);white-space:nowrap}

#bo_list .quote-list .ql-subject{font-size:16px;font-weight:800;line-height:1.45;color:var(--m-ink);margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#bo_list .quote-list .ql-subject .xi-lock{color:var(--m-muted);font-size:14px}
#bo_list .quote-list .ql-subject a.ql-link{float:left}
#bo_list .quote-list .ql-new,#bo_list .quote-list .ql-hot{display:inline-block;vertical-align:middle;margin-left:4px;font-size:10px;font-weight:800;color:#fff;padding:2px 6px;border-radius:5px;line-height:1.2}
#bo_list .quote-list .ql-new{background:#16a34a}
#bo_list .quote-list .ql-hot{background:#ef4444}

#bo_list .quote-list .ql-route{display:flex;align-items:center;gap:8px;background:var(--m-bg);border-radius:10px;padding:10px 12px;margin-bottom:12px}
#bo_list .quote-list .ql-place{display:inline-flex;align-items:center;gap:4px;min-width:0;flex:1 1 0;font-size:13px;font-weight:600;color:var(--m-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bo_list .quote-list .ql-place:last-child{justify-content:flex-end;text-align:right}
#bo_list .quote-list .ql-place i{color:var(--m-brand);font-size:15px;flex:0 0 auto}
#bo_list .quote-list .ql-arrow{color:var(--m-muted);font-size:14px;flex:0 0 auto}

#bo_list .quote-list .ql-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none}
#bo_list .quote-list .ql-meta li{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--m-muted)}
#bo_list .quote-list .ql-meta li i{color:var(--m-brand);font-size:14px}

#bo_list .quote-list .ql-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 20px;border-top:1px solid var(--m-line);font-size:13px;color:var(--m-ink-2)}
#bo_list .quote-list .ql-foot i{margin-right:4px;color:var(--m-muted)}
#bo_list .quote-list .ql-writer{display:inline-flex;align-items:center;min-width:0}
#bo_list .quote-list .ql-writer .sv_member,#bo_list .quote-list .ql-writer .sv_guest{color:var(--m-ink-2)}
#bo_list .quote-list .ql-stat{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto}
#bo_list .quote-list .ql-cmt{font-weight:700;color:var(--m-brand)}
#bo_list .quote-list .ql-cmt i{color:var(--m-brand)}

#bo_list .quote-list .ql-empty{grid-column:1 / -1;text-align:center;color:var(--m-muted);padding:50px 0;border:1px dashed var(--m-line);border-radius:14px}

@media (max-width:1280px){#bo_list .quote-list .ql-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:768px){#bo_list .quote-list .ql-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media (max-width:480px){#bo_list .quote-list .ql-grid{grid-template-columns:1fr}}

html[data-theme="dark"] #bo_list .quote-list .ql-cat{background:rgba(96,165,250,.18)}
html[data-theme="dark"] #bo_list .quote-list .ql-cat-empty{color:var(--m-muted);background:rgba(148,163,184,.12)}
html[data-theme="dark"] #bo_list .quote-list .ql-card:hover{box-shadow:0 14px 36px rgba(0,0,0,.5)}

/* ============================================================
   이삿짐 전문 인력 스킨 (man) 확장 스타일
   ============================================================ */

/* ---------- 입력폼 : 단위 붙은 입력 (경력/나이/일당) ---------- */
.unit-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.unit-row .frm_input{flex:1 1 auto;min-width:0}
.unit-row .unit-input{flex:0 1 110px;text-align:center}
.unit-row .unit-select{flex:0 1 110px}
.unit-tail{flex:0 0 auto;color:var(--m-ink-2);font-size:14px}
.lb-hint{font-weight:400;color:var(--m-muted);font-size:12px}

/* ---------- 입력폼 : 복수선택 칩 버튼 ---------- */
.mp-chips{display:flex;flex-wrap:wrap;gap:8px}
.mp-chip{border:1px solid var(--m-line);background:var(--m-white);color:var(--m-ink-2);border-radius:20px;padding:8px 15px;font-size:13px;line-height:1.2;cursor:pointer;transition:.12s;font-family:inherit}
.mp-chip:hover{border-color:var(--m-brand);color:var(--m-brand)}
.mp-chip.on{border-color:var(--m-brand);background:var(--m-brand);color:#fff;font-weight:700}
html[data-theme="dark"] .mp-chip{background:transparent}
html[data-theme="dark"] .mp-chip.on{background:var(--m-brand);color:#fff}

/* ---------- 목록 카드 : 인력 프로필 영역 ---------- */
#bo_list .quote-list .mp-prof{display:flex;align-items:center;gap:12px;margin-bottom:12px}
#bo_list .quote-list .mp-photo{flex:0 0 auto;width:56px;height:56px;border-radius:50%;overflow:hidden;background:var(--m-bg);border:1px solid var(--m-line);display:inline-flex;align-items:center;justify-content:center;color:var(--m-muted);font-size:26px}
#bo_list .quote-list .mp-photo img{width:100%;height:100%;object-fit:cover}
#bo_list .quote-list .mp-prof-t{display:flex;flex-direction:column;gap:3px;min-width:0}
#bo_list .quote-list .mp-name{font-size:15px;font-weight:800;color:var(--m-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bo_list .quote-list .mp-career{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--m-brand)}
#bo_list .quote-list .mp-career i{font-size:13px}
#bo_list .quote-list .mp-date{display:block;font-size:12px;font-weight:600;color:var(--m-muted,#6b7280);line-height:1.3}
#bo_list .quote-list .mp-region{flex:1 1 auto;justify-content:flex-start;text-align:left}

/* ---------- 예약하기 버튼 ---------- */
.btn-reserve{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;background:var(--m-accent);color:#fff !important;border-radius:8px;font-weight:700;font-size:14px;white-space:nowrap;line-height:36px;cursor:pointer}
.btn-reserve:hover{filter:brightness(0.93);color:#fff}
.btn-reserve i{font-size:15px}

/* 하단 예약 안내 바 */
.mp-reserve-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border:1px solid var(--m-line);border-radius:var(--m-radius);background:var(--m-bg);padding:18px 22px;margin:10px 0 30px}
.mp-reserve-bar .mp-reserve-txt{font-size:15px;color:var(--m-ink-2)}
.mp-reserve-bar .mp-reserve-txt strong{color:var(--m-brand);font-weight:800}
.btn-reserve-lg{height:46px;line-height:46px;padding:0 26px;font-size:15px;border-radius:10px}
@media (max-width:600px){
  .mp-reserve-bar{flex-direction:column;align-items:stretch;text-align:center}
  .mp-reserve-bar .btn-reserve-lg{justify-content:center}
}
html[data-theme="dark"] .btn-reserve{color:#fff !important}

/* ============================================================
   이사업체(company) 옐로우페이지 스킨 확장 스타일
   ============================================================ */

/* ---------- 목록 카드 : 대표 이미지(회사 로고) ---------- */
#bo_list .quote-list .cp-logo{width:100%;height:150px;background:var(--m-bg);border-bottom:1px solid var(--m-line);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--m-muted);font-size:44px}
#bo_list .quote-list .cp-logo img{width:100%;height:100%;object-fit:cover}
#bo_list .quote-list .ql-card .ql-link{padding:0}
#bo_list .quote-list .cp-body{padding:16px 20px 14px}
html[data-theme="dark"] #bo_list .quote-list .cp-logo{background:#1a2634}

/* ---------- 목록 카드 : 전문 분야 태그 ---------- */
#bo_list .quote-list .cp-fields{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
#bo_list .quote-list .cp-field-tag{display:inline-block;font-size:12px;font-weight:700;color:var(--m-brand);background:var(--m-brand-light);padding:4px 10px;border-radius:6px;white-space:nowrap}
#bo_list .quote-list .cp-field-more{color:var(--m-muted);background:var(--m-bg)}
html[data-theme="dark"] #bo_list .quote-list .cp-field-tag{background:rgba(96,165,250,.18)}
html[data-theme="dark"] #bo_list .quote-list .cp-field-more{background:rgba(148,163,184,.12)}

/* ---------- 목록 카드 : 업체 메타 (대표/설립/연락처/주소) ---------- */
#bo_list .quote-list .cp-meta{flex-direction:column;gap:5px;align-items:flex-start}
#bo_list .quote-list .cp-meta li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#bo_list .quote-list .cp-meta-addr{color:var(--m-ink-2)}
#bo_list .quote-list .ql-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
#bo_list .quote-list .ql-top .ql-stars{margin-left:auto}

/* ---------- 쓰기 : 카카오맵 퍼가기 ---------- */
.cp-map-embed{height:auto !important;padding:10px 12px !important;line-height:1.6;font-family:monospace;font-size:12px !important;resize:vertical}
.cp-map-help{margin:8px 0 0;font-size:13px;color:var(--m-muted);line-height:1.6}
.cp-map-help i{color:var(--m-brand);margin-right:3px}
.cp-map-help a{color:var(--m-brand);text-decoration:underline}
.cp-map-status{display:block;margin-top:4px;font-weight:700}
.cp-map-status.ok{color:#16a34a}
.cp-map-status.err{color:#ef4444}
.cp-file-hint{margin:6px 0 0;font-size:13px;color:var(--m-muted)}
.cp-file-hint i{color:var(--m-brand);margin-right:3px}

/* ---------- 뷰 : 연락처 전화 링크 ---------- */
.quote-view .cp-tel{display:inline-flex;align-items:center;gap:5px;color:var(--m-brand);font-weight:700;text-decoration:none}
.quote-view .cp-tel:hover{text-decoration:underline}

/* ---------- 뷰 : 찾아오는길 (카카오맵) ---------- */
.cp-map-view .cp-map-wrap{padding:16px 18px}
.cp-map-view .root_daum_roughmap{width:100% !important}
.cp-map-view .cp-map-addr{margin:12px 0 0;font-size:14px;color:var(--m-ink-2)}
.cp-map-view .cp-map-addr i{color:var(--m-brand);margin-right:4px}

/* ---------- 카카오맵 (Maps SDK) ---------- */
.cp-map{width:100%;height:450px;border:1px solid var(--m-line);border-radius:var(--m-radius-sm);overflow:hidden;background:var(--m-bg)}
.cp-latlng-row{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}
.cp-latlng-row .cp-latlng{flex:0 1 170px;height:38px !important;font-size:12px !important;background:var(--m-bg);color:var(--m-muted)}
@media (max-width:768px){.cp-map{height:320px}}

/* ---------- 주소검색 행 + 상세주소 ---------- */
.addr-row{display:flex;align-items:stretch;gap:6px}
.addr-row .frm_input{flex:1 1 auto;min-width:0;background:var(--m-bg);cursor:pointer}
.addr-search-btn{flex:0 0 auto;white-space:nowrap;border:0;border-radius:8px;background:var(--m-brand,#2563eb);color:#fff;font-size:14px;padding:0 14px;cursor:pointer}
.addr-search-btn:hover{filter:brightness(0.95)}
.cp-addr-detail{margin-top:8px}

/* ---------- 주소검색 레이어 (인라인 임베드) ---------- */
/* 카카오 우편번호 iframe 내부 CSS는 부모에서 변경 불가 → 닫기는 레이어 위쪽(top:-20px)에 배치 */
.cp-postcode-wrap,#cp_postcode_wrap{display:none;position:relative;overflow:visible;margin-top:28px;box-sizing:content-box}
.cp-postcode-close{cursor:pointer;position:absolute;right:14px;top:-20px;z-index:10;width:20px;height:20px}

/* ---------- 지역 선택 탭 (슬라이딩) ---------- */
.cp-region{margin:12px 0 4px}
.cp-region .subTabTitle{display:flex;align-items:stretch;border:1px solid var(--m-line,#ddd);border-radius:12px;background:var(--m-white,#fff);margin-bottom:8px;overflow:hidden}
.cp-region .rg-nav{flex:0 0 34px;display:flex;align-items:center;justify-content:center;color:var(--m-accent,#2563eb);font-size:16px;text-decoration:none;user-select:none}
.cp-region .rg-nav:hover{background:var(--m-bg,#f6f7f9)}
.cp-region .subTabs{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding:0 4px;cursor:grab}
.cp-region .subTabs::-webkit-scrollbar{display:none}
.cp-region .subTabs:active,
.cp-region .subTabs.is-dragging{cursor:grabbing;user-select:none}
.cp-region .subTabs a{flex:0 0 auto;position:relative;display:block;padding:12px 14px;font-size:14px;font-weight:600;color:var(--m-ink-2,#374151);text-decoration:none;white-space:nowrap;line-height:1.2}
.cp-region .subTabs a.on:after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;border-radius:2px}
html[data-theme="dark"] .cp-region .subTabTitle{background:transparent;border-color:var(--m-line,#555)}
html[data-theme="dark"] .cp-region .rg-nav:hover{background:rgba(255,255,255,0.06)}
@media (max-width:600px){
  .cp-region .subTabs a{padding:11px;font-size:13px}
  .cp-region .rg-nav{flex-basis:28px}
}

/* ---------- 별점 (Font Awesome 6) ---------- */
#bo_list .quote-list .ql-stars{display:inline-flex;align-items:center;gap:1px;color:#000;font-size:13px;white-space:nowrap}
#bo_list .quote-list .ql-stars .far{color:#000}
/* 뷰페이지 별점 색상 */
/* #bo_v .star-list .fa-star,#bo_v .star-list .fa-star-half-alt,#bo_v .star-list .far{color:#000} */
/* 댓글 별점 색상 */
#bo_vc .fa-star,#bo_vc .fa-star-half-alt,#bo_vc .far.fa-star{color:#000}
/* 다크모드 별점 — gold */
html[data-theme="dark"] #bo_list .quote-list .ql-stars,
html[data-theme="dark"] #bo_list .quote-list .ql-stars .far{color:gold}
html[data-theme="dark"] #bo_v .star-list .fa-star,
html[data-theme="dark"] #bo_v .star-list .fa-star-half-alt,
html[data-theme="dark"] #bo_v .star-list .far{color:gold}
html[data-theme="dark"] #bo_vc .fa-star,
html[data-theme="dark"] #bo_vc .fa-star-half-alt,
html[data-theme="dark"] #bo_vc .far.fa-star{color:gold}

/* ---------- 댓글 별점 입력 폼 ---------- */
.star-rating-form{margin:15px 0 12px;padding:14px 16px;border:1px solid var(--m-line);border-radius:10px;background:var(--m-bg)}
.star-rating-label{font-size:14px;font-weight:700;color:var(--m-ink);margin:0 0 14px;display:flex;align-items:center;gap:6px}
.star-rating-label i{color:#facc15}
.star-rating-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.star-rating-row:last-child{margin-bottom:0}
.star-rating-row input[type="radio"]{width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--m-brand)}
.star_icon_div{display:inline-flex;align-items:center;gap:3px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:.15s}
.star_icon_div:hover{background:rgba(250,204,21,.1)}
.star_icon_div i{font-size:16px}
.star-val{font-size:13px;font-weight:700;color:var(--m-ink-2);margin-left:8px}
.star-rating-row input[type="radio"]:checked + .star_icon_div{background:rgba(250,204,21,.18)}
.star-rating-row input[type="radio"]:checked + .star_icon_div .star-val{color:var(--m-brand)}

html[data-theme="dark"] .star-rating-form{background:#1a2634;border-color:#374151}
html[data-theme="dark"] .star_icon_div:hover{background:rgba(250,204,21,.12)}
html[data-theme="dark"] .star-rating-row input[type="radio"]:checked + .star_icon_div{background:rgba(250,204,21,.15)}

/* ---------- 서비스 글쓰기 (link_write 이식) ---------- */
#bo_w .quote-box{margin:14px 0}
#bo_w .quote-box .quote-field > label,
#bo_w .svc-file-label{font-size:13px;font-weight:700;color:var(--m-ink-2);margin-bottom:8px;display:block}
#bo_w .svc-req,
#bo_w .bw-req{color:#ef4444;font-style:normal;margin-left:2px}
#bo_w .svc-info-box .lb-hint,
#bo_w .svc-file-hint{margin:6px 0 0;font-size:12.5px;color:var(--m-muted,#6b7280);line-height:1.45}
#bo_w .svc-file-hint{margin:0 0 14px}

/* 서비스명 + 임시저장 */
#bo_w .svc-autosave-wrap{position:relative}
#bo_w .svc-main-box .frm_input{height:48px;padding:0 14px;border:1px solid var(--m-line);border-radius:10px;background:var(--m-white);font-size:15px;font-weight:600}
#bo_w .svc-main-box .svc-autosave-wrap:has(.svc-autosave-btn) .frm_input{padding-right:120px}
#bo_w .svc-main-box .frm_input:focus{outline:0;border-color:var(--m-brand);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
#bo_w .svc-autosave-btn{position:absolute;top:50%;right:8px;transform:translateY(-50%);height:34px;line-height:34px;padding:0 12px;border:1px solid var(--m-line);border-radius:8px;background:var(--m-bg);color:var(--m-ink-2);font-size:12px;font-weight:700;cursor:pointer}
#bo_w .svc-autosave-btn:hover{border-color:var(--m-brand);color:var(--m-brand);background:var(--m-brand-light)}
#bo_w .svc-main-box #autosave_pop{top:52px;right:0}

/* 서비스 소개 에디터 */
#bo_w .svc-content-box .wr_content{margin:0}
#bo_w .svc-content-box textarea#wr_content,
#bo_w .svc-editor textarea{
  width:100%;min-height:280px;border:1px solid var(--m-line);border-radius:10px;
  background:var(--m-white);color:var(--m-ink);padding:14px 16px;font-size:14px;line-height:1.7;
  font-family:inherit;resize:vertical;box-sizing:border-box
}
#bo_w .svc-content-box textarea#wr_content:focus,
#bo_w .svc-editor textarea:focus{outline:0;border-color:var(--m-brand);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
#bo_w .svc-content-box .wr_content iframe{border-radius:10px;overflow:hidden}

/* 링크 */
#bo_w .svc-link-input{position:relative}
#bo_w .svc-link-input > i{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:var(--m-brand);font-size:18px;line-height:1;pointer-events:none;z-index:1
}
#bo_w .svc-link-box .frm_input{
  width:100%;height:48px;padding:0 14px 0 44px;border:1px solid var(--m-line);
  border-radius:10px;background:var(--m-white);color:var(--m-ink);font-size:14px;box-sizing:border-box
}
#bo_w .svc-link-box .frm_input:focus{outline:0;border-color:var(--m-brand);box-shadow:0 0 0 3px rgba(37,99,235,.15)}

/* 이미지 업로드 */
#bo_w .svc-file-row{position:relative;margin-bottom:14px}
#bo_w .svc-file-row:last-child{margin-bottom:0}
#bo_w .svc-file-box .file_wr{
  position:relative;border:1px solid var(--m-line);background:var(--m-white);color:var(--m-ink);
  vertical-align:middle;border-radius:10px;padding:5px;height:48px;margin:0
}
#bo_w .svc-file-box .lb_icon{
  position:absolute;top:0;left:0;border-radius:8px 0 0 8px;height:46px;line-height:46px;
  width:42px;font-size:1.2em;text-align:center;color:var(--m-brand)
}
#bo_w .svc-file-box .frm_file{padding-left:52px;margin-top:3px;width:100%;box-sizing:border-box}
#bo_w .svc-file-box .frm_input{margin:10px 0 0;width:100%;height:46px;border:1px solid var(--m-line);border-radius:10px;padding:0 12px;background:var(--m-white)}
/* superseded: svc-file-box .file_del → see override below */

.svc-notice-row{display:flex;align-items:center;gap:8px}
.svc-notice-row .frm_input{flex:1}
.svc-notice-clear{flex:0 0 auto;border:0;background:#2d314e;color:#fff;border-radius:8px;padding:10px 12px;cursor:pointer;font-weight:700;line-height:1}
.svc-notice-clear:hover{background:#1f2438}
.svc-notice-opts{margin-top:14px;display:flex;flex-direction:column;gap:14px}
.svc-notice-opt-label{display:block;font-size:12.5px;font-weight:700;color:var(--m-ink-2,#374151);margin-bottom:8px}
.svc-notice-chip-row,.svc-notice-font-row,.svc-notice-neon-row{display:flex;flex-wrap:wrap;gap:8px}
.svc-notice-num-row{display:flex;align-items:center;gap:10px;max-width:none}
.quote-box .svc-notice-num-row .frm_input.svc-notice-num{
  width:90px;min-width:90px;max-width:90px;flex:0 0 90px;
  height:44px;padding:0 6px;box-sizing:border-box;
  text-align:center;font-size:15px;font-weight:700
}
.svc-notice-num-unit{flex:0 1 auto;font-size:12.5px;color:var(--m-muted,#6b7280);white-space:nowrap}
.svc-notice-chip,.svc-notice-font{
  border:1px solid var(--m-line,#e5e7eb);background:var(--m-white,#fff);color:var(--m-ink,#111);
  padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer;line-height:1.2;border-radius:0
}
.svc-notice-chip.on,.svc-notice-font.on{border-color:var(--m-brand,#2563eb);background:var(--m-brand-light,#eff6ff);color:var(--m-brand,#2563eb)}
.svc-notice-neon{
  width:28px;height:28px;border:2px solid #111;cursor:pointer;padding:0;border-radius:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)
}
.svc-notice-neon.on{outline:2px solid var(--m-brand,#2563eb);outline-offset:2px}
.svc-notice-preview-wrap{margin-top:2px}
.svc-notice-preview{max-width:100%}
@media (max-width:600px){
  .svc-notice-font{flex:1 1 calc(50% - 8px);text-align:center}
}

.font-option-grid{display:flex;flex-wrap:wrap;gap:8px}
.font-option-grid label{display:block;cursor:pointer;margin:0}
.font-option-grid input{position:absolute;opacity:0;pointer-events:none}
.font-option-btn{display:inline-flex;align-items:center;justify-content:center;min-width:110px;height:40px;padding:0 14px;border:1px solid var(--m-line,#e5e7eb);border-radius:8px;background:var(--m-white,#fff);color:var(--m-ink,#111);font-size:13px;font-weight:700;transition:.15s}
.font-option-grid input:checked + .font-option-btn{border-color:var(--m-brand,#2563eb);background:var(--m-brand-light,#eff6ff);color:var(--m-brand,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.font-option-grid label:hover .font-option-btn{border-color:var(--m-brand,#2563eb)}

.search-toggle-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--m-line,#e5e7eb);border-radius:10px;background:var(--m-white,#fff)}
.search-toggle-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.search-toggle-copy strong{font-size:14px;color:var(--m-ink,#111)}
.search-toggle-copy span{font-size:12.5px;color:var(--m-muted,#6b7280)}
.search-toggle{position:relative;display:inline-block;width:52px;height:30px;flex:0 0 auto}
.search-toggle input{opacity:0;width:0;height:0}
.search-toggle .slider{position:absolute;inset:0;background:#d6dae2;border-radius:999px;cursor:pointer;transition:.2s}
.search-toggle .slider:before{content:'';position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.2s}
.search-toggle input:checked + .slider{background:#ff7a00}
.search-toggle input:checked + .slider:before{transform:translateX(22px)}
@media (max-width:600px){
  .search-toggle-wrap{align-items:flex-start}
  .font-option-btn{min-width:calc(50% - 4px)}
  #bo_w .svc-main-box .frm_input{padding-right:14px}
  #bo_w .svc-autosave-btn{position:static !important;transform:none;margin-top:8px;width:100%}
}
@media (max-width:768px){
  #bo_w .svc-main-box #autosave_pop{left:0;right:auto;max-width:100%;width:100%}
}

/* ---------- 서비스 보기 히어로 (link_trip 참고) ---------- */
.svc-hero{
  width:100%;max-width:860px;margin:16px auto 24px;padding:0;
  background:transparent;border:0;border-radius:0;box-sizing:border-box
}
.svc-hero-shell{width:100%;text-align:center;border-radius:0}
.svc-notice-marquee{
  --svc-notice-bg:#111111;
  position:relative;height:38px;line-height:38px;overflow:hidden;color:#fff;
  font-size:14px;text-align:left;box-sizing:border-box;border-radius:0;
  background:var(--svc-notice-bg);
  max-width:860px;width:100%;margin:0 auto
}
.svc-notice-marquee::before,
.svc-notice-marquee::after{
  content:"";position:absolute;top:0;bottom:0;width:56px;z-index:2;pointer-events:none
}
.svc-notice-marquee::before{
  left:0;
  background:linear-gradient(90deg, var(--svc-notice-bg) 0%, transparent 100%)
}
.svc-notice-marquee::after{
  right:0;
  background:linear-gradient(270deg, var(--svc-notice-bg) 0%, transparent 100%)
}
.svc-notice-track{display:inline-flex;white-space:nowrap;min-width:100%;animation:svcNoticeMarquee 18s linear infinite;position:relative;z-index:1}
.svc-notice-text{display:inline-block;padding:0 26px;font-weight:700}
@keyframes svcNoticeMarquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
@media (max-width:768px){
  .svc-notice-marquee::before,
  .svc-notice-marquee::after{width:36px}
}
.svc-hero-wrap{padding:28px 0 8px;text-align:center}
.svc-hero-wrap.has-notice{padding-top:18px}
.svc-hero-cover{width:auto;max-width:100%;height:auto;display:block;margin:0 auto;border-radius:0;object-fit:unset}
.svc-hero-cover-only{margin-bottom:16px}
.svc-hero-cover-fade{
  -webkit-mask-image:linear-gradient(#000 80%,transparent);
  mask-image:linear-gradient(#000 80%,transparent);margin-bottom:16px
}
.svc-hero-cover-stack{position:relative}
.svc-hero-avatar{
  position:absolute;left:50%;bottom:-50px;transform:translateX(-50%);
  width:110px;height:110px;border-radius:50%;object-fit:cover;border:4px solid #fff;background:#fff;display:block
}
.svc-hero-avatar-spacer{height:64px}
.svc-hero-avatar-sm{
  width:auto;height:85px;border-radius:50%;object-fit:cover;display:inline-block;
  border:3px solid #fff;background:#fff;margin-bottom:14px;vertical-align:middle
}
.svc-hero-avatar-ph{
  display:inline-flex !important;align-items:center;justify-content:center;
  color:#9ca3af;font-size:36px;background:#f3f4f6 !important
}
.svc-hero-avatar.svc-hero-avatar-ph{font-size:42px}
.svc-hero-title{font-size:20px;font-weight:800;line-height:1.35;color:var(--m-ink,#111827);word-break:keep-all;padding:0 12px}
.svc-hero-desc{margin:10px 12px 0;font-size:14px;font-weight:500;line-height:1.55;color:var(--m-ink-2,#4b5563);word-break:keep-all;white-space:pre-wrap}
#bo_w .svc-desc-input{min-height:110px;height:auto;padding:12px 14px;line-height:1.5;resize:vertical}

/* 이사 정보 (뷰) */
.chk-move-info{margin:8px 0 16px;padding:14px 16px;border:1px solid var(--m-line,#e5e7eb);border-radius:12px;background:var(--m-bg,#f8fafc);text-align:left}
.chk-move-row{display:flex;gap:10px;align-items:flex-start;padding:6px 0;font-size:14px;line-height:1.45}
.chk-move-row + .chk-move-row{border-top:1px dashed var(--m-line,#e5e7eb)}
.chk-move-label{flex:0 0 88px;font-weight:700;color:var(--m-ink-2,#374151)}
.chk-move-val{flex:1 1 auto;min-width:0;color:var(--m-ink,#111827);word-break:keep-all}
#bo_v .chk-desc{margin:12px 0 16px;font-size:15px;line-height:1.65;color:var(--m-ink,#111827);word-break:keep-all}
#bo_v #bo_v_img{margin:8px 0 20px}
#bo_v #bo_v_img .bo_v_img_item{margin:0 0 14px;text-align:center}
#bo_v #bo_v_img .bo_v_img_item img{max-width:100%;height:auto;border-radius:8px}
#bo_v #bo_v_img .bo_v_img_desc{margin:8px 0 0;font-size:13px;color:var(--m-muted,#6b7280)}
@media (max-width:480px){
  .chk-move-row{flex-direction:column;gap:2px}
  .chk-move-label{flex-basis:auto}
}

/* 평/㎡ 입력 — 왼쪽 정렬로 붙여 배치 */
#bo_w .chk-area-row{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap}
#bo_w .chk-area-row .svc-notice-num-row{flex:0 0 auto;max-width:none}
#bo_w .chk-area-eq{flex:0 0 auto;color:var(--m-muted,#6b7280);font-weight:700;margin:0 2px}

/* 플래너 검색 */
#bo_w .chk-planner-selected{margin-top:8px;color:var(--m-brand,#2563eb);font-weight:600}
#bo_w .chk-planner-results{margin-top:10px;border:1px solid var(--m-line,#e5e7eb);border-radius:10px;background:var(--m-white,#fff);overflow:hidden}
#bo_w .chk-planner-empty{margin:0;padding:14px 16px;font-size:13px;color:var(--m-muted,#6b7280)}
#bo_w .chk-planner-list{list-style:none;margin:0;padding:0}
#bo_w .chk-planner-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-top:1px solid var(--m-line,#e5e7eb)}
#bo_w .chk-planner-item:first-child{border-top:0}
#bo_w .chk-planner-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;min-width:0;font-size:13px;color:var(--m-ink-2,#374151)}
#bo_w .chk-planner-meta strong{color:var(--m-ink,#111827);font-size:14px}
#bo_w .chk-planner-id,#bo_w .chk-planner-nick,#bo_w .chk-planner-hp{color:var(--m-muted,#6b7280)}
#bo_w .chk-planner-pick{flex:0 0 auto;border:0;border-radius:8px;background:var(--m-brand,#2563eb);color:#fff;font-size:13px;font-weight:700;padding:8px 14px;cursor:pointer}
#bo_w .chk-planner-pick:hover{filter:brightness(0.95)}
@media (max-width:600px){
  #bo_w .chk-planner-item{flex-direction:column;align-items:stretch}
  #bo_w .chk-planner-pick{width:100%}
}
.svc-hero-body{padding:8px 0 20px}
.svc-search-wrap{margin:0 0 14px}
.svc-search-input-wrap{
  display:flex;align-items:center;gap:8px;border:1px solid #d7d7d7;border-radius:0;
  background:#fff;padding:0 12px;height:44px
}
.svc-search-input{flex:1;min-width:0;border:0;outline:none;font-size:14px;background:transparent;color:#1f2a44;font-family:inherit}
.svc-search-input-wrap > i{color:#6b7280;font-size:18px;flex:0 0 auto}
.svc-search-empty{
  margin:10px 0 0;padding:10px 12px;border:1px dashed #d7d7d7;border-radius:0;
  background:#fff;color:#666;font-size:13px
}
.svc-postit{
  border-radius:0;background:transparent;border:0;box-shadow:none;
  padding:16px 0;max-width:860px;width:100%;margin:0 auto;text-align:left;color:var(--m-ink,#111827);
  box-sizing:border-box
}
.svc-postit-html{color:var(--m-ink,#111827)}
.svc-postit-con{margin:0;line-height:1.7;word-break:break-word;font-size:inherit;font-family:inherit;font-weight:inherit;color:inherit;text-align:inherit}
.svc-postit:not(.svc-postit-html) .svc-postit-con{white-space:normal}
.svc-postit-con img{max-width:100%;height:auto}
/* HTML 포스트잇: 부모/보드 기본 스타일이 인라인 디자인을 덮지 않도록 */
.svc-postit-html .svc-postit-con,
.svc-postit-html #bo_v_con{ min-height:0;font-size:16px;font-weight:400;line-height:1.7;overflow:visible }
.svc-postit-html .svc-postit-con p,
.svc-postit-html .svc-postit-con h1,
.svc-postit-html .svc-postit-con h2,
.svc-postit-html .svc-postit-con h3{margin-top:0}
.svc-postit-html .svc-postit-con hr,
.svc-text-html hr{border:0;display:block} /* default.css hr{display:none} 덮어씀 */
.svc-postit-html .color-muted,
.svc-text-html .color-muted{color:var(--m-muted,#6b7280)!important}
html[data-theme="dark"] .svc-postit-html .color-muted,
html[data-theme="dark"] .svc-text-html .color-muted,
html[data-theme="dark"] #bo_v_con .color-muted{color:#d1d5db!important}
.svc-postit-preview{
  margin-top:4px;min-height:80px;background:var(--m-bg,#f8fafc);
  border:1px dashed var(--m-line,#e5e7eb)
}
.svc-hashtags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;justify-content:center}
.svc-hash-chip{
  display:inline-flex;align-items:center;padding:6px 12px;border-radius:0;
  background:#f3f4f6;border:1px solid var(--m-line,#e5e7eb);
  color:#1f2a44;font-size:13px;font-weight:700
}
.svc-link-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.svc-link-list li{margin:0}
.svc-link-list a{
  display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:0;
  background:#fff;border:1px solid var(--m-line,#e5e7eb);color:#1f2a44;text-decoration:none;font-size:14px
}
.svc-link-list a:hover{border-color:var(--m-brand,#2563eb);color:var(--m-brand,#2563eb)}
.svc-link-list a i{color:var(--m-brand,#2563eb);font-size:16px}
.svc-showsns{
  width:100%;max-width:420px;margin:20px auto 8px;display:flex;align-items:center;justify-content:center;
  gap:10px;flex-wrap:wrap
}
.svc-showsns .svc-sns-icon{
  display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:0;
  text-decoration:none;opacity:.95
}
.svc-showsns .svc-sns-icon:hover{opacity:1;transform:translateY(-1px)}
.svc-showsns .svc-sns-icon img{display:block;width:35px;height:35px;object-fit:contain}

/* ---------- 서비스 블록 작성 폼 (link_trip trip-write) ---------- */
.svc-serve-section{width:100%;margin:0 auto 24px;box-sizing:border-box}
.svc-serve-blocks{min-height:0}
.svc-serve-section .trip-write-card{
  width:100%;margin:24px 0 0;padding:18px;box-sizing:border-box;text-align:left;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  border-radius:16px;border:1px solid #e6ebf3;box-shadow:0 10px 24px rgba(20,31,61,.08)
}
.chk-serve-title{
  margin:0 0 14px;padding:0;font-size:1.05rem;font-weight:700;color:#1f2a44;
  display:flex;align-items:center;gap:8px
}
.chk-serve-title i{color:var(--m-brand,#2563eb);font-size:1.2em}
.svc-serve-section .trip-write-card label{display:block;margin-bottom:6px;font-weight:600;color:#1f2a44}
.svc-serve-section .trip-write-card input[type="text"],
.svc-serve-section .trip-write-card input[type="number"],
.svc-serve-section .trip-write-card input[type="file"],
.svc-serve-section .trip-write-card select,
.svc-serve-section .trip-write-card textarea{
  width:100%;padding:10px 12px;border:1px solid #d7d7d7;border-radius:10px;background:#fff;color:#1f2a44;
  box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease
}
.svc-serve-section .trip-write-card input[type="color"]{
  width:100%;height:42px;padding:4px;border:1px solid #d7d7d7;border-radius:10px;background:#fff;box-sizing:border-box;cursor:pointer
}
.svc-serve-section .trip-write-card input[type="text"]:focus,
.svc-serve-section .trip-write-card input[type="number"]:focus,
.svc-serve-section .trip-write-card select:focus,
.svc-serve-section .trip-write-card textarea:focus{
  border-color:#5a7cff;box-shadow:0 0 0 3px rgba(90,124,255,.15);outline:none
}
.trip-write-row{margin-bottom:10px}
.trip-write-grid{display:flex;gap:8px}
.trip-write-grid > div{flex:1;min-width:0}
.type-form-block{display:none}
.type-form-block.active{display:block}
.sns-form-row{cursor:default}
.trip-save-btn,.svc-serve-section .btn_submit{
  padding:10px 18px;border:0;border-radius:10px;
  background:var(--m-brand,#2563eb);color:#fff;font-weight:700;letter-spacing:.2px;cursor:pointer;
  box-shadow:none;transition:background .15s ease,filter .15s ease
}
.trip-save-btn:hover,.svc-serve-section .btn_submit:hover{background:var(--m-brand-dark,#1d4ed8);filter:none;transform:none}
.trip-save-btn:disabled{opacity:.55;cursor:not-allowed}
.trip-del-btn,.trip-delete-btn{
  height:36px;padding:0 12px;border:0;border-radius:10px;
  background:#ef4444;color:#fff;font-size:12px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:none
}
.trip-del-btn:hover,.trip-delete-btn:hover{background:#dc2626;filter:none}
.trip-edit-btn{
  height:36px;padding:0 12px;border:0;border-radius:10px;
  background:var(--m-brand,#2563eb);color:#fff;font-size:12px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:none
}
.trip-edit-btn:hover{background:var(--m-brand-dark,#1d4ed8)}
.svc-serve-section .note-editor{
  border:1px solid var(--m-line,#e5e7eb);border-radius:10px;overflow:hidden;background:#fff
}
.svc-serve-section .note-editor.note-frame .note-editing-area .note-editable{min-height:180px}
.svc-serve-section .note-toolbar{background:#f8fafc;border-bottom:1px solid var(--m-line,#e5e7eb)}
/* Summernote 코드뷰 기본(#222) → 라이트 */
.svc-serve-section .note-editor .note-editing-area .note-codable,
.svc-serve-section textarea.note-codable{
  color:#111827!important;
  background-color:#fff!important;
  caret-color:#111827;
}
/* 편집기 미리보기: default.css hr{display:none}·테마 유틸 클래스 반영 */
.svc-serve-section .note-editable hr{display:block;border:0;margin:0 0 20px}
.svc-serve-section .note-editable .bg-primary{background-color:var(--m-brand,#2563eb)!important}
.svc-serve-section .note-editable .color-primary{color:var(--m-brand,#2563eb)!important}
.svc-serve-section .note-editable .color-muted{color:var(--m-muted,#6b7280)!important}
.svc-serve-section .note-editable .color-ink{color:var(--m-ink,#111827)!important}
.svc-serve-section .note-editable .color-ink-2{color:var(--m-ink-2,#374151)!important}
.svc-serve-section .note-editable .color-white{color:#fff!important}
.svc-serve-section .note-editable .bg-brand-light{background-color:var(--m-brand-light,#eff6ff)!important}
.svc-serve-section .note-editable .border-primary{border-color:var(--m-brand,#2563eb)!important}
.svc-serve-section .note-editable .logo-text,
.svc-serve-section .note-editable .logo-sub{color:var(--m-brand,#2563eb)!important}
.svc-text-html,
.svc-text-theme-ink{color:var(--m-ink,#111827)}
.svc-text-html p{margin:0 0 .6em}
.svc-text-html p:last-child{margin-bottom:0}

/* 본문 안 logo-*: 헤더 고정 크기만 무시 (p에 쓰면 줄바꿈 유지) */
.svc-postit-html .logo-text,
.svc-text-html .logo-text,
.svc-postit-html .logo-sub,
.svc-text-html .logo-sub{
  margin-top:0;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit
}
.svc-postit-html p.logo-text,
.svc-text-html p.logo-text,
.svc-postit-html p.logo-sub,
.svc-text-html p.logo-sub{
  display:block
}
.svc-postit-html span.logo-text,
.svc-text-html span.logo-text,
.svc-postit-html span.logo-sub,
.svc-text-html span.logo-sub{
  display:inline
}
.svc-serve-edit{margin-top:10px}
.svc-serve-edit-head{margin:0 0 12px;font-size:14px;color:var(--m-ink,#111)}
.svc-serve-edit-head span{color:var(--m-muted,#6b7280);font-weight:500}
.svc-serve-edit-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.trip-edit-cancel{
  height:40px;padding:0 14px;border:1px solid var(--m-line,#e5e7eb);border-radius:10px;
  background:#fff;color:var(--m-ink-2,#374151);font-size:13px;font-weight:700;cursor:pointer
}
.svc-serve-section #sns_add_btn{
  padding:8px 12px!important;border:0!important;border-radius:8px!important;
  background:var(--m-brand,#2563eb)!important;color:#fff!important;cursor:pointer;font-weight:700
}
.svc-serve-section #sns_add_btn:hover{background:var(--m-brand-dark,#1d4ed8)!important}
.svc-serve-item{margin:0 0 16px;position:relative}
.svc-serve-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin:0 0 8px;flex-wrap:wrap}
.svc-serve-toolbar .trip-order-btns{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}
.svc-serve-toolbar .trip-order-btn{
  width:36px;min-width:36px;height:36px;padding:0;border:0;border-radius:10px;
  background:#6b7280;color:#fff;font-size:16px;line-height:1;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box
}
.svc-serve-toolbar .trip-order-btn:hover{background:#4b5563}
.svc-serve-toolbar .trip-order-btn:disabled{opacity:.35;cursor:default}
.svc-serve-toolbar .trip-order-btn i{margin:0;font-size:16px;line-height:1;color:inherit}
.svc-serve-list-inner{display:flex;flex-direction:column;align-items:center;gap:0;padding:10px;background:var(--m-white,#fff);border:1px solid var(--m-line,#e5e7eb);border-radius:12px}
.svc-serve-list-thumb{display:block;width:100%;max-width:600px;height:auto;margin:0 auto 15px;border-radius:12px;object-fit:cover}
.svc-serve-list-text{width:100%;max-width:100%;margin:0;box-sizing:border-box;word-break:keep-all;overflow-wrap:break-word}
.svc-serve-stickers{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;width:100%;margin:0 0 17px;box-sizing:border-box}
@media (max-width:768px){
  .svc-serve-list-thumb{
    max-width:100%;
    margin-bottom:15px;
  }
}
.svc-serve-big-image{text-align:center}
.svc-serve-big-image img{display:block;width:auto;max-width:100%;height:auto;border-radius:10px;margin:0 auto}
.svc-serve-sns{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}
.svc-serve-map-addr{padding:14px;background:var(--m-white,#fff);border:1px solid var(--m-line,#e5e7eb);border-radius:10px;text-align:center}
.svc-serve-tel a{display:inline-flex;align-items:center;gap:8px;padding:14px 16px;border-radius:10px;background:var(--m-brand-light,#eff6ff);color:var(--m-brand,#2563eb);font-weight:700;text-decoration:none}
.svc-serve-placeholder{padding:16px;border:1px dashed var(--m-line,#e5e7eb);border-radius:12px;background:var(--m-bg,#f8fafc);color:var(--m-ink-2,#374151)}
.svc-serve-placeholder p{margin:8px 0 0;font-size:13px;color:var(--m-muted,#6b7280)}
.lt-hex-color-popover .lt-hex-color-apply{background:var(--m-brand,#2563eb)!important;color:#fff!important;border:0!important}
@media (max-width:900px){
  .svc-serve-section .trip-write-grid{flex-direction:column}
}

@media (max-width:1024px){
  .svc-hero{max-width:100%;padding:0 12px;box-sizing:border-box}
  .svc-hero-title{font-size:18px}
}
@media (max-width:768px){
  .svc-hero{margin:12px auto 20px;padding:0 10px}
  .svc-hero-wrap{padding:20px 0 6px}
  .svc-hero-avatar{width:88px;height:88px;bottom:-44px;border-width:3px}
  .svc-hero-avatar-spacer{height:52px}
  .svc-hero-avatar-sm{width:auto;height:85px}
  .svc-hero-title{font-size:17px}
  .svc-hero-desc{font-size:13px;margin-top:8px}
  .svc-hero-body{padding:6px 0 16px}
}
@media (max-width:480px){
  .svc-hero{padding:0 8px;margin:8px auto 16px}
  .svc-notice-marquee{height:34px;line-height:34px;font-size:13px}
  .svc-hero-title{font-size:16px;padding:0 4px}
  .svc-search-input-wrap{height:42px}
  .svc-hash-chip{font-size:12px;padding:5px 10px}
}

/* 카드형 링크 UI (service) */
#bo_w .svc-link-box .bo_w_link{
  display:flex;flex-direction:column;min-width:0;position:relative
}
#bo_w .svc-link-box .bo_w_link > label{
  position:static !important;top:auto !important;left:auto !important;
  width:auto !important;height:auto !important;line-height:1.4 !important;
  border-radius:0 !important;font-size:13px !important;font-weight:700;
  text-align:left !important;color:var(--m-ink-2,#374151);
  margin:0 0 8px !important;display:block;padding:0
}
#bo_w .svc-link-box .svc-link-input{position:relative}
#bo_w .svc-link-box .svc-link-input > i{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:var(--m-brand,#2563eb);font-size:18px;line-height:1;
  pointer-events:none;z-index:1
}
#bo_w .svc-link-box .frm_input,
#bo_w .svc-link-box .svc-link-input .frm_input{
  width:100%;height:48px;padding:0 14px 0 44px !important;
  border:1px solid var(--m-line,#e5e7eb);
  border-radius:10px;background:var(--m-white,#fff);
  color:var(--m-ink,#111827);font-size:14px;box-sizing:border-box
}

/* 카드형 첨부(service): 파일삭제 체크를 입력 아래 일반 흐름으로 */
#bo_w .svc-file-box .file_del,
#bo_w .svc-file-box .bo_w_flie .file_del,
#bo_w .svc-file-row .file_del{
  position:static !important;top:auto !important;right:auto !important;left:auto !important;
  display:flex !important;align-items:center;flex-wrap:wrap;gap:6px;
  margin:10px 0 0 !important;padding:0;font-size:13px;line-height:1.45;
  color:var(--m-muted,#6b7280)
}
#bo_w .svc-file-box .file_del label,
#bo_w .svc-file-row .file_del label{
  margin:0;cursor:pointer;color:inherit;font-weight:500
}


/* SVC_LINK_LABEL_FORCE */
#bo_w .svc-link-box .bo_w_link{
  display:flex;flex-direction:column;min-width:0;position:relative
}
#bo_w .svc-link-box .bo_w_link > label,
#bo_w .svc-link-box .quote-field.bo_w_link > label{
  position:static !important;top:auto !important;left:auto !important;
  width:auto !important;height:auto !important;line-height:1.4 !important;
  border-radius:0 !important;font-size:13px !important;font-weight:700;
  text-align:left !important;color:var(--m-ink-2,#374151);
  margin:0 0 8px !important;display:block;padding:0
}
#bo_w .svc-link-box .svc-link-input{position:relative}
#bo_w .svc-link-box .svc-link-input > i{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:var(--m-brand,#2563eb);font-size:18px;line-height:1;
  pointer-events:none;z-index:1
}
#bo_w .svc-link-box .frm_input,
#bo_w .svc-link-box .svc-link-input .frm_input{
  width:100%;height:48px;padding:0 14px 0 44px !important;
  border:1px solid var(--m-line,#e5e7eb);
  border-radius:10px;background:var(--m-white,#fff);
  color:var(--m-ink,#111827);font-size:14px;box-sizing:border-box
}

/* WRITE_BTN_FORCE */
#bo_w .btn_confirm.write_div,
#bo_w .btn_confirm{
  display:flex !important;gap:10px !important;justify-content:flex-end !important;
  margin-top:18px !important;align-items:center;flex-wrap:wrap
}
#bo_w a.btn_cancel,
#bo_w a.btn.btn_cancel,
#bo_w a.btn_cancel.btn,
#bo_w .btn_cancel.btn,
#bo_w .btn_cancel{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  padding:0 20px !important;height:44px !important;min-height:44px !important;line-height:1 !important;
  border:1px solid var(--bw-line,var(--m-line,#e5e7eb)) !important;border-radius:10px !important;
  background:var(--bw-white,var(--m-white,#fff)) !important;color:var(--bw-ink-2,var(--m-ink-2,#374151)) !important;
  font-size:15px !important;font-weight:700 !important;text-decoration:none !important;
  vertical-align:middle !important;box-sizing:border-box !important
}
#bo_w a.btn_cancel:hover,
#bo_w a.btn.btn_cancel:hover,
#bo_w a.btn_cancel.btn:hover,
#bo_w .btn_cancel:hover{
  background:var(--bw-white,var(--m-white,#fff)) !important;
  border-color:var(--bw-brand,var(--m-brand,#2563eb)) !important;
  color:var(--bw-brand,var(--m-brand,#2563eb)) !important;
  filter:none !important
}
#bo_w .btn_submit,
#bo_w button.btn_submit,
#bo_w .btn_submit.btn{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  padding:0 22px !important;height:44px !important;min-height:44px !important;line-height:1 !important;
  border:0 !important;border-radius:10px !important;
  background:var(--bw-brand,var(--m-brand,#2563eb)) !important;color:#fff !important;
  font-size:15px !important;font-weight:700 !important;cursor:pointer !important;box-sizing:border-box !important
}
#bo_w .btn_submit:hover,
#bo_w button.btn_submit:hover{filter:brightness(.95) !important;color:#fff !important}
@media (max-width:768px){
  #bo_w .btn_confirm.write_div,
  #bo_w .btn_confirm{flex-direction:column-reverse !important}
  #bo_w .btn_submit,
  #bo_w .btn_cancel,
  #bo_w a.btn_cancel{width:100% !important;text-align:center !important}
}
html[data-theme="dark"] #bo_w a.btn_cancel,
html[data-theme="dark"] #bo_w a.btn.btn_cancel,
html[data-theme="dark"] #bo_w .btn_cancel{
  background:#111827 !important;border-color:#374151 !important;color:#f3f4f6 !important
}
html[data-theme="dark"] #bo_w a.btn_cancel:hover,
html[data-theme="dark"] #bo_w .btn_cancel:hover{
  border-color:#60a5fa !important;color:#60a5fa !important;background:#111827 !important
}

/* 첨부 이미지 설명 (bf_content) */
#bo_v_img .bo_v_img_item{margin:0 0 18px;padding:0;border:0;text-align:center}
#bo_v_img .bo_v_img_item img{margin-bottom:8px;border-radius:15px}
#bo_v_img .bo_v_img_desc, .bo_v_img_desc, .svc-img-desc{display:block;margin:0 auto 8px;padding:0 8px;max-width:100%;font-size:14px;line-height:1.55;color:var(--m-ink-2,#374151);font-weight:600;word-break:keep-all;text-align:center}
.svc-img-desc-wrap{margin:8px 0 4px}
