/*공통*/
#container{background:#f8f8f8;padding-bottom:170px;}
.gw-bbs-con{margin:0 auto;width: 1200px;}

.more_opt {display: none;position:absolute;top: 45px;right:0;background: #fff;border: 1px solid #ddd;z-index: 100;box-shadow: 70px 70px 130px rgb(39 49 108 / 20%);}
.more_opt:before {content: "";position: absolute;top: -8px;right: 13px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #b8bfc4 transparent;}
.more_opt:after {content: "";position: absolute;top: -6px;right: 13px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;}
.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:154px;margin:0;color:#666;text-align:left}
.more_opt li:last-child {border-bottom:0}
.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#666;text-align: left;}
.more_opt li:hover a,
.more_opt li:hover button {color:#000}
.more_opt li i {float:right;line-height:20px}

/* 페이징 */
.pg_wrap {display: flex;align-items: center;place-content: center;font-family: "Outfit", sans-serif; font-weight: 600;}
.pg {text-align:center;display: flex;}
.pg_page,.pg_current { min-width: 20px;padding: 0 3px;margin: 0 6px;text-align: center;}
.pg_page{color:#999 !important;}
.pg_current{border-bottom:2px solid #000;}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_start {text-indent:-999px;overflow:hidden;padding:0;background: url('img/gw-bbs-start.png') no-repeat 50% 50%;background-size: 100%;}
.pg_prev {text-indent:-999px;overflow:hidden;padding:0;background: url('img/gw-bbs-prev.png') no-repeat 50% 50%;background-size: 100%;}
.pg_end {text-indent:-999px;overflow:hidden;padding:0;background: url("img/gw-bbs-end.png") no-repeat 50% 50%;background-size: 100%;}
.pg_next {text-indent:-999px;overflow:hidden;padding:0;background: url('img/gw-bbs-next.png') no-repeat 50% 50%;background-size: 100%;}

/*list*/
#gw-bo-list #gall_ul {display:flex;flex-wrap:wrap;margin:12px -12px 0;padding:0;list-style:none;zoom:1;}
#gw-bo-list #gall_ul:after {display:block;visibility:hidden;clear:both;content:""}
.gall_row .col-gn-0,.gall_row .col-gn-1,.gall_row .col-gn-2,.gall_row .col-gn-3,.gall_row .col-gn-4,.gall_row .col-gn-5,.gall_row .col-gn-6,.gall_row .col-gn-7,.gall_row .col-gn-8,.gall_row .col-gn-9,.gall_row .col-gn-10 {position:relative;min-height:1px;padding:12px;*padding-left:0;*padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0}
.gall_row .col-gn-0,.gall_row .col-gn-1 {width:100%}
.gall_row .col-gn-2 {width:50%}
.gall_row .col-gn-3 {width:33.33333333%}
.gall_row .col-gn-4 {width:25%}
.gall_row .col-gn-5 {width:20%}
.gall_row .col-gn-6 {width:16.66666667%}
.gall_row .col-gn-7 {width:14.28571428%}
.gall_row .col-gn-8 {width:12.5%}
.gall_row .col-gn-9 {width:11.11111111%}
.gall_row .col-gn-10 {width:10%}

#gw-bo-list .search-container {padding:80px 0;position: relative;width: 700px;margin: 0 auto;display: flex;gap: 15px;}
#gw-bo-list .search-container button {position: absolute;right: 17px;top:50%;transform:translateY(-50%);}
#gw-bo-list .sch_input {padding:12px 17px;height:55px;border: 2px solid #ddd;border-radius: 5px;background: #fff;}
#gw-bo-list .sch_input::placeholder{text-align: left;font-family: "Noto Sans KR", sans-serif; font-weight: 500; color:#666;}
#gw-bo-list .sch_input:focus{text-align: left;border-color: #000;}
input[type="text"]:not(:focus) {text-align: left;}
#bo_cate_on{background: #fff;box-shadow: 0 15px 10px rgba(34, 34, 34, .02);color: var(--main-color);}
#bo_cate ul {zoom:1;}
#gw-bo-list .btn_bo_user > li {position: relative;}
#gw-bo-list .btn_bo_user{place-content: center;align-items:flex-start;}
#gw-bo-list .icon-wrap {position: absolute;right: 0;top: 0;font-size: 20px;color: #000;}
#gw-bo-list .new_icon {font-size:14px;font-family: "Outfit", sans-serif; font-weight: 600;color: #fff;width: 20px;height: 20px;display: block;text-align: center;line-height: 20px;background: var(--main-color);}
#gw-bo-list .icon-wrap .fa-download:before {content: "\eb7c";font-family: xeicon;}
#gw-bo-list .icon-wrap .fa-link:before {content: "\e9c0";font-family: xeicon;}
#gw-bo-list .fa-lock:before {content: "\e964";font-family: xeicon;}
#gw-bo-list .cnt_cmt {color: var(--main-color);}
#gw-bo-list .bo-list-wrap {flex-wrap: wrap;}
#gw-bo-list .gallery{position:relative;cursor: pointer;}
#gw-bo-list .gallery > a {display: block;width: 100%;height: 100%;}
#gw-bo-list .gallery .gw-gall-line {position: absolute;top: 0;left: 0;width: 100%;height: 100%;border: 0px solid;transition: all .3s;}
#gw-bo-list .gallery .gall_img > a:hover .gw-gall-line{border-width:10px;border-color: var(--main-color);}
#gw-bo-list .gallery .gall_con{position:relative;border:1px solid #ddd;box-shadow:0 15px 10px rgba(34, 34, 34, .02);}
#gw-bo-list .gallery .gall_img{position:relative;display: block;overflow: hidden;}
#gw-bo-list .gallery .gall_img > a {display: block;width: 100%;}
#gw-bo-list .gallery .gall_img > a > img {object-fit: cover;width: 100%;height: 100%;}
#gw-bo-list .gallery .gall_chk {position: absolute;right: 20px;top: 20px;z-index: 1;}
#gw-bo-list .gallery .content {position:relative;padding: 20px;background: #fff;border-top: 1px solid #ddd;min-height:185px;display:flex;flex-direction:column;place-content:center;}
#gw-bo-list .gallery .bo_cate_link .sticky02{transition: all .3s;}
#gw-bo-list .gallery:hover .bo_cate_link .sticky02{background: var(--main-color);color: #fff;}
#gw-bo-list .bo_tit {position:relative;font-size: var(--main-title04);display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;text-overflow: ellipsis;overflow: hidden;}
#gw-bo-list .gall_info {border-top: 1px solid #ddd;gap: 5px;flex-wrap: wrap;}
#gw-bo-list .gall_info > li{flex-shrink: 0;}
#gw-bo-list .gall_info a {color: #666;}
#gw-bo-list .gall_info .sv {display: none;}
#gw-bo-list .profile_img{display: none;}
#gw-bo-list .gw-empty-list{border-top: 2px solid #000;}
#gw-bo-list .gw-empty-list {padding: 40px 0;border-bottom: 1px solid #ddd;border-top:2px solid #ddd;}
#gw-bo-list .gw-empty-list > h3 {font-size: var(--main-title03);}
#gw-bo-list .no_image {background: #ddd;}



/*view*/
#gw-bo-v{padding-top: 120px;}
#gw-bo-v .profile_img {display: none;}
#bo_v_info .profile_info{text-align: center;padding-bottom: 40px;margin-bottom: 40px;border-bottom: 1px solid #ddd;}
#bo_v_atc {min-height: 250px;border: 2px solid #ddd;border-radius: 5px;background: #fff;padding: 20px;}
#gw-bo-v .bo_v_nb{padding-top:60px;margin-bottom:60px;align-items:center;border-top: 1px solid #ddd;text-align: center;}
#gw-bo-v .bo_v_nb > li > a {display: block;width: 100%;transition: all .3s;text-transform: uppercase;font-size: var(--main-title04);}
#gw-bo-v .bo_v_nb > li > .list-btn {display:inline-block;width: 60px;height: 60px;background: #000;color: #fff;position: relative;box-shadow: 0 20px 30px rgba(0, 0, 0, .05);transition: all .3s;}
#gw-bo-v .bo_v_nb > li > .list-btn:hover {background: var(--main-color);}
#gw-bo-v .bo_v_nb > li > a.disabled-link {color: #ccc;}
#gw-bo-v .btn_bo_user {place-content: center;align-items:flex-start;}
#bo_v_link .gw-box01 {margin-bottom: 30px;}
#bo_v_link .gw-box01 .gw-flex {align-items: center;gap: 10px;}
.gw-empty-list {padding: 40px 0;border-bottom: 1px solid #ddd;border-top:2px solid #ddd;}
.gw-empty-list > h3 {font-size: var(--main-title03);}
#wr_content{background: #fff;}
#bo_vc .cmt_contents {background: #fff;}
#bo_vc .gw-box02 {border: 2px solid #ddd;margin-bottom: 20px;}
#bo_v_sns{place-content: center;}
#bo_v_sns > li {width: 40px;height: 40px;line-height:40px;border: 1px solid #ddd;}
#bo_v_sns > li > a {display: block;width: 100%;height: 100%;color: #666;}
#bo_v_sns > li > a.disabled {color: #ccc;}
#bo_v_act {place-content: center;}
#bo_vc_w .bo_vc_w_wr input{background: #fff;}
#gw-bo-v .bo_v_nb > li > a{position: relative;}
#gw-bo-v .bo_v_nb > li:not(:nth-of-type(2)) >a:before {content: "";display: block;width: 100%;height: 3px;background: var(--main-color);position: absolute;top: -80px;opacity: 0;transition: all .3s;}
#gw-bo-v .bo_v_nb > li:not(:nth-of-type(2)) >a:hover:before{opacity: 1;}
#gw-bo-v .bo_v_nb > li > .prev > i {transition: all .3s;}
#gw-bo-v .bo_v_nb > li > .prev:hover{color: var(--main-color);}
#gw-bo-v .bo_v_nb > li > .prev:hover > i {transform: translateX(-10px);}
#gw-bo-v .bo_v_nb > li > .next > i {transition: all .3s;}
#gw-bo-v .bo_v_nb > li > .next:hover{color: var(--main-color);}
#gw-bo-v .bo_v_nb > li > .next:hover > i {transform: translateX(10px);}
#gw-bo-v .bo_v_nb > li:not(:nth-of-type(2)) >a.disabled-link:before {opacity: 0;}
#gw-bo-v .bo_v_nb > li > .disabled-link:hover > i {transform: translateX(0);}



/* 게시판 쓰기 */
#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_wrapper .gw-btn03 {position: absolute;right: 17px;top: 50%;transform: translateY(-50%);}
#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #ddd;background:#fff;box-shadow:70px 70px 130px rgb(39 49 108 / 20%);}
#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent}
#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */
#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden}
#autosave_pop div {text-align:center;margin:0 !important}
#autosave_pop button {margin:0;padding:0;border:0}
#autosave_pop ul {padding:15px;border-top:1px solid #ddd;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #ddd}
#autosave_pop li {padding:10px;border-bottom:1px solid #fff;background:#f3f3f3;zoom:1}
#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""}
#autosave_pop a {display:block;float:left}
#autosave_pop span {display:block;float:right;color:#999;font-family: 'Poppins_R', sans-serif;}
.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em}
.autosave_close:hover {background:#f3f3f3;color:#3597d9}
.autosave_content {display:none}
.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px}

/*글쓰기*/
#gw-bo-w{padding-top: 120px;width: 1000px;}
#gw-bo-w > h2 {padding-bottom: 40px;margin-bottom: 20px;border-bottom: 2px solid #000;}
#gw-bo-w > form > div:not(:last-child) {border-bottom: 1px solid #ddd;}
#gw-bo-w > form input {margin-top:10px;background: #fff;}
#gw-bo-w .file-name {background: #fff;width: calc(80% - 3px);}
#gw-bo-w .file-name .num {border-bottom: 1px solid #000;margin-left: 10px;}
#gw-bo-w .gw-btn-wrap {margin: 0 auto;}
#gw-bo-w .file_del {position: absolute;right: 17px;top: 50%;transform: translateY(-50%);}
.btn_cke_sc{font-size:14px;}
.cke_sc_def{font-size:14px;}

@media screen and (max-width:1280px){
	#container{padding-bottom:120px;}
    .gw-bbs-con{width: 100%;padding: 0 40px;}

    /*write*/
    #gw-bo-w{width: 100%;}
}

@media screen and (max-width:1024px){
    .gw-bbs-con{width: 100%;padding: 0 20px;}

    /*list*/
    #gw-bo-list .search-container{padding: 60px 0;width:100%;}
    #gw-bo-list .gallery .gw-gall-line{display: none;}
}

@media screen and (max-width:768px){
	#container{padding-bottom:60px;}

    /*list*/
    .gall_row .col-gn-3 {width:50%}
    .gall_row .col-gn-4 {width:50%}
    .gall_row .col-gn-5 {width:50%}
    .gall_row .col-gn-6 {width:50%}
    .gall_row .col-gn-7 {width:50%}
    .gall_row .col-gn-8 {width:50%}
    .gall_row .col-gn-9 {width:50%}
    .gall_row .col-gn-10 {width:50%}
    

    /*write*/
    #gw-bo-w{padding-top: 60px;}

    /*view*/
    #gw-bo-v{padding-top: 60px;}
}

@media screen and (max-width:576px){
    /*공통*/
    .pg_page, .pg_current{height: 25px;}

    /*말풍선*/
    #gw-bo-list .sv_wrap .sv{right: auto;}
    #gw-bo-list .sv_wrap .sv:before {left: 15px;right: auto;}
    #gw-bo-list .sv_wrap .sv:after {left: 15px;right: auto;}

    /*list*/
    #gw-bo-list .search-container{padding: 40px 0;width: 100%;flex-wrap: wrap;}
    .gall_row .col-gn-0, .gall_row .col-gn-1, .gall_row .col-gn-2, .gall_row .col-gn-3, .gall_row .col-gn-4, .gall_row .col-gn-5, .gall_row .col-gn-6, .gall_row .col-gn-7, .gall_row .col-gn-8, .gall_row .col-gn-9, .gall_row .col-gn-10{padding-left: 0;padding-right: 0;}
	.gall_row .col-gn-2 {width:100%}
    .gall_row .col-gn-3 {width:100%}
    .gall_row .col-gn-4 {width:100%}
    .gall_row .col-gn-5 {width:100%}
    .gall_row .col-gn-6 {width:100%}
    .gall_row .col-gn-7 {width:100%}
    .gall_row .col-gn-8 {width:100%}
    .gall_row .col-gn-9 {width:100%}
    .gall_row .col-gn-10 {width:100%}
    #gw-bo-list .btn_bo_user{width: 100%;flex-direction:column;}
    #gw-bo-list .btn_bo_user > li{flex: 1;font-size: 12px;}
    #gw-bo-list #gall_ul{margin: 0;}
    #gw-bo-list .gallery .gall_img{height: 47vw;}
	#gw-bo-list .gallery .gall_img > a > img{height: 47vw !important;}
	#gw-bo-list .gallery .content{min-height:auto;}

    /*write*/
    #gw-bo-w > form > div {flex-direction: column;}
    #gw-bo-w > form > div .gw-w-15 {width: 100% !important;margin-bottom: 10px;}
    #gw-bo-w > form > div .gw-w-85 {width: 100% !important;flex-wrap: wrap;}
    #gw-bo-w > form > div .gw-w-85 > li {width: 40%;}
    #gw-bo-w > form > div > .gw-w-50:first-child {border-bottom: 1px solid #ddd;padding-bottom: 10px;}
    #gw-bo-w .file-name{width: calc(75% - 3px);}
    .gw-file-input-button{width: 25% !important;}
    .btn_cke_sc{font-size:12px;}
    .cke_sc_def{font-size:12px;}
    .cke_sc_def dd{text-align:center;}

    /*view*/
    #bo_vc .cm_wrap > .gw-flex-btw {flex-direction: column;gap: 10px;text-align:center;}
    #bo_vc .cmt_contents{margin-bottom: 0 !important;}
    #gw-bo-v .bo_v_nb{margin-bottom: 30px;}
    #gw-bo-v .gw-btn0102 {width: 100% !important;}
    #gw-bo-v .btn_bo_user{width: 100%;flex-direction:column;}
    #gw-bo-v .btn_bo_user > li{flex: 1;font-size: 12px;}
    #bo_v_info .profile_info{padding-bottom: 20px;margin-bottom: 20px;font-size: 12px;}
    #gw-bo-v .bo_v_nb {padding-top: 30px;}
    #gw-bo-v .bo_v_nb > li:not(:nth-of-type(2)) >a:before{top: -50px;}
    .more_opt li{width:122px;}
}

@media screen and (max-width:375px){
	 /*list*/
	.pg_page, .pg_current{margin:0 3px;}

    /*view*/
    #gw-bo-v .bo_v_nb > li > .list-btn{width:50px;height:50px;}
}

@media screen and (max-width:320px) {
    .gw-none-320{display: none;}
    .gw-file-input-button{font-size: 12px;}
}
/******************************************************************
    시공분야 카드 (bcm_service)
    홈의 시공분야 카드와 같은 모양. 이미지 1:1, 3열, 메타정보 없음.
    컬러 토큰은 theme/busanbcm/css/brand.css 에 정의되어 있다.
******************************************************************/

.bcm-board-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.bcm-board-item { display: flex; }

.bcm-board-link {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    width: 100%;
    border: 1px solid #e8e8e8;
    background: #fff;
    transition: border-color .3s, box-shadow .3s, transform .3s;
}
.bcm-board-link:hover {
    box-shadow: 0 14px 34px rgba(46, 49, 99, .14);
    transform: translateY(-6px);
}

/* 썸네일 — 1:1 */
.bcm-board-thumb {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: var(--gray-bg);
}
.bcm-board-thumb > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s cubic-bezier(0.19, 1, 0.22, 1);
}
.bcm-board-link:hover .bcm-board-thumb > img { transform: scale(1.06); }

/* 제목도 호버에 반응한다 */
.bcm-board-link:hover .bcm-board-title { color: var(--cta-orange); }

.bcm-board-thumb-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: var(--accent-bg);
    color: var(--brand-orange);
}

/* 본문 */
.bcm-board-body { flex: 1 1 auto; padding: 24px 16px; }
.bcm-board-cate {
    display: inline-block;
    margin-bottom: 12px;
    padding: 4px 10px;
    border-radius: 4px;
    background: var(--accent-bg);
    color: var(--cta-orange);
    font-size: 13px;
    font-weight: 700;
}
.bcm-board-title {
    margin-bottom: 0;
    color: var(--navy);
    font-size: 18px;
    line-height: 1.4;
    transition: color .3s;
}
.bcm-board-desc {
    color: #555;
    font-size: 16px;
    line-height: 1.6;
}

@media screen and (max-width: 1024px) {
    .bcm-board-list { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media screen and (max-width: 768px) {
    .bcm-board-list { grid-template-columns: 1fr; }
}

/* ================= 고객후기(bcm_review) 별점 카드 ================= */
/* 1fr 의 최소값은 auto(내용의 min-content)라, 카드 내용이 컨테이너보다 넓으면
   트랙이 그만큼 밀려나 카드가 오른쪽으로 삐져나온다(375px 에서 320px 자리에 361px).
   minmax(0, 1fr) 로 최소값을 0 으로 낮춰 항상 컨테이너 안에 맞춘다. */
#gw-bo-list .bcm-review-list {
    list-style: none; padding: 0; margin: 0 0 50px;
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;
}
.bcm-review-item { display: flex; position: relative; }
/* 관리자 선택 체크박스 (카드 좌상단 오버레이). 시각화는 테마 gw.css 의 .check-label:before 가 담당.
   체크 시 주황 박스 + 흰색 체크 아이콘(테마 기본). */
.bcm-review-chk { position: absolute; top: 14px; left: 14px; z-index: 3; margin: 0; line-height: 1; }
.bcm-review-chk .check-label { display: inline-block; margin: 0; cursor: pointer; }
.bcm-review-chk .check-label:before { margin-right: 0; }
/* 글쓰기 고객명 안내문구 */
.bcm-name-guide { margin: 8px 0 0; font-size: 13px; line-height: 1.5; color: #888; }
.bcm-name-guide strong { color: var(--main-color, #ff6b35); font-weight: 700; }

.bcm-review-card-link {
    display: flex; flex-direction: column; width: 100%;
    color: inherit; text-decoration: none;
    padding: 30px 28px; background: #fff; border: 1px solid #eee;
    border-radius: 0; box-shadow: 0 10px 30px rgba(0,0,0,.04);
    transition: transform .25s ease, box-shadow .25s ease;
}
.bcm-review-card-link:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,.08); }
.bcm-review-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.bcm-review-card-stars { color: #ffb400; font-size: 16px; letter-spacing: 2px; }
.bcm-review-card-tag {
    font-size: 12px; color: #666; background: #f4f4f5;
    border-radius: 999px; padding: 5px 12px; white-space: nowrap;
}
.bcm-review-card-subject {
    margin: 0 0 10px; font-size: 17px; line-height: 1.5; color: #111;
    display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.bcm-review-card-text {
    margin: 0 0 18px; font-size: 15px; line-height: 1.7; color: #333; word-break: keep-all;
    display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
    min-height: calc(1.7em * 4);
}
.bcm-review-card-meta {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    margin-top: auto; padding-top: 16px; border-top: 1px solid #f0f0f0;
}
.bcm-review-card-name { font-weight: 700; color: #111; font-size: 15px; }
.bcm-review-card-date { font-size: 13px; color: #999; }

/* 뷰 페이지 별점 */
.bcm-review-view-rating { display: flex; align-items: center; justify-content: center; gap: 12px; }
.bcm-review-view-stars { color: #ffb400; font-size: 22px; letter-spacing: 3px; }
.bcm-review-view-tag {
    font-size: 13px; color: #666; background: #f4f4f5;
    border-radius: 999px; padding: 6px 14px; white-space: nowrap;
}

@media screen and (max-width: 1024px) {
    #gw-bo-list .bcm-review-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 768px) {
    #gw-bo-list .bcm-review-list { grid-template-columns: minmax(0, 1fr); }
}


/******************************************************************
    고객후기 상세 — 공지사항 상세와 통일 (2026-07)
    별점·서비스 태그는 유지하고, 제목/메타/본문/이동 버튼을 공지 상세와 같은
    언어(주황 상단 라인 + 왼쪽 정렬 + 깔끔한 여백)로 맞춘다.
    파일 뒤쪽에 두어 위쪽 기존 규칙(#bo_v_info, #bo_v_atc, .bo_v_nb 등)을 덮는다.
******************************************************************/

#gw-bo-v { padding-top: 90px; }

/* 제목 헤더: 가운데 -> 왼쪽. 위에 주황 3px 라인, 아래 얇은 실선 */
#gw-bo-v > header { text-align: left; }
#gw-bo-v #bo_v_title {
    margin-bottom: 0 !important;
    padding-top: 22px;
    padding-bottom: 22px;
    border-top: 3px solid var(--brand-orange);
    border-bottom: 1px solid #f0e3da;
}
#gw-bo-v .bo_v_tit {
    font-size: 28px;
    line-height: 1.4;
    color: #000;
    word-break: keep-all;
}
/* 분류 뱃지 — 공지 상세와 같은 톤 */
#gw-bo-v .bo_v_cate {
    display: inline-block;
    margin-bottom: 12px;
    padding: 5px 12px;
    background: var(--accent-bg);
    color: var(--cta-orange);
    font-size: 13px;
    font-weight: 700;
}
/* 별점·태그: 가운데 정렬을 왼쪽으로 */
#gw-bo-v .bcm-review-view-rating { justify-content: flex-start; }

/* 메타(작성자·댓글·조회·작성일): 제목 아래 옅은 한 줄 */
#gw-bo-v #bo_v_info .profile_info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
    padding: 16px 0 0;
    margin-bottom: 36px;
    border-bottom: 0;
    text-align: left;
}
#gw-bo-v .gw-profile-info {
    margin-bottom: 0 !important;
    color: #999;
    font-size: 14px;
}
#gw-bo-v .gw-profile-info strong { font-weight: 400; color: #999; }
#gw-bo-v .gw-profile-info i { color: #ccc; }

/* 본문: 두꺼운 테두리 상자 대신 여백 중심 */
#gw-bo-v #bo_v_atc {
    padding: 0 0 48px;
    min-height: 140px;
    border: 0;
    border-radius: 0;
    background: transparent;
}
#gw-bo-v #bo_v_con {
    font-size: 16px;
    line-height: 1.9;
    color: #444;
    word-break: keep-all;
}
#gw-bo-v #bo_v_con p { margin-bottom: 1em; }
#gw-bo-v #bo_v_con img { max-width: 100%; height: auto; }
#gw-bo-v #bo_v_con table { max-width: 100%; }
#gw-bo-v #bo_v_img { margin-bottom: 24px; }
#gw-bo-v #bo_v_img img { max-width: 100%; height: auto; }

/* 하단 이동 버튼: 이전글 / 목록으로 / 다음글 */
#gw-bo-v .bo_v_nb {
    padding-top: 28px;
    margin-bottom: 50px;
    border-top: 1px solid #f0e3da;
    text-align: center;
}
#gw-bo-v .bo_v_nb > li > a {
    font-size: 15px;
    color: #666;
    text-transform: none;
    transition: none;
}
/* 목록 버튼: 아이콘 정사각형 -> '목록으로' 텍스트 버튼(주황) */
#gw-bo-v .bo_v_nb > li > .list-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    min-width: 132px;
    padding: 15px 28px;
    background: var(--brand-orange);
    color: #fff;
    box-shadow: none;
    text-transform: none;
    font-size: 15px;
    font-family: "Noto Sans KR", sans-serif;
    font-weight: 700;
    transition: background .2s;
}
#gw-bo-v .bo_v_nb > li > .list-btn:hover { background: var(--cta-orange); }
#gw-bo-v .bo_v_nb > li > .prev:hover,
#gw-bo-v .bo_v_nb > li > .next:hover { color: var(--brand-orange); }
/* hover 시 화살표가 밀리고 위쪽에 굵은 선이 나타나던 애니메이션 제거 */
#gw-bo-v .bo_v_nb > li > .prev > i,
#gw-bo-v .bo_v_nb > li > .next > i { transition: none; }
#gw-bo-v .bo_v_nb > li > .prev:hover > i,
#gw-bo-v .bo_v_nb > li > .next:hover > i,
#gw-bo-v .bo_v_nb > li > .disabled-link:hover > i { transform: none; }
#gw-bo-v .bo_v_nb > li:not(:nth-of-type(2)) > a:before,
#gw-bo-v .bo_v_nb > li:not(:nth-of-type(2)) > a:hover:before { display: none; opacity: 0; }

