
/* 리뷰*/
.review_wrap                  { width:100%;  background:#fff; padding-bottom:25px; padding-top:22px; }

/* 헤더 이미지 */
.review_wrap .review_header   { width:1200px; height:300px; margin:0 auto 30px; overflow:hidden; }
.review_wrap .review_header img { width:100%; height:100%; display:block; object-fit:cover; }

.review_wrap .review_tit      { position:relative; height:50px; border-bottom:2px solid #000}
.review_wrap .review_tit h2   { margin: 15px 0 0px 0; float:left; width:70%; }
.review_wrap .review_tit p    { float:right; text-align:right; width:30%; font-size:14px; font-weight:400; margin:0; line-height:50px; }
.review_wrap .review_tit p .on{ font-weight:800; }

.review_wrap #wrap { width:1200px; margin:0 auto; background:#fff; color:#fff;  padding:20px; }
.review_wrap #wrap p.link { padding-top:10px; font-size:12px; }
.review_wrap #wrap p.link a { color:#fff; }
.review_wrap #wrap h2{ color:#000; font-size:46px; font-weight:400; margin:60px auto 10px;text-align:center;}
.review_wrap p{ display:block; margin:20px 0 0; color:#333; text-align:center; font-size:16px; }
.review_wrap #wrap h3{ background:#fff;color:#3498db;font-size:36px;line-height:100px;margin:10px;padding:2%;position:relative;text-align:center;}
.review_wrap #wrap div.variable-width p { background: #fff; height: 100px; color:#3498db; margin: 5px; line-height: 100px; font-size:16px; text-align:center; }
.review_wrap #wrap .slick-slide img{/*border:5px solid #FFF;*/display:block;width:100%;}
.review_wrap #wrap .slick-slide img.slick-loading{border:0 }
.review_wrap #wrap .slick-slide .image { padding:10px; }
/*.review_wrap #wrap .button{background:#3498db;color:#fff;display:inline-block;font-size:16px;margin:10px auto;padding:20px 2%;text-align:center;text-decoration:none;width:44%;background:#FFF;color:#3498db; margin-bottom: 40px;}*/
.review_wrap #wrap .button{background:#404040;color:#fff;display:inline-block;font-size:16px;margin:10px auto;padding:20px 2%;text-align:center;text-decoration:none;width:20%;margin: 20px 40% 40px 40%;}
.review_wrap #wrap .center .slick-center h3{-moz-transform:scale(1.08);-ms-transform:scale(1.08);-o-transform:scale(1.08);-webkit-transform:scale(1.08);color:#e67e22;opacity:1;transform:scale(1.08);}
.review_wrap #wrap .center h3{opacity:0.8;transition:all 300ms ease;}
.review_wrap .review_btn{ margin:25px auto 50px; display:block; width:170px; height:45px; line-height:45px; font-size:20px; text-align:center; border:2px solid #222; border-radius: 30px}
.slick-dots{ display:none}
.autoplay .box{border:1px solid #dcddde; margin-right:18px}
.autoplay .box:last-child{margin-right:0px}
.review_wrap .img{ display:block; border:0; margin-bottom:25px}
.review_wrap .img img{ border:0}
.review_wrap .icon_star5{ display:flex; float:left; margin-left:10px; }
.review_wrap .icon_star5::before{ content:"★★★★★"; font-size:24px; color:#ffd200; line-height:1; letter-spacing:-2px; }

.review_wrap .icon_star4{ display:flex; float:left; margin-left:10px; }
.review_wrap .icon_star4::before{ content:"★★★★☆"; font-size:24px; color:#ffd200; line-height:1; letter-spacing:-2px; }

.review_wrap .icon_star3{ display:flex; float:left; margin-left:10px; }
.review_wrap .icon_star3::before{ content:"★★★☆☆"; font-size:24px; color:#ffd200; line-height:1; letter-spacing:-2px; }

.review_wrap .icon_star2{ display:flex; float:left; margin-left:10px; }
.review_wrap .icon_star2::before{ content:"★★☆☆☆"; font-size:24px; color:#ffd200; line-height:1; letter-spacing:-2px; }

.review_wrap .icon_star1{ display:flex; float:left; margin-left:10px; }
.review_wrap .icon_star1::before{ content:"★☆☆☆☆"; font-size:24px; color:#ffd200; line-height:1; letter-spacing:-2px; }
.review_wrap .name{ display:block; float:right; margin-right:10px; ; font-size:9px; color:#aaa; line-height:100%; margin-top:8px}
.review_wrap .txt{ display:block;  margin:55px 10px 35px; font-size:12px; color:#666; line-height:160%; text-align:justify}
.review_wrap .txt .tit{ display:block; margin-bottom:10px; font-weight:500; font-size:16px; color:#000; }
.review_wrap .txt .txt_content{
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: pre-wrap;
    line-height: 1.5;
}

/* 팝업 */
/* #reviewModal은 overlay ID, #reviewPopup은 콘텐츠 wrapper ID */
#reviewModal.naple-modal-overlay .naple-modal-container {
    background: #fff;
    padding: 0;
    border: none;
    border-radius: 10px;
    width: 750px;
    box-sizing: border-box;
    overflow: hidden;
}

#reviewModal.naple-modal-overlay .naple-modal-content {
    overflow-y: visible;
    max-height: none;
    background: #fff;
}

/* 콘텐츠 wrapper 스타일 */
#reviewPopup {
    padding: 20px;
}

#reviewPopup button { cursor:pointer; }

#reviewPopup .tit { position:relative; height:auto; min-height:105px; padding:15px 30px; padding-bottom:15px; }
#reviewPopup .tit h6 { color:#000; font-weight:600; margin:0; font-size:18px; display:inline-block; }
#reviewPopup .tit .name { float:right; font-size:14px; text-align:right; color:#999; }
#reviewPopup .tit .tit_row { display:flex; justify-content:space-between; align-items:center; margin-top:10px; }
#reviewPopup .con { position:relative; text-align:center !important; }
#reviewPopup .con .img { display:inline-block; margin:0 auto 25px; position:relative; width:100%; max-width:675px; height:450px; }
#reviewPopup .con .img img { width:100%; max-width:675px; height:450px; object-fit:contain; display:block; }
#reviewPopup .con .con_txt { display:block; border-top:2px solid #000000; padding:20px 80px 20px 80px; color:#000; line-height:1.8; text-align:left; white-space: pre-wrap; }
/* 버튼 영역 */
#reviewPopup .con .btn-wrap { margin-top: 0px; padding: 25px 30px 0 30px; text-align: center; height: 45px; box-sizing: content-box; display: flex; justify-content: center; align-items: center; border-top: 2px solid #000; }

/* 버튼 공통 스타일 */
#reviewPopup .con .button { display: inline-block; font-size: 16px; height: 45px; line-height: 43px; padding: 0; text-align: center; text-decoration: none; width: 20%; margin: 0 5px; cursor: pointer; box-sizing: border-box; border: 1px solid #404040; }

/* 닫기 버튼 */
#reviewPopup .con .btn-close { background: #404040; color: #fff; }

/* 반려 버튼 */
#reviewPopup .con .btn-reject { background: #fff; color: #404040; }
#reviewPopup .con .btn-reject:disabled { background: #ccc; color: #666; border-color: #ccc; cursor: not-allowed; }

/* 승인 버튼 - 시그니처 색상 */
#reviewPopup .con .btn-approve { background: #f36f21; color: #fff; border-color: #f36f21; }
#reviewPopup .con .btn-approve:hover { background: #e55f11; border-color: #e55f11; }
#reviewPopup .con .btn-approve:disabled { background: #ccc; color: #666; border-color: #ccc; cursor: not-allowed; }

/* 반려 사유 영역 (admin 전용) */
#reviewPopup .con .reject-wrap { border-top: 2px solid #000; margin-top: 0; padding: 15px 30px; text-align: left; }
#reviewPopup .con .reject-select { width: 100%; padding: 10px; border: 1px solid #d8d8d8; font-size: 14px; } 

.review_wrap .list_tab{ position:relative; background:#f6f6f6; height:40px; padding:28px 30px 50px; margin-top:10px}
.review_wrap .list_tab p{display:block; float:left; margin:0 10px}
.review_wrap .list_tab .on{ font-weight:600; color:#222}
.review_table{ position:relative;overflow:hidden; padding-bottom:150px}
.review_table .tbl-basic{ width:100%}
.review_table table td{border-bottom:1px solid #d7d8d9; padding:15px; vertical-align:middle;}
.review_table table td img{width:130px; height:130px; object-fit:contain;}
.review_table .icon_star5{ display:flex; }
.review_table .icon_star5::before{ content:"⭐⭐⭐⭐⭐"; font-size:21px; line-height:1; letter-spacing:-2px; }

.review_table .icon_star4{ display:flex; }
.review_table .icon_star4::before{ content:"⭐⭐⭐⭐☆"; font-size:21px; color:#ffd200; line-height:1; letter-spacing:-2px; }

.review_table .icon_star3{ display:flex; }
.review_table .icon_star3::before{ content:"⭐⭐⭐☆☆"; font-size:21px; color:#ffd200; line-height:1; letter-spacing:-2px; }

.review_table .icon_star2{ display:flex; }
.review_table .icon_star2::before{ content:"⭐⭐☆☆☆"; font-size:21px; color:#ffd200; line-height:1; letter-spacing:-2px; }

.review_table .icon_star1{ display:flex; }
.review_table .icon_star1::before{ content:"⭐☆☆☆☆"; font-size:21px; color:#ffd200; line-height:1; letter-spacing:-2px; }
.review_table .con_txt{font-size:15px; color:#333; line-height: 1.5; text-align: left; }
.review_table .stit{ font-weight:600; font-size:16px; margin-bottom:5px; display:inline-block; text-align: left; }
.review_table .data{color:#666; font-size:13px; padding-left:50px; vertical-align:middle;}
.review_table .review_content{
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-wrap: break-word;
    word-break: break-all;
    line-height: 1.7;
    max-height: 10em;
    white-space: pre-wrap;
    user-select: none;
    text-align: left;
    vertical-align: 1px;
}

.paging{position:absolute; padding:50px 0 ;left: 50%;transform: translate(-50%);}
.paging p{ float:left; margin:3px; border:1px solid #0f0f0f; width:25px; height:25px; line-height:25px; text-align:center;}
.paging .on{border:1px solid #f36f21; color:#f36f21}

/* 리뷰 슬라이더 네비게이션 화살표 - 리뷰 카드 아래 중앙 */
.naple_main_review_box {
    position: relative;
    padding-bottom: 80px; /* 아래 여백 확보 */
}

.review_nav {
    position: absolute;
    bottom: 20px;
    background-color: transparent;
    border: none;
    color: #222;
    font-size: 30px;
    cursor: pointer;
    z-index: 10;
    transition: color 0.3s ease;
}

.review_nav:hover {
    color: #f36f21;
}

.review_nav_prev {
    left: 50%;
    margin-left: -40px;
}

.review_nav_next {
    left: 50%;
    margin-left: 20px;
}

/* 리뷰 콘텐츠 내 별 이모지 스타일 */
.emoji-star {
    font-size: 12px;
    margin-left: 15px;
}

/* 시그니처 버튼 스타일 */
.btn-signature,
.button1.btn-signature,
.button_wrap .button1.btn-signature {
    background: #f36f21 !important;
    border-color: #f36f21 !important;
    border: none !important;
    color: #fff !important;
    padding: 10px 30px;
    margin: 0 5px;
    cursor: pointer;
    font-size: 16px;
    display: inline-block;
}

.btn-signature:hover,
.button1.btn-signature:hover,
.button_wrap .button1.btn-signature:hover {
    background: #e55f11 !important;
    border-color: #e55f11 !important;
    opacity: 0.9;
}

/* ===== 관리자 리뷰 생성/수정 모달 (admin/review/create) ===== */
.admin-review-modal {
    width: 750px;
    padding: 20px;
    background: #fff;
}

.admin-review-modal .list_tab {
    position: relative;
    background: #f6f6f6;
    min-height: 60px;
    padding: 20px 30px;
    margin-bottom: 20px;
    line-height: 25px;
    display: flex;
    align-items: center;
    font-size: 15px;
}

/* 리뷰 이미지 미리보기 영역 */
.admin-review-modal .review-existing-image {
    text-align: center;
    margin-bottom: 20px;
    padding: 15px;
    background: #f9f9f9;
    border: 1px solid #e8e8e8;
    border-radius: 4px;
    position: relative;
}

.admin-review-modal .review-existing-image img {
    max-width: 100%;
    max-height: 300px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 4px;
    transition: transform 0.3s ease;
}

.admin-review-modal .review-existing-image .rotate-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    border: none;
    border-radius: 50%;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.admin-review-modal .review-existing-image .rotate-btn:hover {
    background: rgba(0, 0, 0, 0.8);
}

.admin-review-modal .mypage_popup_table {
    width: 100%;
    margin-bottom: 15px;
    border-collapse: collapse;
    border-top: 2px solid #000;
    border-bottom: 1px solid #d8d8d8;
}

/* 설문형 리뷰 테이블 스타일 */
.admin-review-modal .review-survey-table tbody th {
    background: #f6f6f6;
    padding: 0 20px;
    height: 52px;
    text-align: left;
    font-weight: 500;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: middle;
    box-sizing: border-box;
}

.admin-review-modal .review-survey-table tbody td {
    padding: 0 20px;
    height: 52px;
    border-bottom: 1px solid #d8d8d8;
    vertical-align: middle;
    box-sizing: border-box;
}

.admin-review-modal .review-select {
    width: 100%;
    max-width: 400px;
    height: 35px;
    padding: 0 15px;
    font-size: 14px;
    border: 1px solid #d8d8d8;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px;
}

.admin-review-modal .review-select:focus {
    outline: none;
    border-color: #f36f21;
}

.admin-review-modal .file-upload-row {
    display: flex;
    gap: 10px;
}

.admin-review-modal .file-upload-row input[type="text"] {
    flex: 1;
    max-width: 300px;
    height: 35px;
    padding: 0 15px;
    border: 1px solid #d8d8d8;
    border-radius: 4px;
    box-sizing: border-box;
}

.admin-review-modal .file-upload-row .button {
    height: 35px;
    padding: 0 20px;
    background: #404040;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    box-sizing: border-box;
}

.admin-review-modal .file-upload-row .button:hover {
    background: #333;
}

.admin-review-modal > p,
.admin-review-modal form > p {
    font-size: 13px;
    color: #666;
    line-height: 160%;
    text-align: left;
    margin: 15px 0;
    padding: 0 10px;
}

/* 버튼 영역 */
.admin-review-modal .btn-wrap {
    text-align: center;
    margin-top: 20px;
    padding: 0;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 버튼 공통 스타일 */
.admin-review-modal .btn-wrap .button {
    height: 45px;
    padding: 0 60px;
    margin: 0 5px;
    cursor: pointer;
    font-size: 16px;
    box-sizing: border-box;
    line-height: 43px;
}

/* 닫기 버튼 */
.admin-review-modal .btn-wrap .btn-close {
    background: #fff;
    color: #404040;
    border: 1px solid #404040;
}

.admin-review-modal .btn-wrap .btn-close:hover {
    background: #f6f6f6;
}

/* 등록/수정 버튼 */
.admin-review-modal .btn-wrap .btn-submit {
    background: #404040;
    color: #fff;
    border: 1px solid #404040;
}

.admin-review-modal .btn-wrap .btn-submit:hover {
    background: #333;
}

/* 시그니처 버튼 스타일 (admin-review-modal 전용) */
.admin-review-modal .btn-wrap .btn-signature {
    background: #f36f21 !important;
    border-color: #f36f21 !important;
    color: #fff !important;
}

.admin-review-modal .btn-wrap .btn-signature:hover {
    background: #e55f11 !important;
    border-color: #e55f11 !important;
}

