/* Checker-warning guide: the guide template (section nav, reading column) with one call to action, the free tagged PDF ask (fpa),
   which sits between the findings and the method. PAC 2026 AI-assisted check guide, forked from the ADA Title II guide stylesheet.
   PAC's messages are a copy-exact block (long lines scroll inside the frame); the three reports are answer rows. */
article.tzg-guide { max-width: 72rem; margin-inline: auto; }
/* The H1 is a question in display type, 82 characters: balanced. */
article.tzg-guide h1 { max-width: 30ch; font-size: clamp(1.75rem, 1rem + 3vw, 3.5rem); line-height: 1.06; text-wrap: balance; }
/* the intro keeps the reading measure */
article.tzg-guide .results-intro { max-width: none; }
article.tzg-guide .results-intro > [data-article-intro] > * { max-width: var(--cn-reading-max); }
/* the kicker date stays one unit on a phone */
.tzg-guide .results-intro .eyebrow time { white-space: nowrap; }
.tzg-guide .guide-byline { color: var(--wp-muted); margin: 0 0 var(--wp-8); }
.tzg-guide .guide-body { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: var(--wp-16); margin-top: var(--wp-12); border-top: var(--wp-rule-strong) solid var(--wp-ink); }
.tzg-guide .guide-nav { padding-top: var(--wp-8); }
.tzg-guide .guide-nav ol { list-style: decimal-leading-zero; padding-left: var(--wp-6); margin: 0; }
.tzg-guide .guide-nav li { padding-left: var(--wp-2); margin-bottom: var(--wp-4); }
.tzg-guide .guide-nav li::marker { font-family: var(--wp-font-mono); color: var(--wp-muted); }
.tzg-guide .guide-nav a { display: inline-flex; align-items: center; min-height: var(--wp-tap); line-height: 1.5; }
.tzg-guide .guide-back { margin-top: var(--wp-4); }
.tzg-guide .guide-reading { min-width: 0; }
article.tzg-guide .results-section:first-child { border-top: 0; margin-top: 0; }
article.tzg-guide .results-section { scroll-margin-top: var(--wp-8); }
article.tzg-guide .lede code { white-space: normal; }
/* a date (4 November 2026) is one unit on a line */
.tzg-guide .tzg-nobreak { white-space: nowrap; }
/* Narrower than 20rem happens only with enlarged text (at 100% the page is at least 320px): there a unit wider than the line wraps inside its own box instead of crossing the screen. */
@container page (max-width: 19.99rem) { .tzg-guide .tzg-nobreak { display: inline-block; max-width: 100%; overflow-wrap: anywhere; text-decoration: inherit; white-space: normal; } }

/* tables: ledger lines, mono heads */
.tzg-guide .tzg-table-wrap { margin: var(--wp-6) 0 var(--wp-8); }
.tzg-guide table.tzg-table { min-width: 0; width: 100%; border: 0; border-collapse: collapse; font-size: var(--wp-text-ledger); line-height: 1.5; }
.tzg-guide .tzg-table th, .tzg-guide .tzg-table td { border: 0; border-bottom: var(--wp-rule) solid var(--wp-hair); padding: var(--wp-3) var(--wp-4) var(--wp-3) 0; text-align: left; vertical-align: top; background: none; }
.tzg-guide .tzg-table th:last-child, .tzg-guide .tzg-table td:last-child { padding-right: 0; }
.tzg-guide .tzg-table thead th { font: 500 var(--wp-text-cite)/1.3 var(--wp-font-mono); letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp-muted); border-bottom: var(--wp-rule-strong) solid var(--wp-ink); vertical-align: bottom; }
.tzg-guide .tzg-table tbody th { font-weight: 600; }
.tzg-guide .tzg-table td strong, .tzg-guide .tzg-table th strong { font-weight: 700; }

/* PAC's messages: every line whole, as PAC shows it; a line wider than the frame scrolls inside it (the frame takes focus) */
article.tzg-guide .check-block { white-space: pre; overflow-x: auto; overscroll-behavior-x: contain; }
article.tzg-guide .check-block:focus-visible { outline: 3px solid var(--cn-color-amber); outline-offset: 3px; }

