/* 치료후기 — 목록·카드·상세
   단위는 테마 기준단위 --r3 배수다(화면 폭 단계에 따라 10/9/8/7/6px 로 바뀐다).
   색은 테마 변수만 쓴다 — 브랜드색이 바뀌면 여기도 같이 따라간다. */

/* 분류 탭 */
.ess-rv-tabwrap{overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;padding-bottom:calc(10*var(--r3))}
.ess-rv-tabwrap::-webkit-scrollbar{display:none}
.ess-rv-tabs{display:flex;flex-wrap:nowrap;gap:calc(1.25*var(--r3));width:max-content;margin:0 auto}
.ess-rv-tab{display:inline-flex;align-items:center;justify-content:center;flex:none;height:calc(6*var(--r3));padding:0 calc(3.2*var(--r3));border-radius:50px;background:var(--bg-2);color:var(--ink-3);font-size:calc(2*var(--r3));font-weight:400;white-space:nowrap;text-decoration:none;transition:background-color .25s,color .25s}
.ess-rv-tab:hover{color:var(--brand)}
.ess-rv-tab.active{background:var(--brand);color:#fff;font-weight:600}

/* 총 건수 + 검색 */
.ess-rv-board .board_list_top{display:flex;align-items:flex-end;justify-content:space-between;gap:calc(2*var(--r3));padding-bottom:calc(3*var(--r3));margin-bottom:calc(8*var(--r3));border-bottom:1px solid #ccd2dd}
.ess-rv-board .total_num{font-size:calc(2*var(--r3));color:var(--black)}
.ess-rv-board .total_num strong{color:var(--brand);font-weight:700}
.ess-rv-board .bg_sch_box{margin:0}
.ess-rv-board .sch_inp{display:flex;align-items:center;width:calc(36*var(--r3));max-width:100%;padding:calc(2.4*var(--r3)) calc(4*var(--r3));border-radius:50px;background:var(--bg-2)}
.ess-rv-board .sch_inp input[type=text]{flex:1;min-width:0;height:auto;padding:0;border:0;background:transparent;font-size:calc(2*var(--r3));color:var(--ink);outline:0}
.ess-rv-board .sch_inp input[type=text]::placeholder{color:#6e6e6e}
.ess-rv-board .sch_inp .btn{flex:none;margin-left:var(--r3);padding:0;border:0;background:none;font-size:calc(2*var(--r3));color:var(--black);line-height:0;cursor:pointer}
.ess-rv-board .sch_inp .btn svg{height:1em;fill:currentColor}

/* 카드 그리드
   ⚠️ 본문 기본 규칙(.entry ul 의 왼쪽 여백, .entry img 의 위 여백·모서리)이 이겨서
      카드가 20px 밀리고 사진이 칸을 못 채웠다 — 선택자를 한 단계 올려 막는다 */
.ess-rv-board .ess-rv-grid,.ess-rv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(8*var(--r3)) calc(3.5*var(--r3));margin:0;padding:0;list-style:none}
.ess-rv-link{display:block;color:inherit;text-decoration:none}

/* 전후사진 — 한 카드에 두 장. 후 사진만 잠긴다 */
.ess-rv-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:calc(1.5*var(--r3));overflow:hidden;background:#15171a}
.ess-rv-shot{position:relative;width:100%;padding-top:110%} /* 2026-09-23 카드 사진 비율 조정 — 사진 두 칸을 합친 가로세로가 약 1.8:1 이 된다 */
.ess-rv-shot>img,.ess-rv-ph,.ess-rv-noimg,.ess-rv-lock{position:absolute;top:0;left:0;width:100%;height:100%}
.ess-rv-pair .ess-rv-shot>img{margin:0;border-radius:0;max-width:none;height:100%;object-fit:cover}
.ess-rv-ph{background:linear-gradient(135deg,#2c2f35,#141518)}
.ess-rv-ph.has-blur{background-size:cover;background-position:center;filter:blur(9px) brightness(.78) saturate(.9);transform:scale(1.12)} /* 2026-09-23 잠긴 칸에 24px 미리보기를 깔고 흐리게 */
.ess-rv-noimg{display:flex;align-items:center;justify-content:center;background:var(--bg-2);color:var(--ink-3);font-size:calc(1.5*var(--r3))}
.ess-rv-lock{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 10px;background:rgba(0,0,0,.32);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;fill:#fff;text-align:center;font-size:calc(1.5*var(--r3));line-height:1.5;cursor:pointer}
.ess-rv-lock .ico svg{height:1.8em}
.ess-rv-lock .txt{margin-top:.6em}

/* 제목 · 태그 */
.ess-rv-head{display:flex;align-items:center;margin-top:calc(1.875*var(--r3))}
.ess-rv-badge{flex:none;margin-right:.3em;font-size:calc(2.5*var(--r3));font-weight:700;color:var(--brand)}
.ess-rv-tit{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;font-size:calc(2.5*var(--r3));font-weight:700;line-height:1.7;color:var(--black);word-break:break-all}
.ess-rv-link:hover .ess-rv-tit{color:var(--brand)}
.ess-rv-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--r3);margin-top:var(--r3)}
.ess-rv-tags{display:flex;flex-wrap:wrap;align-items:center}
.ess-rv-tag{display:inline-block;margin:0 calc(.5*var(--r3)) calc(.5*var(--r3)) 0;padding:.25em 1em;border-radius:calc(3*var(--r3));background:var(--brand-tint);color:var(--brand-2);font-size:calc(1.5*var(--r3));font-weight:700}
.ess-rv-more{margin-bottom:calc(.5*var(--r3));font-size:calc(2*var(--r3));line-height:1;color:var(--ink-3)}
.ess-rv-writer{flex:none;font-size:calc(1.5*var(--r3));color:var(--ink-3)}

.ess-rv-board .planc-board-empty{padding:calc(10*var(--r3)) 0;text-align:center;font-size:calc(2*var(--r3));color:var(--ink-3)}

/* 페이지네이션 — 공지사항과 같은 모양 */
.ess-rv-board .pagination{display:flex;align-items:center;justify-content:center;margin-top:calc(9*var(--r3));font-size:calc(2*var(--r3))}
.ess-rv-board .pagination>a{line-height:1;text-decoration:none}
.ess-rv-board .pagination>a svg{height:1.3em;fill:#8a90a0;transition:all .3s}
.ess-rv-board .pagination>a:not(.none):hover svg{fill:var(--brand)}
.ess-rv-board .pagination .next{margin-right:calc(2*var(--r3))}
.ess-rv-board .pagination .prev{margin-left:calc(2*var(--r3))}
.ess-rv-board .pagination .none{opacity:.4;cursor:default;pointer-events:none}
.ess-rv-board .pagination .num_list{display:flex;align-items:center;justify-content:center;margin:0 calc(2.5*var(--r3));padding:0;list-style:none}
.ess-rv-board .pagination .num_list li{position:relative;width:2.45em;height:2.45em;margin:0 .25em;border-radius:50%;text-align:center;z-index:0}
.ess-rv-board .pagination .num_list li a{position:absolute;inset:0;display:block;line-height:2.45em;color:#555;text-decoration:none}
.ess-rv-board .pagination .num_list li a:before{content:'';position:absolute;inset:0;border-radius:50%;transition:all .4s;z-index:-1}
.ess-rv-board .pagination .num_list li:not(.active):hover a{color:var(--brand)}
.ess-rv-board .pagination .num_list li.active a{color:#fff;font-weight:700}
.ess-rv-board .pagination .num_list li.active a:before{background:var(--brand)}

/* 상세 */
/* 상세 — 사진 두 장을 세로로 쌓아 가운데 (2026-09-23) */
.ess-rv-view .ess-rv-pair{grid-template-columns:minmax(0,1fr);gap:calc(1.5*var(--r3));width:min(100%,calc(52*var(--r3)));margin:0 auto calc(4*var(--r3));background:none}
.ess-rv-view .ess-rv-shot{padding-top:0;border-radius:calc(1.5*var(--r3));overflow:hidden;background:#15171a}
.ess-rv-view .ess-rv-shot>img{position:static;height:auto;object-fit:contain} /* 상세에서는 사진을 자르지 않는다 */
.ess-rv-view .ess-rv-shot:has(.ess-rv-lock){padding-top:62%}
.ess-rv-view .txt_box{max-width:calc(80*var(--r3));margin:0 auto;text-align:center;font-size:clamp(14px,calc(2*var(--r3)),18px);line-height:1.9;color:var(--primary)}
.ess-rv-view .txt_box p{margin:0 0 1.2em}
.ess-rv-view .ess-rv-tags{margin-top:calc(5*var(--r3))}

/* 로그인 안내 */
.ess-rv-modal[hidden]{display:none!important}
.ess-rv-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.5)}
.ess-rv-modal .box{width:440px;max-width:100%;padding:40px 32px;border-radius:20px;background:#fff;text-align:center}
.ess-rv-modal .box h2{margin:0 0 10px;font-size:22px;font-weight:700;color:var(--black)}
.ess-rv-modal .box p{margin:0 0 26px;font-size:15px;color:var(--text-2)}
.ess-rv-modal .btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.ess-rv-modal .btns a,.ess-rv-modal .btns button{display:inline-flex;align-items:center;justify-content:center;min-width:110px;height:48px;padding:0 20px;border:1px solid var(--brand);border-radius:8px;background:#fff;color:var(--brand);font-size:15px;font-weight:600;text-decoration:none;cursor:pointer}
.ess-rv-modal .btns .primary{background:var(--brand);color:#fff}

@media (max-width:1240px){
  .ess-rv-board .ess-rv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 20px}
  .ess-rv-shot{padding-top:75%}
}
@media (max-width:1000px){
  .ess-rv-board .ess-rv-grid{gap:40px 15px}
  .ess-rv-shot{padding-top:80%}
}
@media (max-width:768px){
  .ess-rv-tabwrap{margin:0 -20px;padding:0 20px 40px}
  .ess-rv-tabs{margin:0}
  .ess-rv-tab{height:40px;padding:0 16px;font-size:14px}
  .ess-rv-board .board_list_top{align-items:center;margin-bottom:32px;padding-bottom:16px}
  .ess-rv-board .total_num{font-size:14px}
  .ess-rv-board .bg_sch_box{flex:0 1 210px;max-width:60%}
  .ess-rv-board .sch_inp{width:100%;padding:12px 16px}
  .ess-rv-board .sch_inp input[type=text],.ess-rv-board .sch_inp .btn{font-size:14px}
  .ess-rv-lock{font-size:11px}
  .ess-rv-tit,.ess-rv-badge{font-size:16px}
  .ess-rv-tag,.ess-rv-writer{font-size:11px}
  .ess-rv-board .pagination{font-size:14px}
}
@media (max-width:620px){
  .ess-rv-board .ess-rv-grid{grid-template-columns:minmax(0,1fr)}
  .ess-rv-lock{font-size:12px}
  .ess-rv-tit,.ess-rv-badge{font-size:17px}
}
