/* 참강사 이용후기 프리미엄 12카드: index.php 전용, 기존 섹션·기능 격리 */
.v12-reviews .cm20-review-wall{padding-block:clamp(48px,5.2vw,80px);color:#143a31}
.cm20-review-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}
.cm20-review-head h2{font-family:var(--v12-serif,Georgia,serif);font-size:clamp(29px,3vw,43px);font-weight:600;line-height:1.36;letter-spacing:-.04em;margin:5px 0 0;color:#143a31}
.cm20-review-head h2 em{font-style:normal;color:#a17a45}
.cm20-review-head>p{color:#66786d;font-size:13px;line-height:1.8;max-width:365px;margin:0;word-break:keep-all}
.cm20-review-head .eyebrow{font-size:10px;letter-spacing:.13em;color:#997b52}
.cm20-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.cm20-review-grid>.cm20-review-tile{display:flex;flex-direction:column;gap:10px;min-width:0;height:184px;margin:0;padding:18px 19px 15px;border-radius:15px;background:linear-gradient(157deg,#fffefb 0%,#fcfaf5 100%);border:1px solid #e6e2d8;box-shadow:0 6px 19px rgba(25,56,43,.045);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;overflow:hidden}
.cm20-review-grid>.cm20-review-tile:hover{transform:translateY(-3px);box-shadow:0 12px 27px rgba(20,53,40,.09);border-color:#c6b68b}
.cm20-review-tile-top{display:flex;align-items:center;justify-content:space-between;min-height:20px}
.cm20-review-quote-mark{font-family:Georgia,serif;font-size:38px;line-height:.7;color:#b18c53;font-weight:600}
.cm20-review-counter{font-size:10px;letter-spacing:.16em;color:#a18d75;font-weight:750;font-variant-numeric:tabular-nums}
.cm20-review-tile blockquote{margin:2px 0 0!important;padding:0!important;border:0!important;font-size:clamp(12px,1.05vw,14px);font-weight:600;line-height:1.7;letter-spacing:-.025em;color:#234638;word-break:keep-all;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;flex:1;min-height:0}
.cm20-review-tile-bottom{margin-top:auto;display:flex;align-items:center;gap:7px;min-height:22px;padding-top:9px;border-top:1px solid #e9e8e2;font-size:10px;font-weight:650;color:#64786b;white-space:nowrap}
.cm20-review-dot{width:6px;height:6px;flex:none;border-radius:100%;background:#ba9a67}
.cm20-review-verified{margin-left:auto;font-size:8px;font-weight:800;letter-spacing:.06em;color:#a9a39a}
.cm20-review-image-label{font-size:11px;font-weight:750;color:#6e6b5b}
.cm20-review-image-tile>a{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;min-height:0;overflow:hidden;text-decoration:none;color:#214c3b}
.cm20-review-image-tile>a img{display:block;width:45%;height:103px;min-width:0;object-fit:contain;object-position:center;background:#f2f0eb;border:1px solid #ece8de;border-radius:7px}
.cm20-review-image-tile>a span{max-width:53%;font-size:12px;font-weight:750;line-height:1.4}
.cm20-review-image-tile>a:hover span{text-decoration:underline}
.cm20-review-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:21px}
.cm20-review-bottom p{margin:0;color:#889087;font-size:11px}
.cm20-review-cta{display:inline-flex;align-items:center;gap:13px;text-decoration:none;font-size:12px;font-weight:800;color:#1b513e;border-bottom:1px solid #b5a181;padding-bottom:7px}
.cm20-review-cta:hover{color:#9d7040}
@media(max-width:1180px){.cm20-review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:860px){.cm20-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.cm20-review-head{align-items:start}.cm20-review-head>p{max-width:290px}}
@media(max-width:600px){.v12-reviews .cm20-review-wall{padding-block:47px 55px}.cm20-review-head{display:block;margin-bottom:18px}.cm20-review-head h2{font-size:29px}.cm20-review-head>p{max-width:none;font-size:12px;margin-top:10px}.cm20-review-grid{grid-template-columns:1fr;gap:9px}.cm20-review-grid>.cm20-review-tile{height:146px;padding:14px 17px 12px;border-radius:13px;gap:6px}.cm20-review-tile blockquote{font-size:13px;line-height:1.58;-webkit-line-clamp:3;line-clamp:3}.cm20-review-tile-bottom{padding-top:7px}.cm20-review-image-tile>a img{height:68px;width:90px}.cm20-review-bottom{align-items:start;flex-direction:column;gap:12px}.cm20-review-cta{font-size:12px}}
@media(prefers-reduced-motion:reduce){.cm20-review-grid>.cm20-review-tile{transition:none}.cm20-review-grid>.cm20-review-tile:hover{transform:none}}

/* 2026-10-29 / REAL CONVERSATIONS contrast + compact viewport hotfix.
   Scoped to the home-page reviews and navigation only. It must override
   generic sitewide h2 { color: #18372d } rules on dark surfaces.
   The original review carousel, approved review data, and scripts are unchanged. */
body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-copy #v12-review-heading {
  color:#f7f7ef !important;
  font-size:clamp(33px,3.35vw,54px);
  font-weight:600;
  line-height:1.31;
  letter-spacing:-.035em;
  text-shadow:0 2px 12px rgba(0,0,0,.20);
  opacity:1 !important;
  visibility:visible !important;
}
body.homepage .v12-reviews .v12-reviews-dark #v12-review-heading em {
  color:#efc28a !important;
  opacity:1 !important;
}
body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-copy > p.eyebrow.light {
  color:#efc28a !important;
  font-size:12px;
  line-height:1.55;
  letter-spacing:.11em;
  font-weight:800;
}
body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-copy > p:not(.eyebrow):not(.v12-gallery-note) {
  color:#edf7f1 !important;
  font-size:clamp(15px,1.15vw,18px);
  font-weight:500;
  line-height:1.82;
  opacity:1;
}
body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-copy > .v12-gallery-note {
  color:#dae9df !important;
  font-size:13px;
  line-height:1.7;
  opacity:1;
}
body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-copy .v12-gallery-tools #review-count,
body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-copy .v12-gallery-pause {
  color:#fff4e1 !important;
  font-size:14px;
  font-weight:700;
  opacity:1;
}
body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-tools button {
  color:#fffaf0 !important;
  border-color:rgba(255,250,240,.65) !important;
  opacity:1;
}
body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-tools button:hover,
body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-tools button:focus-visible {
  background:rgba(255,255,255,.14);
  border-color:#fff !important;
}
body.homepage .v12-reviews .v12-reviews-dark .v12-review-slide figcaption {
  color:#775b38;
}
body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-layout,
body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-layout > *,
body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-main {
  min-width:0;
  max-width:100%;
}
body.homepage .v12-reviews .v12-reviews-dark .v12-review-viewport {
  min-width:0;
  max-width:100%;
}
body.homepage .v12-reviews .v12-reviews-dark .v12-review-thumbnails {
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
/* Avoid cutting off reviews or the primary menu on a compact browser window. */
@media(max-width:1120px) {
  body.homepage .v12-reviews .v12-reviews-dark .wrap.v12-gallery-layout {
    width:calc(100% - 40px) !important;
    max-width:880px !important;
    margin-inline:auto !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:clamp(24px,4vw,44px) !important;
  }
  body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-copy,
  body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-main {
    width:100%;
    max-width:100%;
    min-width:0;
  }
  body.homepage #topbar.v12-header .nav {display:none !important;}
  body.homepage #topbar.v12-header .menu-btn {
    display:flex !important;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-width:44px;
    min-height:44px;
  }
  body.homepage #topbar.v12-header > .wrap {
    width:calc(100% - 32px) !important;
    max-width:100% !important;
    min-width:0;
  }
}
@media(max-width:600px) {
  body.homepage .v12-reviews .v12-reviews-dark .wrap.v12-gallery-layout {
    width:calc(100% - 30px) !important;
    gap:23px !important;
  }
  body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-copy #v12-review-heading {
    font-size:clamp(30px,8.7vw,39px);
    line-height:1.35;
  }
  body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-copy > p:not(.eyebrow):not(.v12-gallery-note) {
    font-size:15px;
  }
  body.homepage .v12-reviews .v12-reviews-dark .v12-gallery-copy > .v12-gallery-note {
    font-size:12px;
  }
}
