/* ═══ 利用者の声 (page-reviews.php) ─ Figma 206:775 ═══ */

.page-reviews{position:relative;width:100%;background:#FFFFFF;color:#1A1A1A;overflow:hidden;--side-pad:410px}

/* HERO 1920×400 */
.rv-hero{position:relative;width:100%;height:400px;overflow:hidden;margin-top:97px}
.rv-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#0a1230}
.rv-hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.30)}
.rv-hero-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:0 20px;z-index:2}
.rv-hero-title{margin:0;font-size:48px;font-weight:800;line-height:56px;letter-spacing:1px;text-transform:uppercase;color:#FAFAFA}
.rv-hero-sub{margin:0;font-size:25px;font-weight:400;line-height:1.3;color:#FAFAFA}

/* COUPON SECTION — 이미지 합성 */
.rv-coupon{position:relative;padding:90px var(--side-pad) 80px;display:flex;flex-direction:column;align-items:center;text-align:center;background:#FFFFFF;overflow:hidden}
.rv-coupon-wave-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none;user-select:none}
.rv-coupon > *:not(.rv-coupon-wave-img){position:relative;z-index:1}

.rv-coupon-card-img{display:block;width:580px;max-width:90%;height:auto;margin:0 auto 50px;filter:drop-shadow(0 6px 20px rgba(0,11,131,.06))}
.rv-coupon-help-img{display:block;width:auto;max-width:90%;height:auto;margin:0 auto 28px}
.rv-coupon-btn-img{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:pointer;transition:transform .15s, filter .15s}
.rv-coupon-btn-img img{display:block;width:auto;max-width:100%;height:auto}
.rv-coupon-btn-img:hover{transform:translateY(-2px);filter:drop-shadow(0 6px 12px rgba(192,0,0,.18))}

/* WRITE INTRO */
.rv-write{padding:60px var(--side-pad) 50px;text-align:center;background:#FFFFFF}
.rv-write-title{margin:0 0 24px;font-size:30px;font-weight:700;color:#1A1A1A;line-height:1.4}
.rv-write-sub{margin:0 0 28px;font-size:20px;font-weight:400;color:#7D7D7D;line-height:1.4}
.rv-write-hl{color:#0047AB;font-weight:600}
.rv-write-btn{display:inline-flex;align-items:center;justify-content:center;width:93px;height:35px;padding:0;gap:8px;background:#C00000;border-radius:7px;color:#FFFFFF;font-family:'Pretendard JP',Pretendard,sans-serif;font-weight:700;font-size:15px;line-height:16px;text-decoration:none;cursor:pointer;border:none;box-sizing:border-box;margin:0 auto 60px;transition:transform .15s,box-shadow .15s}
.rv-write-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(192,0,0,.20);color:#FFFFFF}

/* FEATURED 2-up — 새 디자인: 우하단 큰 따옴표 */
.rv-featured{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1100px;margin:0 auto}
.rv-featured-card{position:relative;background:#FFFFFF;box-shadow:0 4px 24px rgba(0,11,131,.08);border-radius:18px;padding:30px 36px 28px;text-align:left;overflow:hidden}
.rv-featured-card .rv-tag{margin-bottom:18px;width:auto;padding:0 16px}
.rv-featured-title{margin:0 0 14px;font-size:19px;font-weight:700;color:#1A1A1A;line-height:1.45}
.rv-featured-body{margin:0 0 60px;font-size:14px;font-weight:400;color:rgba(26,26,26,.6);line-height:23px;letter-spacing:-.3px}
.rv-featured-meta{margin:0;font-size:13px;font-weight:400;color:#A8A8A8;line-height:1.4}
.rv-featured-quote{position:absolute;right:30px;bottom:24px;width:54px;height:auto;pointer-events:none;user-select:none}

/* CATEGORY TAGS */
.rv-tag{display:inline-flex;align-items:center;justify-content:center;width:71px;height:23px;padding:0;border-radius:30px;font-size:13px;font-weight:600;color:#FAFAFA;line-height:1}
.rv-tag-fx{background:#0047AB}
.rv-tag-binary{background:#438CAF}

/* LIST */
.rv-list{padding:60px var(--side-pad) 100px;background:#FFFFFF}
.rv-list-inner{position:relative;width:100%;max-width:1100px;margin:0 auto}
.rv-row-empty{padding:80px 0;text-align:center;color:#7D7D7D;font-size:16px;border-top:1px solid #A8A8A8;border-bottom:1px solid #A8A8A8}
.rv-row-wrap{border-bottom:1px solid #A8A8A8}
.rv-row-wrap:first-of-type{border-top:1px solid #A8A8A8}
.rv-row{display:grid;grid-template-columns:60px minmax(0,1fr) 175px 30px;align-items:center;gap:36px;padding:30px 8px;cursor:pointer;transition:background .15s;color:inherit;text-decoration:none;outline:none}
.rv-row:hover{background:rgba(0,11,131,.02)}
.rv-row:focus-visible{background:rgba(0,11,131,.04)}
.rv-no{font-size:15px;font-weight:400;color:#1A1A1A;text-align:center}
.rv-content{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.rv-row-title{margin:6px 0 0;font-size:22px;font-weight:600;color:#1A1A1A;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.rv-row-body{margin:0;font-size:16px;font-weight:400;color:rgba(26,26,26,.6);line-height:1.6;letter-spacing:-1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:578px}
.rv-hashtags{display:flex;gap:14px;margin-top:4px}
.rv-hashtags span{font-size:16px;font-weight:400;color:#0047AB;letter-spacing:-1px;line-height:1.4}
.rv-name{width:64px;text-align:center;display:inline-block}
.rv-date{width:104px;text-align:center;display:inline-block}
.rv-meta{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:7px;color:#A8A8A8;font-size:15px;line-height:1.47}
.rv-arrow{display:inline-block;width:10px;height:10px;border-right:2.5px solid rgba(168,168,168,.7);border-bottom:2.5px solid rgba(168,168,168,.7);transform:rotate(-45deg);transition:transform .25s ease}
.rv-row:hover .rv-arrow{border-color:#0047AB}
.rv-row-wrap.is-open .rv-arrow{transform:rotate(225deg)}

/* DROPDOWN */
.rv-row-detail{max-height:0;overflow:hidden;transition:max-height .35s ease;background:#F8FAFD}
.rv-row-wrap.is-open .rv-row-detail{max-height:800px}
.rv-row-detail-inner{padding:26px 80px 32px;color:rgba(26,26,26,.78);font-size:15px;line-height:1.85;letter-spacing:-.3px}
.rv-row-detail-body{margin:0 0 18px;font-size:15px;line-height:1.85;color:rgba(26,26,26,.78);white-space:pre-line}
.rv-row-detail-tags{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:14px}
.rv-row-detail-tags span{font-size:14px;color:#0047AB;letter-spacing:-.5px}
.rv-row-detail-meta{margin:0;font-size:13px;color:#A8A8A8}

/* PAGINATION */
.rv-pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:60px}
.rv-pg-btn,.rv-pg-num{background:transparent;border:none;cursor:pointer;font-size:18px;color:#1A1A1A;padding:8px 12px;font-family:inherit;line-height:1}
.rv-pg-num{min-width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.rv-pg-num.rv-pg-active{background:#00064B;color:#FFFFFF}
.rv-pg-dots{font-size:18px;color:#1A1A1A;padding:0 4px;line-height:34px}

/* SINGLE REVIEW PAGE */
.page-reviews-single{position:relative;width:100%;background:#FFFFFF;color:#1A1A1A;overflow:hidden;--side-pad:410px}
.rv-hero-mini{height:280px}
.rv-hero-mini .rv-hero-title{font-size:42px}
.rv-single{padding:80px var(--side-pad) 100px;background:#F8F9FB}
.rv-single-inner{max-width:900px;margin:0 auto;background:#FFFFFF;border-radius:14px;box-shadow:0 0 24px rgba(0,11,131,.06);padding:60px 70px}
.rv-single-head{padding-bottom:30px;border-bottom:1px solid rgba(168,168,168,.4);margin-bottom:36px}
.rv-single-head .rv-tag{margin-bottom:18px;width:auto;padding:0 16px}
.rv-single-title{margin:0 0 18px;font-size:26px;font-weight:700;color:#1A1A1A;line-height:1.4}
.rv-single-meta{display:flex;align-items:center;gap:8px;font-size:14px;color:#A8A8A8}
.rv-meta-sep{color:#D6D6D6}
.rv-single-body{font-size:16px;line-height:1.85;color:#1A1A1A;letter-spacing:-.2px;min-height:160px}
.rv-single-body p{margin:0 0 18px}
.rv-single-tags{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(168,168,168,.3)}
.rv-single-tags span{font-size:14px;color:#0047AB;letter-spacing:-.5px}
.rv-single-footer{display:flex;justify-content:center;margin-top:50px}
.rv-back-btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 38px;background:#FFFFFF;border:1px solid #1A1A1A;border-radius:6px;color:#1A1A1A;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.rv-back-btn:hover{background:#1A1A1A;color:#FFFFFF}

/* Coupon ticket (HTML) — re-introduced for JP text */
.rv-coupon-card{position:relative;width:560px;max-width:90%;padding:64px 72px 56px;background:#FFFFFF;box-shadow:0 8px 28px rgba(0,11,131,.08);border-radius:14px;margin:0 auto 50px;-webkit-mask:radial-gradient(circle 18px at 0 50%,transparent 98%,#000 100%) -18px 0/100% 100% no-repeat,radial-gradient(circle 18px at 100% 50%,transparent 98%,#000 100%) 18px 0/100% 100% no-repeat;mask:radial-gradient(circle 18px at 0 50%,transparent 98%,#000 100%) -18px 0/100% 100% no-repeat,radial-gradient(circle 18px at 100% 50%,transparent 98%,#000 100%) 18px 0/100% 100% no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect;text-align:center}
.rv-coupon-badge{position:absolute;top:24px;right:30px;width:54px;height:54px;background:#000B83;color:#FFFFFF;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;letter-spacing:-.4px;z-index:2}
.rv-coupon-label{margin:0;font-size:18px;font-weight:400;color:#1A1A1A;line-height:1.5}
.rv-coupon-amount{margin:22px 0 0;font-size:64px;font-weight:800;color:#000B83;line-height:1;letter-spacing:-1.5px}
.rv-coupon-amount span{font-size:30px;font-weight:600;margin-left:8px;color:#000B83}
.rv-coupon-help{margin:0 0 28px;font-size:16px;font-weight:500;color:#1A1A1A;letter-spacing:-.5px;text-align:center}
.rv-coupon-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:200px;height:54px;background:#FFFFFF;border:1px solid #C00000;border-radius:6px;color:#C00000;font-size:17px;font-weight:500;cursor:pointer;font-family:inherit;transition:transform .15s, box-shadow .15s;box-shadow:0 2px 6px rgba(192,0,0,.08)}
.rv-coupon-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(192,0,0,.15)}
.rv-coupon-btn svg{flex-shrink:0;color:#C00000}
