/* Shared blog table style (approved by Chris 2026-11-04). Applies to every table in .blog-post. */
.blog-post .ph-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 18px 0 26px; border: 2px solid var(--ink, #15191d); background: var(--sheet, #fbfcfa); box-shadow: 5px 5px 0 rgba(21,25,29,.14); }
.blog-post table { width: 100%; min-width: 560px; border-collapse: collapse; margin: 0; font-size: 16px; line-height: 1.45; color: var(--ink, #15191d); background: var(--sheet, #fbfcfa); }
.blog-post > table, .blog-post :not(.ph-table-wrap) > table { display: block; overflow-x: auto; min-width: 0; margin: 18px 0 26px; border: 2px solid var(--ink, #15191d); box-shadow: 5px 5px 0 rgba(21,25,29,.14); }
.blog-post table th, .blog-post table td { text-align: left; vertical-align: top; padding: 12px 16px; border-bottom: 1px solid rgba(21,25,29,.14); }
.blog-post table thead th { background: #1d3f8a; color: #fbfcfa; font-weight: 700; border-bottom: 2px solid #15191d; white-space: nowrap; }
.blog-post table tbody tr:nth-child(even) td { background: #eef2ef; }
.blog-post table tbody tr:last-child td { border-bottom: 0; }
.blog-post table td { color: #3b4249; }
.blog-post table td:first-child { font-weight: 600; color: #15191d; }
.blog-post .ph-table-wrap.cols-3 th:nth-child(1) { width: 24%; } .blog-post .ph-table-wrap.cols-3 th:nth-child(2) { width: 28%; }
.blog-post .ph-table-wrap.cols-2 th:nth-child(1) { width: 36%; }

/* Stuart audit fixes 2026-11-04: reflow, captions, focus, related guides */
.blog-post { min-width: 0; }
.blog-post .ph-table-wrap { max-width: 100%; }
.blog-post a, .blog-post li { overflow-wrap: anywhere; }
.blog-post table caption { caption-side: top; text-align: left; font-weight: 700; padding: 10px 16px; color: var(--ink, #15191d); }
.blog-post table tbody th { text-align: left; vertical-align: top; padding: 12px 16px; border-bottom: 1px solid rgba(21,25,29,.14); background: inherit; color: #15191d; font-weight: 600; }
.blog-post table tbody tr:nth-child(even) th { background: #eef2ef; }
.blog-post table tbody tr:last-child th { border-bottom: 0; }
.blog-post .ph-table-wrap:focus-visible { outline: 3px solid #1a5fb4; outline-offset: 3px; }
.blog-post table tbody th + td { font-weight: 400; color: #3b4249; }
.blog-post .related { margin-top: 32px; }
