/* Блог start-bus.ru: типографика статей, карточки, CTA. Tailwind — общий css/tailwind.css. */
body { font-family: 'DM Sans', system-ui, -apple-system, sans-serif; }
.font-display { font-family: 'Playfair Display', Georgia, serif; }

.btn-call { background: linear-gradient(135deg, #1e3a5f 0%, #2d5a8a 100%); }
.btn-call:hover { filter: brightness(1.1); }

.post-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 1rem; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.post-card:hover { box-shadow: 0 12px 32px -12px rgba(30, 58, 95, .25); transform: translateY(-2px); }
.post-card-img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }

.post-cover { margin: 0 0 2rem; }
.post-cover img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 1rem; display: block; }
.post-cover figcaption, .prose-sb figcaption { font-size: .8125rem; color: #64748b; margin-top: .5rem; }
.post-cover figcaption a, .prose-sb figcaption a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

.prose-sb { font-size: 1.0625rem; line-height: 1.75; color: #1e293b; }
.prose-sb > * + * { margin-top: 1.1em; }
.prose-sb h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.75rem; line-height: 1.25; font-weight: 700; color: #0f172a; margin-top: 2.2em; }
.prose-sb h3 { font-size: 1.25rem; font-weight: 700; color: #0f172a; margin-top: 1.8em; }
.prose-sb a { color: #1d4ed8; text-decoration: underline; text-underline-offset: 2px; }
.prose-sb a:hover { color: #1e3a5f; }
.prose-sb ul, .prose-sb ol { padding-left: 1.4em; }
.prose-sb ul { list-style: disc; }
.prose-sb ol { list-style: decimal; }
.prose-sb li + li { margin-top: .4em; }
.prose-sb strong { color: #0f172a; }
.prose-sb blockquote { border-left: 4px solid #f59e0b; background: #fffbeb; padding: .9em 1.1em; border-radius: 0 .75rem .75rem 0; color: #78350f; }
.prose-sb blockquote > * + * { margin-top: .6em; }
.prose-sb figure img { width: 100%; height: auto; border-radius: .75rem; }
.prose-sb hr { border: 0; border-top: 1px solid #e2e8f0; margin: 2.5em 0; }
.prose-sb .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.prose-sb table { width: 100%; border-collapse: collapse; font-size: .95rem; min-width: 520px; }
.prose-sb th, .prose-sb td { border-bottom: 1px solid #e2e8f0; padding: .6em .7em; text-align: left; vertical-align: top; }
.prose-sb th { background: #f1f5f9; font-weight: 600; color: #0f172a; }
.prose-sb small, .prose-sb .sources { font-size: .875rem; color: #64748b; }

.cta-box { margin-top: 3rem; padding: 1.75rem; border-radius: 1.25rem; background: linear-gradient(135deg, #eff6ff 0%, #f8fafc 100%); border: 1px solid #dbeafe; }
.cta-title { font-family: 'Playfair Display', Georgia, serif; font-size: 1.5rem; font-weight: 700; color: #0f172a; margin-bottom: .5rem; }
.cta-box p { color: #334155; }
.cta-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.cta-primary, .cta-secondary { display: inline-block; padding: .8rem 1.4rem; border-radius: .75rem; font-weight: 600; text-decoration: none; }
.cta-primary { background: linear-gradient(135deg, #1e3a5f 0%, #2d5a8a 100%); color: #fff; }
.cta-secondary { background: #fff; color: #1e3a5f; border: 1px solid #cbd5e1; }
.cta-primary:hover, .cta-secondary:hover { filter: brightness(1.05); }
