.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.text-center { text-align: center; }
.text-accent { color: var(--color-accent); }
.text-safe { color: var(--color-safe); }
.text-danger { color: var(--color-danger); }
.text-info { color: var(--color-info); }
.text-muted { color: var(--color-text-muted); }
.text-mono { font-family: var(--font-mono); }

.mt-sm { margin-top: var(--space-sm); }
.mt-md { margin-top: var(--space-md); }
.mt-lg { margin-top: var(--space-lg); }
.mt-xl { margin-top: var(--space-xl); }
.mt-2xl { margin-top: var(--space-2xl); }

.mb-sm { margin-bottom: var(--space-sm); }
.mb-md { margin-bottom: var(--space-md); }
.mb-lg { margin-bottom: var(--space-lg); }
.mb-xl { margin-bottom: var(--space-xl); }

.no-print {
  /* hidden in print, see @media print below */
}

@media print {
  /* Hide chrome that doesn't belong on paper */
  .no-print,
  .nav,
  .nav__toggle,
  .hotline,
  .footer,
  .lang-menu {
    display: none !important;
  }

  /* Reset to ink-on-paper */
  html, body {
    background: #fff !important;
    color: #000 !important;
    font-size: 11pt;
  }

  /* Kill decorative dark surfaces */
  .hero,
  .section,
  .callout,
  .resource,
  main {
    background: #fff !important;
    color: #000 !important;
    border-color: #000 !important;
  }

  h1, h2, h3, h4, h5, h6,
  p, li, a, strong {
    color: #000 !important;
  }

  /* Keep callout borders visible as ink */
  .callout {
    border: 1px solid #000 !important;
    border-left: 4px solid #000 !important;
    padding: 0.5rem 0.75rem;
    page-break-inside: avoid;
  }

  /* Show link URLs after the link text */
  a[href^="http"]::after,
  a[href^="tel:"]::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
    word-break: break-all;
  }

  /* Don't split checklist items across pages */
  .checklist li {
    page-break-inside: avoid;
  }

  /* Remove fixed positioning so content reflows */
  * {
    position: static !important;
  }
}
