/* BlueTraffic 고객 후기: reviews.php 전용 + index.php 하이라이트 섹션 공용. */

/* traffic.css 가 모든 <section> 에 전역 여백을 넣기 때문에 새 섹션은 직접 리셋한다. */
.bt-review-hero,
.bt-review-list-section,
.bt-review-highlight { padding:0; }

.bt-stars { display:inline-flex; gap:3px; line-height:1; }
.bt-star { color:#e3d9cc; font-size:14px; }
.bt-star.is-on { color:#f6a935; }

/* ── 후기 페이지 히어로 ───────────────────────────────────────────────── */
body.bt-reviews-page main>section.bt-review-hero { background:var(--v6-bg); padding:44px 0 60px; }
.bt-breadcrumb { align-items:center; color:var(--v6-muted); display:flex; font-size:13px; font-weight:650; gap:8px; margin-bottom:26px; }
.bt-breadcrumb a { color:var(--v6-copy); }
.bt-breadcrumb a:hover { color:var(--v6-brand); }

.bt-review-hero-grid { align-items:center; display:grid; gap:44px; grid-template-columns:1.15fr .85fr; }
.bt-eyebrow { color:var(--v6-brand); display:block; font-size:13px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.bt-review-hero-copy h1 { color:var(--v6-ink); font-size:clamp(34px,4.6vw,52px); font-weight:850; letter-spacing:-.05em; line-height:1.14; margin:14px 0 0; }
.bt-review-hero-copy h1 .bt-review-title-line { color:var(--v6-ink); display:block; white-space:nowrap; }
.bt-review-hero-copy h1 .bt-review-title-count { color:var(--v6-brand); }
.bt-review-hero-copy>p { color:var(--v6-copy); font-size:16px; line-height:1.78; margin:20px 0 0; max-width:56ch; }
.bt-review-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.bt-btn-primary,.bt-btn-ghost { align-items:center; border-radius:999px; display:inline-flex; font-size:15px; font-weight:750; gap:9px; justify-content:center; min-height:52px; padding:14px 25px; transition:transform .2s ease,box-shadow .2s ease; }
.bt-btn-primary { background:var(--v6-brand); box-shadow:0 14px 28px -14px rgba(242,84,45,.65); color:#fff; }
.bt-btn-ghost { background:#fff; border:1px solid var(--v6-line); color:var(--v6-ink); }
.bt-btn-primary:hover,.bt-btn-ghost:hover { box-shadow:0 14px 25px -16px rgba(33,29,24,.45); transform:translateY(-2px); }

.bt-score-card { background:#fff; border:1px solid var(--v6-line); border-radius:28px; box-shadow:0 18px 42px -30px rgba(57,45,32,.4); padding:30px; }
.bt-score-top { align-items:center; display:flex; gap:18px; }
.bt-score-top>strong { color:var(--v6-ink); font-size:56px; font-weight:850; letter-spacing:-.05em; line-height:1; }
.bt-score-top .bt-star { font-size:16px; }
.bt-score-top p { color:var(--v6-copy); font-size:13.5px; margin:8px 0 0; }
.bt-score-bars { border-top:1px solid var(--v6-line); display:grid; gap:9px; list-style:none; margin:22px 0 0; padding:22px 0 0; }
.bt-score-bars li { align-items:center; display:grid; gap:12px; grid-template-columns:32px 1fr 30px; }
.bt-score-label { color:var(--v6-copy); font-size:13px; font-weight:700; }
.bt-score-track { background:#f2ebe2; border-radius:999px; display:block; height:8px; overflow:hidden; }
.bt-score-fill { background:var(--v6-brand); border-radius:999px; display:block; height:100%; }
.bt-score-count { color:var(--v6-muted); font-size:13px; font-weight:650; text-align:right; }
.bt-score-note { color:var(--v6-muted); font-size:12.5px; line-height:1.6; margin:18px 0 0; }

/* ── 필터 ─────────────────────────────────────────────────────────────── */
body.bt-reviews-page main>section.bt-review-list-section { background:var(--v6-section-alt); padding:60px 0 78px; }
.bt-filter-row { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:30px; }
.bt-filter { align-items:center; background:#fff; border:1px solid var(--v6-line); border-radius:999px; color:var(--v6-copy); cursor:pointer; display:inline-flex; font-family:inherit; font-size:14px; font-weight:700; gap:8px; min-height:44px; padding:10px 17px; transition:border-color .18s ease,background .18s ease,color .18s ease; }
.bt-filter i { color:var(--v6-muted); font-size:13px; }
.bt-filter span { background:#f4ede4; border-radius:999px; color:var(--v6-muted); font-size:12px; font-weight:750; padding:2px 8px; }
.bt-filter:hover { border-color:#f0bfae; color:var(--v6-ink); }
.bt-filter.is-active { background:var(--v6-ink); border-color:var(--v6-ink); color:#fff; }
.bt-filter.is-active i { color:#ffb69f; }
.bt-filter.is-active span { background:rgba(255,255,255,.18); color:#fff; }

/* ── 후기 카드 ────────────────────────────────────────────────────────── */
.bt-review-grid { align-items:start; display:grid; gap:20px; grid-template-columns:repeat(3,1fr); }
.bt-review-card { background:#fff; border:1px solid var(--v6-line); border-radius:22px; display:flex; flex-direction:column; padding:24px 24px 20px; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.bt-review-card .bt-review-card-foot { margin-top:auto; }
.bt-review-card:hover { border-color:#f4c6b9; box-shadow:0 14px 32px -20px rgba(57,45,32,.4); transform:translateY(-2px); }
.bt-review-card[hidden] { display:none; }
.bt-review-card-head { align-items:center; display:flex; justify-content:space-between; }
.bt-review-date { color:var(--v6-muted); font-size:12.5px; font-weight:650; }
.bt-review-title { color:var(--v6-ink); font-size:16.5px; font-weight:800; letter-spacing:-.02em; line-height:1.45; margin:13px 0 0; }
.bt-review-body { color:var(--v6-copy); font-size:14.5px; line-height:1.78; margin:10px 0 0; }
.bt-review-card-foot { align-items:center; border-top:1px solid #f3ebe1; display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; margin-top:18px; padding-top:14px; }
.bt-review-author { color:var(--v6-muted); font-size:13px; font-weight:700; }
.bt-review-tag { align-items:center; background:#f7f1e9; border-radius:999px; color:#5d564a; display:inline-flex; font-size:12px; font-weight:700; gap:6px; padding:6px 11px; }
.bt-review-tag i { font-size:12px; }
.bt-review-tag--instagram i { color:#d62976; }
.bt-review-tag--youtube i { color:#ff0033; }
.bt-review-tag--tiktok i,.bt-review-tag--x i,.bt-review-tag--threads i { color:#26221d; }
.bt-review-tag--facebook i { color:#1877f2; }
.bt-review-tag--telegram i { color:#229ed9; }
.bt-review-tag--spotify i { color:#1ed760; }
.bt-review-tag--traffic i { color:var(--v6-brand); }
.bt-review-empty { color:var(--v6-muted); font-size:15px; padding:40px 0; text-align:center; }

body.bt-reviews-page .v6-faq-section { background:var(--v6-bg); }
body.bt-reviews-page main h1,
body.bt-reviews-page main h2,
body.bt-reviews-page main h3,
body.bt-reviews-page main p,
body.bt-reviews-page main li,
body.bt-reviews-page main summary { overflow-wrap:break-word; word-break:keep-all; }

/* ── 메인 페이지 하이라이트 섹션 ──────────────────────────────────────── */
body.traffic-home-v6 main>section.bt-review-highlight { background:var(--v6-section-alt); padding:76px 0; }
.bt-highlight-head { align-items:flex-end; display:flex; gap:30px; justify-content:space-between; margin-bottom:34px; }
.bt-highlight-head>div>span { color:var(--v6-brand); font-size:13px; font-weight:800; letter-spacing:.09em; }
.bt-highlight-head h2 { color:var(--v6-ink); font-size:clamp(28px,3.8vw,42px); font-weight:850; letter-spacing:-.045em; line-height:1.2; margin:10px 0 0; }
.bt-highlight-head>div>p { color:var(--v6-copy); font-size:16px; line-height:1.7; margin:12px 0 0; max-width:52ch; }
.bt-highlight-score { background:#fff; border:1px solid var(--v6-line); border-radius:20px; flex:0 0 auto; padding:18px 22px; text-align:center; }
.bt-highlight-score strong { color:var(--v6-ink); display:block; font-size:34px; font-weight:850; letter-spacing:-.04em; line-height:1.1; }
.bt-highlight-score .bt-star { font-size:13px; }
.bt-highlight-score p { color:var(--v6-muted); font-size:12.5px; font-weight:650; margin:7px 0 0; }
.bt-highlight-grid { display:grid; gap:18px; grid-template-columns:repeat(4,1fr); }
.bt-highlight-grid .bt-review-card { margin:0; }
.bt-highlight-more { display:flex; justify-content:center; margin-top:32px; }
.bt-highlight-more a { align-items:center; background:var(--v6-ink); border-radius:999px; color:#fff; display:inline-flex; font-size:15px; font-weight:750; gap:9px; min-height:52px; padding:14px 26px; }
.bt-highlight-more a:hover { background:#352f28; }

@media (max-width:1080px) {
    .bt-review-hero-grid { gap:32px; grid-template-columns:1fr; }
    .bt-score-card { max-width:520px; }
    .bt-review-grid { grid-template-columns:repeat(2,1fr); }
    .bt-highlight-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:760px) {
    body.bt-reviews-page main>section.bt-review-hero { padding:30px 0 44px; }
    .bt-review-hero-copy h1 { font-size:clamp(27px,8.6vw,34px); }
    body.bt-reviews-page main>section.bt-review-list-section { padding:44px 0 58px; }
    body.traffic-home-v6 main>section.bt-review-highlight { padding:58px 0; }
    .bt-review-hero-actions { display:grid; grid-template-columns:1fr; max-width:340px; }
    .bt-score-card { padding:24px; }
    .bt-score-top>strong { font-size:46px; }
    .bt-review-grid { grid-template-columns:1fr; }
    .bt-highlight-grid { grid-template-columns:1fr; }
    .bt-highlight-head { align-items:flex-start; flex-direction:column; gap:20px; }
    .bt-filter-row { flex-wrap:nowrap; margin-inline:-16px; overflow-x:auto; padding:2px 16px 8px; scrollbar-width:none; }
    .bt-filter-row::-webkit-scrollbar { display:none; }
    .bt-filter { flex:0 0 auto; }
}
