/* ==========================================================================
   博险通 Content Center · V5-P1 主题层
   在 app.css 之后加载，只做视觉覆写，不改动业务结构与安全逻辑。
   品牌令牌来源：design-v5/v5-shared.css（brand_tokens.json）
   ========================================================================== */

:root {
  /* ── V5 品牌令牌（正式） ── */
  --brand: #722169;
  --brand-deep: #5A1A52;
  --brand-soft: #F6EFF5;
  --heading: #252831;
  --body: #505560;
  --secondary: #656B76;
  --shade: #F7F8FA;
  --hairline: #E4E7EC;
  --hairline-mid: #C3C8D1;
  --gold: #C9A15A;

  /* ── 兼容 app.css 既有变量名 ── */
  --navy: var(--brand-deep);
  --navy-deep: #3A0F35;
  --navy-soft: var(--brand);
  --blue: #7B3E74;
  --orange: var(--brand);
  --orange-deep: var(--brand-deep);
  --paper: var(--shade);
  --blue-paper: var(--brand-soft);
  --card: #FFFFFF;
  --ink: var(--heading);
  --muted: var(--secondary);
  --line: var(--hairline);
  --line-strong: var(--hairline-mid);
  --success: #1B8754;
  --warning: #B87333;
  --danger: #C04848;
  --shadow: 0 14px 38px rgba(37, 40, 49, .09);
  --soft-shadow: 0 4px 16px rgba(37, 40, 49, .06);
  --radius-lg: 16px;
  --radius: 10px;
}

body {
  background: var(--shade);
  color: var(--body);
  font-size: 15px;
}

h1, h2, h3 { color: var(--heading); letter-spacing: -.015em; }
a { color: var(--brand); }
p { line-height: 1.62; }

/* ── 顶栏：皇家紫 ───────────────────────────────────────────── */
.topbar {
  min-height: 64px;
  padding: 0 26px;
  gap: 22px;
  background: linear-gradient(102deg, var(--brand-deep) 0%, var(--brand) 62%, var(--brand-deep) 100%);
  box-shadow: 0 3px 14px rgba(90, 26, 82, .26);
}
.brand img { width: 128px; height: 40px; }
.brand-product {
  padding-left: 14px;
  border-left: 1px solid rgba(255, 255, 255, .26);
  font-size: 14px;
  letter-spacing: .01em;
}
.primary-nav a { font-size: 14px; font-weight: 600; }
.primary-nav a.active::after { background: var(--gold); }
.utility-nav a { font-size: 12px; }
.account-menu summary { border-color: rgba(255, 255, 255, .24); }

/* ── 页面骨架与标题 ─────────────────────────────────────────── */
.page-shell { width: min(1480px, 100%); padding: 28px 26px 64px; }
.eyebrow {
  color: var(--brand);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}
.eyebrow.accent { color: var(--brand-deep); }
.eyebrow.light { color: rgba(255, 255, 255, .74); }
.dashboard-intro h1, .page-title h1 {
  color: var(--heading);
  font-size: clamp(26px, 2.2vw, 36px);
  font-weight: 750;
}
.dashboard-intro p, .page-title p { color: var(--secondary); font-size: 14px; }
.date-chip {
  border-color: var(--hairline-mid);
  background: #fff;
  color: var(--secondary);
  font-weight: 600;
}

