@charset "utf-8";
/* ============================================================
   올창고(allchanggo) 게시판 스킨 (clean) — 모던 / 라이트·다크 대응
   메인 테마 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:#ccc}

/* ---------- 게시판 목록 ---------- */
#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:5px 0;line-height:18px}
#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 30px;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 .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_tit{position:relative}
#bo_w .bo_w_tit .frm_input{padding-right:120px}
#bo_w .bo_w_tit #btn_autosave{position:absolute;right:5px;line-height:30px;height:30px}
#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:8px 0 0 8px;height:46px;line-height:46px;width:42px;font-size:1.2em;text-align:center;color:var(--m-muted)}
#bo_w .bo_w_link .frm_input{padding-left:52px}
#bo_w .bo_w_flie .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-muted)}
#bo_w .bo_w_flie .frm_file{padding-left:52px;margin-top:3px}
#bo_w .bo_w_flie .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 .bo_w_flie .frm_input{margin:10px 0 0}
#bo_w .bo_w_flie .file_del{font-size:0.92em;color:var(--m-muted)}
#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_submit{padding:0 22px;font-size:1.1em}
/* legacy btn_cancel radius removed — see WRITE_BTN_FORCE */

/* ---------- 목록 테이블 (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}

/* ---------- 이사 견적 입력폼 ---------- */
.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)}
@media (max-width:900px){.quote-grid{grid-template-columns:1fr 1fr}}
@media (max-width:768px){.quote-grid{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}
.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}
}

/* ---------- 지역 선택 탭 (슬라이딩) ---------- */
/* ---------- 분류 및 지역 선택 탭 ---------- */
.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;
    }
}

/* ============================================================
   카드형 목록 (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{padding-left:26px}

#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-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-top .ql-stars{margin-left:auto;display:inline-flex;align-items:center;gap:1px;color:#000;font-size:13px;white-space:nowrap}
#bo_list .quote-list .ql-top .ql-stars .far{color:#000}
html[data-theme="dark"] #bo_list .quote-list .ql-top .ql-stars,
html[data-theme="dark"] #bo_list .quote-list .ql-top .ql-stars .far{color:gold}

#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)}

/* ============================================================
   청소 서비스 스킨 (clean) 확장 스타일
   ============================================================ */

/* ---------- 입력폼 : 단위 붙은 입력 (경력/나이/일당) ---------- */
.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-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}


/* ========== 예약 달력 / 가격 설정 (jangbi 기반) ========== 
   차량 예약 달력 (trans_calendar / trans_schedule)
   ============================================================ */
.tcal-wrap .tcal-body,.quote-view .tcal-body{padding:16px 18px}
.tcal-wrap h3 .tcal-h-right{float:right;display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:600}
.tcal-cart-link{display:inline-flex;align-items:center;gap:4px;color:var(--m-brand) !important;text-decoration:none}
.tcal-cart-link b{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:20px;background:var(--m-brand);color:#fff;font-size:12px}
.quote-view h3 a.tcal-owner-link,
a.tcal-owner-link{
  display:inline-flex !important;
  align-items:center;
  gap:4px;
  color:#fff !important;
  background-color:#2563eb !important;
  background-color:var(--m-brand,#2563eb) !important;
  padding:6px 14px !important;
  border-radius:8px !important;
  text-decoration:none !important;
  font-weight:700 !important;
  line-height:1.2;
  box-shadow:0 1px 3px rgba(37,99,235,.3);
  border:0;
  white-space:nowrap;
}
.quote-view h3 a.tcal-owner-link:hover,
a.tcal-owner-link:hover{filter:brightness(.93);color:#fff !important}

/* 월 이동 */
.tcal-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin:4px 0 12px}
.tcal-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--m-line);border-radius:50%;color:var(--m-ink-2);text-decoration:none;font-size:15px}
.tcal-nav-btn:hover{border-color:var(--m-brand);color:var(--m-brand)}
.tcal-ym{font-size:18px;font-weight:800;color:var(--m-ink)}

