/* Keep preview controls and Letter pages in separate painting and scrolling areas. */
@media screen {
  .print-preview-document {
    height: 100%;
    overflow: hidden;
  }

  .print-surface {
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .print-surface .print-toolbar {
    position: relative;
    inset: auto;
    z-index: 1000;
    flex: 0 0 auto;
    min-height: 68px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: .7rem clamp(1rem, 3vw, 2rem);
    box-shadow: 0 8px 24px rgba(8, 29, 54, .24);
  }

  .print-toolbar-copy {
    min-width: 0;
  }

  .print-toolbar-copy strong,
  .print-toolbar-copy span {
    display: block;
  }

  .print-toolbar-copy strong {
    font-size: 1rem;
  }

  .print-toolbar-copy span {
    margin-top: .15rem;
    overflow: hidden;
    color: rgba(255, 255, 255, .76);
    font-size: .76rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .print-toolbar-actions {
    display: flex;
    gap: .6rem;
    align-items: center;
  }

  .print-surface .print-toolbar button,
  .print-surface .print-toolbar a {
    min-height: 42px;
    display: inline-grid;
    place-items: center;
    padding: .55rem .85rem;
    white-space: nowrap;
  }

  .print-surface .print-publication {
    position: relative;
    z-index: 0;
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    padding: 1px 0 42px;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable both-edges;
  }

  .print-surface .print-publication-legacy > .print-page {
    margin-block: 28px;
  }

  /* A deliberately tall calendar placement should still look complete when
     the selected publication window contains no approved events. */
  .print-layout-page .kind-calendar_feed:has(.calendar-feed-empty) .block-main {
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
  }

  .print-layout-page .kind-calendar_feed:has(.calendar-feed-empty) .block-content {
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
  }

  .print-layout-page .calendar-feed-empty {
    flex: 1 1 auto;
    display: grid;
    place-items: center;
    margin-top: .08in;
    padding: .16in;
    color: var(--ink-soft);
    background: rgba(255, 255, 255, .5);
    border: 1px dashed rgba(95, 113, 135, .45);
    border-radius: .06in;
    text-align: center;
  }

  .print-layout-page .calendar-feed-empty > p {
    max-width: 3.2in;
    margin: 0;
    font-size: 7.5pt;
    line-height: 1.45;
  }

  @media (max-width: 700px) {
    .print-surface .print-toolbar {
      grid-template-columns: 1fr;
      gap: .55rem;
    }

    .print-toolbar-actions {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .print-surface .print-toolbar button,
    .print-surface .print-toolbar a {
      min-width: 0;
      text-align: center;
      white-space: normal;
    }
  }
}

@media print {
  .print-preview-document,
  .print-surface {
    height: auto;
    min-height: 0;
    display: block;
    overflow: visible;
  }

  .print-surface .print-toolbar {
    display: none;
  }

  .print-surface .print-publication {
    display: block;
    margin: 0;
    padding: 0;
    overflow: visible;
  }

  .print-layout-page .kind-calendar_feed:has(.calendar-feed-empty) .block-main {
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
  }

  .print-layout-page .kind-calendar_feed:has(.calendar-feed-empty) .block-content {
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
  }

  .print-layout-page .calendar-feed-empty {
    flex: 1 1 auto;
    display: grid;
    place-items: center;
    margin-top: .08in;
    padding: .16in;
    color: #53677f;
    background: rgba(255, 255, 255, .5);
    border: 1px dashed #8391a2;
    border-radius: .06in;
    text-align: center;
    print-color-adjust: exact;
  }

  .print-layout-page .calendar-feed-empty > p {
    max-width: 3.2in;
    margin: 0;
    font-size: 7.5pt;
    line-height: 1.45;
  }
}