/* ── 按钮体系 ───────────────────────────────────────────────── */
.button, button {
  border-radius: 9px;
  font-weight: 650;
  font-size: 14px;
  background: #F1F2F5;
  color: var(--heading);
}
.button:hover, button:hover { background: #E8EAEE; }
.button.primary, button.primary, .primary-action {
  background: var(--brand);
  color: #fff;
  box-shadow: 0 6px 16px rgba(114, 33, 105, .22);
}
.button.primary:hover, button.primary:hover, .primary-action:hover {
  background: var(--brand-deep);
  box-shadow: 0 8px 20px rgba(114, 33, 105, .28);
}
.button.secondary {
  border-color: var(--hairline-mid);
  background: #fff;
  color: var(--brand);
}
.button.secondary:hover { background: var(--brand-soft); }
.ghost-light {
  border-color: rgba(255, 255, 255, .38);
  background: rgba(255, 255, 255, .1);
  color: #fff;
}
.ghost-light:hover { background: rgba(255, 255, 255, .18); }
.text-link { color: var(--brand); text-decoration-color: var(--hairline-mid); }

/* ── 卡片容器 ───────────────────────────────────────────────── */
.command-card, .section-block, .topic-card, .platform-panel,
.review-panel, .device-card, .history-panel, .diagnostic-panel,
.content-results, .platform-preview {
  border-color: var(--hairline);
  background: #fff;
  box-shadow: var(--soft-shadow);
}
.command-card { padding: 20px; }
.command-title h2, .mini-head h2, .section-title h2,
.continuum-head h2, .preview-toolbar h2, .platform-head h2 {
  color: var(--heading);
  font-weight: 700;
}

/* ── 驾驶舱：待办优先 ───────────────────────────────────────── */
.command-grid { grid-template-columns: 348px minmax(0, 1fr); gap: 16px; }

.decision-inbox {
  border-top: 3px solid var(--brand);
}
.decision-inbox .eyebrow.accent {
  color: var(--brand);
  font-size: 11px;
}
.attention-groups { gap: 9px; margin-top: 14px; }
.attention-group {
  border: 1px solid var(--hairline);
  border-left-width: 3px;
  border-left-color: var(--hairline-mid);
  border-radius: 9px;
  background: #FCFCFD;
  padding: 12px 13px;
}
.attention-group:hover { border-left-color: var(--brand); background: #fff; }
.attention-head strong { color: var(--brand); font-size: 21px; font-weight: 750; }
.attention-head b { color: var(--heading); font-size: 12.5px; font-weight: 650; }
.attention-head > a { color: var(--brand); font-size: 11px; font-weight: 650; }
.attention-group li a {
  color: var(--heading);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
}
.attention-group li small { color: var(--secondary); font-size: 10.5px; }

/* 组别语义色，与品牌紫并存 */
.attention-blocked { border-left-color: var(--danger); background: #FFFBFB; }
.attention-blocked .attention-head strong { color: var(--danger); }
.attention-video, .attention-visual { border-left-color: var(--warning); background: #FFFCF9; }
.attention-video .attention-head strong,
.attention-visual .attention-head strong { color: var(--warning); }
.attention-ready, .attention-wechat_approval, .attention-wechat_draft, .attention-manual {
  border-left-color: var(--brand);
}
.attention-clear { padding: 26px 8px; }
.attention-clear strong { color: var(--heading); font-size: 13px; font-weight: 650; }
.attention-clear span { color: var(--secondary); font-size: 11.5px; }

/* 运营状态数字 */
.today-summary { padding: 18px 16px 6px; }
.mini-head > span, .mini-head > a { color: var(--secondary); font-size: 11px; }
.overview-grid a {
  padding: 13px 11px;
  border-top-color: var(--hairline);
  border-radius: 0;
  transition: background .16s ease;
}
.overview-grid a:hover { background: var(--brand-soft); }
.overview-grid a:nth-child(odd) { border-right-color: var(--hairline); }
.overview-grid strong {
  color: var(--brand);
  font-size: 24px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}
.overview-grid span { color: var(--secondary); font-size: 11px; line-height: 1.4; }

/* ── 本周进度面板（深紫） ───────────────────────────────────── */
.mission-continuum {
  border: 1px solid var(--brand-deep);
  background: linear-gradient(150deg, #3A0F35 0%, #5A1A52 55%, #3A0F35 100%);
  box-shadow: 0 12px 30px rgba(58, 15, 53, .18);
  padding: 24px 22px;
}
.mission-continuum::before { display: none; }
.continuum-head h2 { color: #fff; font-size: 21px; font-weight: 700; }
.continuum-head p { color: rgba(255, 255, 255, .68); font-size: 12.5px; }
.stage-track::before { background: rgba(255, 255, 255, .26); }
.stage-node { color: rgba(255, 255, 255, .66); font-size: 10.5px; }
.stage-node span {
  border: 1.5px solid rgba(255, 255, 255, .34);
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font-weight: 700;
}
.continuum-table {
  border-color: rgba(255, 255, 255, .16);
  background: rgba(0, 0, 0, .16);
  border-radius: 10px;
}
.continuum-labels { color: rgba(255, 255, 255, .58); background: rgba(255, 255, 255, .05); font-size: 10.5px; }
.continuum-labels span, .continuum-row > span { border-right-color: rgba(255, 255, 255, .1); }
.continuum-row { border-top-color: rgba(255, 255, 255, .1); color: #fff; }
.continuum-row:hover { background: rgba(255, 255, 255, .07); }
.continuum-row > span { font-size: 12px; }
.continuum-row small { color: rgba(255, 255, 255, .6); font-size: 10.5px; }
.stage-cell em { color: var(--gold); }
.row-stage-dots u { background: rgba(255, 255, 255, .26); }
.row-stage-dots u.past { background: rgba(255, 255, 255, .52); }
.row-stage-dots u.current { background: var(--gold); }
.sam-needed { color: rgba(255, 255, 255, .6); }
.sam-needed.yes { color: var(--gold); font-weight: 750; }
.topic-cell b { font-size: 12.5px; font-weight: 650; }

/* ── 状态点与徽章 ───────────────────────────────────────────── */
.status-dot { width: 7px; height: 7px; }
.badge {
  border-radius: 6px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .01em;
  padding: 4px 9px;
}
.badge.good { background: #E9F6EF; color: #146B43; }
.badge.warn { background: #FCF1E6; color: #8F5A12; }
.badge.bad { background: #FBECEC; color: #9B3030; }

/* ── 团队与发布准备 ─────────────────────────────────────────── */
.section-block { padding: 22px; }
.section-title h2 { font-size: 20px; font-weight: 700; }
.section-title > p { color: var(--secondary); font-size: 12.5px; }
.runner-health {
  border-color: #D8EBE1;
  background: #F4FAF7;
  border-radius: 9px;
}
.team-card {
  border-color: var(--hairline);
  background: #fff;
  border-radius: 11px;
}
.team-card-top strong { font-size: 13px; }
.team-card > p { font-size: 12px; }
.team-state { font-size: 10.5px; }
.team-card dl > div { grid-template-columns: 54px 1fr; }
.team-card dt { color: var(--secondary); }
.team-card dd { color: var(--body); }
.team-updated { border-top-color: var(--hairline); }

.readiness-grid article {
  border-color: var(--hairline);
  background: #FCFCFD;
  border-radius: 10px;
}
.readiness-grid article:hover { border-color: var(--hairline-mid); background: #fff; }
.readiness-grid strong { font-size: 12.5px; color: var(--heading); }
.readiness-grid small { color: var(--secondary); font-size: 10.5px; }
.workbench-entry {
  border-color: var(--hairline-mid);
  background: var(--brand-soft);
  border-radius: 10px;
}
.workbench-entry strong { color: var(--brand-deep); font-size: 12.5px; }
.workbench-entry span { color: var(--secondary); }
.workbench-entry:hover { border-color: var(--brand); }

/* ── 审核卡片 ───────────────────────────────────────────────── */
.topic-card { padding: 20px; }
.topic-card h3 { color: var(--heading); font-size: 18px; font-weight: 700; }
.topic-card .summary { color: var(--secondary); font-size: 13px; }
.review-card-layout { grid-template-columns: 248px minmax(0, 1fr); gap: 20px; }
.review-cover {
  border-color: var(--hairline);
  background: var(--brand-soft);
}
.review-cover img { height: 248px; object-fit: contain; }
.review-cover figcaption { border-top: 1px solid var(--hairline); color: var(--secondary); }
.review-card-status { border-block-color: var(--hairline); }
.review-card-status > span { border-right-color: var(--hairline); }
.review-card-status small { color: var(--secondary); }
.review-card-status b { color: var(--heading); font-size: 11.5px; }
.feedback-summary {
  border-color: #EBD9C8;
  background: #FFFBF6;
  border-radius: 9px;
}
.feedback-summary strong { color: #8A5B22; }
.feedback-summary small { color: #8B7355; }
.approval-boundary {
  border-color: #E8DCC8;
  background: #FFFBF4;
  border-radius: 10px;
}
.approval-boundary strong { color: #8A5B22; }
.approval-boundary span { color: #75624A; }

/* 素材预览条：封面 / 正文图 / 视频集中查看 */
.review-media-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 7px;
  margin: 0 0 14px;
}
.review-media-strip figure {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--hairline);
  border-radius: 8px;
  background: var(--brand-soft);
  position: relative;
}
.review-media-strip img,
.review-media-strip video {
  display: block;
  width: 100%;
  height: 74px;
  object-fit: cover;
}
.review-media-strip .strip-preview { display: block; width: 100%; padding: 0; border: 0; background: none; border-radius: 0; min-height: 0; }
.review-media-strip .strip-preview:hover { transform: none; }
/* 视频条占两列，使用原生播放器控件；不进入图片灯箱。 */
.review-media-strip figure.video-strip { grid-column: span 2; background: #2E0B2A; }
.review-media-strip figure.video-strip video {
  height: 74px;
  object-fit: contain;
  background: #2E0B2A;
}
.review-media-strip figcaption {
  padding: 4px 6px;
  color: var(--secondary);
  font-size: 9.5px;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.review-media-strip figure.video-strip figcaption { background: #fff; }
.review-media-strip figcaption i { font-style: normal; font-variant-numeric: tabular-nums; }
.strip-more {
  display: grid;
  place-items: center;
  min-height: 74px;
  border: 1px dashed var(--hairline-mid);
  border-radius: 8px;
  color: var(--secondary);
  font-size: 10.5px;
  font-weight: 600;
}

/* ── 平台切换与预览 ─────────────────────────────────────────── */
.platform-switcher {
  border-color: var(--hairline);
  background: #fff;
  border-radius: 10px;
  padding: 4px;
  gap: 4px;
}
.platform-switcher button {
  border-radius: 7px;
  color: var(--secondary);
  font-size: 12.5px;
  font-weight: 600;
}
.platform-switcher button:hover { background: var(--brand-soft); color: var(--brand-deep); }
.platform-switcher button.active {
  background: var(--brand);
  color: #fff;
  box-shadow: 0 5px 14px rgba(114, 33, 105, .22);
}
.platform-switcher button.active small { opacity: .85; }
.preview-toolbar, .platform-head {
  border-bottom-color: var(--hairline);
  padding: 17px 20px;
}
.preview-assets {
  border-bottom-color: var(--hairline);
  background: var(--brand-soft);
}
.asset-card { border-color: var(--hairline); border-radius: 9px; }
.asset-card img, .asset-card video { background: #F2EDF2; }
.asset-card figcaption { border-top: 1px solid var(--hairline); color: var(--secondary); }
.asset-file { background: var(--brand-soft); color: var(--secondary); }
.article-preview {
  border-color: var(--hairline);
  border-radius: 11px;
  box-shadow: none;
}
.article-preview > h2 { color: var(--heading); font-size: 23px; }
.preview-body { color: #3A3D45; font-size: 15px; line-height: 1.85; }
.preview-body h1, .preview-body h2, .preview-body h3 { color: var(--heading); }
.preview-body blockquote {
  border-left-color: var(--brand);
  background: var(--brand-soft);
  color: #5B4358;
}
.preview-tags { color: var(--brand); }

/* ── 审核决策台 ─────────────────────────────────────────────── */
.review-panel-head {
  background: linear-gradient(150deg, var(--brand-deep), var(--brand));
}
.review-panel-head .eyebrow { color: rgba(255, 255, 255, .72); }
.review-panel-head p { color: rgba(255, 255, 255, .76); }
.decision-brief > div {
  border-color: var(--hairline);
  background: #FCFCFD;
  border-radius: 8px;
}
.decision-brief small { color: var(--secondary); }
.decision-brief strong { color: var(--heading); font-size: 11.5px; }
.video-review-card {
  border-color: #EBDDD0;
  background: #FFFCF8;
  border-radius: 9px;
}
.video-review-card video { background: var(--brand-soft); }
.decision-choices { gap: 5px; }
.decision-choice span {
  border-color: var(--hairline-mid);
  border-radius: 8px;
  color: var(--body);
  font-size: 10.5px;
}
.decision-choice span:hover { border-color: var(--brand); color: var(--brand); }
.decision-choice input:checked + span {
  border-color: var(--brand);
  background: var(--brand-soft);
  color: var(--brand-deep);
  box-shadow: inset 0 0 0 1px var(--brand);
}
.danger-choice input:checked + span {
  border-color: var(--danger);
  background: #FBECEC;
  color: var(--danger);
  box-shadow: inset 0 0 0 1px var(--danger);
}
.reason-choices input:checked + span {
  border-color: var(--brand);
  background: var(--brand-soft);
  color: var(--brand-deep);
}
.approval-reminder {
  border-left-color: var(--brand);
  background: var(--brand-soft);
}
.approval-reminder strong { color: var(--brand-deep); }
.approval-reminder span { color: #6B4A66; }
textarea, input, select {
  border-color: var(--hairline-mid);
  border-radius: 8px;
}
textarea:focus, input:focus, select:focus {
  border-color: var(--brand);
  outline: 3px solid rgba(114, 33, 105, .14);
  outline-offset: 0;
}
.quality-details { border-color: var(--hairline); border-radius: 9px; }
.quality-details > summary { color: var(--brand-deep); }
.business-gates > div { border-color: var(--hairline); background: #FCFCFD; }
.topic-activity { border-color: var(--hairline); border-radius: 9px; }
.activity-row { border-top-color: var(--hairline); }

/* ── 发布工作台 ─────────────────────────────────────────────── */
.workbench-topic-nav a {
  border-color: var(--hairline);
  border-radius: 9px;
}
.workbench-topic-nav a:hover { border-color: var(--hairline-mid); }
.workbench-topic-nav a.active {
  border-color: var(--brand);
  background: var(--brand-soft);
}
.workbench-topic-nav span { color: var(--heading); }
.publish-boundary {
  border-color: #CFE6DA;
  background: #F2FAF6;
  border-radius: 10px;
}
.publish-boundary.locked {
  border-color: #EBDCC8;
  background: #FFFBF4;
}
.publish-boundary.locked strong { color: #8A5B22; }
.publish-total { color: var(--brand); }
.publish-package-grid { gap: 18px; padding: 18px 20px; }
.copy-field { gap: 7px; }
.copy-content {
  border-color: var(--hairline);
  background: #FAFAFB;
  border-radius: 8px;
  color: var(--heading);
  font-size: 13.5px;
}
.copy-button {
  border-color: var(--hairline-mid);
  background: #fff;
  color: var(--brand);
  border-radius: 8px;
}
.copy-button:hover { background: var(--brand-soft); border-color: var(--brand); }
.copy-button.primary {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
.copy-button.primary:hover { background: var(--brand-deep); }
.copy-button.copied { border-color: #9BD7BD; background: #EAF9F2; color: #0D8257; }
.package-assets {
  border-color: var(--hairline);
  background: var(--brand-soft);
  border-radius: 10px;
}
.workbench-assets .asset-card { background: #fff; }
.compact-article { border-radius: 9px; }
.ai-publish-reminder {
  border-left-color: var(--brand);
  background: var(--brand-soft);
}
.ai-publish-reminder strong { color: var(--brand-deep); }
.publish-history { border-color: var(--hairline); }
.publish-history summary { color: var(--brand-deep); }

/* ── 空状态 ─────────────────────────────────────────────────── */
.empty-panel {
  border-color: var(--hairline-mid);
  background: #fff;
  color: var(--secondary);
  border-radius: 10px;
}
.empty-panel strong { color: var(--heading); }
.success-empty strong { color: var(--heading); }

/* ── 提示与浮层 ─────────────────────────────────────────────── */
.flash { border-radius: 9px; }
.flash-success { border-color: #CBE7D8; background: #F1FAF5; color: #146B43; }
.flash-error { border-color: #EBC9C9; background: #FDF2F2; color: #9B3030; }
.callout {
  border-color: #E2D9E6;
  background: var(--brand-soft);
  color: #5B4358;
  border-radius: 9px;
}
.callout.warning { border-color: #EBD9C0; background: #FFFBF2; color: #8A5B22; }
.toast { background: var(--brand-deep); border-radius: 9px; }
.floating-notice { background: var(--brand); border-radius: 9px; }
.media-lightbox .lightbox-dialog { background: #2E0B2A; border-color: rgba(255, 255, 255, .16); }

/* ── 登录页 ─────────────────────────────────────────────────── */
.auth-shell { background: linear-gradient(140deg, #3A0F35 0%, #5A1A52 46%, var(--shade) 46.1%, var(--shade) 100%); }
.login-story h1 { letter-spacing: -.035em; }
.auth-card { border-radius: 16px; }
.auth-card h2 { color: var(--heading); }

/* Login-only contrast: keep white copy on purple at every viewport width. */
.page-web-login .auth-shell {
  background: linear-gradient(140deg, #3A0F35 0%, #5A1A52 100%);
}
.page-web-login .login-story h1 { color: #FFFFFF; }
.page-web-login .login-story > p,
.page-web-login .login-signal small { color: #E8D6E6; }

/* ── 焦点可见性 ─────────────────────────────────────────────── */
button:focus-visible, a:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid rgba(114, 33, 105, .42);
  outline-offset: 2px;
}

/* ══════════════════════════════════════════════════════════════
   响应式
   ══════════════════════════════════════════════════════════════ */

@media (max-width: 1260px) {
  .command-grid { grid-template-columns: 316px minmax(0, 1fr); }
  .review-card-layout { grid-template-columns: 212px minmax(0, 1fr); }
}

@media (max-width: 980px) {
  .page-shell { padding-inline: 20px; }
  .command-grid { grid-template-columns: 1fr; }
  .decision-column { grid-template-columns: 1.2fr .8fr; }
  .review-card-layout { grid-template-columns: 1fr; }
  .review-cover img { height: 260px; }
}

@media (max-width: 760px) {
  .page-web-dashboard .decision-column { grid-template-columns: minmax(0, 1fr); }
  .topbar {
    gap: 6px 10px;
    padding: 8px 14px 0;
  }
  .brand img { width: 92px; height: 33px; }
  .brand-product { font-size: 10px; padding-left: 8px; }
  .primary-nav a { font-size: 12px; font-weight: 600; }
  .page-shell { padding: 18px 14px 84px; }

  .dashboard-intro h1, .page-title h1 { font-size: 24px; }
  .dashboard-intro p, .page-title p { font-size: 12.5px; }

  .command-card { padding: 16px; }
  .decision-inbox { border-top-width: 3px; }
  .attention-group { padding: 11px 12px; }
  .attention-head strong { font-size: 19px; }
  .attention-group li a { font-size: 12.5px; }
  .attention-group li small { font-size: 11px; }
  .overview-grid strong { font-size: 21px; }
  .overview-grid span { font-size: 11.5px; }

  .mission-continuum { padding: 16px 12px; }
  .continuum-head h2 { font-size: 18px; }
  .continuum-row { padding: 12px; }

  .section-block { padding: 15px 13px; }
  .section-title h2 { font-size: 18px; }

  .review-media-strip { grid-template-columns: repeat(auto-fit, minmax(84px, 1fr)); }
  .review-media-strip img, .review-media-strip video { height: 66px; }
  .review-media-strip figcaption { font-size: 9px; }

  .topic-card { padding: 15px; }
  .review-cover img { height: 210px; }
  .topic-card h3 { font-size: 16.5px; }

  .platform-switcher button { font-size: 12px; min-width: 88px; }
  .platform-head, .preview-toolbar { padding: 14px 15px; }
  .publish-package-grid { padding: 14px; }
  .copy-content { font-size: 13px; }
  .article-preview { margin: 10px 0; padding: 18px 15px; }
  .preview-body { font-size: 14.5px; }

  .decision-choice span { font-size: 11px; min-height: 42px; }
  .mobile-review-bar a { background: var(--brand); }

  .workbench-topic-nav a { flex: 0 0 min(240px, 78vw); }
}

@media (max-width: 420px) {
  .brand img { width: 84px; }
  .brand-product { max-width: 132px; font-size: 9.5px; }
  .overview-grid { grid-template-columns: 1fr 1fr; }
  .review-media-strip { grid-template-columns: repeat(3, 1fr); }
}
