.reviews-visual { min-width: 0; }
.reviews-visual p { margin: 0; }
.review-stars { display: inline-flex; gap: 2px; flex-shrink: 0; }
.review-stars svg { width: 18px; height: 18px; fill: currentColor; stroke-width: 1; }
.review-example-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 32px; margin-top: 28px; align-items: start; }
.review-example-card { min-width: 0; padding: 24px; background: #fff; color: #202124; border: 1px solid #dadce0; border-radius: 8px; font-family: Arial, sans-serif; font-size: 16px; line-height: 1.65; }
.review-person { display: flex; align-items: center; gap: 12px; }
.review-avatar { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border-radius: 50%; background: #e8eaed; color: #3c4043; font-size: 20px; }
.review-person-name { font-weight: 700; }
.review-example-card .review-person-detail { margin-top: 2px; color: #5f6368; font-size: 13px; }
.review-example-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; color: #5f6368; font-size: 13px; }
.review-example-rating .review-stars { color: #fbbc04; }
.review-example-card .review-example-text { margin-top: 14px; }
.review-owner-reply { margin-top: 20px; padding: 16px; border-radius: 4px; background: #f1f3f4; }
.review-owner-reply .review-owner-meta { margin-bottom: 10px; font-size: 13px; color: #5f6368; }
.review-owner-reply .review-owner-name { margin-top: 8px; }
.review-why h4 { color: var(--visual-yellow); font-size: 20px; }
.review-why dl { margin: 20px 0 0; }
.review-why dl > div { margin-top: 20px; padding-left: 16px; border-left: 2px solid var(--visual-yellow); }
.review-why dt { font-weight: 700; }
.review-why dd { margin: 6px 0 0; color: var(--visual-muted); font-size: 14px; }
.review-ratings .figure-ratings { margin: 0; }
.review-ratings .figure-subtitle { margin-top: 16px; }
.review-request-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.review-request-panels section { min-width: 0; padding: 24px; border: 1px solid; }
.review-request-panels h4 { font-size: 20px; }
.review-request-panels .review-request-do { background: #1b2d24; border-color: #45614f; }
.review-request-do h4, .review-request-do svg { color: #a8d9bb; }
.review-request-panels .review-request-dont { background: #34201f; border-color: #70504b; }
.review-request-dont h4, .review-request-dont svg { color: #ffb7aa; }
.reviews-visual .review-request-panels ul { display: grid; gap: 18px; padding: 0; margin: 22px 0 0; list-style: none; }
.reviews-visual .review-request-panels li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; margin: 0; padding: 0; }
.review-request-panels li svg { margin-top: 2px; }
.review-tree { margin-top: 28px; }
.review-tree-start { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.reviews-visual .review-tree-node { padding: 18px 16px; border: 1px solid var(--visual-line); background: var(--visual-surface); font-size: 15px; text-align: center; }
.review-tree-start .review-tree-node { width: min(100%, 300px); }
.reviews-visual .review-tree-question { border-color: var(--visual-yellow); font-weight: 700; }
.review-tree-arrow { display: block; align-self: center; color: var(--visual-muted); }
.review-tree-branches { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 24px; padding-top: 30px; padding-bottom: 30px; }
.review-tree-branches::before { content: ""; position: absolute; top: 0; height: 15px; left: 50%; border-left: 1px solid var(--visual-muted); }
.review-tree-branches > section { position: relative; min-width: 0; display: flex; flex-direction: column; }
.review-tree-branches > section::before, .review-fair-branches > section::before { content: ""; position: absolute; top: -15px; left: 50%; height: 15px; border-left: 1px solid var(--visual-muted); }
.review-tree-branches > section::after { content: ""; position: absolute; top: -15px; border-top: 1px solid var(--visual-muted); }
.review-tree-unverified::after { left: 50%; right: calc(-50% - 24px); }
.review-tree-genuine::after { left: -25%; right: 50%; }
.reviews-visual .review-branch-label { margin-bottom: 10px; text-align: center; font-size: 14px; color: var(--visual-yellow); }
.review-tree-path { display: flex; flex-direction: column; gap: 12px; height: 100%; }
.review-tree-path .review-tree-leaf { margin-top: auto; }
.review-fair-branches { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 30px; flex: 1; }
.review-fair-branches::before { content: ""; position: absolute; top: -15px; left: calc(25% - 6px); right: calc(25% - 6px); border-top: 1px solid var(--visual-muted); }
.review-fair-branches::after { content: ""; position: absolute; top: -30px; left: 50%; height: 15px; border-left: 1px solid var(--visual-muted); }
.review-fair-branches > section { display: flex; flex-direction: column; position: relative; min-width: 0; }
.review-fair-branches .review-tree-leaf { flex: 1; display: grid; place-items: center; }
.review-tree-leaf { position: relative; }
.review-tree-leaf::after { content: ""; position: absolute; top: 100%; left: 50%; height: 31px; border-left: 1px solid var(--visual-muted); }
.reviews-visual .review-tree-end { position: relative; padding: 22px; background: var(--visual-yellow); color: var(--visual-ink); text-align: center; font-weight: 700; }
.review-page-examples { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.review-page-example { min-width: 0; }
.review-page-example h4 { font-size: 18px; }
.review-page-window { margin-top: 18px; border: 1px solid var(--visual-line); background: var(--visual-surface); border-radius: 4px; overflow: hidden; }
.review-page-toolbar { display: flex; align-items: center; gap: 12px; padding: 10px; border-bottom: 1px solid var(--visual-line); color: var(--visual-muted); }
.review-page-toolbar span { width: 60%; height: 6px; background: var(--visual-line); }
.review-page-content { padding: 18px 14px; }
.review-page-heading { width: 75%; height: 12px; margin-bottom: 16px; background: var(--visual-muted); }
.review-page-lines { display: grid; gap: 8px; }
.review-page-lines span { display: block; width: 100%; height: 5px; background: var(--visual-line); }
.review-page-lines span:last-child { width: 70%; }
.review-page-highlight { margin-block: 20px; padding: 16px 12px; background: var(--visual-yellow); color: var(--visual-ink); }
.review-page-highlight .review-stars { display: flex; margin-bottom: 12px; }
.review-page-highlight .review-page-lines span { background: var(--visual-ink); opacity: .65; }
.review-page-example > p { margin-top: 16px; font-size: 14px; color: var(--visual-muted); }
.reviews-visual .figure-note { margin-top: 24px; }
@media (max-width: 700px) {
  .review-example-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .review-example-card { padding: 20px; }
  .review-ratings .figure-ratings dt { font-size: 14px; line-height: 1.4; }
  .review-ratings .figure-ratings > div { padding-block: 10px; }
  .review-request-panels { grid-template-columns: minmax(0, 1fr); }
  .review-request-panels section { padding: 22px; }
  .review-tree-branches { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-left: 10px; padding-left: 22px; padding-block: 28px; border-left: 1px solid var(--visual-muted); }
  .review-tree-branches::before { top: 0; left: -1px; width: calc(50% + 5px); height: 0; border-left: 0; border-top: 1px solid var(--visual-muted); }
  .review-tree-branches > section::before { display: none; }
  .review-tree-branches > section::after { top: 10px; left: -22px; right: auto; width: 22px; }
  .reviews-visual .review-branch-label { text-align: left; }
  .review-tree-path .review-tree-leaf { margin-top: 0; }
  .review-tree-leaf::after { display: none; }
  .review-fair-branches { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-left: 16px; margin-top: 20px; border-left: 1px solid var(--visual-muted); }
  .review-fair-branches::before { top: -20px; left: -1px; right: 50%; height: 20px; border-left: 1px solid var(--visual-muted); }
  .review-fair-branches::after { display: none; }
  .review-fair-branches > section::before { top: 10px; left: -17px; width: 16px; height: 0; border-left: 0; border-top: 1px solid var(--visual-muted); }
  .review-tree-end::before { content: ""; position: absolute; bottom: 100%; left: 10px; right: 50%; border-top: 1px solid var(--visual-muted); }
  .review-page-examples { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .review-page-example { width: min(100%, 320px); margin-inline: auto; }
}
