@charset "utf-8";

/* [1] 원본 공통 레이아웃 복구 */
#container { background:#f8f8f8; padding-bottom:170px; }
.wv-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/wv-bbs-start.png') no-repeat 50% 50%; background-size: 100%; }
.pg_prev { text-indent:-999px; overflow:hidden; padding:0; background: url('img/wv-bbs-prev.png') no-repeat 50% 50%; background-size: 100%; }
.pg_end { text-indent:-999px; overflow:hidden; padding:0; background: url("img/wv-bbs-end.png") no-repeat 50% 50%; background-size: 100%; }
.pg_next { text-indent:-999px; overflow:hidden; padding:0; background: url('img/wv-bbs-next.png') no-repeat 50% 50%; background-size: 100%; }

/* [2] 원본 리스트/검색창 스타일 복구 */
#wv-bo-list #gall_ul { display:flex; flex-wrap:wrap; margin:12px -12px 0; padding:0; list-style:none; zoom:1; }
.gall_row .col-gn-2 { width:50% }
.gall_row .col-gn-3 { width:33.33333333% }
.gall_row .col-gn-4 { width:25% }

#wv-bo-list .search-container { padding:80px 0; position: relative; width: 700px; margin: 0 auto; display: flex; gap: 15px; }
#wv-bo-list .search-container button { position: absolute; right: 17px; top:50%; transform:translateY(-50%); border:0; background:none; }
#wv-bo-list .sch_input { padding:12px 17px; height:55px; border: 2px solid #ddd; border-radius: 5px; background: #fff; width:100%; }
#wv-bo-list .sch_input:focus { border-color: #000; outline: none; }

#bo_cate_on { background: #fff; box-shadow: 0 15px 10px rgba(34, 34, 34, .02); color: var(--main-color); }
#wv-bo-list .gallery .gall_con { position:relative; border:1px solid #ddd; box-shadow:0 15px 10px rgba(34, 34, 34, .02); }
#wv-bo-list .gallery .gall_img > a > img { object-fit: cover; width: 100%; height: 100%; }
#wv-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; }

/* [3] 원본 글쓰기(Write) / 상세보기(View) 스타일 복구 */
#bo_v_atc { min-height: 250px; border: 2px solid #ddd; border-radius: 5px; background: #fff; padding: 20px; }
#wv-bo-v .bo_v_nb { padding-top:60px; margin-bottom:60px; align-items:center; border-top: 1px solid #ddd; text-align: center; }
#wv-bo-v .bo_v_nb > li > .list-btn { display:inline-block; width: 60px; height: 60px; background: #000; color: #fff; position: relative; transition: all .3s; }

#wv-bo-w { padding-top: 120px; width: 1000px; }
#wv-bo-w > h2 { padding-bottom: 40px; margin-bottom: 20px; border-bottom: 2px solid #000; }
#wv-bo-w > form > div:not(:last-child) { border-bottom: 1px solid #ddd; padding: 15px 0; }
#wv-bo-w .file-name { background: #fff; width: calc(80% - 3px); padding: 10px; border: 1px solid #ddd; }

/* [4] ★ 새로 추가된 상단 서브 비주얼 공통 ★ */
.sub-page-header { width: 100%; margin-bottom: 50px; }
.sub-visual-wrap { height: 400px; display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; }
.sub-visual-wrap .main-title { font-size: 42px; font-weight: 700; color: #fff !important; margin: 0; }
.sub-tab-custom { border-bottom: 1px solid #e2e2e2; background: #fff; position: relative; z-index: 50; }
.tab-ul-custom { display: flex; justify-content: center; max-width: 1200px; margin: 0 auto; list-style: none; padding: 0; }
.tab-ul-custom li a { display: block; padding: 25px 40px; font-size: 18px; color: #999; text-decoration: none; position: relative; }
.tab-ul-custom li a.active { color: #102476; font-weight: 700; }
.tab-ul-custom li a.active::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 100%; height: 3px; background: #102476; }

/* [5] ★ 새로 추가된 자필후기 전용 카드 리스트 ★ */
.review-card-list { display: flex; flex-wrap: wrap; margin: 30px -15px; padding: 0; list-style: none; }
.review-card-item { width: 50%; padding: 15px; box-sizing: border-box; }
.card-inner { background: #fff; border: 1px solid #e2e2e2; border-radius: 30px; overflow: hidden; position: relative; box-shadow: 0 10px 30px rgba(0,0,0,0.05); transition: 0.3s; }
.card-inner:hover { transform: translateY(-10px); box-shadow: 0 20px 50px rgba(0,0,0,0.1); }

/* 이미지 꽉 참 방지 패딩 보정 */
.card-img-box { padding: 45px 45px 10px; box-sizing: border-box; text-align: center; background: #fff; }
.card-img-box img { width: 100%; height: auto; border-radius: 15px; border: 1px solid #f2f2f2; }

/* 하단 정보 영역 정렬 */
.card-info-footer { padding: 25px 45px; text-align: right; font-size: 15px; color: #666; border-top: 1px solid #f8f8f8; }
.card-info-footer b.navy { color: #102476; font-weight: 700; }

/* [6] 원본 반응형 모바일 최적화 완벽 복구 */
@media screen and (max-width:1280px){
    #container{padding-bottom:120px;}
    .wv-bbs-con{width: 100%; padding: 0 40px;}
    #wv-bo-w{width: 100%;}
}

@media screen and (max-width:1024px){
    .wv-bbs-con{width: 100%; padding: 0 20px;}
    #wv-bo-list .search-container{padding: 60px 0; width:100%;}
}

@media screen and (max-width:768px){
    #container{padding-bottom:60px;}
    .sub-visual-wrap { height: 250px; }
    .tab-ul-custom li a { padding: 15px 20px; font-size: 14px; }
    
    /* 자필후기 모바일 1단 */
    .review-card-item { width: 100%; }
    .card-img-box { padding: 25px 25px 5px; }
    .card-info-footer { padding: 15px 25px; font-size: 13px; }

    #wv-bo-w, #wv-bo-v { padding-top: 60px; }
}

@media screen and (max-width:576px){
    #wv-bo-list .search-container{padding: 40px 0; width: 100%; flex-wrap: wrap;}
    #wv-bo-list .btn_bo_user{width: 100%; flex-direction:column;}
    #wv-bo-list .gallery .gall_img, #wv-bo-list .gallery .gall_img > a > img { height: 47vw !important; }
    
    #wv-bo-w > form > div {flex-direction: column;}
    #wv-bo-w .file-name{width: 100%;}
}