/* ==========================================================================
   CONTENT — inner pages, blog posts, service pages: text written in the
   WordPress editor (.entry-content) and lists of posts.
   ========================================================================== */

.entry-content { font-size: 1.0625rem; line-height: 1.85; }
.entry-content > * + * { margin-top: 1.1em; }
.entry-content h2 { font-size: clamp(1.5rem, 2.6vw, 1.875rem); margin-top: 1.8em; }
.entry-content h3 { font-size: 1.3rem; margin-top: 1.5em; }
.entry-content ul, .entry-content ol { padding-left: 1.4em; }
.entry-content ul { list-style: disc; }
.entry-content ol { list-style: decimal; }
.entry-content li + li { margin-top: 0.4em; }
.entry-content a { color: var(--c-brand-700); text-underline-offset: 3px; }
.entry-content img { border-radius: var(--r); }
.entry-content blockquote { margin: 1.5em 0; padding: 4px 0 4px 20px; border-left: 4px solid var(--c-brand); color: var(--c-muted); }
.entry-content table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.entry-content th, .entry-content td { border: 1px solid var(--c-line); padding: 10px 12px; text-align: left; }
.entry-content th { background: var(--c-mint-50); }
.entry-content figure { margin: 1.5em 0; }
.entry-content figcaption { font-size: var(--fs-sm); color: var(--c-subtle); margin-top: 8px; }

.post-meta { font-size: var(--fs-sm); color: var(--c-subtle); margin-bottom: 20px; }
.post-hero { margin: 0 0 32px; }
.post-hero img { border-radius: var(--r-lg); width: 100%; }

.post-card { padding: 0 0 28px; overflow: hidden; }
.post-card > :not(.post-card__media) { padding-inline: 26px; }
.post-card__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.post-card:not(:has(.post-card__media)) { padding-top: 28px; }
.post-card__meta { font-size: var(--fs-xs); color: var(--c-subtle); }

.search-form { display: flex; gap: 10px; margin-bottom: 32px; max-width: 520px; }
.search-form label { flex: 1; }
.search-field { width: 100%; min-height: 48px; padding: 10px 16px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); font: inherit; }
.search-submit { min-height: 48px; padding: 0 20px; border: 0; border-radius: var(--r-sm); background: var(--c-brand-800); color: var(--c-white); cursor: pointer; }
