/* layout-fit.css — 布局协调与响应式：桌面端内容整体垂直居中、内容框贴合高度；移动端单列适配 */

  .code-box { border-radius: 6px; }
  .copy-prompt-btn { font-size: 0.78em; }

  /* deck-ppt 自适应：只缩放中间正文区，页眉/摘要/红条不参与 transform */
  .deck-ppt .slide-inner > .slide-fit-body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(10px, 1.4vh, 16px);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    align-self: stretch;
    transform-origin: top left;
  }

  /* ===== 布局协调：正文页顶部对齐 + 底部摘要条贴底（仅桌面） ===== */
  @media (min-width: 1025px) {
    /* 内容块不再强制撑满整页高度，改为自然高度 */
    .tpl-dash-cols, .tpl-three-col, .tpl-four-circles, .tpl-six-circles,
    .tpl-outlook-two, .tpl-innovation-grid, .tpl-icon-grid8,
    .tpl-case-grid, .tpl-conclusion-wrap { flex: 0 1 auto; }
    .deck-ppt .compare-table { flex: 0 1 auto; }
    /* 页眉固定顶部；正文内容紧随其后【顶部对齐】，不再垂直居中。 */
    /* 底部摘要条（如有）连同其后的红条一起固定到页面底部（覆盖个别页内联 margin-top）。 */
    .deck-ppt .slide-inner > .tpl-summary-bar { margin-top: auto !important; }
    .deck-ppt .slide-fit-body > .tpl-summary-bar { margin-top: auto !important; }
    .deck-ppt .slide-fit-body > .tpl-innovation-summary + .tpl-summary-bar {
      margin-top: clamp(8px, 1vh, 12px) !important;
    }
    .deck-ppt .slide-inner > .tpl-summary-bar + .tpl-foot-bar { margin-top: 0 !important; }
    /* 同一行多栏等高时，短栏内容纵向居中，消除顶部堆积 */
    .tpl-dash-box .body { flex: 1; display: flex; flex-direction: column; justify-content: center; }
    .tpl-three-card { justify-content: flex-start; }
    .tpl-three-card p { flex: 1; }
    .tpl-outlook-box { display: flex; flex-direction: column; justify-content: center; }
    .tpl-innovation-card { justify-content: flex-start; }
    .tpl-innovation-card p { flex: 1; }
    .tpl-four-circles .tpl-circle-item,
    .tpl-six-circles .tpl-circle-item { justify-content: flex-start; }
  }

  @media (max-width: 1024px) {
    .tpl-dash-cols, .tpl-three-col, .tpl-four-col, .tpl-case-grid, .tpl-outlook-two, .tpl-innovation-grid { grid-template-columns: 1fr; }
    .tpl-four-circles { grid-template-columns: 1fr 1fr; }
    .tpl-conclusion-wrap { grid-template-columns: 1fr 1fr; }
    .tpl-case-steps { grid-template-columns: 1fr; }
    .tpl-outlook-divider { display: none; }
    .tpl-icon-grid8 { grid-template-columns: repeat(2, 1fr); }
    .tpl-six-circles { grid-template-columns: 1fr 1fr; }
    .tpl-h-toc-items { flex-direction: column; align-items: center; }
  }
