/* 资讯列表 / 详情页专用样式。只在这两页加载（web.css / web-clinic.css 都已经贴着
   20KB 上限，装不下），其余卡片/胶囊/按钮走全站通用的 web.css / web-ui.css。 */

.articles {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: var(--mb-gap-lg); margin-top: 16px;
}
.artc {
  display: block; border-radius: var(--mb-radius-lg); box-shadow: var(--mb-shadow);
  overflow: hidden; background: var(--mb-card); text-decoration: none; color: inherit;
}
.artc:hover { box-shadow: var(--mb-shadow-up); }
.artc__cover {
  display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--mb-fill);
}
.artc__cover--empty { position: relative; }
.artc__cover--empty::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, var(--mb-fill), var(--mb-line));
}
.artc__body { padding: 12px 14px 14px; }
.artc__cat { margin-bottom: 6px; }
.artc__title {
  font-size: var(--mb-font-base); line-height: 1.4; margin: 0 0 6px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.artc__summary {
  font-size: var(--mb-font-sm); color: var(--mb-muted); margin: 0 0 8px; line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.artc__meta { font-size: var(--mb-font-sm); color: var(--mb-muted); margin: 0; }

/* 详情页 */
.article .artc__hero {
  display: block; width: 100%; max-height: 420px; object-fit: cover;
  border-radius: var(--mb-radius-lg); margin: 12px 0;
}
.article .artc__meta { margin: 6px 0 0; }
.artc__prose { margin-top: 16px; font-size: var(--mb-font-base); line-height: 1.8; }
.artc__prose p { margin: 0 0 1em; }

/* 正文 Markdown（后台 Vditor 写入、App\Web\Markdown 渲染）：渲染器只出下面这些标签，
   样式跟着收口；旧的纯文本正文只有 p，这一段对它不生效。 */
.artc__prose h2 { font-size: 1.25em; line-height: 1.4; margin: 1.4em 0 .5em; }
.artc__prose h3 { font-size: 1.1em; line-height: 1.4; margin: 1.2em 0 .4em; }
.artc__prose h4, .artc__prose h5, .artc__prose h6 { font-size: 1em; margin: 1em 0 .4em; }
.artc__prose ul, .artc__prose ol { margin: 0 0 1em; padding-left: 1.6em; }
.artc__prose li { margin: .25em 0; }
.artc__prose li::marker { color: var(--mb-muted); }
.artc__prose img {
  max-width: 100%; height: auto; border-radius: var(--mb-radius-lg);
  margin: .5em 0; background: var(--mb-fill);
}
.artc__prose blockquote {
  margin: 0 0 1em; padding: .2em 1em; color: var(--mb-muted);
  background: var(--mb-fill); border-left: 3px solid var(--mb-line);
  border-radius: 0 var(--mb-radius-lg) var(--mb-radius-lg) 0;
}
.artc__prose pre {
  margin: 0 0 1em; padding: 12px 14px; background: var(--mb-fill);
  border-radius: var(--mb-radius-lg); overflow-x: auto; line-height: 1.6;
}
.artc__prose code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .92em; background: var(--mb-fill); padding: .1em .35em; border-radius: 4px;
}
.artc__prose pre code { background: none; padding: 0; }
.artc__prose hr { border: 0; border-top: 1px solid var(--mb-line); margin: 1.5em 0; }
.artc__prose table {
  display: block; width: 100%; overflow-x: auto; border-collapse: collapse;
  margin: 0 0 1em; font-size: var(--mb-font-sm);
}
.artc__prose th, .artc__prose td { border: 1px solid var(--mb-line); padding: .45em .7em; text-align: left; }
.artc__prose th { background: var(--mb-fill); font-weight: 600; }
.artc__prose del { color: var(--mb-muted); }
.artc__more { margin-top: 20px; }