/* Decide each item: six numbered steps, each opening with its bold instruction; step 2 and 3 hold their own key list */
.tzg-guide ol.pac-steps { padding-left: var(--wp-8); margin: var(--wp-6) 0 var(--wp-8); }
.tzg-guide ol.pac-steps > li { padding-left: var(--wp-2); margin: 0 0 var(--wp-5, 1.25rem); }
.tzg-guide ol.pac-steps > li::marker { font: 500 var(--wp-text-body)/1 var(--wp-font-mono); color: var(--wp-muted); }
.tzg-guide ol.pac-steps > li > p { margin: 0 0 var(--wp-3); }
.tzg-guide ol.pac-steps > li > ul { margin: 0 0 var(--wp-3); }
.tzg-guide ol.pac-steps > li > :last-child { margin-bottom: 0; }

/* The three reports, as answer rows: the report, PAC's PDF/UA result and the AI tab count share the first line; the items and our
   call run under them across the row, behind a hairline edge and their own label. Table roles are set in the markup, so screen
   readers keep the table, its rows and its column heads whatever the display. */
.tzg-guide .pac-reports, .tzg-guide .pac-reports thead, .tzg-guide .pac-reports tbody { display: block; }
.tzg-guide .pac-reports tr { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, .8fr) minmax(0, 1fr); column-gap: var(--wp-6); border-bottom: var(--wp-rule) solid var(--wp-hair); }
.tzg-guide .pac-reports th, .tzg-guide .pac-reports td { display: block; border: 0; padding: 0; }
.tzg-guide .pac-reports thead tr { padding-bottom: var(--wp-3); border-bottom: var(--wp-rule-strong) solid var(--wp-ink); }
.tzg-guide .pac-reports thead th { border: 0; padding: 0; }
/* the item column has no head of its own on the line: each item cell carries its label */
.tzg-guide .pac-reports thead th:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.tzg-guide .pac-reports tbody tr { row-gap: var(--wp-4); padding: var(--wp-5, 1.25rem) 0 var(--wp-6); }
.tzg-guide .pac-reports tbody th { font-weight: 600; }
.tzg-guide td.pac-call { grid-column: 1 / -1; max-width: 62ch; padding-left: var(--wp-4); border-left: 2px solid var(--wp-hair); font-size: var(--wp-text-body); line-height: 1.6; }
.tzg-guide td.pac-call::before { content: attr(data-label); content: attr(data-label) / ""; display: block; margin-bottom: var(--wp-1); font: 500 var(--wp-text-cite)/1.35 var(--wp-font-mono); letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp-muted); }

/* Below 48rem three columns would be a word a line. Each report becomes a card: its name, then the two counts side by side, each
   under its own column head (drawn by CSS with empty alt text, so it is not read twice), then the items. The heads leave the screen. */
@container page (max-width: 48rem) {
  .tzg-guide .pac-reports thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .tzg-guide .pac-reports tbody { border-top: var(--wp-rule-strong) solid var(--wp-ink); }
  .tzg-guide .pac-reports tr { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--wp-4); row-gap: var(--wp-3); }
  .tzg-guide .pac-reports tbody th { grid-column: 1 / -1; font-size: var(--wp-text-body); line-height: 1.4; }
  .tzg-guide .pac-reports td:not(.pac-call)::before { content: attr(data-label); content: attr(data-label) / ""; display: block; margin-bottom: var(--wp-1); font: 500 var(--wp-text-cite)/1.35 var(--wp-font-mono); letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp-muted); }
  .tzg-guide td.pac-call { margin-top: var(--wp-1); }
  /* the two counts share a line however many lines each head takes (390 set "PAC 2026.1 PDF/UA result" on two, "AI tab" on one) */
  .tzg-guide .pac-reports td:not(.pac-call) { display: flex; flex-direction: column; justify-content: space-between; }
}
/* on a phone a key list inside a step keeps more of the line */
@container page (max-width: 43rem) { .tzg-guide ol.pac-steps > li > ul { padding-left: var(--wp-5, 1.25rem); } }
/* with enlarged text the two counts stack too */
@container page (max-width: 22rem) { .tzg-guide .pac-reports tr { grid-template-columns: minmax(0, 1fr); } }