/* 첨부파일 / 관련링크 아이콘 */
#gw-bo-v #bo_v_file i,
#gw-bo-v #bo_v_link i { color: var(--brand-orange); }

@media screen and (max-width: 768px) {
    #gw-bo-v { padding-top: 50px; }
    #gw-bo-v .bo_v_tit { font-size: 21px; }
    #gw-bo-v #bo_v_info .profile_info {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 26px;
    }
    #gw-bo-v #bo_v_atc { padding-bottom: 36px; }
    #gw-bo-v #bo_v_con { font-size: 15px; line-height: 1.8; }
    #gw-bo-v .bo_v_nb > li > a { font-size: 14px; }
}


/******************************************************************
    고객후기 상세 — 댓글 영역 (공지사항 상세와 통일)
    view_comment.skin.php 를 공지(gw_basic)와 같은 구조로 맞췄으므로
    같은 CSS 를 적용한다. 파일 뒤쪽에 두어 위쪽 기본 규칙을 덮는다.
******************************************************************/

/* 댓글 영역을 감싸던 회색 배경(.gw-box02 background:#F3F3F3) 제거 */
#gw-bo-v .gw-box02,
#bo_vc .gw-box02 {
    background: transparent;
    border-radius: 0;
    border-color: #f0e3da;
}
#bo_vc .cmt_contents { background: transparent; }

