/* ───────────────────────────────────────────────
   block_reviews — 수강 후기
   상단 다크 인용 배너(라운드 박스) + 중앙 sect-head + Swiper 'cards' 카드 캐러셀
   scope: .block_reviews 안에서만. base.css :root 토큰만 사용. hover 시각효과 없음.
   ─────────────────────────────────────────────── */

/* ==== 다크 인용 배너 (컨테이너 안 라운드 박스) ==== */
.block_reviews__banner {
  position: relative;
  margin: 0 0 var(--space-2xl);
  padding: clamp(40px, 6vw, 72px) clamp(28px, 5vw, 64px);
  background: var(--ink-900);
  border-radius: var(--r-xl);
  overflow: hidden;
}
.block_reviews__banner-mark {
  position: absolute;
  top: clamp(8px, 2vw, 24px);
  left: clamp(20px, 4vw, 48px);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(120px, 18vw, 220px);
  line-height: 0.7;
  color: var(--orange-700);
  opacity: 0.22;
  pointer-events: none;
  user-select: none;
}
.block_reviews__banner-quote {
  position: relative;
  z-index: 1;
  max-width: 28ch;
  margin: 0 auto;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--fs-display-sm);
  line-height: var(--lh-display-md);
  letter-spacing: var(--tracking-display-sm);
  text-align: center;
  text-wrap: balance;
  color: var(--white);
}
.block_reviews__banner-quote em {
  font-style: italic;
  font-weight: 500;
  color: var(--orange-700);
}

/* ==== 2단 레이아웃: 좌 헤더+컨트롤 / 우 카드 ==== */
.block_reviews__layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.6fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}
.block_reviews__aside { align-self: center; }
.block_reviews .sect-head { margin-bottom: var(--space-xl); text-align: left; }
.block_reviews__head { text-align: left; }
.block_reviews__head .hi-ai-display,
.block_reviews__head .sect-head__title { text-align: left; }

/* ==== 카드 캐러셀 래퍼 ==== */
.block_reviews__carousel {
  min-width: 0;   /* grid 자식 overflow 방지 */
}

/* cards effect — 슬라이드가 겹쳐 쌓이므로 약간의 여백 확보 */
.block_reviews__swiper {
  width: 100%;
  max-width: 660px;             /* 본체 너비 */
  margin-top: var(--space-2xl); /* 전체적으로 살짝 아래로 */
  padding-block: var(--space-md);
  padding-right: clamp(24px, 4vw, 56px);   /* 뒤 스택 카드가 보이도록 */
  overflow: visible;
}
.block_reviews__swiper .swiper-slide {
  height: auto;
}

/* ==== 카드 (흰 배경 라운드 큰 카드) ==== */
.block_reviews__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  min-height: 320px;
  padding: clamp(28px, 4vw, 40px);
  background: var(--white);
  border: 1px solid var(--ink-200);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-rise);
}

/* ==== 후기 본문 (raw HTML) ==== */
.block_reviews__card-body { /* 폰트 키움, 세로 중앙 */
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 20px; /* 본문 확대 */
  line-height: var(--lh-loose);
  color: var(--ink-800);
}
.block_reviews__card-body p { margin-bottom: var(--space-sm); }
.block_reviews__card-body p:last-child { margin-bottom: 0; }

/* 강조 하이라이트 — 라이브 핑크 형광펜을 sadari 오렌지로.
   <mark> / <strong> 를 연한 오렌지 배경 + 진한 오렌지 텍스트로 */
.block_reviews__card-body mark,
.block_reviews__card-body strong {
  background: var(--orange-100);
  color: var(--orange-900);
  font-weight: 600;
  padding: 0.04em 0.22em;
  border-radius: var(--r-xs);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

/* ==== 작성자 푸터 ==== */
.block_reviews__card-author {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding-top: var(--space-md);
  border-top: 1px solid var(--ink-100);
}
.block_reviews__card-avatar {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: var(--r-full);
  object-fit: cover;
  background: var(--ink-100);
}
.block_reviews__card-avatar--initial {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--fs-title-md);
  color: var(--white);
  background: var(--orange-700);
}
.block_reviews__card-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.block_reviews__card-name {
  font-size: var(--fs-title-sm);
  font-weight: 600;
  color: var(--ink-900);
}
.block_reviews__card-course {
  font-size: var(--fs-body-sm);
  color: var(--ink-500);
}

/* ==== 컨트롤 — 좌우 화살표 + 도트 페이지네이션 ==== */
.block_reviews__controls {
  display: flex;
  align-items: center;
  justify-content: center;   /* 도트 가운데 */
  margin-top: var(--space-xl);
}
/* 화살표 — 좌측 aside 타이틀 하단 */
.block_reviews__nav {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-top: var(--space-lg);
}
.block_reviews__nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--ink-200);
  border-radius: var(--r-full);
  background: var(--paper);
  color: var(--ink-900);
  font-size: var(--fs-body-md);
  line-height: 1;
}
.block_reviews__nav-btn.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

/* 도트 페이지네이션 (Swiper bullets) */
.block_reviews__dots {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  width: auto;
}
.block_reviews__dots .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0 !important;
  border-radius: var(--r-full);
  background: var(--ink-300);
  opacity: 1;
}
.block_reviews__dots .swiper-pagination-bullet-active {
  width: 22px;
  border-radius: var(--r-pill);
  background: var(--orange-700);
}

@media (max-width: 600px) {
  .block_reviews__banner-mark { font-size: clamp(96px, 24vw, 140px); }
}

/* ==== 반응형: 좁은 화면 1단 ==== */
@media (max-width: 900px) {
  .block_reviews__layout { grid-template-columns: 1fr; gap: var(--space-xl); }
  .block_reviews__swiper { padding-right: 0; }
}
