.rs-print-button {
  float: right;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  padding: 8px 12px;
  margin: 0 0 12px 16px;
  border: 1px solid var(--color-line, #d9e1dc);
  border-radius: 8px;
  background: transparent;
  color: var(--color-primary, #28584a);
  font: inherit;
  font-size: 14px;
  line-height: 1.2;
  cursor: pointer;
}
.rs-print-button:hover { background: #fff7df; }
.rs-print-button:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.rs-print-heading { display: none; }
@media (max-width: 480px) {
  .rs-print-button { padding: 10px; }
  .rs-print-button span { display: none; }
}
@media print {
  @page { size: auto; margin: 16mm; }
  html, body {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    overflow: visible !important;
    font-size: 11pt !important;
    line-height: 1.45 !important;
  }
  body, body *, body *::before, body *::after {
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
  }
  body { background: #fff !important; }
  .site-header, .site-footer, #wpadminbar, .skip-link,
  .rs-print-button, .nav-toggle, .hero__actions,
  .cmplz-cookiebanner, #cookie-notice, #cookie-law-info-bar {
    display: none !important;
  }
  .rs-print-heading {
    display: block !important;
    margin: 0 0 8mm !important;
    padding-bottom: 3mm;
    border-bottom: 1px solid #000;
    font-size: 10pt;
    font-weight: 700;
  }
  .site-main, .wrap, .narrow, .prose, .section, .page-hero, .hero {
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .content-split, .content-directory, .nested-directory, .hero__grid,
  .seminar-feature, .seminar-grid, .card-list, .archive-grid,
  .office-hours-grid, .constitution-grid, .communication-steps {
    display: block !important;
  }
  h1 { font-size: 23pt !important; }
  h2 { font-size: 17pt !important; }
  h3, .content-detail summary strong { font-size: 14pt !important; }
  h4 { font-size: 12pt !important; }
  h1, h2, h3, h4, summary { break-after: avoid; page-break-after: avoid; }
  p, li { orphans: 3; widows: 3; }
  a, a:visited { color: #000 !important; text-decoration: underline; }
  details, .content-detail {
    display: block !important;
    margin: 6mm 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
    break-inside: auto;
  }
  details > :not(summary) { display: block !important; }
  details::details-content { content-visibility: visible !important; height: auto !important; }
  .content-detail summary { padding: 3mm 0 !important; border-bottom: 1px solid #aaa; }
  .content-detail summary::after, summary::marker, .summary-icon { display: none !important; content: none !important; }
  .detail-body { padding: 3mm 0 0 !important; }
  img { max-width: 100% !important; max-height: 90mm !important; height: auto !important; object-fit: contain !important; }
  figure, .cms-card, .seminar-card, .resource-list, .communication-steps > li { break-inside: avoid; page-break-inside: avoid; }
  .original-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .original-gallery figure { border: 0 !important; }
  .ai-image__label { position: static !important; display: block !important; border: 0 !important; padding: 2mm 0 !important; font-size: 9pt !important; }
  .communication-steps > li { margin: 0 0 5mm !important; border-color: #777 !important; }
  .communication-steps > li::before { border: 1px solid #000; }
  .communication-motto { border-color: #000 !important; }
  table { width: 100% !important; border-collapse: collapse !important; }
  th, td { border: 1px solid #888 !important; padding: 2mm !important; }
}
