.blog-visual { margin: 1.75rem 0; max-width: 100%; }
.blog-visual img { display: block; width: 100%; height: auto; border-radius: 12px; }
.blog-visual figcaption { margin-top: .6rem; font-size: .95rem; line-height: 1.5; color: #475569; }
.blog-visual [data-blog-credit] { display: block; font-size: .85rem; margin-top: .25rem; }
.blog-visual [data-blog-credit] a, [data-blog-cover-credit] a { text-decoration: underline; }
.blog-visual.ProseMirror-selectednode { outline: 3px solid #818cf8; }
.blog-visual-picker { padding: 1.25rem; border: 1px solid #cbd5e1; border-radius: 10px; margin: 1rem 0; }
.blog .blog-visual-picker h2 { font-size: 1.5rem; }
.blog-visual-picker p { margin: .5rem 0; }
.blog-visual-slot { padding: 1rem 0; border-top: 1px solid #cbd5e1; }
.blog-visual-slot button { border: 1px solid #cbd5e1; border-radius: 6px; padding: .5rem .75rem; cursor: pointer; }
.blog-visual-slot button:disabled { cursor: wait; opacity: .6; }
.blog-stock-results { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; margin-top: 1rem; }
.blog-stock-results img { width: 100%; height: 150px; object-fit: cover; }
.blog-stock-results a { text-decoration: underline; }
.blog-stock-results figure { margin: 0; padding: .5rem; border: 1px solid #e2e8f0; }
