/* ========= 수강후기 이미지 카드 ========= */
.reviews,
.r-reviews{overflow-x:clip;max-width:100%}
.reviews{background:var(--surface)}

.rv-track{display:grid;gap:18px;margin-top:8px;padding:6px 0 10px;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}
.rv-row{display:flex;gap:18px;width:max-content;animation:rv-marq var(--dur,60s) linear infinite}
.rv-row.rev{animation-direction:reverse}
.rv-track:hover .rv-row{animation-play-state:paused}
@keyframes rv-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.rcard{
  width:318px;flex:0 0 auto;background:#fff;border:1px solid var(--border);border-radius:24px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 2px 6px rgba(16,38,31,.04),0 10px 24px rgba(30,64,175,.07);
  transition:transform .3s ease,box-shadow .3s ease;
}
.rcard:hover{transform:translateY(-6px);box-shadow:0 14px 34px rgba(30,64,175,.16)}
.rcard-img{aspect-ratio:4/3;background:var(--surface-2);overflow:hidden}
.rcard-img img{width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.rcard-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px;flex:1}
.rcard-hd{display:flex;align-items:center;gap:10px}
.rcard-av{
  width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,#2A5BD7,#1A38A0);color:#fff;font-weight:800;font-size:15px;
}
.rcard-hd b{display:block;font-size:14.5px;color:var(--text)}
.rcard-hd small{display:block;color:var(--text-3);font-size:12.5px;margin-top:1px}
.rcard .stars{margin-left:auto;color:var(--star);font-size:13px;letter-spacing:1px;white-space:nowrap}
.rcard p{
  margin:0;font-size:14.5px;line-height:1.7;color:var(--text-2);white-space:pre-line;
  display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;
}
.rcard-link{margin-top:auto;font-size:13.5px;font-weight:700;color:var(--primary)}

.rv-more{display:flex;justify-content:center;margin-top:26px}
.rv-empty{text-align:center;color:var(--text-3);padding:30px 20px;margin:0}

/* 후기 전체 페이지 */
.rv-grid{columns:1;column-gap:18px;padding:8px 0 70px}
.rv-grid .rcard{width:auto;break-inside:avoid;margin-bottom:18px;scroll-margin-top:96px;display:flex}
.rv-grid .rcard p{display:block;-webkit-line-clamp:unset}
.rv-grid .rcard:target{box-shadow:0 0 0 2px var(--primary),0 14px 34px rgba(30,64,175,.16)}
@media (min-width:700px){.rv-grid{columns:2}}
@media (min-width:1050px){.rv-grid{columns:3}}

.reviews-hero{
  background:linear-gradient(180deg,var(--primary-softer) 0%,#fff 100%);
  border-bottom:1px solid var(--border);text-align:center;padding:76px 0 54px;
}
.reviews-hero h1{margin:14px 0 10px;font-size:50px;line-height:1.1;letter-spacing:-1.5px;color:var(--text)}
.reviews-hero p{margin:0;color:var(--text-2);font-size:17px}
.reviews-hero .count{color:var(--primary);font-weight:800}
.reviews-page .rv-wrap{padding-top:38px}

@media (max-width:960px){
  .reviews-hero{padding:52px 0 38px}
  .reviews-hero h1{font-size:34px}
  .reviews-hero p{font-size:15px}
}
@media (max-width:600px){.rcard{width:272px}.rv-row{gap:14px}}
@media (prefers-reduced-motion:reduce){
  .rv-track{-webkit-mask-image:none;mask-image:none;overflow-x:auto}
  .rv-row{animation:none}
}
