.reviews-page { min-height:calc(100vh - 88px); padding:34px clamp(32px,5vw,76px) 72px; background:#fff; }

/* Табы переключения (как company-section-nav) */
.reviews-tabs { display:flex; margin-top:30px; overflow-x:auto; gap:28px; border-bottom:1px solid var(--cab-line-strong); scrollbar-width:none; }
.reviews-tabs::-webkit-scrollbar { display:none; }
.reviews-tabs button { position:relative; min-height:48px; padding:12px 0 13px; flex:0 0 auto; border:0; background:transparent; color:var(--cab-copy); font-size:15px; font-weight:650; white-space:nowrap; cursor:pointer; }
.reviews-tabs button:hover { color:var(--cab-brand); }
.reviews-tabs button.is-active { color:var(--cab-brand); }
.reviews-tabs button.is-active::after { position:absolute; right:0; bottom:-1px; left:0; height:3px; background:var(--cab-brand); content:''; }
.reviews-tabs button:focus-visible { outline:2px solid var(--cab-brand); outline-offset:3px; }

.reviews-panel { margin-top:38px; }

/* Сводка */
.reviews-summary { padding:30px; border:1px solid var(--cab-line-strong); border-radius:12px; background:#fff; }
.reviews-summary-head { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.reviews-summary-head h2 { margin:0; color:var(--cab-ink); font-size:28px; line-height:1.1; letter-spacing:-.025em; }
.reviews-summary-stats { display:flex; gap:40px; flex-wrap:wrap; }
.reviews-summary-stats > div { display:grid; gap:6px; }
.reviews-summary-stats span { color:var(--cab-muted); font-size:13px; font-weight:650; }
.reviews-summary-stats strong { color:var(--cab-ink); font:560 28px/1 'Iosevka Charon Mono',monospace; }

/* Фильтры (как services-tools) */
.reviews-tools { display:grid; grid-template-columns:minmax(0,1fr) 240px; margin-top:20px; padding:18px 28px; align-items:end; gap:16px; border:1px solid var(--cab-line-strong); border-bottom:1px solid var(--cab-line); border-radius:12px; background:var(--cab-surface); }
.reviews-search,.reviews-filter { display:grid; gap:7px; color:var(--cab-copy); font-size:13px; font-weight:650; }
.reviews-search select,.reviews-filter select { width:100%; height:44px; padding:0 34px 0 12px; border:1px solid var(--cab-line-strong); border-radius:8px; background:#fff; color:var(--cab-ink); font:400 15px/1.3 'Finlandica Text',sans-serif; }
.reviews-search select:focus,.reviews-filter select:focus { border-color:var(--cab-brand); outline:3px solid var(--cab-focus); }

/* Список отзывов */
.reviews-list { display:grid; margin-top:20px; gap:12px; }
.review-card { padding:22px 28px; border:1px solid var(--cab-line-strong); border-radius:12px; background:#fff; cursor:pointer; transition:box-shadow 180ms var(--cab-ease); }
.review-card:hover { box-shadow:0 4px 18px rgba(33,38,48,.07); }
.review-card-toggle { flex:0 0 auto; display:grid; place-items:center; width:44px; height:44px; border:1.5px solid var(--cab-line-strong); border-radius:10px; background:var(--cab-surface-strong); color:var(--cab-copy); cursor:pointer; transition:background 180ms var(--cab-ease),border-color 180ms var(--cab-ease),color 180ms var(--cab-ease),transform 180ms var(--cab-ease); }
.review-card-toggle:hover { background:#f0f1f3; border-color:#b0b5be; color:var(--cab-ink); }
.review-card.is-open .review-card-toggle { background:var(--cab-brand); border-color:var(--cab-brand); color:#fff; }
.review-card-toggle:active { transform:scale(0.94); }
.review-card-toggle:focus-visible { outline:2px solid var(--cab-brand); outline-offset:2px; }
.review-card-toggle svg { display:block; transition:transform 220ms var(--cab-ease); }
.review-card.is-open .review-card-toggle svg { transform:rotate(180deg); }
.review-card-head { display:flex; align-items:center; gap:16px; }
.review-card-head > div:first-child { display:grid; gap:6px; min-width:0; flex:1 1 0; }
.review-card-head strong { color:var(--cab-ink); font-size:20px; font-weight:400; line-height:1.2; letter-spacing:-.01em; }
.review-card-head small { color:var(--cab-muted); font-size:13px; font-weight:650; }
.review-card-head-right { display:flex; align-items:center; gap:20px; flex:0 0 auto; }
.review-card-score { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; padding:0; border:1.5px solid var(--cab-line-strong); border-radius:10px; background:#fff; color:var(--cab-ink); font:700 16px/1 'Finlandica Text',sans-serif; }

.review-card-body { margin-top:20px; }
.review-card-body[hidden] { display:none; }
.review-card-company { margin-bottom:18px; color:var(--cab-muted); font-size:13px; font-weight:650; }
.review-copy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--cab-line); border-bottom:1px solid var(--cab-line); }
.review-copy-grid > div { padding:20px 24px 22px 0; min-width:0; display:grid; gap:8px; }
.review-copy-grid > div + div { padding-left:24px; border-left:1px solid var(--cab-line); }
.review-copy-grid small { color:var(--cab-muted); font:650 13px/1.2 'Iosevka Charon Mono',monospace; text-transform:uppercase; letter-spacing:.04em; }
.review-copy-grid p { margin:0; color:var(--cab-copy); font-size:16px; line-height:1.6; }
.review-result-copy { margin-top:20px; padding:20px 22px; border-left:3px solid var(--cab-brand); background:var(--cab-surface); border-radius:0 8px 8px 0; }
.review-result-copy small { color:var(--cab-muted); font:650 13px/1.2 'Iosevka Charon Mono',monospace; text-transform:uppercase; letter-spacing:.04em; }
.review-result-copy p { margin:11px 0 0; color:var(--cab-copy); font-size:16px; line-height:1.65; }
.review-card-footer { display:flex; margin-top:22px; align-items:center; gap:14px; }
.review-card-footer time { color:var(--cab-muted); font-size:13px; font-weight:650; }
.review-card-status { display:inline-flex; padding:5px 11px; border-radius:999px; font-size:13px; font-weight:700; }
.review-card-status.is-new { background:#fff1f2; color:var(--cab-brand); }
.review-card-status.is-published { background:#ecf9f4; color:var(--cab-success); }
.review-card-status.is-review { background:#fff7e6; color:#b06f00; }
.review-card-status.is-answered { background:#f0f1f3; color:var(--cab-ink); }
.review-card-status.is-reported { background:#fff1f2; color:var(--cab-brand); }
.review-card-status.is-draft { background:#f0f1f3; color:var(--cab-muted); }
.review-card-status.is-moderation { background:#fff7e6; color:#b06f00; }
.review-card-status.is-changes { background:#fff1f2; color:var(--cab-brand); }
.review-card-reply { margin-top:16px; padding:16px 18px; border-left:3px solid var(--cab-line-strong); background:var(--cab-surface); border-radius:0 8px 8px 0; }
.review-card-reply strong { display:block; margin-bottom:5px; color:var(--cab-ink); font:650 13px/1.2 'Iosevka Charon Mono',monospace; text-transform:uppercase; letter-spacing:.04em; }
.review-card-reply p { margin:9px 0 0; color:var(--cab-copy); font-size:15px; line-height:1.5; }
.review-card-note { margin-top:14px; padding:12px 14px; border:1px solid var(--cab-line); border-radius:8px; background:#fff7e6; color:#7a5500; font-size:14px; line-height:1.45; }
.review-card-actions { display:flex; margin-top:20px; gap:10px; flex-wrap:wrap; }
.review-card-actions button { min-height:48px; padding:0 18px; border:1px solid var(--cab-line-strong); border-radius:8px; background:#fff; color:var(--cab-ink); font:650 15px/1 'Finlandica Text',sans-serif; cursor:pointer; }
.review-card-actions button:hover { border-color:var(--cab-ink); }
.review-card-actions button:focus-visible { outline:2px solid var(--cab-brand); outline-offset:2px; }
.review-card-actions button.cab-primary-action { min-height:48px; margin:0; border:0; background:var(--cab-brand); color:#fff; }
.review-card-actions button.cab-primary-action:hover { background:var(--cab-brand-hover); }
.review-card-actions .is-danger { border-color:var(--cab-danger); color:var(--cab-danger); background:#fff; }
.review-card-actions .is-danger:hover { background:#fff3f3; }

.reviews-empty { margin-top:20px; padding:48px 28px; border:1px solid var(--cab-line-strong); border-radius:12px; background:#fff; text-align:center; }
.reviews-empty h3 { margin:0; color:var(--cab-ink); font-size:25px; }
.reviews-empty p { margin:12px 0 0; color:var(--cab-copy); font-size:16px; }

/* Модальные окна – стили в cabinet-modals.css */
.report-reasons { display:grid; gap:10px; border:0; padding:0; margin:0 0 20px; }
.report-reasons legend { padding:0; margin-bottom:12px; color:var(--color-title); font-size:14px; font-weight:600; }
.report-reasons label { display:flex; align-items:center; gap:12px; min-height:52px; padding:14px 18px; margin:0; border:1px solid var(--color-border); border-radius:var(--radius-sm); background:var(--color-bg-soft); cursor:pointer; transition:border-color var(--transition-fast), background var(--transition-fast); }
.report-reasons label:hover { background:var(--color-bg-soft-hover); border-color:var(--color-muted); }
.report-reasons label:has(input:checked) { border-color:var(--color-primary); background:var(--color-primary-soft); color:var(--color-title); }
.report-reasons label:focus-within { outline:2px solid var(--color-primary); outline-offset:2px; }
.report-reasons input { width:18px; height:18px; accent-color:var(--color-primary); }
.report-reasons span { font-size:15px; }

@media (max-width:1180px) {
  .reviews-tools { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .review-copy-grid { grid-template-columns:1fr; border-bottom:0; }
  .review-copy-grid > div { padding:20px 0 16px; }
  .review-copy-grid > div + div { padding-left:0; border-left:0; border-top:1px solid var(--cab-line); }
}
@media (max-width:640px) {
  .reviews-page { padding:26px 24px 54px; }
  .reviews-summary { padding:22px; }
  .reviews-summary-head { flex-direction:column; gap:18px; }
  .review-card { padding:20px; }
  .review-card-actions { flex-direction:column; }
  .review-card-actions button { width:100%; }
  .reviews-tools { padding:18px 20px; }
}