/* Standalone adaptation of the approved modal, scoped away from the homepage. */
.pp-single-page { padding: 2.25rem 0 0; }
.pp-article { max-width: 840px; margin: 0 auto 2.5rem; background: var(--pp-white); border-radius: var(--pp-radius-lg); overflow: hidden; }
.pp-article__breadcrumb { position: static; }
.pp-article__meta { font-size: .8125rem; color: var(--pp-muted); margin-bottom: 1.25rem; }
.pp-article__author { font-weight: 700; color: var(--pp-ink); }
.pp-article__content, .pp-modal__title, .pp-modal__breadcrumbs, .pp-category-page .pp-page-hero { overflow-wrap: anywhere; }
.pp-article__content > * { max-width: 100%; }
.pp-article__content h2, .pp-article__content h3, .pp-article__content h4, .pp-article__content h5, .pp-article__content h6 { font-family: var(--pp-font-serif); color: var(--pp-ink); line-height: 1.3; margin: 1.75rem 0 .75rem; }
.pp-article__content ul, .pp-article__content ol { padding-left: 1.5rem; margin-bottom: 1.25rem; }
.pp-article__content li { margin-bottom: .4rem; }
.pp-article__content li p:first-of-type::first-letter, .pp-article__content blockquote p:first-of-type::first-letter { all: unset; }
.pp-article__content a, .pp-article__tags a, .pp-article__pages a { color: var(--pp-blue); text-decoration: underline; text-underline-offset: .15em; }
.pp-article__content blockquote { border-left: 3px solid var(--pp-blue); padding: .75rem 1.25rem; margin: 1.5rem 0; background: var(--pp-surface); }
.pp-article__content figure { margin: 1.5rem 0; }
.pp-article__content img { height: auto; }
.pp-article__content figcaption, .pp-article__content .wp-caption-text { font-size: .8125rem; color: var(--pp-muted); margin-top: .5rem; }
.pp-article__content .wp-caption, .pp-article__content iframe, .pp-article__content video { max-width: 100%; }
.pp-article__content table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; margin-bottom: 1.25rem; }
.pp-article__content th, .pp-article__content td { border: 1px solid var(--pp-border); padding: .6rem; text-align: left; min-width: 8rem; overflow-wrap: normal; }
.pp-article__content pre { overflow-x: auto; padding: 1rem; background: var(--pp-surface); }
.pp-article__content .alignwide, .pp-article__content .alignfull { width: 100%; margin-left: 0; margin-right: 0; }
.pp-article__content .wp-block-columns > *, .pp-article__content .wp-block-media-text > * { min-width: 0; }
.pp-article__tags, .pp-article__pages { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; font-size: .8125rem; }
.pp-article .post-navigation { border-top: 1px solid var(--pp-border); margin-top: 1.75rem; padding-top: 1.25rem; font-size: .875rem; }
.pp-article .nav-links { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.pp-article .nav-links > * { flex: 1 1 200px; min-width: 0; overflow-wrap: anywhere; }
.pp-article__direction { display: block; color: var(--pp-muted); font-size: .75rem; margin-bottom: .3rem; }
.pp-related { margin-bottom: 3rem; }
.pp-related__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pp-post-card { position: relative; min-width: 0; }
.pp-post-card .pp-card__title, .pp-post-card .pp-card__meta, .pp-post-card .pp-badge { overflow-wrap: anywhere; max-width: 100%; }
.pp-post-card .pp-card__title a::after { content: ''; position: absolute; inset: 0; }
.pp-post-card:focus-within { outline: 2px solid var(--pp-blue); outline-offset: 2px; }
.pp-category-page .pagination { margin: 0 0 3rem; }
.pp-category-page .pagination .nav-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.pp-category-page .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: .5rem .75rem; border: 1px solid var(--pp-border); border-radius: var(--pp-radius-sm); color: var(--pp-blue); background: var(--pp-white); }
.pp-category-page .page-numbers.current { background: var(--pp-blue); color: var(--pp-white); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.pp-empty-state { margin: 0 0 3rem; color: var(--pp-muted); }
@media (max-width: 1024px) { .pp-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .pp-related__grid { grid-template-columns: 1fr; } }
