/* стиль постов блога — оверрайды над общим style.css */
.blog header.nav { border-bottom: 1px solid var(--border); }
.post { padding: 50px 0 80px; }
.post-meta { color: var(--fg-dim); font-size: 13px; margin-bottom: 12px; }
.post h1 { font-size: 38px; line-height: 1.18; margin: 0 0 28px; max-width: 720px; }
.post h2 { font-size: 26px; text-align: left; margin: 40px 0 18px; }
.post h3 { font-size: 19px; margin: 24px 0 10px; }
.post h4 { font-size: 16px; margin: 18px 0 8px; }
.post p, .post li { font-size: 16px; line-height: 1.7; color: #1e293b; }
.post ul, .post ol { padding-left: 24px; }
.post li { margin-bottom: 6px; }
.post blockquote {
    border-left: 4px solid var(--accent); background: #f5f3ff; margin: 20px 0;
    padding: 14px 20px; color: #4c1d95; font-size: 15px; line-height: 1.6;
}
.post blockquote b { color: #2e1065; }
.post code { background: #f1f5f9; padding: 1px 6px; border-radius: 3px; font-size: 14px; }
.post table {
    width: 100%; border-collapse: collapse; margin: 20px 0;
    background: #fff; border: 1px solid var(--border); border-radius: 6px;
    overflow: hidden;
}
.post th, .post td { padding: 10px 14px; text-align: left; border-bottom: 1px solid #f1f5f9; }
.post th { background: #f8fafc; font-weight: 600; font-size: 13px; color: var(--fg-dim); text-transform: uppercase; letter-spacing: 0.3px; }
.post td:first-child { font-weight: 500; }
.tldr {
    background: #fef9c3; border: 1px solid #fde68a; border-radius: 8px;
    padding: 16px 22px; margin: 0 0 32px;
}
.tldr h3 { margin: 0 0 10px; font-size: 14px; color: #854d0e; text-transform: uppercase; letter-spacing: 0.5px; }
.tldr ul { margin: 0; padding-left: 22px; }
.tldr li { font-size: 15px; line-height: 1.55; color: #422006; margin-bottom: 4px; }
.callout {
    background: #fff7ed; border: 1px solid #fed7aa; border-left: 4px solid #f97316;
    padding: 12px 18px; margin: 18px 0; border-radius: 5px; font-size: 15px; color: #7c2d12;
}
.callout b { color: #431407; }
.cta-block {
    background: #ede9fe; border: 1px solid #c4b5fd; border-radius: 10px;
    padding: 26px 32px; margin: 40px 0;
}
.cta-block h3 { margin: 0 0 10px; color: #4c1d95; font-size: 20px; }
.cta-block p { color: #4c1d95; margin: 0 0 10px; }
.cta-block .btn-primary { margin-top: 14px; }
.post details {
    background: #f8fafc; border: 1px solid var(--border); border-radius: 6px;
    margin: 8px 0; padding: 12px 18px;
}
.post details summary { cursor: pointer; font-weight: 600; outline: none; font-size: 15px; }
.post details[open] summary { margin-bottom: 8px; color: var(--accent); }
.post details p { font-size: 15px; margin: 0; color: var(--fg); }
.post-footer { margin-top: 50px; padding-top: 20px; border-top: 1px solid var(--border); }
.muted { color: var(--fg-dim); font-size: 13px; }

@media (max-width: 700px) {
    .post h1 { font-size: 28px; }
    .post h2 { font-size: 22px; }
    .post table { font-size: 13px; }
    .post th, .post td { padding: 8px 10px; }
}
