@page {
  margin: 14mm;
}

.print-only {
  display: none !important;
}

@media print {
  :root {
    --bg: #ffffff;
    --bg-soft: #ffffff;
    --surface: #ffffff;
    --surface-strong: #ffffff;
    --text: #000000;
    --text-muted: #222222;
    --brand: #000000;
    --brand-strong: #000000;
    --accent: #333333;
    --border: #888888;
    --shadow: none;
  }

  html,
  body {
    background: #ffffff !important;
    color: #000000 !important;
    overflow: visible !important;
  }

  .no-print,
  .site-header,
  .site-footer,
  .breadcrumbs,
  .site-header .header-nav,
  .site-footer .footer-links,
  .site-footer .language-list,
  .lang-switch,
  .nav-language-menu,
  .nav-toggle,
  .content-type-switcher,
  .post-article-nav,
  .hero-actions,
  .related-content,
  [data-topic-trigger],
  .topic-pill-row,
  .header-top-row .nav-toggle {
    display: none !important;
  }

  .print-only,
  .site-print-header,
  .site-print-running-footer,
  .site-print-endnote {
    display: block !important;
  }

  .page-shell,
  .hero-visual,
  .mock-frame,
  .image-card,
  .card,
  .feature-card,
  .audience-card,
  .callout,
  .workflow-step,
  .comparison-panel,
  .checklist-panel,
  .status-card,
  .notice-panel,
  .notice-inline,
  .landing-hero-panel,
  .landing-link-card,
  .landing-gallery-card,
  .language-card,
  .recent-content-card,
  .topic-category,
  .topic-index-list a,
  .quote-panel,
  pre,
  code,
  table,
  blockquote {
    box-shadow: none !important;
    background: #ffffff !important;
    color: #000000 !important;
  }

  .footer-microcopy,
  .footer-note,
  .content-page-summary,
  .content-page-meta,
  .content-tags__label {
    color: #222222 !important;
  }

  .site-print-header {
    border: 0;
    border-bottom: 1px solid #888888;
    padding: 0 0 0.8rem;
    margin: 0 0 1.1rem;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .site-print-header__inner {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
  }

  .site-print-header__inner img {
    width: 2rem;
    height: auto;
    flex: 0 0 auto;
  }

  .site-print-header__copy {
    min-width: 0;
  }

  .site-print-header__copy strong {
    display: block;
    font-size: 1rem;
    line-height: 1.2;
  }

  .site-print-header__section {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.88rem;
    color: #222222;
  }

  .site-print-running-footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0.2rem 14mm 0;
    border-top: 1px solid #bbbbbb;
    background: #ffffff;
    color: #222222;
    font-size: 0.72rem;
    display: flex !important;
    justify-content: center;
    gap: 0.45rem;
    z-index: 1000;
  }

  .site-print-running-footer .pageNumber::after {
    content: counter(page);
  }

  .site-print-running-footer .totalPages::after {
    content: counter(pages);
  }

  .site-print-endnote {
    margin-top: 1.6rem;
    padding-top: 0.75rem;
    border-top: 1px solid #bbbbbb;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .site-print-endnote h2 {
    font-size: 0.95rem;
    margin: 0 0 0.5rem;
  }

  .site-print-endnote p {
    margin: 0 0 0.45rem;
    font-size: 0.78rem;
    color: #222222;
  }

  .page-shell,
  .section,
  .footer-inner,
  .header-inner,
  main,
  article {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  main {
    padding: 0 0 1rem !important;
  }

  .section,
  article.section {
    padding-top: 0 !important;
    padding-bottom: 0.75rem !important;
  }

  article.docs-article,
  article.blog-article {
    padding-bottom: 0 !important;
  }

  .hero,
  .workflow-grid,
  .grid-2,
  .grid-3,
  .grid-4,
  .page-links,
  .language-card-grid,
  .recent-content-grid,
  .topic-index-grid {
    display: block !important;
  }

  .recent-content-card,
  .language-card,
  .topic-index-list a,
  .page-links a {
    display: block !important;
    margin-bottom: 0.75rem;
  }

  details,
  details[open] {
    display: block !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  details > * {
    display: block !important;
  }

  details > summary {
    list-style: none;
    cursor: default;
    font-weight: 700;
    margin-bottom: 0.5rem;
  }

  details > summary::-webkit-details-marker {
    display: none;
  }

  .topic-menu,
  [data-topic-menu] {
    display: block !important;
  }

  img,
  svg,
  figure,
  canvas {
    max-width: 100% !important;
    height: auto !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  table {
    width: 100% !important;
    border-collapse: collapse;
    font-size: 0.92rem;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  th,
  td {
    border: 1px solid #999999;
    padding: 0.35rem 0.45rem;
    vertical-align: top;
  }

  pre,
  code {
    white-space: pre-wrap !important;
    word-break: break-word;
    overflow: visible !important;
  }

  pre {
    border: 1px solid #bbbbbb;
    padding: 0.7rem;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  summary {
    break-after: avoid-page;
    page-break-after: avoid;
  }

  p,
  li,
  blockquote {
    orphans: 3;
    widows: 3;
  }

  h1 {
    margin-top: 0;
    margin-bottom: 0.65rem;
    font-size: 1.9rem;
    line-height: 1.15;
  }

  .content-page-header {
    margin-bottom: 1rem;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .content-page-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.18rem 0.65rem;
    margin: 0 0 0.45rem;
    font-size: 0.84rem;
  }

  .content-page-summary {
    margin-bottom: 0.6rem;
    font-size: 0.94rem;
  }

  .content-header-divider {
    margin: 0.7rem 0 0;
  }

  .site-print-footer {
    display: none !important;
  }

  .content-tags {
    gap: 0.25rem;
  }

  .content-tag,
  .topic-pill,
  .recent-content-card__type,
  .status-label {
    color: #000000 !important;
    background: #ffffff !important;
    border: 1px solid #777777 !important;
  }

  .topic-category,
  .notice-panel,
  .quote-panel,
  .recent-content-card,
  .language-card,
  .topic-index-list a {
    border: 1px solid #aaaaaa !important;
  }
}
