@charset "utf-8";
/* 프레쉬랩 후기(fl_review) 게시판 스킨 — busanbcm의 bcm_review 구조를 참고했으나
   숨고 크롤링 · 형광펜 · 사이드 드로어 기능은 가져오지 않는다.
   색상은 전부 freshlab-brand.css 의 --fl-* 토큰만 사용한다. */

/*공통*/
#container{background:var(--fl-cream, #fbf8f3);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 var(--fl-line, #e7e3dc);z-index: 100;box-shadow: var(--fl-shadow, 0 10px 30px rgba(0,0,0,.1));}
.more_opt li {border-bottom:1px solid var(--fl-line, #e7e3dc);padding:10px;float:inherit;width:154px;margin:0;color:var(--fl-ink-2, #4a524e);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:var(--fl-ink-2, #4a524e);text-align: left;}
.more_opt li:hover a, .more_opt li:hover button {color:var(--fl-ink, #1d2320)}
.more_opt li i {float:right;line-height:20px}

/* 페이징 */
.pg_wrap {display: flex;align-items: center;place-content: center;font-family: var(--fl-font-en); 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:var(--fl-ink-3, #8a918d) !important;}
.pg_current{border-bottom:2px solid var(--fl-primary, #e5484d);color:var(--fl-primary, #e5484d) !important;}
.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%;}

/*검색*/
#gw-bo-list .search-container {padding:60px 0 40px;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 var(--fl-line, #e7e3dc);border-radius: var(--fl-radius-sm, 12px);background: #fff;}
#gw-bo-list .sch_input::placeholder{text-align: left;font-family: var(--fl-font); font-weight: 500; color:var(--fl-ink-3, #8a918d);}
#gw-bo-list .sch_input:focus{text-align: left;border-color: var(--fl-primary, #e5484d);}
input[type="text"]:not(:focus) {text-align: left;}
.gw-empty-list{border-top: 2px solid var(--fl-ink, #1d2320);padding: 40px 0;border-bottom: 1px solid var(--fl-line, #e7e3dc);}
.gw-empty-list > h3 {font-size: 18px;color:var(--fl-ink-2, #4a524e);}

/* ---------- 후기 카드 그리드 ---------- */
.fl-review-grid {display:grid;grid-template-columns:repeat(3, 1fr);gap:28px;list-style:none;padding:0;margin:12px 0 0;}
.fl-review-card {position:relative;background:#fff;border-radius:var(--fl-radius, 20px);box-shadow:var(--fl-shadow, 0 10px 30px rgba(0,0,0,.08));overflow:hidden;transition:transform .25s, box-shadow .25s;}
.fl-review-card:hover {transform:translateY(-4px);box-shadow:var(--fl-shadow-lg, 0 20px 50px rgba(0,0,0,.14));}
.fl-review-card-link {display:block;color:inherit;}
.fl-review-card-chk {position:absolute;top:12px;left:12px;z-index:2;}
/* 캡처 이미지는 가로로 긴 것이 많아 자르지 않고 배경 위에 통째로 보여준다 */
.fl-review-card-img {position:relative;height:260px;background:var(--fl-ice, #eaf4f7);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.fl-review-card-img img {width:100%;height:100%;object-fit:contain;display:block;}
.fl-review-card-img img.fl-review-no-img {width:64px;height:64px;object-fit:contain;opacity:.35;}
.fl-review-card-body {padding:20px 22px 24px;}
.fl-review-card-top {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.fl-review-card-stars {color:var(--fl-mango, #f5a524);font-size:16px;letter-spacing:1px;}
.fl-review-card-chip {display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;background:var(--fl-primary-soft, #fdecec);color:var(--fl-primary-dark, #c7353a);white-space:nowrap;}
.fl-review-card-subject {font-size:17px;line-height:1.5;color:var(--fl-ink, #1d2320);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all;}

/*view*/
#gw-bo-v{padding-top: 100px;}
#gw-bo-v .profile_img {display: none;}
#bo_v_info .profile_info{text-align: center;padding-bottom: 30px;margin-bottom: 30px;border-bottom: 1px solid var(--fl-line, #e7e3dc);}
#bo_v_atc {min-height: 250px;border-radius: var(--fl-radius, 20px);background: #fff;padding: 30px;box-shadow: var(--fl-shadow, 0 10px 30px rgba(0,0,0,.08));}
#gw-bo-v .bo_v_tit {font-size: 26px;color:var(--fl-ink, #1d2320);}
.fl-review-view-rating {display:flex;align-items:center;justify-content:center;gap:10px;}
.fl-review-view-stars {color:var(--fl-mango, #f5a524);font-size:22px;letter-spacing:2px;}
.fl-review-view-chip {display:inline-block;padding:5px 14px;border-radius:999px;font-size:13px;font-weight:700;background:var(--fl-primary-soft, #fdecec);color:var(--fl-primary-dark, #c7353a);}
.fl-review-view-img {text-align:center;margin-bottom:24px;}
.fl-review-view-img img {max-width:100%;height:auto;border-radius:var(--fl-radius-sm, 12px);}
.fl-review-view-content {font-size:16px;line-height:1.9;color:var(--fl-ink-2, #4a524e);word-break:keep-all;white-space:pre-line;}
#gw-bo-v .bo_v_nb{padding-top:50px;margin-bottom:50px;align-items:center;border-top: 1px solid var(--fl-line, #e7e3dc);text-align: center;}
#gw-bo-v .bo_v_nb > li > a {display: block;width: 100%;transition: all .3s;text-transform: uppercase;font-size: 15px;}
#gw-bo-v .bo_v_nb > li > .list-btn {display:inline-block;width: 56px;height: 56px;border-radius:100%;background: var(--fl-ink, #1d2320);color: #fff;position: relative;transition: all .3s;}
#gw-bo-v .bo_v_nb > li > .list-btn:hover {background: var(--fl-primary, #e5484d);}
#gw-bo-v .bo_v_nb > li > a.disabled-link {color: var(--fl-ink-3, #8a918d);}
#gw-bo-v .btn_bo_user {place-content: center;align-items:flex-start;}
#wr_content{background: #fff;}
#bo_vc .cmt_contents {background: #fff;}
#bo_vc .gw-box02 {border: 2px solid var(--fl-line, #e7e3dc);margin-bottom: 20px;}

/* 글쓰기(관리자 전용) */
#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;border:1px solid var(--fl-line, #e7e3dc);background:#fff;box-shadow:var(--fl-shadow, 0 10px 30px rgba(0,0,0,.1));}
#autosave_pop ul {padding:15px;border-top:1px solid var(--fl-line, #e7e3dc);list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid var(--fl-line, #e7e3dc)}
#autosave_pop li {padding:10px;border-bottom:1px solid #fff;background:var(--fl-cream, #fbf8f3);}
.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:var(--fl-ink-3, #8a918d);font-weight:bold;font-size:0.92em}

#gw-bo-w{padding-top: 100px;width: 900px;}
#gw-bo-w > h2 {padding-bottom: 30px;margin-bottom: 20px;border-bottom: 2px solid var(--fl-ink, #1d2320);}
#gw-bo-w > form > div:not(:last-child) {border-bottom: 1px solid var(--fl-line, #e7e3dc);}
#gw-bo-w > form input, #gw-bo-w > form select {margin-top:10px;background: #fff;}
#gw-bo-w .file-name {background: #fff;width: calc(80% - 3px);}
#gw-bo-w .gw-btn-wrap {margin: 0 auto;}
#gw-bo-w .file_del {position: absolute;right: 17px;top: 50%;transform: translateY(-50%);}
#gw-bo-w .gw-btn0102 {background:var(--fl-primary, #e5484d);border-color:var(--fl-primary, #e5484d);}
#gw-bo-w .gw-btn0102:hover {background:var(--fl-primary-dark, #c7353a);border-color:var(--fl-primary-dark, #c7353a);}
.fl-review-rating-select select {min-width:180px;}

@media screen and (max-width:1280px){
	#container{padding-bottom:120px;}
    .gw-bbs-con{width: 100%;padding: 0 40px;}
    .fl-review-grid {grid-template-columns:repeat(2, 1fr);}
    #gw-bo-w{width: 100%;}
}

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

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

@media screen and (max-width:576px){
    .fl-review-grid {grid-template-columns:1fr;gap:20px;}
    .fl-review-card-img {height:220px;}
    #gw-bo-list .search-container{padding: 30px 0;width: 100%;flex-wrap: wrap;}
    #gw-bo-w > form > div {flex-direction: column;}
    #gw-bo-w .file-name{width: calc(75% - 3px);}
    .gw-file-input-button{width: 25% !important;}
    #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;}
}

/* ---------------------------------------------------------------------
   프레쉬랩 톤 후기 목록 (.fl-rv) — 사진 없이 글만 보여 주는 인용 카드 벽돌 배치.
   바탕·검색·페이지 번호·관리자 버튼은 css/fl-board.css 공용.
--------------------------------------------------------------------- */
.fl-rv-head { padding: clamp(64px, 6vw, 96px) 0 clamp(32px, 3vw, 48px); text-align: center; }
.fl-rv-head-title { font-size: clamp(26px, 2.6vw, 36px); font-weight: 800; letter-spacing: -0.035em; color: var(--fl-dark); word-break: keep-all; }

.fl-rv-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.fl-rv-item { position: relative; }
.fl-rv-card { display: flex; flex-direction: column; gap: 12px; height: 100%; box-sizing: border-box; padding: 28px 28px 24px; border: 1px solid var(--fl-line); border-radius: 28px; background: var(--fl-white); text-decoration: none; color: var(--fl-dark); transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease, border-color .35s ease; }
.fl-rv-card:hover, .fl-rv-card:focus-visible { border-color: var(--fl-dark); transform: translateY(-4px); box-shadow: 0 18px 36px rgba(28, 17, 10, .08); }
.fl-rv-stars { font-size: 16px; letter-spacing: 2px; color: var(--fl-mango); }
.fl-rv-stars .is-off { color: rgba(28, 17, 10, .15); }
.fl-rv-title { overflow: hidden; font-size: 18px; font-weight: 800; line-height: 1.45; letter-spacing: -0.02em; white-space: nowrap; text-overflow: ellipsis; }
/* 후기 글은 최대 3줄 — 줄 높이 × 3 으로 칸을 고정해 카드 높이를 맞춘다 */
.fl-rv-text { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; height: calc(1.8em * 3); font-size: 15px; line-height: 1.8; color: var(--fl-ink-2); word-break: keep-all; }
.fl-rv-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--fl-line); }
.fl-rv-source { font-size: 13px; font-weight: 700; }
.fl-rv-date { font-family: var(--fl-font-en); font-size: 13px; color: var(--fl-ink-3); }
.fl-rv-chk { position: absolute; top: 16px; right: 16px; z-index: 1; }
.fl-rv-empty { padding: 80px 20px; text-align: center; color: var(--fl-ink-2); }
.fl-rv-empty i { display: block; margin-bottom: 14px; color: var(--fl-ink-3); }
.fl-reveal-on .fl-rv-item[data-fl-reveal] { transition-delay: calc(var(--fl-i) * .08s); }

@media screen and (max-width: 1024px) {
    .fl-rv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 576px) {
    .fl-rv-grid { grid-template-columns: 1fr; gap: 12px; }
    .fl-rv-card { padding: 22px 22px 20px; border-radius: 22px; }
    .fl-rv-title { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
    .fl-rv-card { transition: none; }
    .fl-rv-card:hover { transform: none; }
}

/* ---------- 후기 글 보기(.fl-rv-view): 공용 글 보기(.fl-galv, css/fl-board.css) + 별점 · 후기 글 크게 · 원본 캡처 아래 ---------- */
.fl-rv-view-top { display: flex; align-items: center; gap: 10px; margin: 0; }
.fl-rv-view-top .fl-rv-stars { font-size: 18px; }
.fl-rv-view .fl-galv-cate { pointer-events: none; }
.fl-rv-view #bo_v_atc.fl-galv-body { box-shadow: none; } /* 예전 후기 스킨의 흰 박스 그림자 제거 */
.fl-rv-view #bo_v_con + #bo_v_img { margin-top: 32px; }
.fl-rv-view .fl-rv-view-capture { max-width: 640px; border: 1px solid var(--fl-line); background: var(--fl-white); }
.fl-rv-view .fl-galv-body #bo_v_con * { word-break: keep-all; overflow-wrap: break-word; } /* 어절 중간에서 줄이 꺾이지 않게 */
