/* Carexa OS blog: post list, article typography and Ghost editor cards. The site's own CSS does the rest. */

.post-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); }
.post-card { border-radius: 1.5rem; background: #fff; box-shadow: inset 0 0 0 1px #e2e8f0; overflow: hidden; transition: box-shadow .15s, transform .15s; }
.post-card:hover { box-shadow: inset 0 0 0 1px #94a3b8, 0 18px 40px -28px rgba(7, 20, 19, .35); transform: translateY(-2px); }
.post-card-link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.post-card-img { aspect-ratio: 16 / 9; background: #f1f5f9; overflow: hidden; }
.post-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-card-ph { display: block; width: 100%; height: 100%; background: radial-gradient(circle at 30% 20%, rgba(20, 184, 166, .28), transparent 60%), #071413; }
.post-card-b { padding: 1.5rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.post-card-t { font-family: Geist, Inter, system-ui, sans-serif; font-weight: 600; font-size: 1.25rem; line-height: 1.3; letter-spacing: -0.02em; color: #0f172a; }
.post-card-x { color: #475569; line-height: 1.6; }
.post-tag { font-size: .8125rem; font-weight: 600; color: #0d7f78; }
.post-meta { margin-top: auto; font-size: .875rem; color: #64748b; }

.pagination { margin-top: 3rem; display: flex; align-items: center; justify-content: center; gap: 1.25rem; color: #64748b; font-size: .9375rem; }
.pagination a { color: #0d7f78; font-weight: 600; }

/* Article body */
.gh-content { color: #1e293b; font-size: 1.125rem; line-height: 1.8; }
.gh-content > * + * { margin-top: 1.4em; }
.gh-content h2 { margin-top: 2.2em; font-family: Geist, Inter, system-ui, sans-serif; font-weight: 600; font-size: 1.75rem; line-height: 1.25; letter-spacing: -0.025em; color: #0f172a; }
.gh-content h3 { margin-top: 1.8em; font-weight: 600; font-size: 1.3rem; line-height: 1.35; color: #0f172a; }
.gh-content a { color: #0d7f78; text-decoration: underline; text-decoration-color: #99f6e4; text-underline-offset: 4px; }
.gh-content a:hover { color: #0a5f5a; }
.gh-content strong { font-weight: 600; color: #0f172a; }
.gh-content ul, .gh-content ol { padding-left: 1.4em; }
.gh-content ul { list-style: disc; }
.gh-content ol { list-style: decimal; }
.gh-content li + li { margin-top: .4em; }
.gh-content li::marker { color: #14b8a6; }
.gh-content blockquote { border-left: 3px solid #14b8a6; padding-left: 1.25em; color: #334155; font-style: italic; }
.gh-content hr { border: 0; border-top: 1px solid #e2e8f0; margin: 2.5em 0; }
.gh-content code { font-family: 'Geist Mono', ui-monospace, monospace; font-size: .875em; background: #f1f5f9; padding: .15em .4em; border-radius: .375rem; }
.gh-content pre { background: #0f1f3d; color: #e2e8f0; padding: 1.25em 1.5em; border-radius: 1rem; overflow-x: auto; font-size: .9rem; line-height: 1.6; }
.gh-content pre code { background: none; padding: 0; color: inherit; }
.gh-content table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.gh-content th, .gh-content td { border-bottom: 1px solid #e2e8f0; padding: .6em .75em; text-align: left; }
.gh-content img { border-radius: 1rem; }
.gh-content figcaption { margin-top: .6em; font-size: .875rem; color: #64748b; text-align: center; }

/* Ghost editor card widths (required by Ghost) */
.kg-width-wide { position: relative; width: min(64rem, 100vw - 2rem); left: 50%; transform: translateX(-50%); }
.kg-width-full { position: relative; width: 100vw; left: 50%; transform: translateX(-50%); }
.kg-width-full img { border-radius: 0; }
.kg-image { margin: 0 auto; }
.kg-callout-card { border-radius: 1rem; }
.kg-bookmark-card a { text-decoration: none; }
