/* Editor.js admin styles + rendered block styles for the public site. */

/* --- Editor in admin --- */
.fm-editor-shell {
    background: var(--fm-surface);
    border: 1px solid var(--fm-border);
    border-radius: var(--fm-radius);
    min-height: 280px;
    padding: 1rem 1.5rem;
}
.fm-editor-shell .ce-block__content,
.fm-editor-shell .ce-toolbar__content { max-width: 100%; }
.fm-editor-shell .codex-editor { font-family: var(--fm-font-body); }
.fm-editor-shell .ce-block { line-height: 1.6; }

/* --- Rendered blocks on the public site --- */
.fm-blocks { max-width: 70ch; font-size: 1.05rem; line-height: 1.7; color: var(--fm-text); }
.fm-blocks .fm-block-h { font-family: var(--fm-font-display); margin: 1.6rem 0 0.6rem; }
.fm-blocks h1.fm-block-h { font-size: 2.4rem; line-height: 1.1; }
.fm-blocks h2.fm-block-h { font-size: 1.8rem; }
.fm-blocks h3.fm-block-h { font-size: 1.35rem; }
.fm-blocks h4.fm-block-h { font-size: 1.15rem; }
.fm-blocks .fm-block-p { margin: 0 0 1rem; }
.fm-blocks .fm-block-list { padding-left: 1.4rem; margin: 0 0 1rem; }
.fm-blocks .fm-block-list li { margin: 0.3rem 0; }
.fm-blocks .fm-block-quote {
    border-left: 4px solid var(--fm-primary);
    padding: 0.4rem 1.25rem;
    margin: 1.5rem 0;
    font-family: var(--fm-font-display);
    font-size: 1.2rem;
    color: var(--fm-text);
}
.fm-blocks .fm-block-quote cite { display: block; font-style: normal; font-size: 0.9rem; color: var(--fm-text-muted); margin-top: 0.5rem; }
.fm-blocks .fm-block-img { margin: 1.5rem 0; }
.fm-blocks .fm-block-img img { max-width: 100%; height: auto; border-radius: var(--fm-radius); display: block; }
.fm-blocks .fm-block-img.is-stretched img { max-width: none; width: 100%; }
.fm-blocks .fm-block-img.has-border img { border: 1px solid var(--fm-border); }
.fm-blocks .fm-block-img.has-bg { background: var(--fm-surface-2); padding: 1.5rem; border-radius: var(--fm-radius); }
.fm-blocks .fm-block-img figcaption { margin-top: 0.5rem; color: var(--fm-text-muted); font-size: 0.9rem; text-align: center; }
.fm-blocks .fm-block-table-wrap { overflow-x: auto; margin: 1.5rem 0; }
.fm-blocks .fm-block-table { width: 100%; border-collapse: collapse; }
.fm-blocks .fm-block-table th,
.fm-blocks .fm-block-table td { padding: 0.55rem 0.85rem; border-bottom: 1px solid var(--fm-border-soft); text-align: left; }
.fm-blocks .fm-block-table th { background: var(--fm-surface-2); font-weight: 700; }
.fm-blocks .fm-block-code { background: #1a1d27; color: #e4e6f0; padding: 1rem; border-radius: var(--fm-radius); overflow-x: auto; font-size: 0.85rem; }
.fm-blocks .fm-block-delim { border: 0; height: 0; border-top: 1px dashed var(--fm-border); margin: 2rem 0; }
.fm-blocks .fm-block-embed { margin: 1.5rem 0; }
.fm-blocks .fm-block-embed figcaption { color: var(--fm-text-muted); font-size: 0.85rem; margin-top: 0.5rem; text-align: center; }