/* the ask closes the findings: set apart from the reading flow above and the method below */
article.tzg-guide .guide-reading > .fpa { margin: var(--wp-12) 0; }
/* The closing line says who prepared the page: body text at every width, set apart under a hairline */
article.tzg-guide .pk-signoff { margin-top: var(--wp-8); padding-top: var(--wp-4); border-top: var(--wp-rule) solid var(--wp-hair); }
/* one column up to 62.5rem, as on the runtimes guide: below it the nav column leaves the reading column too narrow for the report rows */
@container page (max-width: 62.5rem) {
  .tzg-guide .guide-body { grid-template-columns: minmax(0, 1fr); gap: var(--wp-8); }
  .tzg-guide .guide-nav { padding-top: var(--wp-6); border-bottom: var(--wp-rule) solid var(--wp-ink); padding-bottom: var(--wp-6); }
  .tzg-guide .guide-nav li { margin-bottom: var(--wp-2); }
  article.tzg-guide .results-section:first-child { padding-top: 0; }
}
@container page (max-width: 43rem) {
  /* two-digit markers need the room on a phone gutter */
  .tzg-guide .guide-nav ol { padding-left: 2.5rem; }
}
/* The free tagged PDF ask: one route (an email with the five lines the desk needs) set as a slip, the same route block as the
   connector's directory listing. The slip shows the lines the email opens with, so a reader whose email app does not open can
   still write them. */
.fpa { background: var(--wp-panel); border: var(--wp-rule-strong) solid var(--wp-ink); border-left: 6px solid var(--oa-blue-deep); padding: var(--wp-6); max-width: 34rem; scroll-margin-top: var(--wp-8); }
.fpa .fpa-kicker { font: 500 var(--wp-text-cite)/1.3 var(--wp-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--wp-muted); margin: 0 0 var(--wp-2); }
.fpa h2 { font-family: var(--wp-font-display); font-weight: 600; font-size: clamp(1.375rem, 1.1rem + 1vw, 1.625rem); line-height: 1.12; letter-spacing: -.005em; text-wrap: balance; margin: 0 0 var(--wp-3); padding: 0; border: 0; }
.fpa p { margin: 0 0 var(--wp-4); max-width: none; font-size: var(--wp-text-body); line-height: 1.55; }
.fpa .fpa-terms { list-style: none; padding: 0; margin: 0 0 var(--wp-6); border-top: var(--wp-rule) solid var(--wp-hair); font-size: var(--wp-text-ledger); line-height: 1.6; }
.fpa .fpa-terms li { margin: 0; padding: var(--wp-2) 0; border-bottom: var(--wp-rule) solid var(--wp-hair); max-width: none; }
.fpa .fpa-terms a { padding: 12px 0; }
.fpa .fpa-send { margin: 0 0 var(--wp-4); }
.fpa .fpa-send .button { width: 100%; justify-content: center; text-align: center; }
.fpa .fpa-how { font-size: var(--wp-text-meta); line-height: 1.5; color: var(--wp-muted); margin: 0 0 var(--wp-2); }
.fpa .fpa-slip { list-style: none; margin: 0; padding: var(--wp-2) var(--wp-4); background: var(--wp-paper); border: var(--wp-rule) dashed var(--wp-muted); font: 500 var(--wp-text-cite)/1.3 var(--wp-font-mono); color: var(--wp-ink); }
.fpa .fpa-slip li { display: flex; flex-wrap: wrap; gap: 0 var(--wp-2); align-items: baseline; margin: 0; padding: var(--wp-1) 0; max-width: none; }
.fpa .fpa-slip span { white-space: nowrap; }
.fpa .fpa-slip li::after { content: ""; flex: 1 1 3rem; min-width: 3rem; border-bottom: var(--wp-rule) solid var(--wp-hair); }
/* a phone under 384px or enlarged text: the longest line wraps inside the slip */
@container page (max-width: 23.99rem) { .fpa .fpa-slip span { white-space: normal; } }
