/* Presa non-BB templates (404 / search / archive / single / block-editor page).
   presa- prefixed = collision-safe, global. Uses the global design tokens. */
.presa-lead { max-width: 46rem; margin-bottom: var(--ds-space-7); }
.presa-lead__title { font-family: var(--ds-font-display); font-weight: 300; font-size: var(--ds-text-3xl); line-height: 1.14; letter-spacing: -0.015em; color: var(--ds-color-ink); }
.presa-lead__sub { margin-top: var(--ds-space-5); font-size: var(--ds-text-lg); line-height: var(--ds-line-tight); color: var(--ds-color-ink-80); }
.presa-actions { display: flex; flex-wrap: wrap; gap: var(--ds-space-4); margin-top: var(--ds-space-6); }

/* Search form */
.presa-search-form { display: flex; gap: var(--ds-space-3); flex-wrap: wrap; margin-top: var(--ds-space-6); max-width: 34rem; }
.presa-search-form input[type="search"] { flex: 1 1 220px; min-width: 0; padding: 14px 18px; border-radius: 50px; border: 1.5px solid var(--ds-color-line-strong); background: var(--ds-color-ground); font: inherit; color: var(--ds-color-ink); }
.presa-search-form input[type="search"]:focus { outline: 2px solid var(--ds-color-accent); outline-offset: 2px; border-color: var(--ds-color-accent); }

/* Post / result lists */
.presa-posts, .presa-results { display: grid; gap: var(--ds-space-6); max-width: 52rem; }
.presa-post-card, .presa-result { padding-bottom: var(--ds-space-6); border-bottom: 1px solid var(--ds-color-line); }
.presa-post-card__date { font-size: var(--ds-text-sm); font-weight: var(--ds-weight-bold); letter-spacing: .02em; color: var(--ds-color-accent); margin-bottom: var(--ds-space-3); }
.presa-post-card__title, .presa-result__title { margin: 0; }
.presa-post-card__title a, .presa-result__title a { font-family: var(--ds-font-display); font-weight: 400; font-size: var(--ds-text-xl); line-height: 1.2; letter-spacing: -0.01em; color: var(--ds-color-ink); }
.presa-post-card__title a:hover, .presa-result__title a:hover { color: var(--ds-color-accent); }
.presa-post-card__excerpt, .presa-result__excerpt { margin: var(--ds-space-3) 0 var(--ds-space-4); font-size: var(--ds-text-md); color: var(--ds-color-ink-80); line-height: var(--ds-line-tight); }

/* Article (single post / block-editor page) */
.bb-container.presa-article { max-width: 52rem; }
.presa-article__head { margin-bottom: var(--ds-space-6); }
.presa-article__meta { font-size: var(--ds-text-sm); font-weight: var(--ds-weight-bold); letter-spacing: .02em; color: var(--ds-color-accent); margin-bottom: var(--ds-space-3); }
.presa-article__head h1 { font-family: var(--ds-font-display); font-weight: 300; font-size: var(--ds-text-3xl); line-height: 1.14; letter-spacing: -0.015em; color: var(--ds-color-ink); }
.presa-article__body > *:first-child { margin-top: 0; }
.presa-article__body p { margin-top: var(--ds-space-5); font-size: var(--ds-text-md); line-height: var(--ds-line-body); color: var(--ds-color-ink-80); }
.presa-article__body h2 { margin-top: var(--ds-space-7); font-size: var(--ds-text-xl); }
.presa-article__body h3 { margin-top: var(--ds-space-6); font-size: var(--ds-text-lg); }
.presa-article__body a { color: var(--ds-color-accent); text-decoration: underline; text-underline-offset: 2px; }
.presa-article__body ul, .presa-article__body ol { margin: var(--ds-space-4) 0; padding-left: var(--ds-space-6); }
.presa-article__body li { margin-top: var(--ds-space-2); font-size: var(--ds-text-md); color: var(--ds-color-ink-80); line-height: var(--ds-line-tight); }
.presa-article__body img { max-width: 100%; height: auto; border-radius: var(--ds-radius-lg); margin: var(--ds-space-6) 0; }
.presa-article__body blockquote { margin: var(--ds-space-6) 0; padding-left: var(--ds-space-5); border-left: 3px solid var(--ds-color-accent); font-family: var(--ds-font-display); font-weight: 300; font-size: var(--ds-text-lg); color: var(--ds-color-ink); }

/* Pagination */
.presa-pagination { margin-top: var(--ds-space-8); display: flex; gap: var(--ds-space-3); flex-wrap: wrap; }
.presa-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px; border-radius: 50px; border: 1.5px solid var(--ds-color-line-strong); color: var(--ds-color-ink); font-weight: var(--ds-weight-bold); font-size: var(--ds-text-sm); }
.presa-pagination .page-numbers.current { background: var(--ds-color-accent); border-color: var(--ds-color-accent); color: #fff; }
.presa-pagination a.page-numbers:hover { border-color: var(--ds-color-accent); color: var(--ds-color-accent); }
