/* P26 전체 후기 목록·상세. 원본: common.css 610~652·1140~1352행, m_common.css 352~420행, 캡처 design-ref/P26-reviews. 별 아이콘·작성자 아이콘은 무료 Font Awesome 6(원본 Pro, 후속 F06). */
.reviews { padding-bottom:60px; }

/* 배너: 원본은 주황 배경 이미지 + 이미지 글자 → CSS 배경·HTML 글자 */
.review_title_nm { padding:30px 20px; background:linear-gradient(110deg, #ff6a2b 0%, #ff7b3d 55%, #ff8c55 55%, #ff7d45 100%); color:#fff; text-align:center; }
.review_title_nm__frame { position:relative; max-width:700px; margin:0 auto; padding:30px 20px; border:1px solid rgba(255,255,255,.55); }
.review_title_nm h1 { color:#fff; font-size:40px; font-weight:500; letter-spacing:-1.5px; }
.review_title_nm p { margin-top:6px; font-size:17px; opacity:.95; }
.mb_searchbox { display:flex; width:270px; margin:24px auto 0; border:1px solid #fff; background:rgba(255,255,255,.3); }
.mb_searchbox input { flex:1; min-width:0; height:38px; padding:0 10px; border:0; background:transparent; color:#fff; font:inherit; font-size:15px; }
.mb_searchbox input::placeholder { color:rgba(255,255,255,.85); }
.mb_searchbox button { width:40px; border:0; background:none; color:#fff; font-size:18px; cursor:pointer; }

/* 베스트 후기 */
.review_best { background:#f9f8fa; }
/* 베스트 넘기기: 원본 swiper(한 번에 4장) 대신 가로 넘김 + 이전·다음 버튼(review-list.js) */
.review_best__wrap { position:relative; max-width:1170px; margin:0 auto; padding:47px 20px; }
.review_best__list { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 30px) / 4); gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.review_best__list::-webkit-scrollbar { display:none; }
.review_best__btn { position:absolute; top:50%; width:36px; height:36px; margin-top:-18px; border:1px solid #ddd; border-radius:50%; background:#fff; color:#333; cursor:pointer; }
.review_best__btn.prev { left:-24px; }
.review_best__btn.next { right:-24px; }
.review_best .cell { display:block; scroll-snap-align:start; height:255px; padding:24px; border:1px solid #eaeaea; border-radius:12px; background:#fff; color:#333; }
.review_best .cell:hover { border-color:#333; }
.review_best .cat { display:block; margin-bottom:12px; overflow:hidden; color:#555; font-size:14px; white-space:nowrap; text-overflow:ellipsis; }
.review_best .subject { display:-webkit-box; overflow:hidden; color:#000; font-size:17px; font-weight:600; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.review_best .writer { display:block; margin-top:4px; padding-bottom:15px; font-size:13px; }
.review_best .writer em { font-size:12px; }
.review_best p { display:-webkit-box; overflow:hidden; color:#555; font-size:14px; line-height:160%; word-break:break-all; -webkit-line-clamp:4; -webkit-box-orient:vertical; }

/* 후기 작성 버튼·목록 */
.review_list { max-width:1170px; margin:0 auto; padding:50px 20px 0; }
.review_btn { padding-bottom:30px; text-align:center; }
.review_btn a { display:block; width:260px; margin:0 auto 30px; padding:10px 15px; border-radius:30px; background:#fc6d35; color:#fff; font-size:20px; }
.review_btn a:hover { color:#fff; background:#f15a1f; }
.review_btn p { color:#787878; font-size:15px; }
.review_list .board { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; }
.review_list .cell { display:block; min-height:212px; padding:25px; border:1px solid #e5e5e5; color:#333; }
.review_list .cell:hover { border-color:#333; }
.cat_onoff { display:inline-block; margin-right:3px; padding:3px 5px; border-radius:3px; background:#fc6d35; color:#fff; font-size:12px; vertical-align:1px; }
.cat_onoff.on { background:#639; }
.review_list .cat { color:#555; font-size:14px; }
.review_list .cell > .cat { display:inline-block; width:calc(100% - 60px); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; vertical-align:top; }
.VF_review_user { position:relative; padding:12px 0 6px 52px; }
.VF_review_user .prof { position:absolute; left:0; top:12px; font-size:40px; opacity:.45; }
.prof.c0, .prof.c9 { color:rebeccapurple; }
.prof.c1 { color:gold; }
.prof.c2 { color:orangered; }
.prof.c3 { color:limegreen; }
.prof.c4 { color:#ff4949; }
.prof.c5 { color:#ff9933; }
.prof.c6 { color:#448aff; }
.prof.c7 { color:#000; }
.prof.c8 { color:#999; }
.star_point { display:block; color:#f1c410; font-size:16px; line-height:20px; }
.star_point .is-off { color:#e0e0e0; }
.nick { color:#333; font-size:13px; font-weight:500; }
.sign_date { color:#666; font-size:13px; }
.sign_date em { padding:0 8px; color:#ccc; font-style:normal; }
/* 기존 목록은 제목(subject)도 보인다 */
.review_list__subject { display:block; margin-top:12px; overflow:hidden; color:#000; font-size:15px; font-weight:600; white-space:nowrap; text-overflow:ellipsis; }
.review_list .attached_img { display:block; width:auto; max-width:100%; height:auto; max-height:60px; margin-top:10px; }
.cat_onoff.package { background:#2e8b57; }
.review_list__body { display:-webkit-box; overflow:hidden; color:#555; font-size:14px; line-height:24px; -webkit-line-clamp:4; -webkit-box-orient:vertical; }
.tag { display:flex; flex-wrap:wrap; gap:4px; padding-top:12px; }
.tag span { padding:8px 12px; border:1px solid #fff; border-radius:8px; box-shadow:0 2px 10px rgba(0,0,0,.08); background:#fff; font-size:14px; letter-spacing:-.5px; }
.reviews .nothing { padding:60px 0; color:#999; text-align:center; }
.reviews .my-paging { padding:40px 0 0; text-align:center; }
.reviews .my-paging strong { display:inline-block; min-width:26px; border:1px solid #ccc; color:#e00; font-size:12px; line-height:24px; }

/* 상세 */
.review-view #reviewWrap { max-width:700px; margin:0 auto; padding:50px 20px 0; }
.review-view .post_subject { padding-bottom:20px; border-bottom:1px dotted #e0e0e0; }
.review-view .VF_review_user { padding-top:0; }
.review-view .VF_review_user .prof { top:0; }
.post_content h1 { padding-top:40px; color:#000; font-size:17px; font-weight:700; }
.post_content .content { padding-top:12px; color:#000; font-size:15px; line-height:180%; word-break:break-all; }
.review-view .tag { gap:8px; margin-top:30px; }
.review-view .tag span { padding:12px 20px; font-size:15px; }
.edu_list_form { display:flex; margin:40px 0 20px; padding:16px; border-radius:12px; background:#f2f4f6; color:#333; }
.edu_list_form__thumb { flex:none; width:120px; height:104px; overflow:hidden; border-radius:6px; background:#e4e7eb; }
.edu_list_form__thumb img { width:100%; height:100%; object-fit:cover; }
/* 대댓글: 기존처럼 들여쓰기(깊이마다 24px) */
.cmt_contents.is-reply { padding-left:calc(10px + 24px * var(--depth, 1)); background:#fafafa; }
.cmt_contents.is-reply .cnt_user strong::before { content:''; display:inline-block; width:10px; height:10px; margin-right:6px; background:url(/resource/images/review/icon_rep01.png) no-repeat; vertical-align:1px; }
.review-view .content img { max-width:100%; height:auto; }
.edu_list_form > div:last-child { padding:12px 16px; }
.edu_list_form > div:last-child > strong { display:block; padding-bottom:5px; color:#000; font-size:17px; font-weight:600; }
.edu_list_form span { display:inline-block; margin-top:20px; color:#555; font-size:14px; }
.edu_list_form span + span::before { content:''; display:inline-block; height:10px; margin-left:8px; padding-left:8px; border-left:1px solid #e0e0e0; }
#LikeThisArticle { display:flex; justify-content:center; gap:10px; padding-bottom:15px; }
#LikeThisArticle a { display:flex; align-items:center; justify-content:center; height:48px; border:1px solid #e0e0e0; color:#454545; font-size:16px; }
#LikeThisArticle .like { gap:15px; width:148px; }
#LikeThisArticle .like i { color:#ff4949; font-size:20px; }
#LikeThisArticle .like em { color:#ff4949; font-style:normal; font-weight:600; }
#LikeThisArticle .like:hover { border-color:#ff4949; }
#LikeThisArticle .share { width:48px; color:#999; }
.ArticleBtn { display:flex; justify-content:flex-end; gap:5px; padding:5px 0; border-bottom:1px solid #e0e0e0; padding-bottom:10px; }
.ArticleBtn a { min-width:58px; padding:0 6px; border:1px solid #ccc; border-radius:2px; background:linear-gradient(#fff, #f3f3f3); color:#333; font-size:12px; font-weight:600; line-height:27px; text-align:center; }
.ArticleBtn .btn_write { color:#993399; }
.review_cmt h2 { padding:20px; font-size:15px; font-weight:400; }
.review_cmt h2 span { color:#639; }
.cmt_contents { padding:20px 10px; border-top:1px solid #f0f0f0; }
.cnt_user strong { color:#454545; font-size:13px; }
.cnt_user .sign_date { margin-left:12px; color:#bbb; font-size:11px; }
.AB-cmt { padding-top:10px; color:#333; font-size:13.5px; line-height:180%; }
.cmt_btns { display:flex; justify-content:flex-end; gap:6px; }
.cmt_btns a { padding:0 7px; border:1px solid #e5e5e5; color:#999; font-size:12px; line-height:22px; }
.cmt_btns i { color:#ff4949; }
.cmt_input { margin-top:10px; border:1px solid #e0e0e0; }
.cmt_input label { display:block; padding:16px 20px 0; color:#666; font-size:15px; font-weight:600; }
.cmt_input textarea { display:block; width:100%; min-height:90px; padding:10px 20px; border:0; font:inherit; font-size:14px; resize:none; }
.cmt_input__btn { padding:10px; background:#f9f9f9; text-align:right; }
.cmt_input__btn a { display:inline-block; width:55px; border:1px solid #888; background:#fff; color:#888; font-size:13px; font-weight:600; line-height:24px; text-align:center; }

@media(max-width:1240px) {
    .review_best__btn.prev { left:4px; }
    .review_best__btn.next { right:4px; }
}
@media(max-width:1023px) {
    .review_best__list { grid-auto-columns:calc((100% - 10px) / 2); }
    .review_list .board { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
/* 모바일: 원본 ?pc=m은 베스트 후기 없이 목록을 한 줄씩(위 선만) */
@media(max-width:767px) {
    .review_title_nm { padding:16px; }
    .review_title_nm__frame { padding:14px 10px; }
    .review_title_nm h1 { font-size:22px; }
    .review_title_nm p { font-size:11px; }
    .mb_searchbox { width:100%; margin-top:10px; }
    .mb_searchbox input { height:32px; font-size:13px; }
    .review_best { display:none; }
    .review_list { padding:24px 0 0; }
    .review_btn { padding:0 16px 20px; }
    .review_btn a { margin-bottom:24px; }
    .review_btn p { font-size:14px; }
    .review_list .board { display:block; }
    .review_list .cell { min-height:0; padding:20px; border:0; border-top:1px solid #e5e5e5; }
    .review_list .cell > .cat { display:inline; width:auto; color:#fc6d35; white-space:normal; }
    .review_list__body { font-size:15px; }
    .review-view #reviewWrap { padding-top:24px; }
    .post_content .content { font-size:15px; }
    .review-view .tag span { padding:10px 14px; font-size:14px; }
    .edu_list_form__thumb { width:90px; height:80px; }
    .edu_list_form > div:last-child > strong { font-size:15px; }
    .edu_list_form span { margin-top:10px; font-size:13px; }
}