/* '댓글 N' 배지 — 주황 배경 + 흰 글자 */
#gw-bo-v .cmt_btn .total.sticky02 {
    background: var(--brand-orange);
    border-color: var(--brand-orange);
    color: #fff;
    padding: 7px 14px;
}

/* '비밀글' 글자를 체크박스와 세로 가운데로 맞춘다 */
#gw-bo-v .secret_cm .check-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    line-height: 1;
    cursor: pointer;
}
#gw-bo-v .secret_cm .check-label:before { margin-right: 0; flex: 0 0 auto; }
#gw-bo-v .secret_cm .check-label > span { display: none; }

/* 이름 + 비밀번호: 둘이 합쳐 한 줄을 꽉 채우게. 위치도 내용 입력칸 위로 올라갔다. */
#gw-bo-v .bcm-guest-row { width: 100%; }
#gw-bo-v .bcm-guest-row > input.gw-w-50 { flex: 1 1 0; width: auto !important; min-width: 0; }

/* 자동입력방지와 '댓글 등록' 버튼을 한 줄에 두고 버튼은 오른쪽 끝으로 */
#gw-bo-v .bcm-submit-row {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 16px;
    margin-top: 14px;
}
#gw-bo-v .bcm-submit-row #captcha { flex: 0 1 auto; min-width: 0; margin: 0; }
#gw-bo-v .bcm-submit-row .btn_confirm { flex: 0 0 auto; margin-top: 0 !important; margin-left: auto; }
/* 댓글 등록: 주황 + 캡차 높이(50px)에 맞춘 작은 버튼.
   .gw-btn0102 는 all:unset 이라 box-sizing 이 content-box 로 돌아가므로 border-box 로 되돌린다. */
