/* EasyMDE (CodeMirror) Editor Custom Styles */

/* ==========================================================================
   Editor Area (CodeMirror) Styles
   ========================================================================== */
.CodeMirror {
    font-family: 'Menlo', 'Monaco', 'Courier New', monospace;
    font-size: 14px;
    line-height: 1.6;
    border-radius: var(--kamos-border-radius-md);
    border-color: var(--kamos-border-color-default);
    background-color: var(--kamos-bg-color-input);
    color: var(--kamos-text-color-default);
    padding: var(--kamos-space-sm);
}

/* Editing Mode: Headers visual cues */
.cm-header-1 { font-size: 1.5em; font-weight: bold; color: var(--kamos-primary-color); }
.cm-header-2 { font-size: 1.3em; font-weight: bold; color: var(--kamos-primary-darker); }
.cm-header-3 { font-size: 1.1em; font-weight: bold; }
.cm-quote { color: var(--kamos-text-color-light); font-style: italic; }

/* Dark mode override for header colors */
:root.dark .cm-header-1 { color: var(--kamos-primary-color); }
:root.dark .cm-header-2 { color: var(--kamos-primary-color); }

/* ==========================================================================
   Preview Area Styles (.editor-preview & .editor-preview-side)
   ========================================================================== */
.editor-preview, .editor-preview-side {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    padding: 20px;
    background-color: var(--kamos-bg-color-body);
    color: var(--kamos-text-color-default);
}

/* Headers */
.editor-preview h1, .editor-preview-side h1 {
    font-size: 2em;
    font-weight: 700;
    margin-top: 1em;
    margin-bottom: 0.5em;
    padding-bottom: 0.3em;
    border-bottom: 1px solid var(--kamos-border-color-light);
    color: var(--kamos-text-color-default);
}

.editor-preview h2, .editor-preview-side h2 {
    font-size: 1.5em;
    font-weight: 600;
    margin-top: 1em;
    margin-bottom: 0.5em;
    padding-bottom: 0.3em;
    border-bottom: 1px solid var(--kamos-border-color-light);
    color: var(--kamos-text-color-default);
}

.editor-preview h3, .editor-preview-side h3 {
    font-size: 1.25em;
    font-weight: 600;
    margin-top: 1em;
    margin-bottom: 0.5em;
    color: var(--kamos-text-color-default);
}

.editor-preview h4, .editor-preview-side h4 {
    font-size: 1.1em;
    font-weight: 600;
    margin-top: 1em;
    margin-bottom: 0.5em;
    color: var(--kamos-text-color-default);
}

/* Lists */
.editor-preview ul, .editor-preview-side ul {
    list-style-type: disc;
    padding-left: 2em;
    margin-bottom: 1em;
}

.editor-preview ol, .editor-preview-side ol {
    list-style-type: decimal;
    padding-left: 2em;
    margin-bottom: 1em;
}

.editor-preview li, .editor-preview-side li {
    margin-bottom: 0.25em;
}

/* Blockquotes */
.editor-preview blockquote, .editor-preview-side blockquote {
    padding: 0 1em;
    color: var(--kamos-text-color-light);
    border-left: 0.25em solid var(--kamos-border-color-default);
    margin-bottom: 1em;
    background-color: var(--kamos-bg-color-container-light);
    border-radius: 0 var(--kamos-border-radius-sm) var(--kamos-border-radius-sm) 0;
}

/* Code */
.editor-preview code, .editor-preview-side code {
    background-color: var(--kamos-bg-color-container-light);
    padding: 0.2em 0.4em;
    border-radius: 3px;
    font-family: monospace;
    font-size: 0.9em;
    color: var(--kamos-text-color-default);
}

.editor-preview pre, .editor-preview-side pre {
    background-color: var(--kamos-bg-color-container-light);
    padding: 1em;
    overflow: auto;
    border-radius: var(--kamos-border-radius-md);
    margin-bottom: 1em;
    border: 1px solid var(--kamos-border-color-light);
}

.editor-preview pre code, .editor-preview-side pre code {
    background-color: transparent;
    padding: 0;
    color: inherit;
}

/* Paragraphs */
.editor-preview p, .editor-preview-side p {
    margin-bottom: 1em;
}

/* Links */
.editor-preview a, .editor-preview-side a {
    color: var(--kamos-primary-color);
    text-decoration: none;
}
.editor-preview a:hover, .editor-preview-side a:hover {
    text-decoration: underline;
}

/* Tables */
.editor-preview table, .editor-preview-side table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1em;
}
.editor-preview th, .editor-preview-side th,
.editor-preview td, .editor-preview-side td {
    border: 1px solid var(--kamos-border-color-default);
    padding: 0.5em;
}
.editor-preview th, .editor-preview-side th {
    background-color: var(--kamos-bg-color-container-light);
    font-weight: bold;
}

/* Horizontal Rule */
.editor-preview hr, .editor-preview-side hr {
    height: 1px;
    background-color: var(--kamos-border-color-default);
    border: none;
    margin: 1.5em 0;
}

/* ==========================================================================
   Toolbar Styles
   ========================================================================== */
.editor-toolbar {
    background-color: var(--kamos-bg-color-container-light);
    border-color: var(--kamos-border-color-default);
    border-radius: var(--kamos-border-radius-md) var(--kamos-border-radius-md) 0 0;
}

.editor-toolbar button {
    color: var(--kamos-text-color-default) !important;
}

.editor-toolbar button:hover,
.editor-toolbar button.active {
    background-color: var(--kamos-bg-color-hover) !important;
    border-color: var(--kamos-border-color-focus) !important;
}

.editor-toolbar i.separator {
    border-right-color: var(--kamos-border-color-default);
}

/* Dark mode adjustments for toolbar */
:root.dark .editor-toolbar {
    background-color: var(--kamos-bg-color-container-light);
    border-color: var(--kamos-border-color-default);
}
:root.dark .editor-toolbar button {
    color: var(--kamos-text-color-default) !important;
}
:root.dark .editor-toolbar button:hover,
:root.dark .editor-toolbar button.active {
    background: rgba(255, 255, 255, 0.1) !important;
}

/* Hide status bar if desired or style it */
.editor-statusbar {
    color: var(--kamos-text-color-light);
}