/* 범례 */
.tcal-legend{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin:0 0 12px;padding:0;list-style:none;font-size:12px;color:var(--m-muted)}
.tcal-legend .lg{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:4px}
.tcal-legend .lg-avail{background:#dbeafe;border:1px solid #60a5fa}
.tcal-legend .lg-booked{background:#fee2e2;border:1px solid #f87171}
.tcal-legend .lg-closed{background:#e5e7eb;border:1px solid #9ca3af}
.tcal-legend .lg-none{background:var(--m-bg);border:1px dashed var(--m-line)}

/* 달력 표 */
.tcal-table{width:100%;border-collapse:collapse;table-layout:fixed;background:var(--m-white)}
.tcal-table th{padding:9px 0;font-size:13px;color:var(--m-ink-2);background:var(--m-bg);border:1px solid var(--m-line)}
.tcal-table th.tcal-sun{color:#ef4444}
.tcal-table th.tcal-sat{color:#2563eb}
.tcal-table td{border:1px solid var(--m-line);vertical-align:top;padding:6px;height:86px}
.tcal-table td.tcal-empty{background:var(--m-bg)}
.tcal-table td .tcal-daynum{display:inline-block;font-weight:800;font-size:13px;color:var(--m-ink);margin-bottom:4px}
.tcal-table td.tcal-sun .tcal-daynum{color:#ef4444}
.tcal-table td.tcal-sat .tcal-daynum{color:#2563eb}
.tcal-table td.tcal-today{outline:2px solid #b8860b;outline-offset:-2px}
.tcal-table td.tcal-past{background:var(--m-bg);opacity:.55}
.tcal-table td.tcal-day{cursor:pointer;transition:.12s}
.tcal-table td.tcal-day:hover{background:var(--m-brand-light)}
.tcal-table td.tcal-past{cursor:default}
.tcal-table td.tcal-sel{background:var(--m-brand-light);box-shadow:inset 0 0 0 2px var(--m-brand)}
.tcal-memo{display:block;font-size:11px;color:var(--m-accent,#ff7a2f);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}

/* 슬롯 표시 */
.tcal-slot{display:flex;align-items:center;gap:4px;font-size:11px;border-radius:5px;padding:3px 5px;margin-top:3px;line-height:1.2}
.tcal-slot em{font-style:normal;font-weight:700;flex:0 0 auto}
.tcal-slot .tsl-txt{flex:1 1 auto;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tcal-slot.st-avail{background:#dbeafe;color:#1d4ed8}
.tcal-slot.st-booked{background:#fee2e2;color:#b91c1c}
.tcal-slot.st-closed{background:#e5e7eb;color:#6b7280}
.tcal-slot.st-none{background:var(--m-bg);color:var(--m-muted);border:1px dashed var(--m-line)}
.tcal-slot.st-past{background:transparent;color:var(--m-muted)}

/* 예약 패널 */
.tcal-panel{margin-top:14px;border:1px solid var(--m-brand);border-radius:12px;background:var(--m-brand-light);padding:16px 18px}
.tcal-panel-head{font-size:15px;font-weight:800;color:var(--m-ink);margin-bottom:12px}
.tcal-panel-head strong{color:var(--m-brand)}
.tcal-panel-memo{margin-left:8px;font-size:12px;font-weight:700;color:var(--m-accent,#ff7a2f)}
.tcal-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tcal-choice{display:flex;align-items:center;gap:8px;border:1px solid var(--m-line);border-radius:10px;background:var(--m-white);padding:12px;cursor:pointer;transition:.12s}
.tcal-choice:hover{border-color:var(--m-brand)}
.tcal-choice input{accent-color:var(--m-brand);width:16px;height:16px;flex:0 0 auto}
.tcal-choice .tc-name{font-weight:700;color:var(--m-ink);flex:1 1 auto;font-size:14px}
.tcal-choice .tc-name small{color:var(--m-muted);font-weight:400}
.tcal-choice .tc-price{font-weight:800;color:var(--m-brand);font-size:14px;white-space:nowrap}
.tcal-choice.off{opacity:.45;cursor:not-allowed;background:var(--m-bg)}
.tcal-choice.off .tc-price{color:var(--m-muted)}
.tcal-notice{margin:12px 0;font-size:12.5px;color:var(--m-ink-2);line-height:1.6}
.tcal-notice i{color:var(--m-brand)}
.tcal-panel-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}
.tcal-btn-add{flex:1 1 220px;min-width:0;height:46px;border:0;border-radius:10px;background:var(--m-brand);color:#fff;font-size:15px;font-weight:800;cursor:pointer}
.tcal-btn-add:hover{background:var(--m-brand-dark)}
.tcal-btn-add[disabled]{background:#9ca3af;cursor:not-allowed}
.tcal-btn-cart{flex:0 0 auto;display:inline-flex;align-items:center;padding:0 18px;height:46px;border:1px solid var(--m-line);border-radius:10px;background:var(--m-white);color:var(--m-ink-2);text-decoration:none;font-weight:700}

.tcal-wday{display:none;font-style:normal}

@media (max-width:768px){
  .tcal-table td{height:auto;padding:4px}
  .tcal-slot{font-size:10px;padding:2px 4px}
  .tcal-slot em{display:none}
  .tcal-choices{grid-template-columns:1fr}
  .tcal-wrap h3 .tcal-h-right{float:none;display:flex;margin-top:8px}

  /* 예약 달력: 모바일 2열 (1일부터 연속) */
  .tcal-wrap .tcal-body{padding:12px}
  .tcal-wrap .tcal-table thead{display:none}
  .tcal-wrap .tcal-table,
  .tcal-wrap .tcal-table tbody{display:block;width:100%}
  .tcal-wrap .tcal-table tr{display:contents}
  .tcal-wrap .tcal-table tbody{display:flex;flex-wrap:wrap;gap:8px}
  .tcal-wrap .tcal-table td.tcal-empty{display:none !important}
  .tcal-wrap .tcal-table td.tcal-day{
    display:block;
    width:calc(50% - 4px);
    flex:0 0 calc(50% - 4px);
    box-sizing:border-box;
    height:auto;
    min-height:92px;
    padding:10px;
    border-radius:10px;
    overflow:hidden;
  }
  .tcal-wrap .tcal-daynum{display:inline-flex;align-items:baseline;gap:4px;margin-bottom:6px;font-size:15px}
  .tcal-wrap .tcal-wday{display:inline;font-size:11px;font-weight:600;opacity:.8}
  .tcal-wrap .tcal-price{
    font-size:13px;
    font-weight:800;
    line-height:1.35;
    white-space:normal;
    word-break:keep-all;
    padding:6px 8px;
  }
  .tcal-wrap .tcal-range{white-space:normal;overflow:visible;text-overflow:clip}
}

/* ---------- 업주 가격 설정 화면 ---------- */
.tsch-wrap{max-width:1100px;margin:10px auto 40px}
.tsch-title{font-size:22px;font-weight:800;color:var(--m-ink);margin:10px 0 16px}
.tsch-title i{color:var(--m-brand)}
.tsch-title .tsch-sub{display:block;font-size:14px;font-weight:600;color:var(--m-muted);margin-top:4px}
.tsch-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.tsch-back{display:inline-flex;align-items:center;gap:5px;color:var(--m-ink-2);text-decoration:none;border:1px solid var(--m-line);border-radius:8px;padding:8px 14px;font-size:13px}
.tsch-back:hover{border-color:var(--m-brand);color:var(--m-brand)}

.tsch-bulk{border:1px solid var(--m-line);border-radius:12px;background:var(--m-bg);padding:14px 16px;margin-bottom:14px}
.tsch-bulk h3{margin:0 0 10px;font-size:15px;font-weight:800;color:var(--m-ink)}
.tsch-bulk h3 i{color:var(--m-brand)}
.tsch-bulk h3 small{font-weight:400;color:var(--m-muted);font-size:12px}
.tsch-bulk-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bulk-chk{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--m-ink-2);white-space:nowrap;cursor:pointer}
.bulk-chk input{accent-color:var(--m-brand);width:15px;height:15px}
.bulk-input{width:150px;height:40px !important;font-size:13px !important}
.tsch-bulk-btn{height:40px;padding:0 16px;border:0;border-radius:8px;background:var(--m-brand);color:#fff;font-weight:700;font-size:13px;cursor:pointer}
.tsch-hint{margin:10px 0 0;font-size:12.5px;color:var(--m-muted);line-height:1.6}
.tsch-hint i{color:var(--m-brand)}

.tsch-table td{height:auto;cursor:default}
.tsch-table td.tsch-day:hover{background:transparent}
.tsch-booked-flag{display:block;font-size:11px;font-weight:700;color:#b91c1c;margin-bottom:3px}
.tsch-past-txt{display:block;font-size:11px;color:var(--m-muted);padding:8px 0}
.tsch-inputs .ti-row{display:flex;align-items:center;gap:3px;margin-top:3px}
.tsch-inputs .ti-row em{font-style:normal;font-size:11px;font-weight:700;color:var(--m-ink-2);flex:0 0 24px}
.tsch-inputs .ti-price{flex:1 1 auto;min-width:0;height:28px;border:1px solid var(--m-line);border-radius:6px;padding:0 6px;font-size:12px;background:var(--m-white);color:var(--m-ink)}
.tsch-inputs .ti-price:focus{outline:0;border-color:var(--m-brand)}
.tsch-inputs .ti-open{accent-color:var(--m-brand);width:15px;height:15px;flex:0 0 auto;cursor:pointer}
.tsch-inputs .ti-memo{width:100%;margin-top:3px;height:26px;border:1px dashed var(--m-line);border-radius:6px;padding:0 6px;font-size:11px;background:var(--m-bg);color:var(--m-ink-2)}
.tsch-btns{margin-top:16px;text-align:center}
.tsch-save{height:52px;padding:0 40px;border:0;border-radius:10px;background:var(--m-brand);color:#fff;font-size:16px;font-weight:800;cursor:pointer}
.tsch-save:hover{background:var(--m-brand-dark)}
@media (max-width:900px){
  .tsch-table thead{display:none}
  .tsch-table, .tsch-table tbody, .tsch-table tr{display:block;width:100%}
  .tsch-table td{display:block;width:100%;margin-bottom:6px;border-radius:10px}
  .tsch-table td.tcal-empty{display:none}
  .tsch-table td .tcal-daynum:after{content:"일";font-size:12px}
}

/* ============================================================
   글쓰기 UI (clean 스킨 전용)
   ============================================================ */
#bo_w{
  --bw-brand:var(--m-brand,#2563eb);
  --bw-brand-light:var(--m-brand-light,#eff6ff);
  --bw-ink:var(--m-ink,#111827);
  --bw-ink-2:var(--m-ink-2,#374151);
  --bw-muted:var(--m-muted,#6b7280);
  --bw-line:var(--m-line,#e5e7eb);
  --bw-bg:var(--m-bg,#f8fafc);
  --bw-white:var(--m-white,#fff);
  --bw-radius:14px;
  --bw-radius-sm:10px;
  color:var(--bw-ink)
}
#bo_w .quote-box{
  border:1px solid var(--bw-line);border-radius:var(--bw-radius);background:var(--bw-bg);
  padding:20px 22px;margin:14px 0
}
#bo_w .quote-box.write_div:after{content:none}
#bo_w .quote-h{
  margin:0 0 16px;font-size:17px;font-weight:800;color:var(--bw-ink)
}
#bo_w .quote-h i{color:var(--bw-brand);margin-right:6px}
#bo_w .quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 18px}
#bo_w .quote-field{display:flex;flex-direction:column;min-width:0}
#bo_w .quote-field-full{grid-column:1 / -1}
#bo_w .quote-field .unit-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%}
#bo_w .quote-field .unit-row .frm_input{flex:1 1 auto;min-width:0;width:auto}
#bo_w .quote-field .unit-row .unit-input{flex:0 1 110px;width:110px;text-align:center}
#bo_w .quote-field .unit-row .unit-select{flex:0 0 88px;width:88px}
#bo_w .quote-field .unit-row .unit-tail{flex:0 0 auto;white-space:nowrap;color:var(--bw-ink-2);font-size:14px}
#bo_w .quote-field > label,
#bo_w .bw-file-label{
  font-size:13px;font-weight:700;color:var(--bw-ink-2);margin-bottom:8px;display:block
}
#bo_w .bw-req{color:#ef4444;font-style:normal;margin-left:2px}
#bo_w .quote-box .frm_input,
#bo_w .quote-box select.frm_input{
  width:100%;height:46px;border:1px solid var(--bw-line);background:var(--bw-white);color:var(--bw-ink);
  border-radius:var(--bw-radius-sm);padding:0 12px;font-size:14px;font-family:inherit;box-sizing:border-box
}
#bo_w .quote-box .frm_input:focus,
#bo_w .quote-box select.frm_input:focus{
  outline:0;border-color:var(--bw-brand);box-shadow:0 0 0 3px rgba(37,99,235,.15)
}
#bo_w .bo_v_option{margin:0;padding:0;list-style:none}
#bo_w .bo_v_option li{display:inline-block;float:none;text-align:left;margin:0 14px 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 .wr_content.smarteditor2 iframe{background:#fff}

/* 제목 + 임시저장 */
#bo_w .bw-autosave-wrap{position:relative}
#bo_w .bw-main-box .frm_input{height:48px;padding:0 14px;font-size:15px;font-weight:600}
#bo_w .bw-main-box .bw-autosave-wrap:has(.bw-autosave-btn) .frm_input{padding-right:130px}
#bo_w .bw-autosave-btn{
  position:absolute;top:50%;right:8px;transform:translateY(-50%);
  height:34px;line-height:34px;padding:0 12px;border:1px solid var(--bw-line);border-radius:8px;
  background:var(--bw-bg);color:var(--bw-ink-2);font-size:12px;font-weight:700;cursor:pointer
}
#bo_w .bw-autosave-btn:hover{border-color:var(--bw-brand);color:var(--bw-brand);background:var(--bw-brand-light)}
#bo_w .bw-main-box #autosave_pop{top:52px;right:0}

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

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

/* 첨부파일 */
#bo_w .bw-file-hint{margin:0 0 14px;font-size:12.5px;color:var(--bw-muted);line-height:1.45}
#bo_w .bw-file-hint i{color:var(--bw-brand);margin-right:3px}
#bo_w .bw-file-row{position:relative;margin-bottom:14px}
#bo_w .bw-file-row:last-child{margin-bottom:0}
#bo_w .bw-file-box .file_wr{
  position:relative;border:1px solid var(--bw-line);background:var(--bw-white);color:var(--bw-ink);
  vertical-align:middle;border-radius:10px;padding:5px;height:48px;margin:0
}
#bo_w .bw-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(--bw-brand)
}
#bo_w .bw-file-box .frm_file{padding-left:52px;margin-top:3px;width:100%;box-sizing:border-box}
#bo_w .bw-file-box .frm_input{margin:10px 0 0;width:100%;height:46px;border:1px solid var(--bw-line);border-radius:10px;padding:0 12px;background:var(--bw-white)}
/* superseded: bw-file-box .file_del → see override below */

/* 버튼 */
#bo_w .btn_confirm{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
#bo_w .btn_submit{
  padding:0 22px;height:44px;line-height:44px;border:0;border-radius:10px;
  background:var(--bw-brand);color:#fff;font-size:15px;font-weight:700;cursor:pointer
}
#bo_w .btn_submit:hover{filter:brightness(.95)}
#bo_w .btn_cancel{
  display:inline-flex;align-items:center;justify-content:center;
  padding:0 20px;height:44px;border:1px solid var(--bw-line);border-radius:10px;
  background:var(--bw-white);color:var(--bw-ink-2);font-size:15px;font-weight:700;text-decoration:none
}
#bo_w .btn_cancel:hover{border-color:var(--bw-brand);color:var(--bw-brand)}

@media (max-width:900px){
  #bo_w .quote-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
  #bo_w .quote-box{padding:16px}
  #bo_w .quote-grid{grid-template-columns:1fr}
  #bo_w .quote-field .unit-row{flex-wrap:wrap}
  #bo_w .bw-main-box .bw-autosave-wrap:has(.bw-autosave-btn) .frm_input{padding-right:14px}
  #bo_w .bw-autosave-btn{position:static !important;transform:none;margin-top:8px;width:100%}
  #bo_w .bw-main-box #autosave_pop,#bo_w .svc-main-box #autosave_pop{left:0;right:auto;max-width:100%;width:100%}
  #bo_w .btn_confirm{flex-direction:column-reverse}
  #bo_w .btn_submit,#bo_w .btn_cancel{width:100%;text-align:center}
}

html[data-theme="dark"] #bo_w .quote-box{background:#1f2937;border-color:#374151}
html[data-theme="dark"] #bo_w .quote-box .frm_input,
html[data-theme="dark"] #bo_w .bw-file-box .file_wr,
html[data-theme="dark"] #bo_w .btn_cancel{background:#111827;border-color:#374151;color:#f3f4f6}
html[data-theme="dark"] #bo_w .bw-content-box textarea#wr_content:focus{box-shadow:0 0 0 3px rgba(96,165,250,.2)}

/* ============================================================
   업주 가격 설정 화면 UI 개선 (v2 오버라이드)
   ============================================================ */
/* ---------- 업주 가격 설정 화면 ---------- */
.tsch-wrap{padding:0 12px}
.tsch-wrap .tsch-title{display:flex;flex-direction:column;gap:6px;margin:16px 0 14px;padding:20px 22px;border:1px solid var(--m-line);border-radius:14px;background:linear-gradient(135deg,var(--m-brand-light,#eff6ff),var(--m-white,#fff));font-size:21px}
.tsch-wrap .tsch-title .tsch-sub{margin-top:0;font-size:15px;color:var(--m-ink-2)}
.tsch-wrap .tsch-title .tsch-sub:before{content:"";display:inline-block;width:4px;height:14px;border-radius:2px;background:var(--m-brand);margin-right:7px;vertical-align:-2px}

/* 월 이동 바 */
.tsch-top{border:1px solid var(--m-line);border-radius:12px;background:var(--m-white);padding:10px 14px;margin-bottom:14px}
.tsch-top .tcal-nav{margin:0}
.tsch-top .tcal-ym{min-width:130px;text-align:center}

/* 일괄 설정 : 요일 칩 */
.tsch-bulk{background:var(--m-white);box-shadow:0 2px 10px rgba(17,24,39,.04)}
.tsch-bulk h3{padding-bottom:10px;border-bottom:1px solid var(--m-line);margin-bottom:12px}
.tsch-bulk h3 small{display:block;margin-top:4px}
.bulk-chk{position:relative;padding:8px 14px;border:1px solid var(--m-line);border-radius:20px;background:var(--m-bg);font-weight:700;transition:.12s}
.bulk-chk input{position:absolute;opacity:0;width:0;height:0}
.bulk-chk:has(input:checked){background:var(--m-brand);border-color:var(--m-brand);color:#fff}
.bulk-chk:hover{border-color:var(--m-brand)}
.bulk-input{width:170px;border-radius:8px}
.tsch-bulk-btn{display:inline-flex;align-items:center;gap:5px}
.tsch-bulk-btn:hover{filter:brightness(.95)}

/* 달력 : 카드형 셀 */
.tsch-table{border-collapse:separate;border-spacing:5px;table-layout:fixed;background:transparent}
.tsch-table th{border:0;background:transparent;font-weight:800;padding:6px 0}
.tsch-table td{border:1px solid var(--m-line);border-radius:12px;background:var(--m-white);padding:8px}
.tsch-table td.tcal-empty{background:transparent;border:0}
.tsch-table td.tsch-day{transition:.12s}
.tsch-table td.tsch-day:hover{border-color:var(--m-brand);box-shadow:0 4px 14px rgba(37,99,235,.10)}
.tsch-table td.tcal-past{background:var(--m-bg);border-style:dashed}
.tsch-table td.tcal-today{outline:0;border-color:#b8860b;box-shadow:0 0 0 2px rgba(184,134,11,.35)}
.tsch-table td .tcal-daynum{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:8px;background:var(--m-bg);font-size:12px;margin-bottom:5px}
.tsch-table td.tcal-today .tcal-daynum{background:#b8860b;color:#fff}
.tsch-booked-flag{background:#fee2e2;color:#b91c1c;border-radius:6px;padding:2px 6px;display:inline-block;font-size:10.5px;margin-left:3px;vertical-align:2px}

/* 입력행 정돈 */
.tsch-inputs .ti-row{margin-top:4px}
.tsch-inputs .ti-row em{flex-basis:26px;color:var(--m-muted);font-size:10.5px}
.tsch-inputs .ti-price{height:30px;border-radius:7px;text-align:right;font-weight:700}
.tsch-inputs .ti-price::placeholder{font-weight:400;color:#b6bec9;font-size:11px}
.tsch-inputs .ti-full{border-style:dashed;background:var(--m-bg)}
.tsch-inputs .ti-memo{margin-top:4px;height:28px;border-radius:7px}
.tsch-inputs .ti-memo::placeholder{color:#b6bec9}

/* 예약가능 체크 → 토글 스위치 */
.tsch-inputs .ti-open{appearance:none;-webkit-appearance:none;width:30px;height:17px;border-radius:17px;background:#d1d5db;position:relative;transition:.15s;flex:0 0 30px;margin:0}
.tsch-inputs .ti-open:before{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:.15s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.tsch-inputs .ti-open:checked{background:var(--m-brand)}
.tsch-inputs .ti-open:checked:before{left:15px}

/* 하단 고정 저장바 */
.tsch-btns{position:sticky;bottom:10px;z-index:50;margin-top:18px;padding:10px;border-radius:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px)}
.tsch-save{width:100%;max-width:480px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
html[data-theme="dark"] .tsch-btns{background:rgba(23,32,42,.92)}

/* 다크모드 보정 */
html[data-theme="dark"] .tsch-wrap .tsch-title{background:linear-gradient(135deg,rgba(96,165,250,.14),transparent)}
html[data-theme="dark"] .bulk-chk{background:transparent}
html[data-theme="dark"] .tsch-inputs .ti-open{background:#4b5563}

@media (max-width:900px){
  .tsch-table{border-spacing:0}
  .tsch-table td{margin-bottom:8px}
  .bulk-input{width:31%;min-width:110px}
}

/* 가격 설정(업주) 버튼 아이콘 : .quote-view h3 i 규칙(브랜드색)에 덮이지 않게 흰색 고정 */
.quote-view h3 .tcal-owner-link i,
.tcal-owner-link i{color:#fff !important}

/* ============================================================
   예약 달력 글자 크기 확대 (해상도별)
   ============================================================ */
/* 범례 */
.tcal-legend{font-size:13.5px;gap:18px}
.tcal-legend .lg{width:14px;height:14px}
.tcal-table td .tcal-daynum{font-size:15px}
.tcal-slot{font-size:13px;padding:5px 7px;margin-top:4px}
.tcal-memo{font-size:12.5px}
.tcal-ym{font-size:20px}

/* PC 넓은 화면 */
@media (min-width:1200px){
  .tcal-legend{font-size:15px;gap:22px}
  .tcal-legend .lg{width:15px;height:15px}
  .tcal-table th{font-size:15px;padding:11px 0}
  .tcal-table td{padding:8px;height:100px}
  .tcal-table td .tcal-daynum{font-size:17px}
  .tcal-slot{font-size:14.5px;padding:6px 9px}
  .tcal-slot em{font-size:13.5px}
  .tcal-memo{font-size:13px}
  .tcal-ym{font-size:22px}
  .tcal-panel-head{font-size:17px}
  .tcal-choice .tc-name{font-size:15px}
  .tcal-choice .tc-price{font-size:15px}
  .tcal-notice{font-size:13.5px}
}

/* 모바일: 카드형 전환 (제목 위, 메타 아래 한 줄) */
@media (max-width:768px){
  .tcal-legend{font-size:12px}
  .tcal-table td .tcal-daynum{font-size:13px}
  .tcal-slot{font-size:10px}
}

/* ============================================================
   예약 달력 다크모드 가독성 보정
   (#2563eb 계열 → 흰색이 섞인 밝은 블루로)
   ============================================================ */
html[data-theme="dark"] .tcal-table th.tcal-sat,
html[data-theme="dark"] .tcal-table td.tcal-sat .tcal-daynum{color:#9ec5ff}
html[data-theme="dark"] .tcal-table th.tcal-sun,
html[data-theme="dark"] .tcal-table td.tcal-sun .tcal-daynum{color:#ff9d9d}

/* 슬롯 : 예약가능(파랑) */
html[data-theme="dark"] .tcal-slot.st-avail{background:rgba(96,165,250,.18);color:#d6e6ff}
/* 슬롯 : 예약마감(빨강) */
html[data-theme="dark"] .tcal-slot.st-booked{background:rgba(239,68,68,.18);color:#ffc2c2}
/* 슬롯 : 운행불가(회색) */
html[data-theme="dark"] .tcal-slot.st-closed{background:rgba(148,163,184,.14);color:#d3dae3}
/* 슬롯 : 미설정 */
html[data-theme="dark"] .tcal-slot.st-none{color:#a7b3c2;border-color:#3b4757}

/* 메모(휴무 등) : 주황 → 밝은 주황 */
html[data-theme="dark"] .tcal-memo{color:#ffb26b}

/* 범례 */
html[data-theme="dark"] .tcal-legend{color:#c3ccd8}
html[data-theme="dark"] .tcal-legend .lg-avail{background:rgba(96,165,250,.25);border-color:#9ec5ff}
html[data-theme="dark"] .tcal-legend .lg-booked{background:rgba(239,68,68,.25);border-color:#ff9d9d}
html[data-theme="dark"] .tcal-legend .lg-closed{background:rgba(148,163,184,.2);border-color:#a7b3c2}

/* 예약 패널 : 가격/링크 */
html[data-theme="dark"] .tcal-panel{background:rgba(96,165,250,.08);border-color:#4f78b8}
html[data-theme="dark"] .tcal-panel-head strong{color:#9ec5ff}
html[data-theme="dark"] .tcal-choice{border-color:#3b4757}
html[data-theme="dark"] .tcal-choice .tc-price{color:#9ec5ff}
html[data-theme="dark"] .tcal-choice.off .tc-price{color:#7c8794}
html[data-theme="dark"] .tcal-memo,
html[data-theme="dark"] .tcal-panel-memo{color:#ffb26b}
html[data-theme="dark"] .tcal-cart-link{color:#9ec5ff !important}
html[data-theme="dark"] .tcal-notice i{color:#9ec5ff}

/* 오늘 표시(황금색)는 다크에서도 유지하되 약간 밝게 */
html[data-theme="dark"] .tcal-table td.tcal-today{outline-color:#d4a017}

/* ---------- 현장 정산 안내 (전체 차량 공통) ---------- */
.tcal-extra{margin-top:14px;border:1px solid var(--m-line); border-radius:12px;background:var(--m-bg);padding:16px 18px}
.tcal-extra h4{margin:0 0 8px;font-size:15px;font-weight:800;color:var(--m-ink)}
.tcal-extra h4 i{color:var(--m-accent,#ff7a2f);margin-right:4px}
.tcal-extra h4 small{font-weight:600;color:var(--m-muted);font-size:12px}
.tcal-extra p{margin:0 0 10px;font-size:13.5px;color:var(--m-ink-2);line-height:1.65}
.tcal-extra-items{display:flex;flex-wrap:wrap;gap:6px 8px;margin:0 0 12px;padding:0;list-style:none}
.tcal-extra-items li{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--m-ink-2);background:var(--m-white);border:1px solid var(--m-line);border-radius:20px;padding:6px 13px}
.tcal-extra-items li i{color:var(--m-accent,#ff7a2f);font-size:12px}
.tcal-extra-foot{margin-bottom:0 !important;font-size:12.5px !important;color:var(--m-muted) !important}
@media (min-width:1200px){
  .tcal-extra p{font-size:14.5px}
  .tcal-extra-items li{font-size:14px}
  .tcal-extra-foot{font-size:13.5px !important}
}
html[data-theme="dark"] .tcal-extra{background:rgba(255,122,47,.06)}
html[data-theme="dark"] .tcal-extra-items li{background:transparent;border-color:#3b4757;color:#d3dae3}
html[data-theme="dark"] .tcal-extra h4 i,
html[data-theme="dark"] .tcal-extra-items li i{color:#ffb26b}

/* ============================================================
   시간제 예약 달력 추가 스타일
   ============================================================ */
/* 기본 요금 안내 바 */
.tcal-baseinfo{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;border:1px solid var(--m-line);border-radius:10px;background:var(--m-bg);padding:12px 16px;margin-bottom:14px;font-size:13.5px;color:var(--m-ink-2)}
.tcal-baseinfo .tb-item i{color:var(--m-brand);margin-right:3px}
.tcal-baseinfo b{color:var(--m-ink)}
.tcal-baseinfo-warn{color:#b45309;background:#fef3c7;border-color:#fcd34d;font-weight:600}
html[data-theme="dark"] .tcal-baseinfo-warn{background:rgba(252,211,77,.12);color:#fcd34d;border-color:#8a6d1d}

/* 달력 셀 : 기본요금 / 예약된 시간 */
.tcal-price{font-size:13px;font-weight:800;color:var(--m-brand);background:var(--m-brand-light);border-radius:6px;padding:4px 6px;text-align:center;margin-top:3px}
.tcal-range{font-size:11px;color:#b91c1c;background:#fee2e2;border-radius:5px;padding:3px 5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tcal-range i{font-size:10px}
.tcal-state{font-size:12px;color:var(--m-muted);background:var(--m-bg);border-radius:6px;padding:6px 4px;text-align:center;margin-top:4px}
.tcal-state-none{border:1px dashed var(--m-line)}
td.tday-closed{background:repeating-linear-gradient(45deg,var(--m-bg),var(--m-bg) 6px,transparent 6px,transparent 12px)}
td.tday-avail{cursor:pointer}
td.tday-past,td.tday-closed,td.tday-none{cursor:default !important}
@media (min-width:1200px){
  .tcal-price{font-size:14.5px}
  .tcal-range{font-size:12.5px}
  .tcal-baseinfo{font-size:14.5px}
}
html[data-theme="dark"] .tcal-price{background:rgba(96,165,250,.16);color:#9ec5ff}
html[data-theme="dark"] .tcal-range{background:rgba(239,68,68,.18);color:#ffc2c2}
html[data-theme="dark"] .tcal-state{color:#a7b3c2}

/* 예약 달력 모바일 2열 — 가격 규칙 이후 재적용 */
@media (max-width:768px){
  .tcal-wrap .tcal-table thead{display:none}
  .tcal-wrap .tcal-table{display:block;width:100%;border-collapse:separate;border-spacing:0}
  .tcal-wrap .tcal-table tbody{display:flex;flex-wrap:wrap;gap:8px;width:100%}
  .tcal-wrap .tcal-table tr{display:contents}
  .tcal-wrap .tcal-table td.tcal-empty{display:none !important}
  .tcal-wrap .tcal-table td.tcal-day{
    display:block;width:calc(50% - 4px);flex:0 0 calc(50% - 4px);box-sizing:border-box;
    height:auto;min-height:92px;padding:10px;border-radius:10px;overflow:hidden
  }
  .tcal-wrap .tcal-wday{display:inline;font-style:normal;font-size:11px;font-weight:600;opacity:.8;margin-left:2px}
  .tcal-wrap .tcal-price{font-size:13px;line-height:1.35;white-space:normal;word-break:keep-all;padding:6px 8px}
  .tcal-wrap .tcal-range{white-space:normal;overflow:visible;text-overflow:clip}
}

/* 예약 패널 폼 */
.tform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}
.tform-field{display:flex;flex-direction:column;gap:6px}
.tform-full{grid-column:1 / -1}
.tform-field label{font-size:13px;font-weight:700;color:var(--m-ink)}
.tform-field label small{font-weight:400;color:var(--m-muted)}
html[data-theme="dark"] .tform-field label small{color:#ccc}
.tform-field .frm_input{height:44px;border:1px solid var(--m-line);border-radius:8px;background:var(--m-white);color:var(--m-ink);padding:0 10px;font-size:14px;width:100%}
html[data-theme="dark"] .tform-field .frm_input::placeholder{color:#ccc;opacity:1}
.tform-field .frm_input:focus{outline:0;border-color:var(--m-brand)}
.tform-unit{display:flex;align-items:center;gap:6px}
.tform-unit input{text-align:right}
.tform-unit span{flex:0 0 auto;color:var(--m-ink-2);font-size:14px}
.tform-endtime{display:flex;align-items:center;height:44px;padding:0 12px;border:1px dashed var(--m-line);border-radius:8px;background:var(--m-bg);font-weight:800;color:var(--m-brand)}
@media (max-width:900px){.tform-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.tform-grid{grid-template-columns:1fr}}
html[data-theme="dark"] .tform-endtime{color:#9ec5ff}

/* 요금 내역 */
.tcal-bill{border:1px solid var(--m-line);border-radius:10px;background:var(--m-white);padding:6px 16px;margin-bottom:12px}
.tcal-bill .tb-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px dashed var(--m-line);font-size:14px;color:var(--m-ink-2)}
.tcal-bill .tb-row small{color:var(--m-muted);font-size:12px}
.tcal-bill .tb-row b{color:var(--m-ink);font-weight:700}
.tcal-bill .tb-total{border-bottom:0;font-weight:800}
.tcal-bill .tb-total span{color:var(--m-ink);font-size:15px}
.tcal-bill .tb-total b{color:var(--m-brand);font-size:19px}
html[data-theme="dark"] .tcal-bill .tb-total b{color:#9ec5ff}

/* 업주 화면 : 차량 기본 설정 요약 / 개별 단가 설정 */
.tsch-vp{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;border:1px solid var(--m-line);border-radius:12px;background:var(--m-white);padding:12px 16px;margin-bottom:12px;font-size:13.5px;color:var(--m-ink-2)}
.tsch-vp i{color:var(--m-brand);margin-right:3px}
.tsch-vp b{color:var(--m-ink)}
.tsch-vp-edit{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:var(--m-brand) !important;font-weight:700;text-decoration:none;border:1px solid var(--m-brand);border-radius:8px;padding:6px 12px;font-size:12.5px}
.tsch-vp-warn{color:#b45309;font-weight:600}
.tsch-vp-warn a{color:var(--m-brand);text-decoration:underline}
.ti-toggle-row{justify-content:space-between}
.ti-adv-btn{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;margin:0;border:1px solid var(--m-brand,#2563eb);border-radius:7px;background:var(--m-brand-light,#eff6ff);color:var(--m-brand,#2563eb);cursor:pointer;font-size:13px;line-height:1;flex:0 0 auto;transition:.15s;box-shadow:none}
.ti-adv-btn:hover{background:var(--m-brand,#2563eb);border-color:var(--m-brand,#2563eb);color:#fff}
.ti-adv-btn:focus-visible{outline:2px solid var(--m-brand,#2563eb);outline-offset:2px}
html[data-theme="dark"] .ti-adv-btn{background:rgba(96,165,250,.16);border-color:#60a5fa;color:#93c5fd}
html[data-theme="dark"] .ti-adv-btn:hover{background:#2563eb;border-color:#2563eb;color:#fff}
.ti-adv{border-top:1px dashed var(--m-line);margin-top:4px;padding-top:2px}

/* ---------- 주소검색 행 + 상세주소 (PC: 한 줄 / 모바일: 3줄) ---------- */
.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-row .tcal-addr-detail{flex:0 0 450px;width:450px;max-width:450px;margin-top:0;background:var(--m-white);cursor:text}
.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;font-weight:700;padding:0 16px;cursor:pointer}
.addr-search-btn:hover{filter:brightness(.95)}
@media (max-width:768px){
    .addr-row{flex-direction:column;align-items:stretch}
    .addr-row .frm_input,
    .addr-row .tcal-addr-detail{flex:1 1 auto;width:100%;max-width:none}
    .addr-search-btn{width:100%;height:44px}
}
.tf-km-status{font-size:12px;color:var(--m-brand);font-weight:600;min-height:15px}
html[data-theme="dark"] .tf-km-status{color:#9ec5ff}
/* 카카오 우편번호 iframe 내부 .form_search .btn_search 는 부모 CSS로 변경 불가 → 닫기는 레이어 위쪽(top:-20px)에 배치 */
#tcal_postcode_wrap{background:var(--m-white,#fff);position:relative;overflow:visible;margin-top:28px;box-sizing:content-box}
#tcal_postcode_wrap .cp-postcode-close{cursor:pointer;position:absolute;right:14px;top:-20px;z-index:10;width:20px;height:20px}

/* 내 장바구니에 담긴 시간 (본인에게만 표시) */
.tcal-range.tcal-mine{background:#fef3c7;color:#92400e}
.tcal-legend .lg-mine{background:#fef3c7;border:1px solid #f59e0b}
html[data-theme="dark"] .tcal-range.tcal-mine{background:rgba(245,158,11,.18);color:#fcd34d}

/* 예약 상태별 색상 : 접수(노랑) / 결제=waiting(보라) / 확정=confirmed(빨강) */
.tcal-range.tcal-paid{background:#ede9fe;color:#6d28d9}
.tcal-range.tcal-confirm{background:#fee2e2;color:#b91c1c}
.tcal-legend .lg-paid{background:#ede9fe;border:1px solid #a78bfa}
.tcal-legend .lg-confirm{background:#fee2e2;border:1px solid #f87171}
html[data-theme="dark"] .tcal-range.tcal-paid{background:rgba(139,92,246,.2);color:#d8ccff}
html[data-theme="dark"] .tcal-range.tcal-confirm{background:rgba(239,68,68,.18);color:#ffc2c2}

/* 업주 화면 : 예약 상태 뱃지 */
.tsch-booked-flag.flag-paid{background:#ede9fe;color:#6d28d9}
.tsch-booked-flag.flag-confirm{background:#fee2e2;color:#b91c1c}
html[data-theme="dark"] .tsch-booked-flag.flag-paid{background:rgba(139,92,246,.2);color:#d8ccff}
html[data-theme="dark"] .tsch-booked-flag.flag-confirm{background:rgba(239,68,68,.18);color:#ffc2c2}

/* ---------- 별점 (Font Awesome 6) ---------- */
#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}
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:0 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)}

/* 하단 고정 검색바 */
.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}
}

/* 리스트 찜하기 */
.scrap-add{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:4px 10px;border:1px solid var(--m-line,#e5e7eb);border-radius:20px;background:var(--m-white,#fff);color:var(--m-brand,#2563eb);font-size:12px;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer}
.scrap-add i{margin:0 !important;color:inherit !important;font-size:13px}
.scrap-add:hover{background:var(--m-brand,#2563eb);color:#fff;border-color:var(--m-brand,#2563eb)}

/* 카드형 링크 UI: 라벨을 입력 위 텍스트로 (구형 absolute 아이콘 라벨 무력화) */
#bo_w .bw-link-box .bo_w_link{
  display:flex;flex-direction:column;min-width:0;position:relative
}
#bo_w .bw-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(--bw-ink-2,var(--m-ink-2,#374151));
  margin:0 0 8px !important;display:block;padding:0
}
#bo_w .bw-link-box .bw-link-input{position:relative}
#bo_w .bw-link-box .bw-link-input > i{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:var(--bw-brand,var(--m-brand,#2563eb));font-size:18px;line-height:1;
  pointer-events:none;z-index:1
}
#bo_w .bw-link-box .frm_input,
#bo_w .bw-link-box .bw-link-input .frm_input{
  width:100%;height:48px;padding:0 14px 0 44px !important;
  border:1px solid var(--bw-line,var(--m-line,#e5e7eb));
  border-radius:10px;background:var(--bw-white,var(--m-white,#fff));
  color:var(--bw-ink,var(--m-ink,#111827));font-size:14px;box-sizing:border-box
}

/* 카드형 첨부: 파일삭제 체크를 입력 아래 일반 흐름으로 (구형 absolute 무력화) */
#bo_w .bw-file-box .file_del,
#bo_w .bw-file-box .bo_w_flie .file_del,
#bo_w .bw-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(--bw-muted,var(--m-muted,#6b7280))
}
#bo_w .bw-file-box .file_del label,
#bo_w .bw-file-row .file_del label{
  margin:0;cursor:pointer;color:inherit;font-weight:500
}


/* LINK_LABEL_FORCE */
#bo_w .bw-link-box .bo_w_link{
  display:flex;flex-direction:column;min-width:0;position:relative
}
#bo_w .bw-link-box .bo_w_link > label,
#bo_w .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(--bw-ink-2,var(--m-ink-2,#374151));
  margin:0 0 8px !important;display:block;padding:0
}
#bo_w .bw-link-box .bw-link-input{position:relative}
#bo_w .bw-link-box .bw-link-input > i{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:var(--bw-brand,var(--m-brand,#2563eb));font-size:18px;line-height:1;
  pointer-events:none;z-index:1
}
#bo_w .bw-link-box .frm_input,
#bo_w .bw-link-box .bw-link-input .frm_input{
  width:100%;height:48px;padding:0 14px 0 44px !important;
  border:1px solid var(--bw-line,var(--m-line,#e5e7eb));
  border-radius:10px;background:var(--bw-white,var(--m-white,#fff));
  color:var(--bw-ink,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{display:block;margin:0 auto 4px;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}