#gw-bo-v .bcm-submit-row .gw-btn0102 {
    box-sizing: border-box;
    width: auto !important;
    min-width: 112px;
    height: 50px;
    line-height: 46px;
    padding: 0 24px;
    border: 2px solid var(--brand-orange);
    background: var(--brand-orange);
    color: #fff;
    font-size: 15px;
}
#gw-bo-v .bcm-submit-row .gw-btn0102:hover { border-color: var(--cta-orange); background: var(--cta-orange); }

/* 자동입력방지 */
#gw-bo-v #captcha { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#gw-bo-v #captcha #captcha_img { height: 50px; vertical-align: middle; }
#gw-bo-v #captcha #captcha_key { width: 110px; height: 50px; margin: 0; border: 1px solid #ddd; }
/* 소리듣기 / 새로고침 아이콘:
   xeicon 웹폰트 글리프(\ea5b 등)가 iOS 사파리에서 재생버튼 모양으로 잘못
   렌더되는 문제가 있어, 기기·브라우저 무관하게 동일한 SVG(배경 이미지)로 그린다. */
#gw-bo-v #captcha #captcha_mp3,
#gw-bo-v #captcha #captcha_reload {
    position: relative;
    width: 50px;
    height: 50px;
    margin: 0;
    padding: 0;
    border: 1px solid #ddd;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 22px;
    text-indent: -9999px;   /* 버튼 텍스트(숫자음성듣기/새로고침) 숨김 */
    overflow: hidden;
    font-size: 0;
    transition: background-color .2s, border-color .2s;
}
#gw-bo-v #captcha #captcha_mp3 > span,
#gw-bo-v #captcha #captcha_reload > span { display: none; }
/* 남아있을 수 있는 폰트 아이콘 규칙 무력화 */
#gw-bo-v #captcha #captcha_mp3:before,
#gw-bo-v #captcha #captcha_reload:before { content: none; }
#gw-bo-v #captcha #captcha_mp3 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9H4z'/%3E%3Cpath d='M16.5 8.5a5 5 0 0 1 0 7'/%3E%3Cpath d='M19 6a9 9 0 0 1 0 12'/%3E%3C/svg%3E");
}
#gw-bo-v #captcha #captcha_reload {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11.5a8 8 0 1 0-2.2 5.5'/%3E%3Cpath d='M20 4v6h-6'/%3E%3C/svg%3E");
}
#gw-bo-v #captcha #captcha_mp3:hover,
#gw-bo-v #captcha #captcha_reload:hover {
    background-color: #fdf1ea;
    border-color: var(--brand-orange);
}
#gw-bo-v #captcha #captcha_mp3:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b85228' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9H4z'/%3E%3Cpath d='M16.5 8.5a5 5 0 0 1 0 7'/%3E%3Cpath d='M19 6a9 9 0 0 1 0 12'/%3E%3C/svg%3E");
}
#gw-bo-v #captcha #captcha_reload:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b85228' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11.5a8 8 0 1 0-2.2 5.5'/%3E%3Cpath d='M20 4v6h-6'/%3E%3C/svg%3E");
}
/* '자동등록방지 숫자를 순서대로 입력하세요' 안내문구 제거 (그누보드 생성이라 CSS 로 숨김) */
#gw-bo-v #captcha #captcha_info { display: none; }
#gw-bo-v #captcha legend { display: none; }
/* 모바일에서 kcaptcha 는 소리듣기를 <audio controls> 네이티브 플레이어로 준다
   (iOS=회색 재생버튼, 안드로이드=오디오 바). 시각 캡차 + 새로고침으로 충분하므로 숨긴다. */
