.edjs-content { line-height: 1.75; color: #374151; }
.edjs-content a { color: #0056a5; text-decoration: underline; text-underline-offset: 2px; }
.edjs-content a:hover { color: #01417c; }

/* Headings */
.edjs-content h1 { font-size: 2.25rem; line-height: 2.5rem; font-weight: 800; letter-spacing: -0.01em; margin: 3rem 0 1.7rem; color: #0056a5; }
.edjs-content h2 { font-size: 1.875rem; line-height: 2.25rem; font-weight: 800; letter-spacing: -0.01em; margin: 2.5rem 0 1.5rem; color: #0056a5; }
.edjs-content h3 { font-size: 1.5rem; line-height: 2rem; font-weight: 800; letter-spacing: -0.01em; margin: 2rem 0 1.2rem; color: #0056a5; }
.edjs-content h4 { font-size: 1.25rem; line-height: 1.75rem; font-weight: 700; margin: 1.75rem 0 1rem; color: #0056a5; }
.edjs-content h5 { font-size: 1.125rem; line-height: 1.5rem; font-weight: 700; margin: 1.5rem 0 .9rem; }
.edjs-content h6 { font-size: 1rem; line-height: 1.5rem; font-weight: 700; margin: 1.2rem 0 .7rem; }

/* Paragraphs */
.edjs-content p { font-size: 1rem; margin: .75rem 0; color: #374151; }

/* Lists */
.edjs-content ul, .edjs-content ol { margin: .5rem 0 .75rem 1.25rem; }
.edjs-content ul { list-style-type: disc; }
.edjs-content ol { list-style-type: decimal; }
.edjs-content li { line-height: 1.75rem; }

/* Quote */
.edjs-content blockquote { border-left: 4px solid #e5e7eb; padding-left: .75rem; color: #4b5563; font-style: italic; margin: .75rem 0; }
.edjs-content blockquote cite { display: block; margin-top: .25rem; color: #6b7280; font-style: normal; }

/* Delimiter */
.edjs-content hr { border: 0; border-top: 1px solid #e5e7eb; margin: 1rem 0; }

/* Table */
.edjs-content table { width: 100%; border-collapse: separate; border-spacing: 0; margin: .5rem 0; }
.edjs-content th, .edjs-content td { border-bottom: 1px solid #f3f4f6; padding: .5rem .75rem; text-align: left; vertical-align: top; }
.edjs-content thead th { background: #f9fafb; color: #4b5563; font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; }
.edjs-content tbody tr:hover td { background: #f9fafb; }

/* Images (from Image tool) */
.edjs-content figure.ed-image { margin: .5rem 0; }
.edjs-content figure.ed-image img { width: 100%; height: auto; display: block; border-radius: 5px; }
.edjs-content figure.ed-image figcaption { color: #6b7280; font-size: .9rem; margin-top: .25rem; text-align: center; }
.edjs-content figure.ed-image.img-border img { border: 1px solid #e5e7eb; }
.edjs-content figure.ed-image.img-bg { background: #f9fafb; padding: .5rem; border-radius: 5px; }
.edjs-content figure.ed-image.img-stretched img { width: 100%; }

/* Embed */
.edjs-content .embed iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: .5rem; }

/* Checklist */
.edjs-content ul.checklist { list-style: none; padding-left: 0; margin: .5rem 0 .75rem 0; }
.edjs-content ul.checklist li { position: relative; padding-left: 1.75rem; margin: .25rem 0; }
.edjs-content ul.checklist li::before { content: ''; position: absolute; left: 0; top: .375rem; width: 1rem; height: 1rem; border: 1px solid #d1d5db; border-radius: .25rem; background: #fff; }
.edjs-content ul.checklist li[data-checked="true"]::before { background: #10b981; border-color: #10b981; box-shadow: inset 0 0 0 2px #fff; }

/* Code */
.edjs-content pre { background: #0f172a; color: #e2e8f0; padding: 12px 14px; border-radius: 8px; overflow: auto; font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size: .9rem; line-height: 1.5; }
.edjs-content code { background: #f3f4f6; color: #111827; padding: .1rem .3rem; border-radius: .25rem; font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; }
.edjs-content pre code { background: transparent; color: inherit; padding: 0; }

/* Columns (calumk/editorjs-columns) */
.edjs-content .ed-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; margin: .5rem 0; }
.edjs-content .ed-col { display: flex; flex-direction: column; gap: .5rem; }
/* Legacy fallback for early columns markup */
.edjs-content .row-columns { display: grid; gap: 1rem; margin: .5rem 0; }
.edjs-content .row-columns.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.edjs-content .row-columns.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.edjs-content .row-columns.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.edjs-content .row-columns .col { display: flex; flex-direction: column; gap: .5rem; }

/* Warning */
.edjs-content aside.warning { border: 1px solid #fde68a; background: #fffbeb; color: #7c2d12; border-radius: .5rem; padding: .75rem .875rem; }
.edjs-content aside.warning strong { display: block; font-weight: 700; margin-bottom: .25rem; }
