/* ---------------------------------------------------------
   KIRO – Print & Accessibility (inclusive, printable)
   Scope: all pages, print-only rules under @media print
---------------------------------------------------------- */

/* Helpers */
.screen-only { display: block; }
.print-only  { display: none; }

/* Improve focus visibility across the site (screen) */
:focus{
  outline: 3px solid rgba(0,197,255,0.85);
  outline-offset: 3px;
  border-radius: 10px;
}
:focus:not(:focus-visible){ outline: none; }

:focus-visible{
  outline: 3px solid rgba(0,197,255,0.85);
  outline-offset: 3px;
  border-radius: 10px;
}

@media print {

  /* Remove website navigation elements in print */
  .bp-header, .bp-nav, .bp-drawer, .bp-drawer-overlay, .bp-chapters-btn,
  header.site-header, nav.site-nav, .footer, .site-footer{
    display: none !important;
  }


  /* Show/Hide helpers */
  .screen-only { display: none !important; }
  .print-only  { display: block !important; }

  @page { size: A4; margin: 15mm 14mm; }

  :root{
    --ink:#0f172a;
    --muted:#334155;
    --accent:#00c5ff; /* KIRO */
    --bg:#ffffff;
  }

  html, body{
    background: var(--bg) !important;
    color: var(--ink) !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    font-size: 11pt;
    line-height: 1.45;
  }

  /* Remove heavy visual effects for print */
  .page, .card, .panel, .hero, header, nav,
  .glass, .glow, .glow-blue, .glow-aqua{
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Keep content; avoid sticky headers */
  .bp-header{ position: static !important; }
  .bp-progress, .bp-fab, .no-print{ display: none !important; }

  /* Links become readable in print */
  a{
    color: var(--ink) !important;
    text-decoration: underline !important;
  }

  /* Titles */
  h1, h2, h3{ color: var(--ink) !important; page-break-after: avoid; }
  h1{ font-size: 20pt !important; }
  h2{ font-size: 14pt !important; margin-top: 14pt !important; }
  h3{ font-size: 12pt !important; margin-top: 10pt !important; }

  /* Section separators: accent line (color is decorative only) */
  .accent-bar{
    height: 4pt;
    width: 48pt;
    background: var(--accent);
    border-radius: 999px;
    margin: 6pt 0 10pt;
  }

  /* Avoid breaking figures/cards */
  figure, .figure, .kpi, .callout, .swot, .quadrant, .bp-metrics, .table-wrapper{
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Tables: printable & readable */
  table{
    width: 100% !important;
    min-width: 0 !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
    font-size: 10pt !important;
  }
  thead{ display: table-header-group; }
  tfoot{ display: table-footer-group; }

  th, td{
    border: 0.8pt solid #94a3b8 !important;
    padding: 6pt 6pt !important;
    vertical-align: top !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    hyphens: auto;
    color: var(--ink) !important;
    opacity: 1 !important;
  }
  th{
    background: #e5e7eb !important;
    font-weight: 700 !important;
  }

  /* Make colored KPI pills readable without relying on color */
  .kpi-yes, .kpi-mid, .kpi-no,
  .bp-pill, .bp-badge{
    color: var(--ink) !important;
    background: transparent !important;
    border: 0.8pt solid #94a3b8 !important;
  }

  /* Quadrant images: fit page */
  img, svg{
    max-width: 100% !important;
    height: auto !important;
  }
}
