/* =========================================================
   お客様の声のページ（/reviews・/en/reviews）。発注書 S35
   下層ページのパーツ（pages.css）に、このページだけの部品を足す。カード（.rv-card）はトップの「お客様の声」と同じ（style.css）。
   文字の大きさは S24 の決まり（標準の値 × var(--fs)）
   ========================================================= */

/* ---------- 星の数での絞り込み ---------- */
.rvp-filter{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin:0 0 28px; }
.rvp-filter__list{ display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.rvp-chip{ display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:6px 18px; border-radius:var(--radius-pill); background:#fff; box-shadow:0 2px 0 rgba(62,68,120,.08); color:var(--c-ai); font-weight:700; font-size:calc(15px * var(--fs)); text-decoration:none; line-height:1.4; }
.rvp-chip:hover{ background:var(--c-fuji-pale); }
.rvp-chip[aria-current="page"]{ background:var(--c-ai); color:#fff; }
.rvp-chip__count{ font-family:var(--ff-en); font-size:calc(13px * var(--fs)); font-weight:500; opacity:.75; }
.rvp-filter__total{ margin:0; font-size:calc(14px * var(--fs)); font-weight:700; color:var(--c-ink-sub); }

/* ---------- 格子（SP 1 列・PC 3 列。間の幅の画面は 2 列） ---------- */
.rvp-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:18px; margin:0; padding:0; list-style:none; }
@media (min-width:700px){ .rvp-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (min-width:1200px){ .rvp-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; } }
.rvp-grid > .rv-card{ min-width:0; }

/* ---------- ページ送り ---------- */
.rvp-pager{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px 16px; margin-top:36px; }
.rvp-pager__now{ margin:0; font-weight:700; color:var(--c-ink-sub); font-size:calc(14px * var(--fs)); }
.rvp-pager__pages{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px; width:100%; margin:0; padding:0; list-style:none; order:3; }
.rvp-pager__page{ display:grid; place-items:center; min-width:44px; min-height:44px; padding:0 6px; border-radius:12px; background:#fff; box-shadow:0 2px 0 rgba(62,68,120,.08); color:var(--c-ai); font-family:var(--ff-en); font-weight:700; font-size:calc(15px * var(--fs)); text-decoration:none; }
.rvp-pager__page:hover{ background:var(--c-fuji-pale); }
.rvp-pager__page[aria-current="page"]{ background:var(--c-ai); color:#fff; }
.rvp-pager__prev .i{ width:18px; height:18px; }

/* ---------- 出どころの注記 ---------- */
.rvp-source{ display:flex; flex-direction:column; align-items:center; gap:12px; margin-top:44px; padding-top:28px; border-top:2px dashed var(--rule); text-align:center; }
.rvp-source__text{ margin:0; font-size:calc(14px * var(--fs)); line-height:1.8; color:var(--c-ink-sub); }

@media (max-width:767px){
  /* 絞り込みは 1 行（SP で 3 つ並ぶ）。件数は下の行に */
  .rvp-filter{ gap:10px; margin-bottom:22px; }
  .rvp-chip{ padding:6px 16px; }
}
