@charset "utf-8";

.comm-hero{background:#fff;border-bottom:8px solid #f7f7f7;padding:24px 40px;}
.comm-hero-inner{max-width:1060px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.comm-eyebrow{display:inline-flex;align-items:center;gap:5px;background:#FEF2F2;color:#7B1A1A;border-radius:20px;padding:5px 12px;font-size:12px;font-weight:700;margin-bottom:9px;}
.comm-title{font-size:24px;font-weight:800;color:#1a1a1a;letter-spacing:-0.4px;}
.comm-title span{color:#7B1A1A;}
.comm-sub{font-size:13px;color:#888;margin-top:6px;line-height:1.7;}
.hero-write{background:#7B1A1A;color:#fff;border:none;border-radius:10px;padding:12px 22px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;}
.hero-side{display:flex;gap:10px;}
.hero-stat{background:#f9f9f9;border:1px solid #eee;border-radius:12px;padding:12px 16px;min-width:110px;text-align:center;}
.hero-stat-num{font-size:18px;font-weight:800;color:#7B1A1A;}
.hero-stat-label{font-size:11px;color:#aaa;margin-top:2px;}
.layout{max-width:1060px;margin:0 auto;padding:20px 40px;display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start;}
.sidebar{background:#fff;border-radius:14px;border:1px solid #eee;overflow:hidden;position:sticky;top:76px;}
.sb-head{padding:14px 16px;border-bottom:1px solid #f0f0f0;}
.sb-title{font-size:14px;font-weight:700;color:#1a1a1a;}
.board-menu{padding:6px 0;}
.board-item{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;font-size:14px;color:#555;cursor:pointer;}
.board-item:hover{background:#f9f9f9;color:#7B1A1A;}
.board-item.on{color:#7B1A1A;background:#FEF2F2;font-weight:700;border-left:3px solid #7B1A1A;}
.board-item.child {padding-left: 30px;font-size: 13px}
.board-item.child.on{color:#7B1A1A;background:#FFF;font-weight:700;border-left:none;}
.board-cnt{font-size:11px;color:#aaa;}
.side-box{margin:12px;border-radius:10px;padding:12px;background:#EEF2FF;}
.side-box-title{font-size:12px;font-weight:700;color:#0F1B3D;margin-bottom:5px;}
.side-box-txt{font-size:11px;color:#556070;line-height:1.6;}
.side-btn{margin-top:8px;background:#0F1B3D;color:#fff;border:none;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:700;cursor:pointer;}
.content{min-width:0;}
.panel{background:#fff;border:1px solid #eee;border-radius:14px;padding:16px 18px;margin-bottom:12px;}
.tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #f0f0f0;padding-bottom:12px;margin-bottom:12px;}
.tab{border:1px solid #eee;background:#fff;color:#555;border-radius:20px;padding:7px 14px;font-size:13px;cursor:pointer;}
.tab.on{background:#7B1A1A;border-color:#7B1A1A;color:#fff;font-weight:700;}
.board-top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.board-title{font-size:17px;font-weight:800;}
.board-desc{font-size:12px;color:#aaa;margin-top:4px;}
.board-search{height:38px;width:260px;background:#f3f4f6;border-radius:9px;padding:0 12px;display:flex;align-items:center;gap:7px;}
.board-search input{border:none;background:transparent;outline:none;width:100%;font-size:13px;}
.sort-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px;}
.sort-left{font-size:12px;color:#999;}
.sort-left strong{color:#7B1A1A;}
.sort-btns{display:flex;gap:6px;}
.sbtn{font-size:12px;color:#aaa;padding:5px 12px;border-radius:20px;cursor:pointer;border:1px solid #eee;background:#fff;}
.sbtn.on{color:#7B1A1A;font-weight:700;background:#FEF2F2;border-color:#7B1A1A;}
.notice-line{background:#fff;border:1px solid #eee;border-radius:12px;padding:12px 16px;margin-bottom:8px;display:flex;align-items:center;gap:10px;}
.notice-badge{background:#FEF2F2;color:#7B1A1A;font-size:11px;font-weight:700;border-radius:5px;padding:2px 8px;flex-shrink:0;}
.notice-txt{font-size:13px;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.post-list{display:flex;flex-direction:column;gap:8px;}
.post-card{background:#fff;border:1px solid #eee;border-radius:14px;padding:15px 18px;cursor:pointer;}
.post-card:hover{border-color:#7B1A1A;}
.post-card.post-notice {padding: 12px 16px}
.post-card.post-notice .post-badge {padding: 2px 8px}
.post-card.post-notice .post-title-row {gap: 10px}
.post-card.post-notice .post-title-row .post-title {font-size: 13px; font-weight: 500}
.post-card.post-notice .post-head{margin: 0}
.post-card.post-notice .post-excerpt{display: none}
.post-card.post-notice .post-meta {display: none}
.post-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;}
.post-title-row{display:flex;align-items:center;gap:7px;min-width:0;}
.post-title{font-size:15px;font-weight:700;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.post-badge{font-size:11px;font-weight:700;border-radius:5px;padding:2px 7px;white-space:nowrap;}
.post-badge.hot{background:#FEF2F2;color:#7B1A1A;}
.post-badge.qna{background:#EEF2FF;color:#0F1B3D;}
.post-badge.event{background:#FFFBEB;color:#D97706;}
.post-badge.done{background:#f3f4f6;color:#999;}
.post-excerpt{font-size:13px;color:#777;line-height:1.7;margin-bottom:9px;display:-webkit-box;/*-webkit-line-clamp:2;*/-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.post-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:#aaa;}
.post-meta strong{color:#555;}
.post-right{font-size:12px;color:#aaa;white-space:nowrap;}
.event-period{display:inline-flex;align-items:center;gap:5px;background:#f9f9f9;border:1px solid #eee;border-radius:7px;padding:4px 8px;color:#777;font-size:12px;}
.event-state{display:inline-flex;align-items:center;gap:4px;border-radius:7px;padding:4px 8px;font-size:12px;font-weight:700;}
.event-state.ing{background:#F0FDF4;color:#15803D;}
.event-state.end{background:#f3f4f6;color:#999;}
.event-state.ready{background:#EEF2FF;color:#0F1B3D;}
.pagination{display:flex;justify-content:center;gap:6px;margin-top:16px;}
.page{width:34px;height:34px;border:1px solid #eee;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;color:#777;cursor:pointer;}
.page.on{background:#7B1A1A;color:#fff;border-color:#7B1A1A;font-weight:700;}
.view-wrap{max-width:860px;margin:0 auto;padding:20px 40px 40px;}
.view-card{background:#fff;border:1px solid #eee;border-radius:14px;overflow:hidden;}
.view-head{padding:22px 24px;border-bottom:1px solid #f0f0f0;position: relative}
.view-category{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px;}
.view-title{font-size:23px;font-weight:800;line-height:1.4;letter-spacing:-0.4px;}
.view-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:#aaa;}
.view-meta strong{color:#555;}
.event-info-box{margin-top:14px;background:#FFFBEB;border:1px solid #FDE68A;border-radius:12px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.event-info-left{display:flex;flex-direction:column;gap:5px;}
.event-info-title{font-size:13px;font-weight:700;color:#D97706;}
.event-info-period{font-size:13px;color:#555;}
.view-body{padding:24px;font-size:14px;color:#444;line-height:1.9;}
.view-body img {max-width: 100%}
/*.view-body p{margin-bottom:14px;}*/
.view-img{height:220px;border-radius:13px;background:linear-gradient(135deg,#7B1A1A,#3B1A6B);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:20px;font-weight:800;margin:14px 0;padding:20px;}
.view-actions{display:flex;justify-content:center;gap:8px;padding:18px 24px;border-top:1px solid #f0f0f0;}
.reaction{border:1px solid #eee;border-radius:20px;background:#fff;padding:8px 16px;font-size:13px;color:#555;cursor:pointer;}
.reaction.on{background:#FEF2F2;border-color:#7B1A1A;color:#7B1A1A;font-weight:700;}
.comment-box{background:#fff;border:1px solid #eee;border-radius:14px;padding:18px;margin-top:12px;}
.comment-title{font-size:15px;font-weight:700;margin-bottom:12px;}
.comment-input{border:1px solid #eee;border-radius:12px;padding:12px;background:#f9f9f9;   margin-top: 10px}
.comment-input textarea{width:100%;border:none;background:transparent;resize:none;outline:none;min-height:70px;font-size:13px;}
.comment-submit{display:flex;justify-content:flex-end;margin-top:8px;align-items: center}
.comment-submit button{background:#7B1A1A;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:12px;font-weight:700;}
.comment-item{padding:14px 0;border-bottom:1px solid #f0f0f0;}
.comment-item:last-child{border-bottom:none;}
.comment-meta{font-size:12px;color:#aaa;margin-bottom:5px;}
.comment-meta strong{color:#555;}
.comment-txt{font-size:13px;color:#555;line-height:1.7;}
.bottom-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
.nav-card{background:#fff;border:1px solid #eee;border-radius:12px;padding:13px 15px;}
.nav-label{font-size:11px;color:#aaa;margin-bottom:4px;}
.nav-title{font-size:13px;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.write-wrap{max-width:860px;margin:0 auto;padding:20px 40px;}
.write-card{background:#fff;border:1px solid #eee;border-radius:14px;padding:22px 24px;}
.write-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #f0f0f0;padding-bottom:16px;margin-bottom:18px;}
.write-title{font-size:21px;font-weight:800;}
.write-sub{font-size:13px;color:#888;margin-top:5px;}
.form-row{margin-bottom:16px;}
.form-label{font-size:13px;font-weight:700;margin-bottom:7px;display:flex;align-items:center;gap:5px;}
span.required{color:#D32C2C;background-image: none !important;}
.input,.select,.textarea{width:100%;border:1px solid #e5e5e5;background:#fff;border-radius:10px;padding:12px 13px;font-size:14px;outline:none;}
.input:focus,.select:focus,.textarea:focus{border-color:#7B1A1A;box-shadow:0 0 0 3px #FEF2F2;}
.textarea{min-height:260px;resize:vertical;line-height:1.8;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.date-grid{display:grid;grid-template-columns:1fr 1fr 120px;gap:10px;align-items:end;}
.hint{font-size:12px;color:#aaa;margin-top:6px;line-height:1.6;}
.checkbox-row{display:flex;gap:8px;flex-wrap:wrap;}
.check-tag{border:1px solid #eee;border-radius:20px;padding:7px 12px;font-size:13px;color:#555;cursor:pointer;}
.check-tag.on{background:#FEF2F2;color:#7B1A1A;border-color:#7B1A1A;font-weight:700;}
.upload-box{border:1px dashed #ddd;border-radius:12px;padding:24px;text-align:center;background:#fafafa;color:#aaa;font-size:13px;}
.write-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid #f0f0f0;}
.btn{border:1px solid #ddd;border-radius:9px;background:#fff;color:#555;padding:11px 18px;font-size:13px;font-weight:700;cursor:pointer;}
.btn.primary{background:#7B1A1A;color:#fff;border-color:#7B1A1A;}
.btn.dark{background:#0F1B3D;color:#fff;border-color:#0F1B3D;}

.side-section{margin:12px;border-top:1px solid #f0f0f0;padding-top:14px;}
.side-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;}
.side-section-title{font-size:13px;font-weight:800;color:#1a1a1a;}
.side-more{font-size:11px;color:#aaa;}
.hot-post-list{display:flex;flex-direction:column;gap:2px;}
.hot-post-item{display:flex;align-items:center;gap:8px;padding:7px 0;font-size:12px;color:#555;}
.hot-post-item:hover .hot-title{color:#7B1A1A;text-decoration:underline;}
.hot-rank{width:18px;height:18px;border-radius:5px;background:#FEF2F2;color:#7B1A1A;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hot-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.keyword-list{display:flex;flex-wrap:wrap;gap:6px;        max-height: 66px; overflow: hidden}
.keyword-list a{display:inline-flex;align-items:center;border:1px solid #eee;border-radius:999px;padding:6px 9px;background:#fff;color:#666;font-size:11px;}
.keyword-list a:hover{background:#FEF2F2;border-color:#7B1A1A;color:#7B1A1A;font-weight:700;}

.sch_word {color: #7B1A1A; background: #FEF2F2;}
@media(max-width:900px){
    .comm-hero{padding:22px 16px;}
    .comm-hero-inner{flex-direction:column;align-items:flex-start;}
    .hero-side{width:100%;}
    .hero-stat{flex:1;}
    .layout{display:block;padding:16px;}
    .sidebar{position:static;margin-bottom:12px;}
    .board-menu{display:flex;overflow-x:auto;padding:8px;}
    .board-item{white-space:nowrap;border-radius:9px;border-left:none!important;gap: 8px}
    .side-box{display:none;}
    .board-top{flex-direction:column;align-items:stretch;}
    .board-search{width:100%;}
    .sort-row{flex-direction:column;align-items:flex-start;gap:10px;}
    .post-head{align-items:flex-start;}
    .post-title{white-space:normal;}
    .post-right{display:none;}
    .view-wrap,.write-wrap{padding:16px;}
    .view-title{font-size:20px;}
    .event-info-box{flex-direction:column;align-items:flex-start;}
    .form-grid,.date-grid{grid-template-columns:1fr;}
    .write-head{flex-direction:column;gap:10px;}
    .write-actions{position:sticky;bottom:0;background:#fff;}
    .side-section{display:none;}
}





/* 게시판 댓글 */
.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px}
.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd}
.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px}
.cmt_btn_op span.cmt_more {background-position:right -8px}
.cmt_btn b {font-size:1.2em;color:#000}
.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px}
#bo_vc {}
#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc article {margin:0;position:relative;}
#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc article .profile_img img {border-radius:50%}
#bo_vc article .pf_img {float:left;margin-right:10px}
#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px}
#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%}
#bo_vc header {position:relative;width:100%}
#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc header .profile_img {display:none}
#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px}
#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold}
.bo_vc_hdinfo {color:#777}
#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px}
#bo_vc p a {text-decoration:underline}
#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479}
#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center}
#bo_vc #bo_vc_winfo {float:left}
#bo_vc .bo_vl_opt {position:absolute;top:0;right:0}

.bo_vc_act {display:none;position:absolute;/*right:0;*/right:5px;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999}
.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent}
.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
.bo_vc_act li {border-bottom:1px solid #f0f0f0}
.bo_vc_act li:last-child {border-bottom:0}
.bo_vc_act li a {display:flex;padding:14px 15px; justify-content: center}
.bo_vc_act li a:hover {color:#7B1A1A}

.bo_vc_w {position:relative;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 #ccc;*/
    /*background:#fff;*/
    /*color:#000;*/
    /*vertical-align:middle;*/
    /*border-radius:3px;*/
    /*padding:5px;*/
    /*width:100%;*/
    /*height:120px;*/
    /*-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);*/
    /*-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);*/
    /*box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)*/
}
#wr_secret {}
.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:3px;font-size:1.5em;text-align:center}
/*.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em}*/
.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important;display: flex;align-items: center}
.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""}
.secret_cm {display:inline-block;float:left}

.bo_vc_w .btn_confirm .secret_cm label:hover {color: #7B1A1A}
.comment-submit button.btn_submit:hover {background: #7B1A1A !important;}
.chk_box input[type="checkbox"]:checked + label span {background-color: #7B1A1A;border-color: #7B1A1A}

.board-option-btn {padding: 22px 24px;font-size: 16px;outline: 0; position: absolute;top: 0; right: 0}
.cmt-option-btn {padding: 14px 10px;font-size: 14px;outline: 0}


/* 게시판 뷰 */
/*.btn_bo_user {float:right;margin:0;padding:0;list-style:none}*/
/*.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff}*/
/*.btn_bo_user > li {position:relative}*/
/*.bo_v_com {margin:20px 0;float:right}*/
/*.bo_v_com > li {position:relative;float:left;margin-left:5px}*/
.more_opt {display:none;position:absolute;top:50px;right:12px;background:#fff;border:1px solid #b8bfc4;z-index:999}
.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent}
.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
.more_opt li {border-bottom:1px solid #f1f1f1;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left}
.more_opt li:last-child {border-bottom:0}
.more_opt li a {display: block;padding:10px;}
.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c}
.more_opt li:hover a,
.more_opt li:hover button {color:#000}
.more_opt li i {float:right;line-height:20px}


/* 게시글 쓰기 */
.bo_w_link+.bo_w_link {margin-top: 5px}
.bo_w_flie.input+.bo_w_flie.input {margin-top: 5px}
.action-btn{border:1px solid #ddd;border-radius:9px;background:#fff;color:#555;padding:11px 18px;font-size:13px;font-weight:700;cursor:pointer;}
.action-btn.primary{background:#7B1A1A;color:#fff;border-color:#7B1A1A;}
.action-btn.dark{background:#0F1B3D;color:#fff;border-color:#0F1B3D;}


/* 이용 후기 */
.review-list{display:flex;flex-direction:column;gap:10px;}
.review-card{display:grid;grid-template-columns:118px 1fr;gap:16px;background:#fff;border:1px solid #eee;border-radius:14px;padding:16px;transition:.2s;}
.review-card.show {border-color:#7B1A1A}
.review-card:hover{border-color:#7B1A1A;transform:translateY(-2px);}
.review-thumb{width:118px;height:118px;border-radius:12px;overflow:hidden;background:#f3f4f6;flex-shrink:0;}
.review-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.review-info{min-width:0;}
.review-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;}
.review-store{font-size:15px;font-weight:800;color:#1a1a1a;margin-bottom:4px;color:#7B1A1A;}
.review-loc{display:flex;align-items:center;gap:4px;font-size:12px;color:#999;}
.review-loc i{font-size:14px;color:#7B1A1A;}
.review-rating{font-size:13px;color:#F59E0B;font-weight:800;white-space:nowrap;}
.review-rating span{color:#555;margin-left:4px;}
.review-title{font-size:16px;font-weight:800;color:#1a1a1a;margin-bottom:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.review-content{font-size:13px;color:#777;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10px;}
.review-content-all {font-size: 13px;margin-bottom:10px;line-height:1.7; color: #000;white-space: pre-line; min-height: 150px}
.review-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#aaa;align-items: center}

.review-panel .board-top{margin-bottom:14px;}
.review-search-form{margin-top:0;}
.review-search-grid{/*display:grid;grid-template-columns:1fr 1fr 1fr 110px minmax(180px,1.4fr) 72px;*/display: flex;gap:8px;}
.review-select{height:40px;border:1px solid #eee;background:#fff;border-radius:9px;padding:0 11px;font-size:13px;color:#555;outline:none;}
.review-select:focus{border-color:#7B1A1A;box-shadow:0 0 0 3px #FEF2F2;}
.review-type-select{font-weight:700;color:#7B1A1A;}
.review-keyword{height:40px;background:#f3f4f6;border-radius:9px;padding:0 12px;display:flex;align-items:center;gap:7px;border:1px solid transparent;}
.review-keyword:focus-within{background:#fff;border-color:#7B1A1A;box-shadow:0 0 0 3px #FEF2F2;}
.review-keyword i{font-size:15px;color:#999;}
.review-keyword input{border:none;background:transparent;outline:none;width:100%;font-size:13px;}
.review-search-btn{width: 40px;height:40px;border:none;border-radius:9px;background:#7B1A1A;color:#fff;font-size:16px;font-weight:800;cursor:pointer;}
.review-search-btn:hover{background:#651414;}
.review-sort-row{margin-top:14px;padding-top:12px;border-top:1px solid #f0f0f0;}
.review-sort-row .sbtn{display:inline-flex;align-items:center;}



.review-tag {padding: 2px 8px; background: #fff; border-radius: 16px; border: 1px solid #efefef; color: #777;}
@media(max-width:1023px){
    .layout {padding: 10px 20px}
}
@media(max-width:900px){
    .review-search-grid{display: grid;grid-template-columns:1fr 1fr 1fr;}
    .review-search-btn{grid-column:1 / 4;}
    .review-search-grid{grid-template-columns:1fr 1fr 1fr 110px minmax(180px,1.4fr)}
    .review-search-btn {grid-column: auto;}
    .review-type-select{grid-column:1 / 2;}
    .review-keyword{grid-column:2 / 4;}
    .review-sort-row{align-items:flex-start;gap:10px;}
    .sort-btns{flex-wrap:wrap;}
}
@media(max-width:560px){
    .review-search-grid{grid-template-columns:1fr 1fr;}
    .review-search-grid .review-select:nth-child(3){grid-column:1 / 3;}
    .review-type-select{grid-column:1 / 2;}
    .review-keyword{grid-column:2 / 3;}
    .review-search-btn{grid-column:1 / 3;}
    .review-sort-row{flex-direction:column;}
    .review-search-btn{width:100%;}
}

@media(max-width:640px){
    .review-card{grid-template-columns:82px 1fr;gap:12px;padding:13px;}
    .review-thumb{width:82px;height:82px;border-radius:10px;}
    .review-top{display:block;}
    .review-rating{margin-top:6px;font-size:12px;}
    .review-store{font-size:14px;}
    .review-title{font-size:14px;margin-top:8px;}
    .review-content{-webkit-line-clamp:2;font-size:12px;margin-bottom:8px;}
    .review-content-all {font-size: 12px;margin-bottom:8px; color: #000;}
    .review-meta{gap:8px;font-size:11px;}
}


.empty-box{background:#fff;border:1px solid #eee;border-radius:14px;padding:60px 20px;text-align:center;}
.empty-icon{font-size:52px;color:#d1d5db;line-height:1;margin-bottom:14px;}
.empty-title{font-size:18px;font-weight:800;color:#333;margin-bottom:8px;}
.empty-desc{font-size:13px;color:#999;line-height:1.8;}

/* Tabler 형태의 인라인 SVG 페이징 아이콘 */
.layout > .content .pg_wrap{display:flex;clear:both;float:none;width:100%;justify-content:center;margin:40px 0;}
.layout > .content .pg_wrap .pg{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;}
.layout > .content .pg_wrap .pg_page,
.layout > .content .pg_wrap .pg_current{
  display:flex !important;
  flex:0 0 42px;
  width:42px !important;
  min-width:42px !important;
  max-width:42px;
  height:42px !important;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:0 !important;
  border-radius:12px;
  font-size:14px;
  font-weight:600;
  line-height:1 !important;
  text-align:center;
  text-decoration:none;
  transition:.2s;
}
.layout > .content .pg_wrap .pg_page{border:1px solid #E5E7EB;background:#fff;color:#666;}
.layout > .content .pg_wrap .pg_page:hover{border-color:#7B1A1A;background:#FFF7F7;color:#7B1A1A;}
.layout > .content .pg_wrap .pg_current{border:1px solid #7B1A1A;background:#7B1A1A;color:#fff;}
.layout > .content .pg_wrap .pg_start,
.layout > .content .pg_wrap .pg_prev,
.layout > .content .pg_wrap .pg_next,
.layout > .content .pg_wrap .pg_end{
  padding:0 !important;
  overflow:hidden;
  background-image:none !important;
  text-indent:0 !important;
}
.layout > .content .pg_wrap .pg_start::before,
.layout > .content .pg_wrap .pg_prev::before,
.layout > .content .pg_wrap .pg_next::after,
.layout > .content .pg_wrap .pg_end::after{content:none !important;}
.layout > .content .pg_wrap .paging-icon{
  display:block;
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media(max-width:600px){
  .layout > .content .pg_wrap{margin:28px 0;padding:0 16px;}
  .layout > .content .pg_wrap .pg{gap:5px;}
  .layout > .content .pg_wrap .pg_page,
  .layout > .content .pg_wrap .pg_current{
    flex-basis:36px;
    width:36px !important;
    min-width:36px !important;
    max-width:36px;
    height:36px !important;
    border-radius:10px;
    font-size:12px;
  }
  .layout > .content .pg_wrap .paging-icon{width:17px;height:17px;}
}


/* jj_basic 모바일 리스트 리뉴얼 */
@media(max-width:900px) {
    body {
        background:#fff
    }

    .comm-hero {
        padding:17px 20px 18px;
        border-bottom:1px solid #eee;
        background:#fff
    }

    .comm-hero-inner {
        display:block
    }

    .comm-eyebrow {
        margin:0 0 8px;
        padding:0;
        background:none;
        color:#8b1e1e;
        font-size:12px
    }

    .comm-title {
        font-size:21px;
        line-height:1.35;
        letter-spacing:-.7px
    }

    .comm-sub {
        margin-top:5px;
        font-size:12px;
        line-height:1.55;
        color:#8b8583
    }

    .hero-side {
        position:fixed;
        right:18px;
        bottom:calc(76px + env(safe-area-inset-bottom));
        z-index:80;
        width:auto
    }

    .hero-write {
        display:flex;
        align-items:center;
        justify-content:center;
        width:52px;
        height:52px;
        padding:0;
        border-radius:50%;
        box-shadow:0 8px 24px rgba(123,26,26,.28);
        font-size:0
    }

    .hero-write:before {
        content:"+";
        font-size:27px;
        font-weight:400
    }

    .layout {
        padding:0;
        background:#fff
    }

    .sidebar {
        margin:0;
        border:0;
        border-bottom:8px solid #f7f5f4;
        border-radius:0;
        overflow:visible
    }

    .sb-head,.side-box,.side-section {
        display:none
    }

    .board-menu {
        gap:4px;
        padding:10px 16px 9px;
        scrollbar-width:none
    }

    .board-menu::-webkit-scrollbar,.tabs::-webkit-scrollbar {
        display:none
    }

    .board-item,.board-item.child {
        min-height:36px;
        padding:8px 12px;
        border:0!important;
        border-radius:999px;
        background:#f6f4f3;
        color:#6f6967;
        font-size:13px
    }

    .board-item.on,.board-item.child.on {
        background:#7b1a1a;
        color:#fff
    }

    .board-cnt {
        color:inherit;
        opacity:.6
    }

    .panel {
        margin:0;
        padding:0;
        border:0;
        border-radius:0
    }

    .tabs {
        flex-wrap:nowrap;
        gap:7px;
        margin:0;
        padding:13px 16px 12px;
        border-bottom:1px solid #eee;
        overflow-x:auto
    }

    .tab {
        flex:0 0 auto;
        padding:8px 14px;
        border-color:#e9e5e3;
        font-size:13px
    }

    .tab.on {
        box-shadow:0 3px 10px rgba(123,26,26,.14)
    }

    .board-top {
        display:block;
        padding:17px 16px 14px
    }

    .board-title {
        font-size:19px;
        letter-spacing:-.5px
    }

    .board-desc {
        margin-top:3px
    }

    .board-top form {
        margin-top:13px
    }

    .board-search {
        width:100%;
        height:43px;
        border:1px solid #eee;
        background:#f7f7f8;
        border-radius:12px
    }

    .post-list,.event-list {
        gap:0;
        border-top:8px solid #f7f5f4
    }

    .post-card {
        padding:17px 16px;
        border:0;
        border-bottom:1px solid #eee;
        border-radius:0
    }

    .post-card:hover {
        border-color:#eee;
        background:#fcfbfb
    }

    .post-card.post-notice {
        padding:13px 16px;
        background:#fff9f9
    }

    .post-card.post-notice .post-badge,.post-badge {
        border-radius:999px
    }

    .post-title-row {
        align-items:center;
        flex-wrap:nowrap;
        gap:6px;
        min-width:0
    }

    .post-title {
        flex:1 1 auto;
        min-width:0;
        width:auto;
        font-size:15px;
        line-height:1.45;
        white-space:nowrap;
        display:block;
        overflow:hidden;
        text-overflow:ellipsis
    }

    .post-title-row .post-badge+.post-title {
        width:auto
    }

    .post-badge {
        margin-top:1px;
        padding:3px 7px;
        font-size:10px
    }

    .post-excerpt {
        margin-bottom:10px;
        line-height:1.55
    }

    .post-meta {
        gap:0;
        font-size:11px
    }

    .post-meta span+span:before {
        content:"·";
        margin:0 6px;
        color:#d3cecc
    }

    .empty-box {
        min-height:300px;
        padding:72px 20px;
        background:#fff;
        border:0;
        border-radius:0
    }

    .pg_wrap {
        padding:8px 16px 24px
    }

    .event-hero {
        background:linear-gradient(145deg,#fff 40%,#fff8eb)
    }

    .event-card {
        grid-template-columns:112px minmax(0,1fr);
        gap:13px;
        padding:15px 16px;
        border:0;
        border-bottom:1px solid #eee;
        border-radius:0;
        align-items:start
    }

    .event-card:hover {
        border-color:#eee;
        background:#fcfbfb
    }

    .event-card.end {
        opacity:.58
    }

    .event-thumb {
        width:112px;
        height:94px;
        aspect-ratio:auto;
        border-radius:11px
    }

    .event-body {
        min-height:94px;
        justify-content:flex-start
    }

    .event-card-top {
        margin-bottom:6px
    }

    .event-card-top>div:first-child {
        display:flex;
        align-items:center;
        gap:5px;
        min-width:0
    }

    .event-state {
        padding:3px 6px;
        border-radius:999px;
        font-size:10px;
        white-space:nowrap
    }

    .event-dday {
        padding:4px 7px;
        font-size:10px
    }

    .event-title {
        font-size:15px;
        line-height:1.4;
        white-space:normal;
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical
    }

    .event-desc {
        display:none
    }

    .event-meta {
        margin-top:auto;
        padding-top:8px;
        gap:5px;
        font-size:10px
    }

    .event-period {
        padding:0;
        border:0;
        background:none;
        font-size:10px
    }

    .event-meta span:last-child {
        display:none
    }
}

@media(max-width:390px) {
    .event-card {
        grid-template-columns:100px minmax(0,1fr);
        gap:11px
    }

    .event-thumb {
        width:100px;
        height:84px
    }
}

/* 반응형 게시판 페이지네이션 */
.mobile-load-more-wrap {
    display: none;
}

.mobile-load-more {
    display: inline-flex;
    min-width: 180px;
    height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    border: 1px solid #e2d9d7;
    border-radius: 12px;
    background: #fff;
    color: #7b1a1a;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: border-color .2s, background-color .2s, color .2s;
}

.mobile-load-more:hover {
    border-color: #7b1a1a;
    background: #fff7f7;
    color: #7b1a1a;
}

.mobile-load-more.is-loading {
    cursor: wait;
    opacity: .65;
    pointer-events: none;
}

@media (max-width: 900px) {
    .desktop-board-pagination {
        display: none;
    }

    .mobile-load-more-wrap {
        display: flex;
        justify-content: center;
        padding: 22px 16px calc(30px + env(safe-area-inset-bottom));
        background: #fff;
    }

    .mobile-load-more {
        width: 100%;
        max-width: 360px;
    }
}

/* 게시글 상세 UI 보완: 옵션 메뉴, 작성자 정보, 비밀글 체크박스 */
.view-head .board-option-btn {
    top: 12px;
    right: 12px;
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #aaa;
    font-size: 18px;
    transition: background-color .15s, color .15s;
}

.view-head .board-option-btn:hover {
    background: #f7f7f7;
    color: #555;
}

.view-head .more_opt {
    top: 48px;
    right: 12px;
    min-width: 86px;
    overflow: hidden;
    border: 1px solid #e7e7e7;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
}

.view-head .more_opt:before,
.view-head .more_opt:after {
    display: none;
}

.view-head .more_opt li {
    width: auto;
    min-width: 86px;
    border-bottom-color: #f1f1f1;
}

.view-head .more_opt li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 11px;
    color: #666;
    font-size: 12px;
    line-height: 1.4;
}

.view-head .more_opt li a:hover {
    background: #faf7f7;
    color: #7B1A1A;
}

.view-head .more_opt li i {
    float: none;
    color: #999;
    font-size: 14px;
    line-height: 1;
}

.view-meta > span:first-child,
.view-meta > span:first-child .sv_member,
.view-meta > span:first-child .sv_guest {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.view-meta .profile_img {
    display: inline-flex;
    flex: 0 0 auto;
}

.view-meta .profile_img img {
    width: 20px !important;
    height: 20px !important;
    border: 1px solid #eee;
    border-radius: 50%;
    object-fit: cover;
}

#bo_vc .cmt-option-btn {
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #bbb;
    font-size: 16px;
}

#bo_vc .cmt-option-btn:hover {
    background: #f7f7f7;
    color: #666;
}

#bo_vc .bo_vc_act {
    top: 34px;
    right: 2px;
    width: 66px;
    overflow: hidden;
    border: 1px solid #e7e7e7;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
}

#bo_vc .bo_vc_act:before,
#bo_vc .bo_vc_act:after {
    display: none;
}

#bo_vc .bo_vc_act li {
    border-bottom-color: #f1f1f1;
}

#bo_vc .bo_vc_act li a {
    justify-content: center;
    padding: 8px 10px;
    color: #666;
    font-size: 12px;
    line-height: 1.4;
}

#bo_vc .bo_vc_act li a:hover {
    background: #faf7f7;
    color: #7B1A1A;
}

.bo_vc_w .secret_cm {
    float: none;
}

.bo_vc_w .secret_cm .selec_chk {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.bo_vc_w .btn_confirm .secret_cm label {
    position: relative;
    min-height: 18px;
    margin-right: 12px;
    padding-left: 24px;
    color: #777;
    cursor: pointer;
}

.bo_vc_w .secret_cm label span {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 17px;
    height: 17px;
    border: 1px solid #d8d8d8;
    border-radius: 5px;
    background: #fff;
    transform: translateY(-50%);
    transition: border-color .15s, background-color .15s;
}

.bo_vc_w .secret_cm input[type="checkbox"]:focus-visible + label span {
    outline: 2px solid rgba(123, 26, 26, .2);
    outline-offset: 2px;
}

.bo_vc_w .secret_cm input[type="checkbox"]:checked + label span {
    border-color: #7B1A1A;
    background: #7B1A1A;
}

.bo_vc_w .secret_cm input[type="checkbox"]:checked + label span:after {
    position: absolute;
    top: 3px;
    left: 5px;
    width: 4px;
    height: 7px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    content: "";
    transform: rotate(45deg);
}

/* 게시글 상세 메타 및 댓글 비밀글 정렬 보정 */
.view-meta,
.view-meta > span,
.view-meta > span:first-child,
.view-meta > span:first-child .sv_member,
.view-meta > span:first-child .sv_guest {
    align-items: center;
    line-height: 20px;
}

.view-meta .profile_img {
    display: none !important;
}

.bo_vc_w .comment-submit {
    align-items: center;
}

.bo_vc_w .secret_cm {
    display: flex;
    height: 34px;
    align-items: center;
    float: none;
    line-height: 1;
}

.bo_vc_w .btn_confirm .secret_cm label {
    display: flex !important;
    height: 34px;
    align-items: center;
    margin: 0 12px 0 0;
    padding: 0 0 0 24px;
    line-height: 1;
}

.bo_vc_w .secret_cm .selec_chk {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    pointer-events: none;
}

.bo_vc_w .secret_cm label span {
    top: 50%;
    margin: 0;
    transform: translateY(-50%);
}

/* 그누보드 기본 체크박스 스타일보다 우선 적용 */
#bo_vc_w .comment-submit .secret_cm input[type="checkbox"] + label {
    position: relative;
    display: flex !important;
    height: 34px;
    align-items: center;
    margin: 0 12px 0 0;
    padding: 0 0 0 24px;
    font-size: 12px !important;
    line-height: 1;
}

#bo_vc_w .comment-submit .secret_cm input[type="checkbox"] + label span {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 17px;
    height: 17px;
    margin: 0;
    border: 1px solid #d8d8d8;
    border-radius: 5px;
    background: #fff;
    transform: translateY(-50%);
    box-sizing: border-box;
}

#bo_vc_w .comment-submit .secret_cm input[type="checkbox"]:checked + label span {
    border-color: #7B1A1A;
    background: #7B1A1A;
}

#bo_vc_w .comment-submit .secret_cm input[type="checkbox"]:checked + label span:after {
    position: absolute;
    top: 3px;
    left: 5px;
    width: 4px;
    height: 7px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    content: "";
    transform: rotate(45deg);
}

