/* ============================================
   MISC PAGES
   ============================================ */
.error-404 { text-align: center; padding: var(--pp-spacing) 0; }
.error-404 .page-title { font-size: var(--pp-fs-4xl); color: var(--pp-accent); }
.error-404 .page-content { max-width: 600px; margin: 0 auto; }
.error-404 .search-form { max-width: 400px; margin: 2em auto; }
.search-results .article-title { font-size: var(--pp-fs-xl); }
.archive-title, .page-title { font-size: var(--pp-fs-2xl); margin-bottom: 1em; padding-bottom: 0.5em; border-bottom: 2px solid var(--pp-accent); }
.archive-description { color: var(--pp-text-secondary); margin-bottom: var(--pp-spacing); }

/* ============================================
   BLOCK EDITOR
   ============================================ */
.wp-block { max-width: var(--pp-content-width); margin-left: auto; margin-right: auto; }
.wp-block-image img { border-radius: var(--pp-border-radius); }
.wp-block-quote { border-left-color: var(--pp-accent); }
.wp-block-pullquote { border-top: 4px solid var(--pp-accent); border-bottom: 4px solid var(--pp-accent); padding: 2em 0; }
.wp-block-separator { border: none; border-top: 1px solid var(--pp-border); margin: 2em auto; }
.wp-block-separator.is-style-wide { border-top-width: 1px; }
.wp-block-separator.is-style-dots { border: none; text-align: center; }
.wp-block-separator.is-style-dots::before { content: "···"; color: var(--pp-accent); font-size: var(--pp-fs-2xl); letter-spacing: 1em; }
.wp-block-button__link { background: var(--pp-accent); color: var(--pp-primary-bg); padding: 0.75em 1.5em; border-radius: var(--pp-border-radius); font-weight: 600; }
.wp-block-button__link:hover { background: var(--pp-accent-hover); color: var(--pp-primary-bg); }

/* ============================================
   ACCESSIBILITY
   ============================================ */
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); position: absolute !important; height: 1px; width: 1px; overflow: hidden; word-wrap: normal !important; }
.screen-reader-text:focus { background-color: var(--pp-secondary-bg); border-radius: var(--pp-border-radius); box-shadow: 0 0 2px 2px var(--pp-accent); clip: auto !important; color: var(--pp-text-primary); display: block; font-size: var(--pp-fs-sm); font-weight: 700; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; }

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
    :root { --pp-fs-base: 1.0625rem; --pp-fs-xl: 1.375rem; --pp-fs-2xl: 1.75rem; --pp-fs-3xl: 2.125rem; --pp-fs-4xl: 2.5rem; }
    .site-header .container { flex-wrap: wrap; }
    .main-navigation { order: 3; width: 100%; justify-content: flex-start; margin-top: 1rem; }
    .has-left-sidebar .site-content .container, .has-right-sidebar .site-content .container, .has-both-sidebars .site-content .container { grid-template-columns: 1fr; }
    .sidebar { display: none; }
    .sidebar-left, .sidebar-right { grid-column: 1; grid-row: auto; }
}

@media (max-width: 768px) {
    :root { --pp-spacing: 1.5rem; --pp-fs-base: 1rem; --pp-fs-xl: 1.25rem; --pp-fs-2xl: 1.5rem; --pp-fs-3xl: 1.875rem; --pp-fs-4xl: 2.25rem; }
    .site-header { position: relative; }
    .site-branding { flex: 1; }
    .site-title { font-size: var(--pp-fs-xl); }
    .menu-toggle { display: block; }
    .main-navigation { display: none; position: absolute; top: 100%; left: 0; right: 0; background: var(--pp-secondary-bg); border-top: 1px solid var(--pp-border); padding: 1rem; margin: 0; order: 4; }
    .main-navigation.toggled { display: block; }
    .main-navigation ul { flex-direction: column; }
    .main-navigation a { padding: 1em; border-bottom: 1px solid var(--pp-border); }
    .main-navigation ul ul { position: static; background: transparent; box-shadow: none; padding-left: 1.5em; }
    .main-navigation ul ul a { background: transparent; }
    .post-navigation { grid-template-columns: 1fr; }
    .post-navigation .nav-next { grid-column: 1; }
    .comment-body { flex-direction: column; }
    .comment-content { margin-left: 0; }
    .children { margin-left: 1.5em; }
    .site-footer .container { grid-template-columns: 1fr; text-align: center; }
    .social-menu { justify-content: center; }
}

@media (max-width: 480px) {
    :root { --pp-fs-base: 0.9375rem; --pp-fs-xl: 1.125rem; --pp-fs-2xl: 1.375rem; --pp-fs-3xl: 1.625rem; --pp-fs-4xl: 2rem; }
    .article-meta { flex-direction: column; gap: 0.5rem; }
    .pagination .page-numbers, .posts-pagination .page-numbers { min-width: 38px; height: 38px; padding: 0 0.75em; }
    .single-post .article-title { font-size: var(--pp-fs-2xl); }
}

@media print {
    body { background: white; color: black; font-size: 12pt; }
    .site-header, .site-footer, .sidebar, .comments-area, .post-navigation, .article-more-link, .social-menu { display: none; }
    a { color: black; text-decoration: underline; }
    article { box-shadow: none; page-break-inside: avoid; }
}