/* GFT wpForo Profile Editor */

#wpforo #wpforo-wrap .gft-wpe-active .wpf-field-wrap {
    overflow: visible;
}

#wpforo #wpforo-wrap .gft-wpe-active .wp-editor-wrap,
#wpforo #wpforo-wrap .gft-wpe-active .mce-tinymce,
#wpforo #wpforo-wrap .gft-wpe-active .tox-tinymce {
    width: 100% !important;
    box-sizing: border-box;
}

#wpforo #wpforo-wrap .gft-wpe-active .mce-toolbar-grp,
#wpforo #wpforo-wrap .gft-wpe-active .mce-top-part,
#wpforo #wpforo-wrap .gft-wpe-active .tox-editor-header {
    border-radius: 2px 2px 0 0;
}

#wpforo #wpforo-wrap .gft-wpe-active textarea.gft-wpe-source-textarea {
    width: 100%;
    box-sizing: border-box;
}

#wpforo #wpforo-wrap .gft-wpe-editor-fallback textarea.gft-wpe-source-textarea {
    display: block !important;
    padding: 10px;
    background: #fff;
    color: #222;
    border: 1px solid #ccd0d4;
}

/* wpForo's profile column is narrow and some theme rules collapse TinyMCE's
 * format dropdown. Give it enough room and let the two explicit toolbar rows
 * handle wrapping instead of overlapping neighboring buttons. */
#wpforo #wpforo-wrap .gft-wpe-active .mce-toolbar .mce-btn.mce-listbox {
    min-width: 96px !important;
    max-width: 125px !important;
}

#wpforo #wpforo-wrap .gft-wpe-active .mce-toolbar .mce-btn.mce-listbox button {
    min-width: 94px !important;
    box-sizing: border-box !important;
}

/* Underline is stored as a safe inline style by TinyMCE. */
#wpforo #wpforo-wrap .gft-wpe-active span[style*="text-decoration: underline"],
#wpforo #wpforo-wrap .wpf-profile-section span[style*="text-decoration: underline"] {
    text-decoration: underline;
}

/* The same limits apply inside TinyMCE through content_style in frontend.js. */
.gft-wpe-user-image {
    width: auto;
    height: auto;
    object-fit: contain;
}

.gft-wpe-user-image--about {
    max-width: min(100%, var(--gft-wpe-about-max-width, 900px)) !important;
    max-height: var(--gft-wpe-about-max-height, 600px) !important;
}

.gft-wpe-user-image--signature {
    max-width: min(100%, var(--gft-wpe-signature-max-width, 700px)) !important;
    max-height: var(--gft-wpe-signature-max-height, 150px) !important;
}

#wpforo #wpforo-wrap .gft-wpe-media-manager {
    margin: 20px 0;
    padding: 16px;
    border: 1px solid #d0d4d8;
    border-radius: 4px;
    background: #fff;
    color: #222;
}

#wpforo #wpforo-wrap .gft-wpe-media-manager h3,
#wpforo #wpforo-wrap .gft-wpe-media-manager h4 {
    margin: 0 0 10px;
}

#wpforo #wpforo-wrap .gft-wpe-media-manager__contexts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
}

#wpforo #wpforo-wrap .gft-wpe-upload {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 12px;
}

#wpforo #wpforo-wrap .gft-wpe-upload input[type="file"] {
    max-width: 100%;
}

#wpforo #wpforo-wrap .gft-wpe-media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
}

#wpforo #wpforo-wrap .gft-wpe-media-file {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
    padding: 8px;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
}

#wpforo #wpforo-wrap .gft-wpe-media-file > img {
    width: 100%;
    height: 90px;
    object-fit: contain;
    background: #f4f5f6;
}

#wpforo #wpforo-wrap .gft-wpe-media-file strong,
#wpforo #wpforo-wrap .gft-wpe-media-file small {
    overflow-wrap: anywhere;
}

#wpforo #wpforo-wrap .gft-wpe-media-file__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: auto;
}

#wpforo #wpforo-wrap .gft-wpe-media-manager__status.is-error,
#wpforo #wpforo-wrap .gft-wpe-media-context__blocked {
    color: #b32d2e;
}
