/* v5.7.2: shared lightweight composer (topics, replies and nested replies). */
.mmf-forum .mmf-editor-group { margin: 0 0 18px; }
.mmf-forum .mmf-editor-caption {
    display: block;
    margin: 0 0 8px;
    color: var(--mmf-text);
    font-size: .78rem;
    font-weight: 850;
    text-transform: uppercase;
}
.mmf-forum .mmf-editor-shell {
    min-width: 0;
    border: 1px solid var(--mmf-border);
    border-radius: 11px;
    background: var(--mmf-alt);
    color: var(--mmf-text);
    position: relative;
}
.mmf-forum .mmf-editor-shell:focus-within {
    border-color: var(--mmf-accent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--mmf-accent) 15%, transparent);
}
.mmf-forum .mmf-editor-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    padding: 7px 8px;
    border-bottom: 1px solid var(--mmf-border);
    background: color-mix(in srgb, var(--mmf-surface) 56%, transparent);
    border-radius: 11px 11px 0 0;
}
.mmf-forum .mmf-editor-toolbar > button,
.mmf-forum .mmf-editor-link-panel button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 32px;
    padding: 5px 9px;
    border: 1px solid transparent;
    border-radius: 7px;
    background: transparent;
    color: var(--mmf-text);
    cursor: pointer;
    font: inherit;
    font-size: .81rem;
}
.mmf-forum .mmf-editor-toolbar > button:hover,
.mmf-forum .mmf-editor-toolbar > button:focus-visible {
    border-color: var(--mmf-border);
    background: color-mix(in srgb, var(--mmf-accent) 12%, transparent);
    color: var(--mmf-accent);
}
.mmf-forum .mmf-editor-toolbar-separator { width: 1px; height: 18px; background: var(--mmf-border); margin: 0 2px; }
.mmf-forum .mmf-rich-editor {
    min-height: 120px;
    padding: 13px 14px;
    outline: 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font: inherit;
    font-size: .9rem;
    line-height: 1.65;
}
.mmf-forum .mmf-form-card .mmf-rich-editor { min-height: 190px; }
.mmf-forum .mmf-reply-form .mmf-rich-editor { min-height: 95px; }
.mmf-forum .mmf-rich-editor:empty::before { content: attr(data-placeholder); color: var(--mmf-muted); pointer-events: none; }
.mmf-forum .mmf-rich-editor a { color: var(--mmf-accent); text-decoration: underline; }
.mmf-forum .mmf-rich-editor p,
.mmf-forum .mmf-rich-editor div,
.mmf-forum .mmf-topic-body p,
.mmf-forum .mmf-comment-body p { margin: 0 0 .75em; }
.mmf-forum .mmf-rich-editor p:last-child,
.mmf-forum .mmf-topic-body p:last-child,
.mmf-forum .mmf-comment-body p:last-child { margin-bottom: 0; }
.mmf-forum .mmf-rich-editor ul,
.mmf-forum .mmf-rich-editor ol,
.mmf-forum .mmf-topic-body ul,
.mmf-forum .mmf-topic-body ol,
.mmf-forum .mmf-comment-body ul,
.mmf-forum .mmf-comment-body ol { margin: .5em 0 .85em 0; padding-left: 1.6em; list-style-position: outside; }
.mmf-forum .mmf-rich-editor ul,
.mmf-forum .mmf-topic-body ul,
.mmf-forum .mmf-comment-body ul { list-style-type: disc; }
.mmf-forum .mmf-rich-editor ol,
.mmf-forum .mmf-topic-body ol,
.mmf-forum .mmf-comment-body ol { list-style-type: decimal; }
.mmf-forum .mmf-rich-editor blockquote,
.mmf-forum .mmf-topic-body blockquote,
.mmf-forum .mmf-comment-body blockquote {
    margin: .55em 0;
    padding: 9px 13px;
    border-left: 3px solid var(--mmf-accent);
    border-radius: 0 8px 8px 0;
    color: var(--mmf-text);
    background: color-mix(in srgb, var(--mmf-accent) 7%, var(--mmf-surface));
}
.mmf-forum .mmf-topic-body a:not(.mmf-mention),
.mmf-forum .mmf-comment-body a:not(.mmf-mention) { color: var(--mmf-accent); text-decoration: underline; overflow-wrap: anywhere; }
.mmf-forum .mmf-editor-link-panel {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
    padding: 9px 3px 3px;
    border-top: 1px solid var(--mmf-border);
}
.mmf-forum .mmf-editor-link-panel label { margin: 0; flex: 1 1 170px; min-width: 0; font-size: .71rem; text-transform: none; color: var(--mmf-muted); }
.mmf-forum .mmf-editor-link-panel input[type=url] {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 35px;
    padding: 6px 9px;
    margin-top: 3px;
    background: var(--mmf-surface);
    color: var(--mmf-text);
    border: 1px solid var(--mmf-border);
    border-radius: 6px;
    font: inherit;
    font-size: .78rem;
}
.mmf-forum .mmf-editor-link-panel button[data-mmf-link-apply] { background: var(--mmf-accent); color: var(--mmf-bg); font-weight: 800; }
.mmf-forum .mmf-editor-link-panel small { flex-basis: 100%; color: #fb7185; }
.mmf-forum .mmf-editor-error { color: #fb7185; font-size: .8rem; margin: 7px 0; }
.mmf-forum .mmf-editor-shell [hidden] { display: none !important; }
@media (max-width: 520px) {
    .mmf-forum .mmf-editor-toolbar { gap: 2px; padding: 6px; }
    .mmf-forum .mmf-editor-toolbar > button { min-width: 32px; padding: 5px 7px; }
    .mmf-forum .mmf-editor-toolbar > button span { display: none; }
    .mmf-forum .mmf-rich-editor { padding: 12px; }
}

/* v5.7.3: icon-only toolbar and secure inline author editing. */
.mmf-forum .mmf-editor-toolbar { column-gap: 3px; row-gap: 4px; }
.mmf-forum .mmf-editor-toolbar > button { flex: 0 0 auto; width: 35px; height: 34px; min-width: 35px; min-height: 34px; padding: 7px; }
.mmf-forum .mmf-editor-toolbar > button svg { display: block; width: 18px; height: 18px; }
.mmf-forum .mmf-editor-toolbar > button:focus-visible { outline: 2px solid var(--mmf-accent); outline-offset: 1px; }
.mmf-forum .mmf-editor-toolbar-separator { margin: 0 3px; }
.mmf-forum .mmf-rich-editor h3,
.mmf-forum .mmf-topic-body h3,
.mmf-forum .mmf-comment-body h3 { font-size: 1.15em; font-weight: 850; margin: .75em 0 .35em; color: var(--mmf-text); }
.mmf-forum .mmf-rich-editor hr,
.mmf-forum .mmf-topic-body hr,
.mmf-forum .mmf-comment-body hr { height: 1px; border: 0; background: var(--mmf-border); margin: 1em 0; }
.mmf-forum .mmf-edit-trigger { display: inline-flex; align-items: center; gap: 6px; font-size: .75rem; margin-inline-start: auto; padding: 5px 8px; border-radius: 7px; }
.mmf-forum .mmf-edit-trigger svg { width: 15px; height: 15px; }
.mmf-forum .mmf-edit-trigger.is-active { color: var(--mmf-accent); background: color-mix(in srgb, var(--mmf-accent) 9%, transparent); }
.mmf-forum .mmf-edit-form { padding: 14px; border: 1px solid var(--mmf-border); border-radius: 10px; background: var(--mmf-alt); margin: 12px 0 16px; min-width: 0; }
.mmf-forum .mmf-edit-form[hidden] { display: none !important; }
.mmf-forum .mmf-edit-form input[name="title"] { width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid var(--mmf-border); border-radius: 7px; margin: 0 0 12px; background: var(--mmf-surface); color: var(--mmf-text); font: inherit; }
.mmf-forum .mmf-edit-form .mmf-rich-editor { min-height: 105px; }
.mmf-forum .mmf-edit-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.mmf-forum .mmf-postbit-content.is-editing > .mmf-topic-body,
.mmf-forum .mmf-postbit-content.is-editing > .mmf-uploaded-image,
.mmf-forum .mmf-comment.is-editing > .mmf-comment-body,
.mmf-forum .mmf-comment.is-editing > .mmf-uploaded-image { display: none; }
.mmf-forum .mmf-comment-top .mmf-edit-trigger { margin-left: auto; }
@media (max-width: 520px) {
  .mmf-forum .mmf-editor-toolbar { gap: 2px; }
  .mmf-forum .mmf-editor-toolbar > button { width: 32px; height: 32px; min-width: 32px; min-height: 32px; padding: 6px; }
  .mmf-forum .mmf-editor-toolbar-separator { margin: 0 1px; height: 20px; }
  .mmf-forum .mmf-edit-form { padding: 10px; }
}

.mmf-forum .mmf-comment > .mmf-edit-form { grid-column: 2; margin: 14px 21px 16px; }
@media (max-width: 700px) {
  .mmf-forum .mmf-comment > .mmf-edit-form { margin: 12px 14px; }
}

/* v5.7.4: thread editing belongs in the moderator action row, not on the left. */
.mmf-forum .mmf-postbit-top .mmf-topic-controls { margin-left: auto; display: inline-flex; align-items: center; justify-content: flex-end; gap: 5px; }
.mmf-forum .mmf-topic-controls > .mmf-edit-trigger,
.mmf-forum .mmf-comment-top > .mmf-edit-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 5px; margin: 0; padding: 5px 8px; min-height: 28px; border: 1px solid var(--mmf-border); border-radius: 7px; background: transparent; color: var(--mmf-muted); font-size: .68rem; font-weight: 800; line-height: 1.25; text-decoration: none; white-space: nowrap; cursor: pointer; box-sizing: border-box; }
.mmf-forum .mmf-topic-controls > .mmf-edit-trigger svg,
.mmf-forum .mmf-comment-top > .mmf-edit-trigger svg { width: 12px; height: 12px; flex: 0 0 12px; }
.mmf-forum .mmf-topic-controls > .mmf-edit-trigger:hover,
.mmf-forum .mmf-comment-top > .mmf-edit-trigger:hover,
.mmf-forum .mmf-topic-controls > .mmf-edit-trigger.is-active { border-color: var(--mmf-accent); color: var(--mmf-accent); }
.mmf-forum .mmf-postbit-top .mmf-topic-controls form { margin: 0; }
.mmf-forum .mmf-postbit-top .mmf-topic-controls form button { min-height: 28px; box-sizing: border-box; line-height: 1.25; }
.mmf-forum .mmf-edit-cancel { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.mmf-forum .mmf-edit-form:not([hidden]) { display: block; }
@media (max-width: 600px) {
 .mmf-forum .mmf-postbit-top { align-items: flex-start; flex-wrap: wrap; }
 .mmf-forum .mmf-postbit-top .mmf-topic-controls { flex-wrap: wrap; }
}
