@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&display=swap');

/* 기본 폰트 */
* { font-family: 'Noto Sans KR', system-ui, -apple-system, Segoe UI, Roboto, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif; }


:root{
  --card-radius:16px;
  --card-shadow:0 6px 24px rgba(16,24,40,.08);
  --border:#eee;
  --text:#111827;
  --muted:#6b7280;
  --line:#f3f4f6;
  --brand:#2D77F1;
}

/* 래퍼 */
.review-wrap{ max-width:1280px; margin:0 auto; }

/* Owl 기본 여백 조정 (양옆 살짝 보이게는 stagePadding으로 제어) */
.review-carousel.owl-carousel{ padding:4px 0; }
.review-carousel .owl-stage{ display:flex; }

/* Owl이 인라인 width/margin-right 넣는 것을 무시하고, 카드에서 폭/여백 통제 */
.review-carousel .owl-item{ width:auto !important; margin-right:0 !important; }

/* 카드 폭/여백: autoWidth:true 기준 */
.review-carousel .rv-card{ width: 340px; margin: 0 8px; }
@media (max-width:1279px){ .review-carousel .rv-card{ width: 300px; } }
@media (max-width:1023px){ .review-carousel .rv-card{ width: 280px; } }
@media (max-width:767px){  .review-carousel .rv-card{ width: 260px; } }

/* ===== 카드 공통 ===== */
.rv-card{
  display:block; background:#fff; border:1px solid var(--border);
  border-radius:var(--card-radius); overflow:hidden; 
  color:inherit; text-decoration:none; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  min-height:0;
}
.rv-card:hover{ transform:translateY(-4px); border-color:#e5e7eb; box-shadow:0 16px 28px rgba(16,24,40,.12); }

/* 이미지 */
.img-box{ position:relative; aspect-ratio: 16 / 9; background:#f5f5f5; overflow:hidden; }
.img-box img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.4,0,.2,1); }
.rv-card:hover .img-box img{ transform:scale(1.06); }

/* 본문 */
.info{ padding:14px 16px 16px; display:flex; flex-direction:column; gap:8px; min-height:0; }
.subject{
  font-weight:800; font-size:17px; line-height:1.35; color:var(--text);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.substance{
  min-height:95.19px;font-weight:400;
  font-size:14px; line-height:1.7; color:var(--muted);
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;
}

/* 메타 라인 */
.meta{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:10px; border-top:1px solid var(--line); }
.author{ font-size:13px; color:#374151; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.time{ font-size:12px; color:#9ca3af; white-space:nowrap; }

/* 별점(선택) — wr_5 값(0~5) 있을 때 표시 */
.rating{ display:inline-flex; align-items:center; gap:6px; }
.stars{
  --size:18px;
  position:relative; width:calc(var(--size) * 5); height:var(--size);
  background:linear-gradient(90deg, #fbbf24 var(--fill,0%), #e5e7eb var(--fill,0%));
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="90" height="18" viewBox="0 0 90 18"><g fill="%23000"><path d="M9 0l2.47 5.02 5.53.8-4 3.9.94 5.47L9 12.77 4.06 15.2 5 9.72 1 5.82l5.53-.8L9 0z" id="s"/><use x="18" href="#s"/><use x="36" href="#s"/><use x="54" href="#s"/><use x="72" href="#s"/></g></svg>') 0/contain no-repeat;
          mask:    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="90" height="18" viewBox="0 0 90 18"><g fill="%23000"><path d="M9 0l2.47 5.02 5.53.8-4 3.9.94 5.47L9 12.77 4.06 15.2 5 9.72 1 5.82l5.53-.8L9 0z" id="s"/><use x="18" href="#s"/><use x="36" href="#s"/><use x="54" href="#s"/><use x="72" href="#s"/></g></svg>') 0/contain no-repeat;
}
.score{ font-size:13px; color:#9ca3af; }

/* 빈 데이터 */
.no-data{
  text-align:center; padding:80px 20px; color:#9ca3af;
  font-size:16px; font-weight:600; border:1px dashed #e5e7eb; border-radius:12px; background:#fafafa;
  margin: 0 8px;
}


