/* Bonus guide additions, scoped to this page. */
.ap-bonus .ap-hero__media { overflow: hidden; border-radius: 16px; }
.ap-bonus .ap-toc { border: 1px solid var(--ap-line); border-radius: 12px; padding: 18px 24px; background: var(--ap-surface); }
.ap-bonus .ap-toc ol { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-top: 4px; }
.ap-bonus .ap-toc a { padding-block: 7px; }
.ap-bonus .ap-section { padding-block: 52px; }
.ap-bonus .ap-prose { max-width: 78ch; }
.ap-bonus .ap-steps li { padding-bottom: 20px; }
.ap-bonus-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 24px 0; }
.ap-bonus-facts > div { background: var(--ap-surface); border: 1px solid var(--ap-line); border-radius: 12px; padding: 24px; }
.ap-bonus-facts dt { color: var(--ap-muted); font-size: .875rem; }
.ap-bonus-facts dd { font-weight: 650; font-size: 1.2rem; margin: 10px 0 0; line-height: 1.4; }
.ap-bonus-example { background: #edf2e9; padding: 28px; border-radius: 16px; margin: 24px 0; }
.ap-bonus .ap-table-scroll { overflow-x: auto; outline-offset: 4px; }
.ap-bonus .ap-table { min-width: 650px; }
@media (max-width: 740px) { .ap-bonus .ap-section { padding-block: 36px; } .ap-bonus .ap-toc ol { display: grid; gap: 0; } .ap-bonus-facts { grid-template-columns: 1fr; } .ap-bonus-example { padding: 20px; } }
