@charset "utf-8";
/* ============================================================
   올창고(allchanggo) 게시판 스킨 (trans) — 모던 / 라이트·다크 대응
   메인 테마 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,#ff7a2f);
  --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-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}
.quote-view .trv-tel{display:inline-flex;align-items:center;gap:5px;color:var(--m-brand);font-weight:700;text-decoration:none}
.quote-view .trv-tel:hover{text-decoration:underline}
.quote-view .trv-tel-priv{margin-left:6px;color:var(--m-muted,#6b7280);font-weight:600}
/* 모바일: 라벨(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}
}


/* ============================================================
   차량 갤러리 목록 (vg) — 4 / 3 / 2 / 1
   ============================================================ */
.vg-allchk{margin:6px 0;font-size:13px;color:var(--m-ink-2)}
.vg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:14px 0;padding:0;list-style:none}
.vg-card{position:relative;display:flex;flex-direction:column;background:var(--m-white);border:1px solid var(--m-line);border-radius:12px;overflow:hidden;transition:.2s}
.vg-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.12);border-color:transparent}
.vg-now{border-color:var(--m-brand)}
.vg-thumb{position:relative;display:block;aspect-ratio:4/3;background:var(--m-bg);overflow:hidden}
.vg-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:.3s}
.vg-card:hover .vg-thumb img{transform:scale(1.05)}
.vg-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--m-line)}
.vg-noimg i{font-size:54px}
.vg-ton{position:absolute;left:10px;bottom:10px;background:rgba(17,24,39,.78);color:#fff;font-size:12px;font-weight:700;padding:4px 9px;border-radius:6px}
.vg-chk{position:absolute;left:8px;top:8px;z-index:2;}
.vg-body{display:flex;flex-direction:column;gap:6px;padding:14px}
.vg-cate{align-self:flex-start;font-size:12px;font-weight:800;color:var(--m-brand);background:var(--m-brand-light);padding:3px 10px;border-radius:20px}
.vg-tit{font-size:15px;font-weight:700;color:var(--m-ink);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vg-tit .new_icon{display:inline-block;margin-left:4px;font-size:10px;font-weight:800;color:#fff;background:#16a34a;padding:1px 5px;border-radius:4px;vertical-align:middle}
.vg-tit .cnt_cmt{margin-left:4px;color:var(--m-brand);font-weight:700}
.vg-tit .notice_icon{color:#ef4444}
.vg-area{font-size:13px;color:var(--m-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vg-area i{color:var(--m-brand)}
.vg-info{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px;font-size:12px;color:#6b7280}
.vg-info .vg-meta-left{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 12px;min-width:0}
.vg-info .vg-meta-left i{color:#9ca3af}
html[data-theme="dark"] .vg-info .vg-meta-left i{color:#ccc}
.vg-info .vg-stars{margin-left:auto;flex:0 0 auto;display:inline-flex;align-items:center;gap:1px;color:#000;font-size:13px;white-space:nowrap}
.vg-info .vg-stars .far{color:#000}
html[data-theme="dark"] .vg-info .vg-stars,
html[data-theme="dark"] .vg-info .vg-stars .far{color:gold}
.vg-empty{grid-column:1/-1;text-align:center;color:#6b7280;padding:60px 0;border:1px dashed var(--m-line);border-radius:12px}
@media (max-width:1280px){.vg-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:768px){.vg-grid{grid-template-columns:repeat(2,1fr);gap:12px}}
@media (max-width:480px){.vg-grid{grid-template-columns:1fr}}

#bo_list .chk_all_label{cursor:pointer;font-size:13px;color:var(--m-muted);display:inline-flex;align-items:center;gap:6px}



/* ---------- 지역 선택 탭 (슬라이딩) ---------- */
/* ---------- 분류 및 지역 선택 탭 ---------- */
.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, #ff7a2f);
    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:#f5a623;font-size:13px;white-space:nowrap}
#bo_list .quote-list .ql-stars .far{color:#f5a623}
/* 뷰페이지 별점 색상 */
/* #bo_v .star-list .fa-star,#bo_v .star-list .fa-star-half-alt,#bo_v .star-list .far{color:#f5a623} */
/* 댓글 별점 색상 */
#bo_vc .fa-star,#bo_vc .fa-star-half-alt,#bo_vc .far.fa-star{color:#f5a623}

/* ---------- 댓글 별점 입력 폼 ---------- */
.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)}

/* ============================================================
   차량 예약 달력 (trans_calendar / trans_schedule)
   ============================================================ */
.tcal-wrap .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;justify-content:center;padding:0 18px;min-width:132px;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;box-sizing:border-box}

/* 예약 폼 그리드 (패널 바로 아래 정의 — 유실/덮어쓰기 방지) */
.tcal-panel .tform-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  margin-bottom:12px;
  width:100%;
  box-sizing:border-box;
}
.tcal-panel .tform-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.tcal-panel .tform-full{grid-column:1 / -1}
.tcal-panel .tform-field label{font-size:13px;font-weight:700;color:var(--m-ink)}
.tcal-panel .tform-field label small{font-weight:400;color:var(--m-muted)}
.tcal-panel .tform-field .frm_input,
.tcal-panel .tform-field select.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%;max-width:100%;box-sizing:border-box;min-width:0
}
.tcal-panel .tform-field .frm_input:focus,
.tcal-panel .tform-field select.frm_input:focus{outline:0;border-color:var(--m-brand)}
.tcal-panel .tform-unit{display:flex;align-items:center;gap:6px;min-width:0}
.tcal-panel .tform-unit input{flex:1 1 auto;min-width:0;text-align:right}
.tcal-panel .tform-unit span{flex:0 0 auto;color:var(--m-ink-2);font-size:14px}
.tcal-panel .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);box-sizing:border-box}
.tcal-panel .addr-row{display:flex;align-items:stretch;gap:8px;width:100%;min-width:0}
.tcal-panel .addr-row .frm_input{flex:1 1 auto;min-width:0;width:auto;background:var(--m-bg);cursor:pointer}
.tcal-panel .addr-row .tcal-addr-detail{flex:0 1 220px;width:auto;max-width:260px;min-width:120px;margin-top:0;background:var(--m-white);cursor:text}
.tcal-panel .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;height:44px}
.tcal-panel .addr-search-btn:hover{filter:brightness(.95)}
@media (max-width:1100px){
  .tcal-panel .tform-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (max-width:768px){
  .tcal-panel .tform-grid{grid-template-columns:1fr}
  .tcal-panel .addr-row{flex-direction:column;align-items:stretch}
  .tcal-panel .addr-row .frm_input,
  .tcal-panel .addr-row .tcal-addr-detail{flex:1 1 auto;width:100%;max-width:none;min-width:0}
  .tcal-panel .addr-search-btn{width:100%;height:44px}
  .tcal-btn-add,.tcal-btn-cart{flex:1 1 100%;min-width:0}
}
html[data-theme="dark"] .tcal-panel .tform-endtime{color:#9ec5ff}
html[data-theme="dark"] .tcal-panel .tform-field label small{color:#ccc}
html[data-theme="dark"] .tcal-panel .tform-field .frm_input::placeholder{color:#ccc;opacity:1}

.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;
    overflow:visible;
    padding:6px 8px;
  }
  .tcal-wrap .tcal-range{font-size:11px;white-space:normal;line-height:1.35}
  .tcal-wrap .tcal-memo{white-space:normal}
  .tcal-wrap .tcal-state{font-size:12px}
}

/* ---------- 업주 가격 설정 화면 ---------- */
.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 개선 (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}

/* 모바일: 카드형 전환 (제목 위, 메타 아래 한 줄) */
@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(4, minmax(0, 1fr));gap:12px;margin-bottom:12px}
.tform-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.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,.tform-field select.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%;max-width:100%;box-sizing:border-box;min-width:0}
html[data-theme="dark"] .tform-field .frm_input::placeholder{color:#ccc;opacity:1}
.tform-field .frm_input:focus,.tform-field select.frm_input:focus{outline:0;border-color:var(--m-brand)}
.tform-unit{display:flex;align-items:center;gap:6px;min-width:0}
.tform-unit input{flex:1 1 auto;min-width:0;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);box-sizing:border-box}
@media (max-width:1100px){.tform-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}
@media (max-width:768px){.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:8px;min-width:0}
.addr-row .frm_input{flex:1 1 auto;min-width:0;background:var(--m-bg);cursor:pointer}
.addr-row .tcal-addr-detail{flex:0 1 220px;width:auto;max-width:260px;min-width:120px;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;height:44px}
.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;min-width:0}
    .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_list .ql-stars,
#bo_list .vg-stars{display:inline-flex;align-items:center;gap:1px;color:#000;font-size:13px;white-space:nowrap}
#bo_list .ql-stars .far,
#bo_list .vg-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}
html[data-theme="dark"] #bo_list .ql-stars,
html[data-theme="dark"] #bo_list .ql-stars .far,
html[data-theme="dark"] #bo_list .vg-stars,
html[data-theme="dark"] #bo_list .vg-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)}

/* 리스트 찜하기 */
.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)}

/* ---------- 글쓰기 ---------- */
#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:1fr 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 > 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:768px){
  #bo_w .quote-box{padding:16px}
  #bo_w .quote-grid{grid-template-columns:1fr}
  #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)}
html[data-theme="dark"] #bo_w .trw-tel-opt-label{color:#e5e7eb}
html[data-theme="dark"] #bo_w .trw-tel-opt-item{background:#111827;border-color:#374151;color:#e5e7eb}
html[data-theme="dark"] #bo_w .trw-tel-opt-item:has(input:checked){border-color:#60a5fa;background:rgba(37,99,235,.22);color:#93c5fd}

/* 카드형 링크 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
}


/* 카드형 링크 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,
#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, .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}


/* ---------- 서비스 보기/블록 (check 보드 이식) ---------- */
/* ---------- 서비스 보기 히어로 (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{width:860px;max-width:100%;height:auto;border-radius:15px}
#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,
#bo_v #bo_v_con.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}
}