#gw-bo-v #captcha #captcha_audio { display: none; }

/* 라운드 제거: 상세(댓글) 영역의 입력요소·버튼 */
#gw-bo-v input[type="text"],
#gw-bo-v input[type="password"],
#gw-bo-v textarea,
#gw-bo-v select,
#gw-bo-v button,
#gw-bo-v .gw-box01,
#gw-bo-v .gw-btn0102,
#gw-bo-v .gw-btn02,
#gw-bo-v .gw-btn03 {
    border-radius: 0;
}
#gw-bo-v input[type="checkbox"] + .check-label:before { border-radius: 0; }
#gw-bo-v #captcha #captcha_key,
#gw-bo-v #captcha #captcha_mp3,
#gw-bo-v #captcha #captcha_reload { border-radius: 0; }

@media screen and (max-width: 768px) {
    /* 좁은 화면: 자동입력방지 아래로 버튼을 내리고 폭을 채운다 */
    #gw-bo-v .bcm-submit-row { flex-direction: column; align-items: stretch; }
    #gw-bo-v .bcm-submit-row #captcha { flex: 0 0 auto; }
    #gw-bo-v .bcm-submit-row .btn_confirm { margin-top: 14px !important; margin-left: 0; width: 100%; }
    #gw-bo-v .bcm-submit-row .gw-btn0102 { width: 100% !important; min-width: 0; }
    #gw-bo-v .bo_v_nb > li > .list-btn { min-width: 104px; padding: 13px 18px; font-size: 14px; }
}

/* 이름 / 비밀번호 세로 정렬은 파일 맨 끝(순서상 마지막)에 둔다.
   기본 .bcm-guest-row 규칙이 위에 있어 여기서 써야 덮인다. */
@media screen and (max-width: 768px) {
    #gw-bo-v .bcm-guest-row { flex-direction: column; gap: 10px; }
    #gw-bo-v .bcm-guest-row > input.gw-w-50 { width: 100% !important; flex: 0 0 auto; }
}
