    :root {
        --fc-primary-color: #ff5a0a;
        /* Folder base color is mixed with highlight; tweak weights if user accent is too dark/light */
        --fc-folder-base: var(--fc-primary-color, var(--e-global-color-accent, #673DE6));
        --fc-folder-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1080 1080'%3E%3Cpath fill='black' d='M864.51 787.3H210.18c-36.45 0-66-29.55-66-66V192.12c0-34.15 27.69-61.84 61.84-61.84h164.94c7.37 0 14.57 2.24 20.63 6.43l52.03 38.35c15.42 11.37 34.08 17.5 53.24 17.5h371.38c30.52 0 55.26 24.74 55.26 55.26v480.47c0 32.58-26.42 59-59 59Z'/%3E%3Cpath fill='black' d='M200.95 241.68h660.72c34.13 0 61.84 27.71 61.84 61.84v424.77c0 32.56-26.44 59-59 59H210.18c-36.43 0-66-29.57-66-66v-422.84c0-31.33 25.44-56.77 56.77-56.77Z'/%3E%3C/svg%3E");
        --fc-body-bg: #f7f7f9;
        --fc-container-bg: #FFFFFF;
        --fc-text-dark: #231E39;
        --fc-text-light: #6A6A6A;
        --fc-border-color: #E7E7E7;
        --fc-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
        --fc-border-radius: 8px;
        --fc-box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.05);
    }

    body.frontcat-gallery-modal-mode {
        padding: 0;
        margin: 0;
        font-family: var(--fc-font-family, var(--e-global-typography-text-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif));
        background-color: transparent;
        overflow: hidden; 
    }

    .frontcat-gallery-wrap button, 
    .frontcat-gallery-wrap input, 
    .frontcat-gallery-wrap select,
    .frontcat-gallery-wrap h2,
    .frontcat-gallery-wrap a {
        font-family: var(--fc-font-family);
    }

    .frontcat-gallery-wrap {
        height: 100vh;
        display: flex;
        flex-direction: column;
        position: relative;
        max-width: 100%;
        max-height: 100%;
        border-radius: var(--fc-border-radius);
        overflow: hidden; 
        font-family: var(--fc-font-family, var(--e-global-typography-text-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif));
        font-size: 14px !important;
        line-height: 1.45 !important;
        color: var(--fc-text-dark);
        box-sizing: border-box;
    }

    .frontcat-gallery-wrap *,
    .frontcat-gallery-wrap *::before,
    .frontcat-gallery-wrap *::after {
        box-sizing: border-box;
    }

    .frontcat-gallery-wrap div,
    .frontcat-gallery-wrap span,
    .frontcat-gallery-wrap p,
    .frontcat-gallery-wrap a,
    .frontcat-gallery-wrap strong,
    .frontcat-gallery-wrap em,
    .frontcat-gallery-wrap label,
    .frontcat-gallery-wrap li,
    .frontcat-gallery-wrap button,
    .frontcat-gallery-wrap input,
    .frontcat-gallery-wrap select,
    .frontcat-gallery-wrap textarea {
        font-size: inherit !important;
        line-height: inherit;
    }

    #frontcat-gallery-modal .frontcat-gallery-wrap {
        height: 100%;
        min-height: 0;
    }

    #frontcat-gallery-close {
        position: absolute;
        top: 10px;
        right: 15px;
        z-index: 90;
        background-color: rgba(0,0,0,0.4);
        color: white;
    }
    #frontcat-gallery-close:hover {
        background-color: rgba(0,0,0,0.6);
        color: white;
    }

    .frontcat-gallery-layout {
        display: flex;
        gap: 24px;
        align-items: stretch;
        flex-grow: 1;
        min-height: 0;
        padding: 20px;
    }

    .gallery-sidebar {
            flex: 0 0 325px;
            max-width: 325px;
            background-color: var(--fc-container-bg);
            border: 1px solid var(--fc-border-color);
            border-radius: var(--fc-border-radius);
            display: flex;
            flex-direction: column;
            box-shadow: var(--fc-box-shadow);
        }
    .gallery-sidebar-header {
        padding: 16px 20px;
        border-bottom: 1px solid var(--fc-border-color);
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .gallery-sidebar-header h2 {
        font-size: 16px;
        margin: 0;
        color: var(--fc-text-dark);
    }
    .gallery-sidebar-content {
        padding: 10px;
        overflow-y: auto;
        flex-grow: 1;
    }
    .gallery-sidebar-footer {
        padding: 15px;
        border-top: 1px solid var(--fc-border-color);
    }
    .gallery-sidebar-footer #new-folder-parent {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        width: 100%;
        margin-bottom: 10px;
        background-color: var(--fc-body-bg, #f7f7f9);
        border: 1px solid var(--fc-border-color, #E7E7E7);
        border-radius: var(--fc-border-radius, 8px);
        color: var(--fc-text-dark, #231E39);
        font-family: var(--fc-font-family, "Roboto", sans-serif);
        font-size: 14px;
        line-height: 1.4;
        padding: 12px 15px;
        padding-right: 42px;
        box-sizing: border-box;
        cursor: pointer;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5 10 12.5 15 7.5' stroke='%23231E39' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 14px center;
        background-size: 16px;
    }
    .gallery-sidebar-footer #new-folder-parent::picker-icon { display: none; }
    .gallery-sidebar-footer #new-folder-parent:focus {
        outline: none;
        border-color: var(--fc-primary-color, var(--e-global-color-primary, #FF3131));
        background-color: var(--fc-container-bg, #FFFFFF);
        box-shadow: 0 0 0 3px rgba(255, 49, 49, 0.1);
    }
    .gallery-sidebar-footer #new-folder-parent::picker(select) {
        appearance: base-select;
        background-color: var(--fc-container-bg, #FFFFFF);
        border: 1px solid var(--fc-border-color, #E7E7E7);
        border-radius: var(--fc-border-radius, 8px);
        box-shadow: var(--fc-box-shadow, 0px 4px 12px rgba(0, 0, 0, 0.05));
        padding: 5px;
        margin-top: 5px;
        max-height: 240px;
        overflow-y: auto;
    }
    .gallery-sidebar-footer #new-folder-parent option {
        padding: 10px 15px;
        margin-bottom: 2px;
        border-radius: 4px;
        color: var(--fc-text-dark, #231E39);
        font-family: var(--fc-font-family, "Roboto", sans-serif);
        font-size: 14px;
        cursor: pointer;
        transition: background-color 0.2s;
        border: none;
    }
    .gallery-sidebar-footer #new-folder-parent option:hover,
    .gallery-sidebar-footer #new-folder-parent option:checked,
    .gallery-sidebar-footer #new-folder-parent option:focus {
        background-color: var(--fc-primary-color, var(--e-global-color-primary, #FF3131)) !important;
        color: #ffffff !important;
    }
    .gallery-sidebar-footer #new-folder-name {
        width: -webkit-fill-available;
        margin-bottom: 10px;
        padding: 10px;
        border: 1px solid var(--fc-border-color);
        border-radius: var(--fc-border-radius);
        background-color: var(--fc-container-bg);
        transition: border-color 0.2s, box-shadow 0.2s;
    }
    .gallery-sidebar-footer #new-folder-name:focus {
        border-color: var(--fc-primary-color);
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-primary-color) 20%, transparent);
        outline: none;
    }

    .frontcat-gallery-wrap .gallery-sidebar-footer .button {
        width: 100%;
    }

    .frontcat-folder-actions-row {
        display: flex;
        gap: 10px;
        align-items: stretch;
    }

    .frontcat-folder-actions-row .button {
        width: auto;
        flex: 1 1 0;
    }

    .frontcat-gallery-wrap .button, .frontcat-gallery-wrap .button-secondary,
    .frontcat-gallery-wrap button.button,
    .frontcat-gallery-wrap a.button,
    .frontcat-gallery-wrap label.button {
        appearance: none;
        -webkit-appearance: none;
        background-image: none !important;
        background-color: var(--fc-primary-color);
        color: #fff;
        border: none;
        padding: 10px 15px;
        min-height: 42px;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.2;
        border-radius: var(--fc-border-radius);
        cursor: pointer;
        transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        text-align: center;
        white-space: nowrap;
        box-shadow: none !important;
        text-shadow: none !important;
        vertical-align: middle;
    }
    .frontcat-gallery-wrap .button svg, .frontcat-gallery-wrap .button-secondary svg {
        width: 18px;
        height: 18px;
        fill: currentColor;
        flex-shrink: 0;
    }

    .frontcat-gallery-modal-mode .frontcat-gallery-wrap .button,
    .frontcat-gallery-modal-mode .frontcat-gallery-wrap .button-secondary,
    .frontcat-gallery-modal-mode .frontcat-gallery-wrap button.button,
    .frontcat-gallery-modal-mode .frontcat-gallery-wrap a.button,
    .frontcat-gallery-modal-mode .frontcat-gallery-wrap label.button {
        font-family: var(--fc-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif) !important;
        border-radius: var(--fc-border-radius, 8px) !important;
    }

    .frontcat-gallery-modal-mode .frontcat-gallery-wrap .frontcat-use-btn-group {
        display: inline-flex;
        align-items: stretch;
        gap: 8px;
    }

    .frontcat-gallery-modal-mode .frontcat-gallery-wrap .frontcat-use-btn-group > .button {
        min-width: 0;
    }

    .frontcat-gallery-wrap .button:hover {
        background-color: color-mix(in srgb, var(--fc-primary-color) 90%, black);
    }
    .frontcat-gallery-wrap .button.is-destructive {
        background-color: #d63638;
        color: #fff;
    }
    .frontcat-gallery-wrap .button.is-destructive:hover {
        background-color: #b02a2c;
    }
    .frontcat-gallery-wrap .button-secondary {
        background-color: #f0f0f1;
        color: #1e1e1e;
        border: 1px solid #dcdcde;
    }
    .frontcat-gallery-wrap .button-secondary:hover {
        background-color: #e7e7e8;
        border-color: #caccd0;
    }
    .frontcat-gallery-wrap .button-icon-only {
        background: none;
        border: none;
        cursor: pointer;
        padding: 5px;
        border-radius: 50%;
        width: 36px;
        height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: var(--fc-text-light);
    }
    .frontcat-gallery-wrap .button-icon-only:hover {
        background-color: #f0f0f1;
        color: var(--fc-text-dark);
    }
    .frontcat-gallery-wrap .button-icon-only svg {
        width: 24px;
        height: 24px;
        fill: currentColor;
    }

    .frontcat-bulk-delete-content {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .frontcat-bulk-delete-header {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 14px 16px;
        border: 1px solid rgba(17, 24, 39, 0.08);
        border-radius: 14px;
        background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    }

    .frontcat-bulk-delete-hint {
        margin: 0;
        color: #111827;
        font-size: 14px;
        line-height: 1.55;
    }

    .frontcat-bulk-delete-counter {
        display: inline-flex;
        align-self: flex-start;
        padding: 6px 10px;
        border-radius: 999px;
        background: rgba(17, 24, 39, 0.06);
        color: #111827;
        font-size: 12px;
        line-height: 1;
        font-weight: 600;
    }

    .frontcat-bulk-folder-list {
        max-height: 280px;
        overflow: auto;
        border: 1px solid var(--fc-border-color);
        border-radius: 14px;
        padding: 8px;
        background: #f8fafc;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .frontcat-bulk-folder-item {
        display: flex;
        align-items: flex-start;
        width: 100%;
        min-width: 0;
        gap: 12px;
        padding: 10px 12px;
        border: 1px solid transparent;
        border-radius: 12px;
        background: #fff;
        font-size: 14px;
        color: #111827;
        cursor: pointer;
        transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
        box-sizing: border-box;
    }

    .frontcat-bulk-folder-item:hover {
        border-color: rgba(239, 68, 68, 0.16);
        background: #fff5f5;
    }

    .frontcat-bulk-folder-checkbox {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
        opacity: 0 !important;
        appearance: none !important;
        -webkit-appearance: none !important;
        pointer-events: none !important;
    }

    .frontcat-bulk-folder-check {
        width: 18px;
        height: 18px;
        min-width: 18px;
        flex: 0 0 18px;
        border-radius: 6px;
        border: 1px solid rgba(17, 24, 39, 0.16);
        background: #fff;
        box-sizing: border-box;
        position: relative;
        pointer-events: none;
        margin-top: 1px;
    }

    .frontcat-bulk-folder-checkbox:checked + .frontcat-bulk-folder-check {
        background: #ef4444;
        border-color: #ef4444;
        box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.14);
    }

    .frontcat-bulk-folder-checkbox:checked + .frontcat-bulk-folder-check::after {
        content: '';
        position: absolute;
        left: 5px;
        top: 2px;
        width: 5px;
        height: 9px;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        transform: rotate(45deg);
    }

    .frontcat-bulk-folder-checkbox:focus-visible + .frontcat-bulk-folder-check {
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-primary-color) 18%, transparent);
        border-color: color-mix(in srgb, var(--fc-primary-color) 70%, #ffffff);
    }

    .frontcat-bulk-folder-meta {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        min-width: 0;
        width: 100%;
        max-width: 100%;
        gap: 2px;
        box-sizing: border-box;
    }

    .frontcat-bulk-folder-name {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        white-space: normal;
        word-break: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
        font-weight: 600;
        line-height: 1.35;
        color: #111827;
    }

    .frontcat-bulk-folder-path {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        white-space: normal;
        word-break: break-word;
        overflow-wrap: break-word;
        line-height: 1.35;
        font-size: 12px;
        color: #6b7280;
    }

    .frontcat-delete-media-toggle {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 12px 14px;
        border-radius: 12px;
        background: #fff7ed;
        border: 1px solid rgba(251, 146, 60, 0.2);
        font-size: 14px;
        color: #111827;
    }

    .frontcat-delete-media-toggle input[type="checkbox"] {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
        opacity: 0 !important;
        appearance: none !important;
        -webkit-appearance: none !important;
        pointer-events: none !important;
    }

    .frontcat-delete-media-check {
        width: 18px;
        height: 18px;
        border-radius: 6px;
        border: 1px solid rgba(17, 24, 39, 0.16);
        background: #fff;
        box-sizing: border-box;
        position: relative;
        flex: 0 0 18px;
        pointer-events: none;
    }

    .frontcat-delete-media-toggle input[type="checkbox"]:checked + .frontcat-delete-media-check {
        background: #ef4444;
        border-color: #ef4444;
        box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.14);
    }

    .frontcat-delete-media-toggle input[type="checkbox"]:checked + .frontcat-delete-media-check::after {
        content: '';
        position: absolute;
        left: 5px;
        top: 2px;
        width: 5px;
        height: 9px;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        transform: rotate(45deg);
    }

    .frontcat-delete-media-toggle input[type="checkbox"]:focus-visible + .frontcat-delete-media-check {
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-primary-color) 18%, transparent);
        border-color: color-mix(in srgb, var(--fc-primary-color) 70%, #ffffff);
    }

    .frontcat-delete-media-hint {
        margin: -4px 0 0 0;
        font-size: 13px;
        color: #4b5563;
    }


    .frontcat-gallery-wrap .gallery-folder-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .frontcat-gallery-wrap .gallery-folder-list li {
        display: flex;
        align-items: center;
        position: relative;
        width: 100%;
        min-width: 0; /* allow text ellipsis on desktop */
    }

    .frontcat-gallery-wrap .frontcat-folder-list__icon {
        display: inline-block;
        width: 32px;
        height: 26px;
        margin-right: 10px;
        position: relative;
        vertical-align: middle;
        background:
            linear-gradient(180deg,
                color-mix(in srgb, var(--fc-folder-base) 90%, #ffffff) 0%,
                color-mix(in srgb, var(--fc-folder-base) 75%, #ffffff) 40%,
                color-mix(in srgb, var(--fc-folder-base) 60%, #ffffff) 100%),
            linear-gradient(130deg,
                color-mix(in srgb, var(--fc-folder-base) 40%, #ffffff) 0%,
                transparent 55%),
            linear-gradient(0deg,
                color-mix(in srgb, var(--fc-folder-base) 60%, #000000) 0%,
                transparent 70%);
        background-color: var(--fc-folder-base);
        mask-image: var(--fc-folder-mask);
        -webkit-mask-image: var(--fc-folder-mask);
        mask-size: contain;
        -webkit-mask-size: contain;
        mask-repeat: no-repeat;
        -webkit-mask-repeat: no-repeat;
        mask-position: center;
        -webkit-mask-position: center;
    }
    .frontcat-gallery-wrap .frontcat-folder-list__icon::before { display: none; }
    .frontcat-gallery-wrap .frontcat-folder-list__label {
            display: block;
            vertical-align: middle;
            flex: 1 1 auto;
            min-width: 0;
            width: auto;
            max-width: calc(100% - 48px); /* leave room for the options button */
        white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

    .frontcat-gallery-wrap .gallery-folder-list li a {
        flex-grow: 1;
        min-width: 0;
        width: 100%;
        display: flex;
        align-items: center;
        white-space: nowrap;
        gap: 10px;
        padding: 10px 52px 10px 15px;
        text-decoration: none;
        color: var(--fc-text-dark);
        border-radius: 6px;
        transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
        font-weight: 500;
        overflow: hidden;
    }
    .frontcat-gallery-wrap .gallery-folder-list li a[title],
    .frontcat-gallery-wrap .gallery-folder-list .frontcat-folder-list__label[title] {
        cursor: pointer;
    }

    .frontcat-gallery-wrap #frontcat-current-folder {
        display: none !important;
    }

    .frontcat-confirm-panel .frontcat-bulk-folder-list {
        width: 100%;
        box-sizing: border-box;
    }

    .frontcat-confirm-panel .frontcat-bulk-folder-item {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .frontcat-confirm-panel .frontcat-bulk-folder-meta {
        width: 100%;
        min-width: 0;
    }

    .frontcat-confirm-panel .frontcat-bulk-folder-name,
    .frontcat-confirm-panel .frontcat-bulk-folder-path {
        max-width: 100%;
    }

    .frontcat-gallery-wrap .gallery-folder-list li a:hover {
        background-color: #f0f0f0;
    }
    .frontcat-gallery-wrap .gallery-folder-list li a.active {
        background-color: color-mix(in srgb, var(--fc-primary-color) 10%, transparent);
        color: var(--fc-primary-color);
        font-weight: 600;
    }

    /* Drag & drop: highlight drop target for folder moves */
    .frontcat-gallery-wrap .gallery-folder-list li a.frontcat-folder-drop-target {
        background-color: color-mix(in srgb, var(--fc-primary-color) 18%, transparent);
    }

    .frontcat-gallery-wrap .gallery-folder-list .folder-options-button {
        position: absolute;
        right: 8px;
        top: 50%;
        transform: translateY(-50%);
        width: 32px;
        height: 32px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #9e9e9e;
        background: transparent;
        border: none;
        border-radius: 8px;
        padding: 0;
    }

    .frontcat-gallery-wrap .gallery-folder-list .folder-options-button:hover {
        background-color: #f0f0f1;
        color: var(--fc-text-dark);
    }

    .frontcat-gallery-wrap .gallery-folder-list .folder-options-dropdown {
        display: none;
        position: absolute;
        right: 8px;
        top: calc(50% + 18px);
        background: #fff;
        border: 1px solid #dcdcde;
        border-radius: 10px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
        min-width: 150px;
        overflow: hidden;
        z-index: 2000;
    }

    .frontcat-gallery-wrap .gallery-folder-list .folder-options-dropdown.is-open {
        display: block;
    }

    .frontcat-gallery-wrap .gallery-folder-list .folder-options-dropdown button {
        width: 100%;
        text-align: left;
        padding: 10px 12px;
        background: none;
        border: none;
        border-bottom: 1px solid #f0f0f1;
        color: var(--fc-text-dark);
        font-size: 13px;
        line-height: 1.4;
        cursor: pointer;
        display: block;
    }

    .frontcat-gallery-wrap .gallery-folder-list .folder-options-dropdown button:last-child {
        border-bottom: none;
    }

    .frontcat-gallery-wrap .gallery-folder-list .folder-options-dropdown button:hover {
        background: #f7f7f9;
    }

    .frontcat-gallery-wrap .gallery-folder-list .folder-options-dropdown .delete-folder-button {
        color: #d63638;
    }

    .gallery-main {
        flex: 1;
        min-width: 0;
        min-height: 0;
        background-color: var(--fc-container-bg);
        border: 1px solid var(--fc-border-color);
        border-radius: var(--fc-border-radius);
        display: flex;
        flex-direction: column;
        box-shadow: var(--fc-box-shadow);
    }
    .gallery-main-header {
        padding: 12px 20px;
        border-bottom: 1px solid var(--fc-border-color);
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .header-row-1 {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        flex-grow: 1;
    }
        .header-title-wrap {
            display: flex;
            flex-direction: column;
            gap: 4px;
            min-width: 0;
        }
    .header-row-2 {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: wrap;
    }
    .gallery-main-header h2 {
        font-size: 16px;
        margin: 0;
        flex-shrink: 0;
        color: var(--fc-text-dark);
        min-width: 0;
    }
    .gallery-breadcrumb {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px;
        font-size: 13px;
        color: var(--fc-text-dark);
        line-height: 1.45;
        min-height: 16px;
        padding: 8px 12px;
        background: #f8fafc;
        border: 1px solid #d8e1ee;
        border-radius: 8px;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    }
    .gallery-breadcrumb .frontcat-breadcrumb__link {
        background: none;
        border: none;
        padding: 0;
        color: var(--fc-primary-color);
        cursor: pointer;
        font-size: inherit;
        line-height: inherit;
        font-weight: 600;
        text-decoration: none;
    }
    .gallery-breadcrumb .frontcat-breadcrumb__link:hover,
    .gallery-breadcrumb .frontcat-breadcrumb__link:focus,
    .gallery-breadcrumb .frontcat-breadcrumb__link:active {
        text-decoration: none;
        color: var(--fc-primary-color);
        background: none;
        box-shadow: none;
        outline: none;
    }
    .gallery-breadcrumb .frontcat-breadcrumb__current {
        color: var(--fc-text-dark);
        font-weight: 700;
        min-width: 0;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
    .gallery-breadcrumb .frontcat-breadcrumb__sep {
        color: #94a3b8;
        user-select: none;
        font-weight: 700;
    }
    .gallery-select-actions {
        display: flex;
        gap: 15px;
        font-size: 13px;
        align-items: center;
        flex: 1 1 240px;
        margin-right: 0;
    }

    .gallery-header-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 12px;
        flex: 0 1 auto;
        flex-wrap: wrap;
    }
    .gallery-select-actions a {
        text-decoration: none;
        color: var(--fc-primary-color);
        font-weight: 500;
    }
    .gallery-select-actions a:hover {
        text-decoration: underline;
    }
    .gallery-main-actions {
        display: flex;
        align-items: center;
        gap: 12px;
        font-size: 13px;
        flex-wrap: wrap;
    }
    .gallery-main-actions select {
        padding: 8px 12px;
        border: 1px solid var(--fc-border-color);
        border-radius: var(--fc-border-radius);
    }

    .gallery-main-actions #move-to-folder-select {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        background-color: var(--fc-body-bg, #f7f7f9);
        border: 1px solid var(--fc-border-color, #E7E7E7);
        border-radius: var(--fc-border-radius, 8px);
        color: var(--fc-text-dark, #231E39);
        font-family: var(--fc-font-family, "Roboto", sans-serif);
        font-size: 14px;
        line-height: 1.4;
        padding: 10px 12px;
        padding-right: 38px;
        box-sizing: border-box;
        cursor: pointer;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5 10 12.5 15 7.5' stroke='%23231E39' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 12px center;
        background-size: 16px;
    }
    .gallery-main-actions #move-to-folder-select::picker-icon { display: none; }
    .gallery-main-actions #move-to-folder-select:focus {
        outline: none;
        border-color: var(--fc-primary-color, var(--e-global-color-primary, #FF3131));
        background-color: var(--fc-container-bg, #FFFFFF);
        box-shadow: 0 0 0 3px rgba(255, 49, 49, 0.1);
    }
    .gallery-main-actions #move-to-folder-select::picker(select) {
        appearance: base-select;
        background-color: var(--fc-container-bg, #FFFFFF);
        border: 1px solid var(--fc-border-color, #E7E7E7);
        border-radius: var(--fc-border-radius, 8px);
        box-shadow: var(--fc-box-shadow, 0px 4px 12px rgba(0, 0, 0, 0.05));
        padding: 5px;
        margin-top: 5px;
        max-height: 240px;
        overflow-y: auto;
    }
    .gallery-main-actions #move-to-folder-select option {
        padding: 10px 15px;
        margin-bottom: 2px;
        border-radius: 4px;
        color: var(--fc-text-dark, #231E39);
        font-family: var(--fc-font-family, "Roboto", sans-serif);
        font-size: 14px;
        cursor: pointer;
        transition: background-color 0.2s;
        border: none;
    }
    .gallery-main-actions #move-to-folder-select option:hover,
    .gallery-main-actions #move-to-folder-select option:checked,
    .gallery-main-actions #move-to-folder-select option:focus {
        background-color: var(--fc-primary-color, var(--e-global-color-primary, #FF3131)) !important;
        color: #ffffff !important;
    }
    .gallery-main-content {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        min-height: 0;
        overflow: hidden;
        padding: 0;
    }

    .gallery-main-content,
    .gallery-image-grid {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }
    .gallery-image-grid {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: scroll;
        overflow-x: hidden;
        scrollbar-gutter: stable both-edges;
        padding: 20px;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        grid-auto-rows: max-content;
        gap: 15px;
        align-content: start;
        align-items: stretch;
    }

    #frontcat-image-grid > .gallery-loader,
    #frontcat-image-grid > p {
        grid-column: 1 / -1;
    }

    #frontcat-image-grid .frontcat-folder-card {
        aspect-ratio: 1 / 1;
        min-height: 0;
        display: block;
    }

    #frontcat-image-grid .frontcat-folder-card__icon {
        height: 100%;
    }

    #frontcat-image-grid .frontcat-folder-card__name {
        display: none;
    }

    #frontcat-gallery-pagination.frontcat-gallery-pagination {
        flex: 0 0 auto;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    #frontcat-gallery-pagination.frontcat-gallery-pagination:empty {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    #frontcat-gallery-pagination.frontcat-pagination-wrapper {
        margin-top: 0;
        padding: 14px 20px 20px;
        border-top: 1px solid var(--fc-border-color);
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
        flex-wrap: wrap;
        align-items: center;
    }

    #frontcat-gallery-pagination.frontcat-pagination-infinite {
        margin-top: 0;
        padding: 14px 20px 20px;
        border-top: 1px solid var(--fc-border-color);
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .frontcat-pagination-wrapper {
        display: flex;
        justify-content: center;
        transition: opacity 0.3s;
    }

    .frontcat-pagination-wrapper .page-numbers {
        display: inline-flex;
        align-items: center;
        justify-content: center;
                padding: 0 12px;
        margin: 0 4px;
        text-decoration: none;
        border: 1px solid var(--fc-border-color);
        color: var(--fc-text-light);
        background-color: var(--fc-container-bg);
        border-radius: var(--fc-border-radius);
        transition: all 0.2s;
        font-weight: 500;
        font-size: 14px;
        cursor: pointer;
    }

    .frontcat-pagination-wrapper .page-numbers:hover {
        border-color: var(--fc-primary-color);
        color: var(--fc-primary-color);
        background-color: color-mix(in srgb, var(--fc-primary-color) 10%, transparent);
    }

    .frontcat-pagination-wrapper .page-numbers.current {
        background-color: var(--fc-primary-color);
        border-color: var(--fc-primary-color);
        color: #fff;
        cursor: default;
    }

    .frontcat-pagination-wrapper .page-numbers.current:hover {
        background-color: var(--fc-primary-color);
        border-color: var(--fc-primary-color);
        color: #fff;
    }

    .frontcat-pagination-wrapper .page-numbers:disabled {
        opacity: 0.9;
        cursor: default;
    }

    .frontcat-pagination-wrapper .page-numbers.dots {
        border-color: transparent;
        background-color: transparent;
        cursor: default;
    }

    .frontcat-pagination-wrapper .page-numbers.dots:hover {
        color: var(--fc-text-light);
    }

    .frontcat-pagination-infinite {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .frontcat-pagination-infinite .frontcat-load-more {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 160px;
            padding: 0 16px;
        border: 1px solid var(--fc-border-color);
        color: var(--fc-text-light);
        background-color: var(--fc-container-bg);
        border-radius: var(--fc-border-radius);
        transition: all 0.2s;
        font-weight: 600;
        font-size: 14px;
        cursor: pointer;
    }

    .frontcat-pagination-infinite .frontcat-load-more:hover {
        border-color: var(--fc-primary-color);
        color: var(--fc-primary-color);
        background-color: color-mix(in srgb, var(--fc-primary-color) 10%, transparent);
    }

    .frontcat-pagination-infinite .frontcat-load-more:disabled {
        opacity: 0.6;
        cursor: default;
    }

    .frontcat-load-more-sentinel {
        width: 100%;
        height: 1px;
    }

    .frontcat-gallery-pagination {
        padding: var(--fc-gp-container-padding, 14px 20px 20px);
        border-top: var(--fc-gp-container-border, 1px solid var(--fc-border-color));
        background: var(--fc-gp-container-background, transparent);
        border-radius: var(--fc-gp-container-radius, 0);
        box-shadow: var(--fc-gp-container-shadow, none);
        margin-top: var(--fc-gp-container-margin-top, 0);
        display: flex;
        align-items: center;
        justify-content: var(--fc-gp-container-justify, center);
        gap: var(--fc-gp-container-gap, 12px);
        flex-wrap: wrap;
    }

    .frontcat-gallery-pagination .frontcat-gallery-pagination-note {
        font-size: clamp(12px, var(--fc-gp-note-font-size, 13px), 18px);
        color: var(--fc-gp-note-color, var(--fc-text-light));
        font-weight: var(--fc-gp-note-font-weight, 500);
        font-family: var(--fc-gp-note-font-family, inherit);
        line-height: var(--fc-gp-note-line-height, normal);
        letter-spacing: var(--fc-gp-note-letter-spacing, normal);
        text-transform: var(--fc-gp-note-text-transform, none);
    }

    .frontcat-gallery-pagination-nav {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        flex-wrap: wrap;
    }

    .frontcat-gallery-page-numbers {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        flex-wrap: wrap;
    }

    .frontcat-gallery-page-dots {
        color: var(--fc-gp-dots-color, var(--fc-text-light));
        font-weight: 700;
        user-select: none;
    }

    .frontcat-gallery-pagination .frontcat-gallery-page-number {
        color: var(--fc-gp-number-color, #1e1e1e);
        background: var(--fc-gp-number-background, #f0f0f1);
        border: var(--fc-gp-number-border, 1px solid #dcdcde);
        border-radius: var(--fc-gp-number-radius, 6px);
        padding: var(--fc-gp-number-padding, 8px 12px);
        box-shadow: var(--fc-gp-number-shadow, none);
        font-family: var(--fc-gp-number-font-family, inherit);
        font-size: clamp(12px, var(--fc-gp-number-font-size, 13px), 18px);
        font-weight: var(--fc-gp-number-font-weight, 500);
        line-height: var(--fc-gp-number-line-height, normal);
        letter-spacing: var(--fc-gp-number-letter-spacing, normal);
        text-transform: var(--fc-gp-number-text-transform, none);
        min-width: 34px;
        min-height: 34px;
        box-sizing: border-box;
    }

    .frontcat-gallery-pagination .frontcat-gallery-page-number:hover {
        color: var(--fc-gp-number-hover-color, var(--fc-gp-number-color, #1e1e1e));
        background: var(--fc-gp-number-hover-background, #e7e7e8);
        border: var(--fc-gp-number-hover-border, 1px solid #caccd0);
        border-radius: var(--fc-gp-number-hover-radius, var(--fc-gp-number-radius, 6px));
        padding: var(--fc-gp-number-hover-padding, var(--fc-gp-number-padding, 8px 12px));
        box-shadow: var(--fc-gp-number-hover-shadow, var(--fc-gp-number-shadow, none));
    }

    .frontcat-gallery-pagination .frontcat-gallery-page-number.is-current,
    .frontcat-gallery-pagination .frontcat-gallery-page-number.is-current:hover {
        background: var(--fc-gp-number-active-background, var(--fc-primary-color));
        color: var(--fc-gp-number-active-color, #ffffff);
        border: var(--fc-gp-number-active-border, 1px solid transparent);
        cursor: default;
        opacity: 1;
        border-radius: var(--fc-gp-number-active-radius, var(--fc-gp-number-radius, 6px));
        padding: var(--fc-gp-number-active-padding, var(--fc-gp-number-padding, 8px 12px));
        box-shadow: var(--fc-gp-number-active-shadow, var(--fc-gp-number-shadow, none));
    }

    .frontcat-gallery-pagination .frontcat-gallery-page-prev,
    .frontcat-gallery-pagination .frontcat-gallery-page-next {
        color: var(--fc-gp-nav-color, #1e1e1e);
        background: var(--fc-gp-nav-background, #f0f0f1);
        border: var(--fc-gp-nav-border, 1px solid #dcdcde);
        border-radius: var(--fc-gp-nav-radius, 6px);
        padding: var(--fc-gp-nav-padding, 8px 12px);
        box-shadow: var(--fc-gp-nav-shadow, none);
        font-family: var(--fc-gp-nav-font-family, inherit);
        font-size: clamp(12px, var(--fc-gp-nav-font-size, 13px), 18px);
        font-weight: var(--fc-gp-nav-font-weight, 500);
        line-height: var(--fc-gp-nav-line-height, normal);
        letter-spacing: var(--fc-gp-nav-letter-spacing, normal);
        text-transform: var(--fc-gp-nav-text-transform, none);
        min-height: 34px;
        box-sizing: border-box;
    }

    .frontcat-gallery-pagination .frontcat-gallery-page-prev:hover,
    .frontcat-gallery-pagination .frontcat-gallery-page-next:hover {
        color: var(--fc-gp-nav-hover-color, var(--fc-gp-nav-color, #1e1e1e));
        background: var(--fc-gp-nav-hover-background, #e7e7e8);
        border: var(--fc-gp-nav-hover-border, 1px solid #caccd0);
        border-radius: var(--fc-gp-nav-hover-radius, var(--fc-gp-nav-radius, 6px));
        padding: var(--fc-gp-nav-hover-padding, var(--fc-gp-nav-padding, 8px 12px));
        box-shadow: var(--fc-gp-nav-hover-shadow, var(--fc-gp-nav-shadow, none));
    }

    .frontcat-gallery-pagination .frontcat-gallery-page-prev:disabled,
    .frontcat-gallery-pagination .frontcat-gallery-page-next:disabled {
        opacity: 0.55;
        cursor: not-allowed;
    }

    .frontcat-gallery-load-more .frontcat-gallery-load-more-btn {
        color: var(--fc-gp-loadmore-color, #1e1e1e);
        background: var(--fc-gp-loadmore-background, #f0f0f1);
        border: var(--fc-gp-loadmore-border, 1px solid #dcdcde);
        border-radius: var(--fc-gp-loadmore-radius, 6px);
        padding: var(--fc-gp-loadmore-padding, 8px 12px);
        box-shadow: var(--fc-gp-loadmore-shadow, none);
        font-family: var(--fc-gp-loadmore-font-family, inherit);
        font-size: clamp(12px, var(--fc-gp-loadmore-font-size, 13px), 18px);
        font-weight: var(--fc-gp-loadmore-font-weight, 500);
        line-height: var(--fc-gp-loadmore-line-height, normal);
        letter-spacing: var(--fc-gp-loadmore-letter-spacing, normal);
        text-transform: var(--fc-gp-loadmore-text-transform, none);
        min-height: 34px;
        box-sizing: border-box;
    }

    .frontcat-gallery-pagination .frontcat-gallery-load-more {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .frontcat-gallery-load-more .frontcat-gallery-load-more-btn:hover {
        color: var(--fc-gp-loadmore-hover-color, var(--fc-gp-loadmore-color, #1e1e1e));
        background: var(--fc-gp-loadmore-hover-background, #e7e7e8);
        border: var(--fc-gp-loadmore-hover-border, 1px solid #caccd0);
        border-radius: var(--fc-gp-loadmore-hover-radius, var(--fc-gp-loadmore-radius, 6px));
        padding: var(--fc-gp-loadmore-hover-padding, var(--fc-gp-loadmore-padding, 8px 12px));
        box-shadow: var(--fc-gp-loadmore-hover-shadow, var(--fc-gp-loadmore-shadow, none));
    }
    .frontcat-folder-card {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        border: none;
        border-radius: 10px;
        background: transparent;
        box-shadow: none;
        cursor: pointer;
        transition: transform 0.15s ease;
        min-height: 140px;
        width: 100%;
        box-sizing: border-box;
        overflow: hidden;
    }
    .frontcat-folder-card:focus { outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-primary-color) 30%, transparent); }
    .frontcat-folder-card:hover { transform: translateY(-1px); }
    .frontcat-folder-card__icon {
        width: 100%;
        aspect-ratio: 1 / 1;
        height: auto;
        flex-shrink: 0;
        position: relative;
        display: grid;
        align-items: stretch;
        justify-items: stretch;
        overflow: hidden;
        background: transparent;
        isolation: isolate;
    }
    .frontcat-folder-card__icon .gallery-item-name {
        grid-area: 1 / 1;
        align-self: end;
        justify-self: stretch;
        padding: 4px 8px;
        font-family: var(--fc-font-family);
        font-weight: 600;
        text-align: center;
        color: #e3e3e3;
        pointer-events: auto;
        background: rgba(0, 0, 0, 0.6);
        border-radius: 4px;
        font-size: 11px;
        line-height: 1.3;
        position: absolute;
        left: 10%;
        width: 80%;
        bottom: 12.5%;
        transform: translateX(-5%) !important;
        z-index: 5;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .frontcat-folder-card__svg {
        grid-area: 1 / 1;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        pointer-events: none;
    }
    .frontcat-folder-card__svg .folder-shape path.base-fill { fill: var(--fc-folder-base); }
    .frontcat-folder-card__svg .folder-shape .gradOverlay { mix-blend-mode: overlay; pointer-events: none; }
    .frontcat-folder-card__name {
        font-weight: 600;
        color: var(--fc-text-dark);
        line-height: 1.35;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }
    .gallery-image-item, .gallery-video-item, .gallery-pdf-item {
        position: relative;
        border: 2px solid transparent;
        padding: 0;
        border-radius: 6px;
        overflow: hidden;
        aspect-ratio: 1 / 1;
        min-width: 0;
        min-height: 0;
        cursor: pointer;
        transition: border-color 0.2s, box-shadow 0.2s;
    }
    .gallery-video-item {
        background-color: #f0f0f1;
    }
    .gallery-image-item.selected, .gallery-video-item.selected, .gallery-pdf-item.selected {
        border-color: var(--fc-primary-color);
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-primary-color) 40%, transparent);
    }
    .gallery-image-item > img,
    .gallery-pdf-item > img {
        position: absolute;
        inset: 4px;
        width: calc(100% - 8px);
        height: calc(100% - 8px);
        max-width: calc(100% - 8px);
        min-width: 0;
        object-fit: cover;
        display: block;
        border-radius: 4px;
        border: 1px solid var(--fc-border-color);
        box-sizing: border-box;
    }

    .gallery-video-item .frontcat-video-thumb {
        position: absolute;
        inset: 4px;
        width: calc(100% - 8px);
        height: calc(100% - 8px);
        border-radius: 4px;
        border: 1px solid var(--fc-border-color);
        overflow: hidden;
        box-sizing: border-box;
        background: #fff;
    }

    .gallery-video-item .frontcat-video-thumb video,
    .gallery-video-item .frontcat-video-thumb .frontcat-video-overlay {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }

    .frontcat-gallery-wrap .gallery-image-item img,
    .frontcat-gallery-wrap .gallery-video-item img {
        height: 100% !important;
        margin: 0 !important;
        border-radius: 4px !important;
    }

    .frontcat-gallery-wrap .gallery-pdf-item img {
        height: 100% !important;
        margin: 0 !important;
        border-radius: 8px !important;
    }
    .gallery-video-item > img {
        object-fit: contain;
        padding: 20px;
    }

    .gallery-image-item.is-svg {
        background: #fff;
    }
    .gallery-image-item.is-svg img {
        object-fit: contain;
        padding: 16px;
        box-sizing: border-box;
        background: #fff;
    }

    .gallery-image-item img[src$=".svg"],
    .gallery-image-item img[src*=".svg?"],
    .gallery-image-item img[src*=".svg#"] {
        object-fit: contain;
        padding: 16px;
        box-sizing: border-box;
        background: #fff;
    }

    /* PDF thumbs: make the default WP mime icon look like a card */
    .gallery-pdf-item {
        background: #fff;
    }
    .gallery-pdf-item img {
        object-fit: contain;
        background: #fff;
        border-radius: 8px;
        border: 1px solid color-mix(in srgb, var(--fc-border-color) 70%, #cbd5e1 30%);
        box-shadow: 0 1px 0 rgba(0,0,0,0.02);
    }
    .gallery-pdf-item::after {
        content: 'PDF';
        position: absolute;
        left: 10px;
        top: 10px;
        z-index: 3;
        font-size: 11px;
        line-height: 1;
        font-weight: 800;
        letter-spacing: .4px;
        color: #fff;
        background: #d63638;
        padding: 3px 7px;
        border-radius: 999px;
        pointer-events: none;
    }
    .gallery-video-item.is-fallback-icon img {
        object-fit: contain;
        padding: 25%;
        box-sizing: border-box;
    }
    .gallery-video-item::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 32px;
        height: 32px;
        background-color: rgba(0, 0, 0, 0.5);
        border-radius: 50%;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M8,5.14V19.14L19,12.14L8,5.14Z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 16px;
        pointer-events: none;
    }
    .gallery-loader {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
        font-size: 16px;
        color: var(--fc-text-light);
    }
    #create-folder-status {
        font-size: 12px;
        margin-top: 8px;
        text-align: center;
    }

    #toggle-sidebar-button {
        display: none;
    }
    #close-sidebar-button {
        display: none;
    }
    .gallery-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,0.5);
        z-index: 99;
    }


    @media (max-width: 768px) {
        .frontcat-gallery-layout {
            flex-direction: column;
            padding: 0;
            gap: 0;
            position: relative;
        }
        #frontcat-gallery-close {
            top: 5px;
            right: 5px;
        }
        .gallery-sidebar {
            position: fixed;
            top: 0;
            left: 0;
            width: 280px;
            height: 100%;
            z-index: 100;
            transform: translateX(-100%);
            transition: transform 0.3s ease-in-out;
            border-radius: 0;
            border-right: 1px solid var(--fc-border-color);
            box-shadow: 0 0 20px rgba(0,0,0,0.2);
        }
        .gallery-sidebar.is-visible {
            transform: translateX(0);
        }
        .gallery-sidebar.is-visible ~ .gallery-overlay {
            display: block;
        }
        .gallery-main {
            width: 100%;
            border-radius: 0;
            border: none;
            box-shadow: none;
            height: 100%;
        }
        #toggle-sidebar-button {
            display: inline-flex;
        }
        #close-sidebar-button {
            display: inline-flex;
        }
        .gallery-main-header h2 {
            font-size: 14px;
        }
        .gallery-select-actions {
            display: none;
        }
        .header-row-2 {
            justify-content: space-between;
        }
        .header-row-1 {
            flex-wrap: wrap;
            align-items: flex-start;
        }
        .header-title-wrap {
            width: 100%;
        }
        #frontcat-current-folder {
            flex: 1 1 auto;
            min-width: 0;
            white-space: normal;
            word-break: break-word;
            overflow-wrap: anywhere;
        }
        .gallery-breadcrumb {
            font-size: 12px;
            gap: 6px;
            padding: 6px 10px;
        }
        .gallery-main-actions, #frontcat-upload-container {
            flex-basis: auto;
            justify-content: flex-end;
        }
        .gallery-image-grid {
            grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
            gap: 10px;
        }
        .frontcat-gallery-wrap .gallery-main-actions .button span {
            display: none;
        }
        #use-image-button span {
            display: inline-block;
        }
        .frontcat-gallery-wrap .gallery-main-actions .button, .frontcat-gallery-wrap .gallery-main-actions .button-secondary {
            padding: 8px 12px;
        }
        #use-image-button svg {
            display: none;
        }
        .gallery-main-actions {
            flex-grow: 1;
            justify-content: flex-end;
        }
        #frontcat-upload-container {
        display: none;
        }
        .frontcat-gallery-wrap .gallery-folder-list .delete-folder-button {
            display: inline-flex;
            position: static;
            transform: none;
            margin-left: 8px;
            flex-shrink: 0;
        }
        .frontcat-gallery-wrap .gallery-folder-list li:hover .delete-folder-button {
            display: inline-flex;
        }
    }

    .gallery-item-name {
        position: absolute;
        left: 6px;
        right: 6px;
        bottom: 6px;
        padding: 2px 4px;
        font-size: 11px;
        color: #e3e3e3;
        background: rgba(0, 0, 0, 0.7);
        border-radius: 4px;
        max-width: calc(100% - 12px);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Dropdown actions (rename/delete) */
    .gallery-folder-list .rename-folder-button,
    .frontcat-gallery-wrap .gallery-folder-list .delete-folder-button {
        display: block;
        position: static;
        width: 100%;
        height: auto;
        margin: 0;
        padding: 10px 12px;
        background: none;
        border-radius: 0;
        transform: none;
        z-index: 1;
    }


    /* Video thumbnail com vídeo real + overlay transparente */
    .gallery-video-item .frontcat-video-thumb {
        position: absolute;
        inset: 4px;
        width: calc(100% - 8px);
        height: calc(100% - 8px);
        border-radius: 4px;
        border: 1px solid var(--fc-border-color);
        overflow: hidden;
        box-sizing: border-box;
        background: #fff;
    }
    .gallery-video-item .frontcat-video-thumb video {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        border-radius: 0;
    }
    .gallery-video-item .frontcat-video-thumb .frontcat-video-overlay {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        padding: 0;
        border-radius: 0;
        pointer-events: none;
    }

    /* Lightbox de visualização de mídia */
    .frontcat-media-lightbox {
        position: fixed;
        inset: 0;
        z-index: 2147483647;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .frontcat-media-lightbox-backdrop {
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.75);
    }
    .frontcat-media-lightbox-inner {
        position: relative;
        z-index: 5;
        max-width: 90vw;
        max-height: 90vh;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }
    .frontcat-media-lightbox .frontcat-media-lightbox-close {
        appearance: none !important;
        -webkit-appearance: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
        aspect-ratio: 1 / 1 !important;
        padding: 0 !important;
        background: var(--fc-primary-color, var(--e-global-color-accent, #2563eb)) !important;
        border: 0 !important;
        outline: 0 !important;
        color: #fff !important;
        font-size: 28px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        border-radius: 9999px !important;
        cursor: pointer !important;
        margin: 0 0 10px 0 !important;
        box-sizing: border-box !important;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24) !important;
        transition: transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
        text-align: center !important;
        text-indent: 0 !important;
    }
    .frontcat-media-lightbox .frontcat-media-lightbox-close:hover,
    .frontcat-media-lightbox .frontcat-media-lightbox-close:focus-visible {
        color: #fff !important;
        background: var(--fc-primary-color, var(--e-global-color-accent, #2563eb)) !important;
        filter: brightness(0.96) !important;
        transform: translateY(-1px);
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28) !important;
        outline: none !important;
    }
    .frontcat-media-lightbox-content {
        max-width: 100%;
        max-height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .frontcat-media-lightbox-content img,
    .frontcat-media-lightbox-content video {
        max-width: 100%;
        max-height: 80vh;
        object-fit: contain;
        display: block;
        border-radius: 4px;
    }

    /* Mobile: mostrar somente ícones nos botões de ação principais */
    @media (max-width: 768px) {
        /* Oculta textos para excluir, usar, enviar e exportar */
        #frontcat-export-media-button .gallery-action-text,
        #delete-image-button span,
        #use-image-button span,
        #frontcat-upload-container label[for="frontcat-uploader"]:not(.frontcat-uploading) .frontcat-upload-button-main-text {
            display: none !important;
        }

        /* Mostra os SVGs (ícones) e garante tamanho apropriado */
        #frontcat-export-media-button svg,
        #delete-image-button svg,
        #use-image-button svg,
        #frontcat-upload-container label[for="frontcat-uploader"] svg {
            display: inline-block !important;
            width: 20px;
            height: 20px;
            vertical-align: middle;
        }

        /* Ajusta padding / largura para ficar apenas o ícone */
        #frontcat-export-media-button,
        #delete-image-button,
        #use-image-button,
        #frontcat-upload-container label[for="frontcat-uploader"] {
            padding-left: 10px;
            padding-right: 10px;
                    display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        /* O ícone de exportar usa o ícone de enviar (import) girado de cabeça para baixo */
        #frontcat-export-media-button svg.frontcat-export-icon {
            transform: rotate(180deg);
        }

        /* Move: no mobile, apenas ícone compacto, mantendo o select funcional */
        #move-to-folder-wrapper {
            position: relative;
            width: 40px;
            height: 36px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid #dcdcde;
            border-radius: 8px;
            background: #f0f0f1;
        }
        #move-to-folder-wrapper::before {
            content: '';
            position: absolute;
            inset: 0;
            margin: auto;
            width: 20px;
            height: 20px;
            pointer-events: none;
            background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23231E39'%3E%3Cpath d='M12 2 15.5 5.5 14.09 6.91 13 5.83V10h4.17l-1.08-1.09L17.5 7.5 21 11l-3.5 3.5-1.41-1.41L17.17 12H13v4.17l1.09-1.08L15.5 16.5 12 20l-3.5-3.5 1.41-1.41L11 16.17V12H6.83l1.08 1.09L6.5 14.5 3 11l3.5-3.5 1.41 1.41L6.83 10H11V5.83L9.91 6.91 8.5 5.5 12 2Z'/%3E%3C/svg%3E") no-repeat center;
            background-size: 20px 20px;
        }
        #move-to-folder-select {
            width: 100%;
            height: 100%;
                    padding: 0;
            border-radius: 8px;
            text-indent: -9999px;
            color: transparent;
            background: transparent;
            border: none;
            cursor: pointer;
        }
        #move-to-folder-select option {
            text-indent: 0;
            color: inherit;
            font-size: 14px;
        }
        #move-to-folder-select:focus-visible {
            outline: 2px solid var(--fc-primary-color);
            outline-offset: 2px;
        }
    }


    /* FrontCat upload button progress (mirrors admin styles) */
    #frontcat-upload-container {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 4px;
    }

    #frontcat-upload-container label[for="frontcat-uploader"] {
        position: relative;
        overflow: hidden;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        isolation: isolate;
    }

    #frontcat-upload-container label[for="frontcat-uploader"] .frontcat-upload-progress-bg {
        position: absolute;
        inset: 0 auto 0 0;
        width: 0%;
        border-radius: inherit;
        background: color-mix(in srgb, var(--fc-primary-color, #1d4ed8) 29%, #ffffff 71%);
        pointer-events: none;
        transition: width 0.28s ease;
        z-index: 1;
        overflow: hidden;
    }

    #frontcat-upload-container label[for="frontcat-uploader"].frontcat-uploading .frontcat-upload-progress-bg::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(110deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.50) 45%, rgba(255,255,255,0) 70%);
        transform: translateX(-130%);
        animation: frontcatUploadProgressSheen 1.4s ease-in-out infinite;
    }

    #frontcat-upload-container label[for="frontcat-uploader"] span,
    #frontcat-upload-container label[for="frontcat-uploader"] svg {
        position: relative;
        z-index: 5;
    }

    #frontcat-upload-container .frontcat-upload-button-percent {
        margin-left: auto;
        min-width: 42px;
        text-align: right;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .02em;
        opacity: 0;
        transition: opacity .2s ease;
        z-index: 6;
    }

    #frontcat-upload-container label[for="frontcat-uploader"].frontcat-uploading .frontcat-upload-button-percent {
        opacity: 1;
    }

    #frontcat-upload-container .frontcat-upload-button-subtext {
        display: none !important;
    }

    @keyframes frontcatUploadProgressSheen {
        0% { transform: translateX(-130%); }
        100% { transform: translateX(130%); }
    }

    /* Lightbox meta badges (título, tamanho e download) */
    .frontcat-media-lightbox-content {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 12px;
    }

    .frontcat-media-lightbox-preview {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .frontcat-media-lightbox-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 4px;
        justify-content: center;
    }

    .frontcat-media-badge {
        display: inline-flex;
        align-items: center;
        padding: 2px 10px;
        border-radius: 999px;
        font-size: 12px;
        line-height: 1.4;
        max-width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        background-color: rgba(0, 0, 0, 0.8);
        color: #fff;
    }

    .frontcat-media-badge--title {
        background-color: #111827;
    }

    .frontcat-media-badge--size {
        background-color: #4b5563;
    }

    .frontcat-media-badge--download {
        background-color: var(--fc-primary-color);
        text-decoration: none;
    }

    .frontcat-media-badge--download:hover {
        opacity: 0.9;
    }


/* V20.14.25-wizard: Use button group + clear selection icon */
.frontcat-use-btn-group{display:inline-flex!important;align-items:stretch!important;vertical-align:middle;border-radius:10px!important;overflow:hidden!important;gap:0!important;}
.frontcat-use-btn-group #use-image-button,.frontcat-use-btn-group .frontcat-clear-selection-button{height:44px!important;line-height:44px!important;}
.frontcat-use-btn-group #use-image-button{margin:0!important;border-radius:0!important;border-top-left-radius:10px!important;border-bottom-left-radius:10px!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important;}
.frontcat-use-btn-group .frontcat-clear-selection-button,#frontcat-clear-selection-button.frontcat-clear-selection-button{margin:0!important;border-radius:0!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-top-right-radius:10px!important;border-bottom-right-radius:10px!important;border-left:1px solid #c7c7c7!important;border-color:#d0d0d0!important;background:#e9ecef!important;background-color:#e9ecef!important;color:#333!important;min-width:44px!important;width:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;box-shadow:none!important;text-shadow:none!important;}
.frontcat-use-btn-group .frontcat-clear-selection-button:hover,#frontcat-clear-selection-button.frontcat-clear-selection-button:hover{background:#d6d8db!important;background-color:#d6d8db!important;border-color:#c7c7c7!important;color:#111!important;}
.frontcat-use-btn-group .frontcat-clear-selection-button:focus,.frontcat-use-btn-group .frontcat-clear-selection-button:focus-visible,#frontcat-clear-selection-button.frontcat-clear-selection-button:focus,#frontcat-clear-selection-button.frontcat-clear-selection-button:focus-visible{outline:none!important;box-shadow:none!important;}


.frontcat-folder-created-flash {
    box-shadow: 0 0 0 2px rgba(17, 115, 187, 0.22), 0 0 0 4px rgba(17, 115, 187, 0.10) !important;
    border-radius: 10px;
    transition: box-shadow .18s ease;
}

/* 20.20.382 - Uma unica badge compacta identifica o tipo de toda midia. */
.frontcat-gallery-wrap .gallery-pdf-item::after,
.frontcat-gallery-wrap .gallery-font-item::after,
.frontcat-gallery-wrap .gallery-file-item::after,
.frontcat-gallery-wrap .gallery-audio-item::after {
    display: none !important;
    content: none !important;
}

.frontcat-gallery-wrap .frontcat-media-type-badge {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    z-index: 8 !important;
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    padding: 2px 6px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff0e8 !important;
    color: #b53b05 !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    pointer-events: none !important;
    box-shadow: none !important;
}

.frontcat-gallery-wrap .gallery-font-item > .frontcat-font-thumb {
    grid-row: 1 !important;
    display: flex !important;
    box-sizing: border-box !important;
    width: calc(100% - 8px) !important;
    max-width: calc(100% - 8px) !important;
    height: calc(100% - 4px) !important;
    min-height: 138px !important;
    max-height: 206px !important;
    margin: 4px auto 0 !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 7px !important;
    overflow: hidden !important;
    border-radius: 11px !important;
    background: radial-gradient(circle at 78% 18%, rgba(255,90,10,.18), transparent 30%), linear-gradient(145deg, #fff8f3, #fff) !important;
    color: #252525 !important;
}

.frontcat-gallery-wrap .gallery-font-item > .frontcat-font-thumb strong {
    color: var(--fc-primary-color, #ff5a0a) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(48px, 6vw, 72px) !important;
    font-weight: 700 !important;
    line-height: .9 !important;
    letter-spacing: -5px !important;
}

.frontcat-gallery-wrap .gallery-font-item > .frontcat-font-thumb span {
    display: none !important;
}

.frontcat-media-lightbox .frontcat-media-lightbox-font {
    display: flex !important;
    width: min(560px, 82vw) !important;
    min-height: 360px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 20px !important;
    border-radius: 22px !important;
    background: linear-gradient(145deg, #fff8f3, #fff) !important;
    color: #252525 !important;
}

.frontcat-media-lightbox .frontcat-media-lightbox-font strong {
    color: var(--fc-primary-color, #ff5a0a) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(96px, 16vw, 180px) !important;
    line-height: .8 !important;
    letter-spacing: -10px !important;
}

.frontcat-media-lightbox .frontcat-media-lightbox-font span {
    max-width: 80% !important;
    overflow: hidden !important;
    color: #64748b !important;
    font-size: 13px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}


body.frontcat-gallery-no-folder-sidebar .frontcat-gallery-layout {
    gap: 0;
}
body.frontcat-gallery-no-folder-sidebar .gallery-main {
    width: 100%;
    max-width: 100%;
}
body.frontcat-gallery-no-folder-sidebar #toggle-sidebar-button,
body.frontcat-gallery-no-folder-sidebar .gallery-sidebar,
body.frontcat-gallery-no-folder-sidebar .gallery-overlay {
    display: none !important;
}


    .frontcat-confirm-panel .frontcat-bulk-folder-item {
        align-items: flex-start;
    }

    .frontcat-confirm-panel .frontcat-bulk-folder-meta {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .frontcat-confirm-panel .frontcat-bulk-folder-name,
    .frontcat-confirm-panel .frontcat-bulk-folder-path {
        width: 100%;
        max-width: 100%;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        overflow-wrap: break-word;
        word-break: break-word;
        display: block;
    }

    .gallery-sidebar.is-locked-folder {
        display: none !important;
    }

    body.frontcat-gallery-no-folder-sidebar #frontcat-inline-gallery-root .gallery-sidebar,
    body.frontcat-gallery-no-folder-sidebar #frontcat-inline-gallery-root #toggle-sidebar-button,
    body.frontcat-gallery-no-folder-sidebar #frontcat-inline-gallery-root .gallery-overlay {
        display: none !important;
    }


    .frontcat-confirm-panel .frontcat-bulk-folder-item > .frontcat-bulk-folder-checkbox,
    .frontcat-confirm-panel .frontcat-bulk-folder-item > .frontcat-bulk-folder-check {
        flex: 0 0 18px;
    }

    .frontcat-confirm-panel .frontcat-bulk-folder-item > .frontcat-bulk-folder-meta {
        flex: 1 1 auto;
        width: auto;
    }


    .frontcat-gallery-wrap .gallery-folder-list li a .frontcat-folder-list__icon,
    .frontcat-gallery-wrap .frontcat-folder-card__svg .folder-shape path.base-fill {
        background-color: var(--fc-folder-base);
        fill: var(--fc-folder-base);
    }

    .frontcat-gallery-wrap .gallery-folder-list li a.active .frontcat-folder-list__icon {
        background-color: var(--fc-primary-color, var(--fc-folder-base));
    }


/* Empty state in media modal */
.gallery-image-grid.frontcat-grid-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    justify-items: center;
    padding: 32px;
}

.gallery-image-grid.frontcat-grid-empty .frontcat-empty-state {
    width: 100%;
    min-height: 100%;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    justify-self: stretch;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    text-align: center;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gallery-image-grid.frontcat-grid-empty .frontcat-empty-state::before,
.gallery-image-grid.frontcat-grid-empty .frontcat-empty-state::after {
    content: none !important;
    display: none !important;
}

.gallery-image-grid.frontcat-grid-empty .frontcat-empty-state-text {
    margin: 0;
    padding: 0;
    max-width: 320px;
    color: color-mix(in srgb, var(--fc-text-dark, #231E39) 58%, #ffffff 42%);
    font-size: 16px;
    line-height: 1.55;
    font-weight: 500;
    text-align: center;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* V20.11.25 - Mobile grid for selected media actions */
@media (max-width: 768px) {
    .gallery-header-actions.frontcat-has-selection-actions {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-template-areas:
            "download move delete"
            "use use upload";
        align-items: stretch;
        gap: 10px;
    }

    .gallery-header-actions.frontcat-has-selection-actions > * {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .gallery-header-actions.frontcat-has-selection-actions #frontcat-export-media-button {
        grid-area: download;
        width: 100%;
        min-width: 0;
        height: 44px;
        justify-content: center;
    }

    .gallery-header-actions.frontcat-has-selection-actions #gallery-actions.gallery-main-actions {
        display: contents !important;
        width: auto;
    }

    .gallery-header-actions.frontcat-has-selection-actions #move-to-folder-wrapper {
        grid-area: move;
        width: 100%;
        min-width: 0;
        height: 44px;
    }

    .gallery-header-actions.frontcat-has-selection-actions #move-to-folder-select {
        width: 100%;
        min-width: 0;
    }

    .gallery-header-actions.frontcat-has-selection-actions #delete-image-button {
        grid-area: delete;
        width: 100%;
        min-width: 0;
        height: 44px;
    }

    .gallery-header-actions.frontcat-has-selection-actions .frontcat-use-btn-group {
        grid-area: use;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        height: 44px;
        display: inline-flex;
        align-items: stretch;
    }

    .gallery-header-actions.frontcat-has-selection-actions .frontcat-use-btn-group #use-image-button {
        flex: 1 1 auto;
        min-width: 0;
    }

    .gallery-header-actions.frontcat-has-selection-actions #remove-from-folder-button {
        display: none !important;
    }

    .gallery-header-actions.frontcat-has-selection-actions #frontcat-upload-container {
        grid-area: upload;
        width: 100%;
        min-width: 0;
        display: flex;
    }

    .gallery-header-actions.frontcat-has-selection-actions #frontcat-upload-container label[for="frontcat-uploader"] {
        width: 100%;
        min-width: 0;
        height: 44px;
        justify-content: center;
    }
}

/* 20.20.369 - O iframe da galeria deve ocupar todo o modal, sem faixa vazia. */
html:has(body.frontcat-gallery-modal-mode),
body.frontcat-gallery-modal-mode {
    width: 100% !important;
    height: 100% !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
}

body.frontcat-gallery-modal-mode .frontcat-gallery-wrap,
body.frontcat-gallery-modal-mode .frontcat-gallery-layout,
body.frontcat-gallery-modal-mode .gallery-main,
body.frontcat-gallery-modal-mode .gallery-main-content {
    min-height: 0 !important;
}

body.frontcat-gallery-modal-mode .frontcat-gallery-wrap {
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
}

body.frontcat-gallery-modal-mode .gallery-sidebar {
    min-height: 0 !important;
}

body.frontcat-gallery-modal-mode .gallery-sidebar-content,
body.frontcat-gallery-modal-mode .gallery-image-grid {
    min-height: 0 !important;
}



/* FrontCat upload button layout fix (v20.11.65) */
#frontcat-upload-container label[for="frontcat-uploader"] {
    justify-content: center;
    padding-left: 14px;
    padding-right: 14px;
}

#frontcat-upload-container .frontcat-upload-button-percent {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
    margin-left: 0;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
    text-align: right;
}

#frontcat-upload-container .frontcat-upload-button-main-text {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

#frontcat-upload-container label[for="frontcat-uploader"]:not(.frontcat-uploading) .frontcat-upload-button-percent {
    display: none;
}

#frontcat-upload-container label[for="frontcat-uploader"].frontcat-uploading {
    justify-content: flex-start;
    padding-right: 14px;
}

#frontcat-upload-container label[for="frontcat-uploader"].frontcat-uploading .frontcat-upload-button-main-text {
    padding-right: 40px;
}

/* FrontCat v20.12.110 - Gallery folder tree collapse/expand */
.frontcat-gallery-wrap .gallery-folder-list li.frontcat-folder-item {
    position: relative;
}

.frontcat-gallery-wrap .gallery-folder-list .frontcat-folder-toggle {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 6px;
    color: color-mix(in srgb, var(--fc-text-dark, #231E39) 65%, #ffffff 35%);
    background: transparent;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.frontcat-gallery-wrap .gallery-folder-list .frontcat-folder-toggle:hover,
.frontcat-gallery-wrap .gallery-folder-list .frontcat-folder-toggle:focus-visible {
    background: color-mix(in srgb, var(--fc-primary-color, #673DE6) 12%, transparent);
    color: var(--fc-primary-color, #673DE6);
    outline: none;
}

.frontcat-gallery-wrap .gallery-folder-list .frontcat-folder-toggle .fc-icon-chevron {
    width: 14px;
    height: 14px;
    display: block;
    transform-origin: center;
    transition: transform .18s ease;
}

.frontcat-gallery-wrap .gallery-folder-list li.frontcat-folder-item.is-expanded > .frontcat-folder-toggle .fc-icon-chevron {
    transform: rotate(90deg);
}

.frontcat-gallery-wrap .gallery-folder-list li.frontcat-folder-item--no-children > .frontcat-folder-toggle,
.frontcat-gallery-wrap .gallery-folder-list .frontcat-folder-toggle.is-disabled {
    opacity: 0;
    pointer-events: none;
}

.frontcat-gallery-wrap .gallery-folder-list li.frontcat-folder-item--has-children > a {
    cursor: pointer;
}

.frontcat-gallery-wrap .gallery-folder-list li.frontcat-folder-item--has-children.is-expanded > a {
    background-color: color-mix(in srgb, var(--fc-primary-color, #673DE6) 5%, transparent);
}

.frontcat-gallery-wrap .gallery-folder-list li.frontcat-folder-item--has-children.is-expanded > a.active {
    background-color: color-mix(in srgb, var(--fc-primary-color, #673DE6) 12%, transparent);
}

/* FrontCat 20.12.115 - dropdown custom de pasta com visual do filtro de categoria */
html body .frontcat-gallery-wrap .gallery-sidebar-footer .frontcat-folder-create-fields > select#new-folder-parent,
html body .frontcat-gallery-wrap .gallery-sidebar-footer #new-folder-parent.frontcat-gallery-folder-select-native {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.frontcat-gallery-wrap .frontcat-folder-create-fields > .frontcat-gallery-folder-select-custom ~ .frontcat-gallery-folder-select-custom {
    display: none !important;
}

.gallery-sidebar-footer .frontcat-gallery-folder-select-custom {
    position: relative;
    width: 100%;
    margin-bottom: 10px;
    font-family: var(--fc-font-family, "Roboto", sans-serif);
    color: var(--fc-text-dark, #231E39);
}

.gallery-sidebar-footer .frontcat-gallery-folder-select-trigger {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 100%;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: var(--fc-dashboard-filter-padding, 12px 14px 12px 16px) !important;
    border-width: var(--fc-dashboard-filter-border-width, 1px) !important;
    border-style: var(--fc-dashboard-filter-border-style, solid) !important;
    border-color: var(--fc-dashboard-filter-border-color, var(--fc-border-color, #E7E7E7)) !important;
    border-radius: var(--fc-dashboard-filter-radius, var(--fc-border-radius, 12px)) !important;
    background: var(--fc-dashboard-filter-bg, var(--fc-container-bg, #fff)) !important;
    color: var(--fc-dashboard-filter-color, var(--fc-text-dark, #231E39)) !important;
    box-shadow: var(--fc-dashboard-filter-shadow, none) !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.gallery-sidebar-footer .frontcat-gallery-folder-select-trigger:hover {
    background: var(--fc-dashboard-filter-bg, var(--fc-container-bg, #fff)) !important;
    color: var(--fc-dashboard-filter-color, var(--fc-text-dark, #231E39)) !important;
}

.gallery-sidebar-footer .frontcat-gallery-folder-select-trigger:focus,
.gallery-sidebar-footer .frontcat-gallery-folder-select-trigger:focus-visible,
.gallery-sidebar-footer .frontcat-gallery-folder-select-custom.is-open .frontcat-gallery-folder-select-trigger {
    outline: none !important;
    border-color: var(--fc-dashboard-filter-border-color-focus, var(--fc-primary-color, #FF3131)) !important;
    box-shadow: var(--fc-dashboard-filter-shadow-focus, 0 0 0 3px color-mix(in srgb, var(--fc-primary-color, #FF3131) 18%, transparent)) !important;
}

.gallery-sidebar-footer .frontcat-gallery-folder-select-trigger-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: inherit !important;
    font: inherit !important;
}

.gallery-sidebar-footer .frontcat-gallery-folder-select-trigger-caret {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-right: 2px solid #666;
    border-bottom: 2px solid #666;
    transform: rotate(45deg);
    margin-top: -4px;
    transition: transform .2s ease;
}

.gallery-sidebar-footer .frontcat-gallery-folder-select-custom.is-open .frontcat-gallery-folder-select-trigger-caret {
    transform: rotate(225deg);
    margin-top: 4px;
}

.gallery-sidebar-footer .frontcat-gallery-folder-select-menu,
.frontcat-gallery-folder-select-menu--portal {
    display: none;
    position: fixed !important;
    left: 0;
    right: auto;
    top: 0;
    bottom: auto;
    z-index: 2147483000;
    max-height: min(360px, calc(100vh - 20px));
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: #fff !important;
    border: 1px solid var(--fc-border-color, #E7E7E7) !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.18) !important;
    padding: 6px !important;
    font-family: var(--fc-font-family, "Roboto", sans-serif) !important;
}

.gallery-sidebar-footer .frontcat-gallery-folder-select-custom.is-open .frontcat-gallery-folder-select-menu,
.frontcat-gallery-folder-select-menu--portal.is-open {
    display: block;
}

.gallery-sidebar-footer .frontcat-gallery-folder-select-option,
.frontcat-gallery-folder-select-menu--portal .frontcat-gallery-folder-select-option {
    width: 100%;
    display: block;
    padding: 10px 12px !important;
    margin: 0 0 2px 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #111827 !important;
    font-family: var(--fc-font-family, inherit) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    cursor: pointer;
}

.gallery-sidebar-footer .frontcat-gallery-folder-select-option:hover,
.gallery-sidebar-footer .frontcat-gallery-folder-select-option:focus,
.frontcat-gallery-folder-select-menu--portal .frontcat-gallery-folder-select-option:hover,
.frontcat-gallery-folder-select-menu--portal .frontcat-gallery-folder-select-option:focus {
    outline: none !important;
    background: color-mix(in srgb, var(--fc-primary-color, #FF3131) 10%, #ffffff) !important;
}

.gallery-sidebar-footer .frontcat-gallery-folder-select-option.is-active,
.gallery-sidebar-footer .frontcat-gallery-folder-select-option[aria-selected="true"],
.frontcat-gallery-folder-select-menu--portal .frontcat-gallery-folder-select-option.is-active,
.frontcat-gallery-folder-select-menu--portal .frontcat-gallery-folder-select-option[aria-selected="true"] {
    background: color-mix(in srgb, var(--fc-primary-color, #FF3131) 14%, #ffffff) !important;
}



body.frontcat-gallery-modal-mode .frontcat-gallery-wrap,
body.frontcat-gallery-modal-mode .frontcat-gallery-layout,
body.frontcat-gallery-modal-mode .gallery-sidebar,
body.frontcat-gallery-modal-mode .gallery-sidebar-footer,
body.frontcat-gallery-modal-mode .frontcat-gallery-folder-select-custom {
    overflow: visible !important;
}

body.frontcat-gallery-modal-mode .gallery-sidebar-footer .frontcat-gallery-folder-select-menu,
body.frontcat-gallery-modal-mode .frontcat-gallery-folder-select-menu--portal {
    scrollbar-width: thin;
}

body.frontcat-gallery-modal-mode .gallery-sidebar-footer .frontcat-gallery-folder-select-menu::-webkit-scrollbar,
body.frontcat-gallery-modal-mode .frontcat-gallery-folder-select-menu--portal::-webkit-scrollbar {
    width: 8px;
}

body.frontcat-gallery-modal-mode .gallery-sidebar-footer .frontcat-gallery-folder-select-menu::-webkit-scrollbar-thumb,
body.frontcat-gallery-modal-mode .frontcat-gallery-folder-select-menu--portal::-webkit-scrollbar-thumb {
    background: rgba(17,24,39,.25);
    border-radius: 999px;
}

/* Editor flutuante: o iframe tem uma única altura útil e uma única rolagem de mídias. */
body.frontcat-gallery-modal-mode.frontcat-gallery-floating-editor-host {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

body.frontcat-gallery-floating-editor-host .frontcat-gallery-wrap,
body.frontcat-gallery-floating-editor-host .frontcat-gallery-layout,
body.frontcat-gallery-floating-editor-host .gallery-sidebar,
body.frontcat-gallery-floating-editor-host .gallery-main {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

body.frontcat-gallery-floating-editor-host .gallery-sidebar-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
}

body.frontcat-gallery-floating-editor-host .gallery-sidebar-footer {
    position: relative !important;
    z-index: 8 !important;
    flex: 0 0 auto !important;
    max-height: 52% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
}

body.frontcat-gallery-floating-editor-host .gallery-main-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.frontcat-gallery-floating-editor-host .gallery-image-grid {
    box-sizing: border-box !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 22px 24px 32px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

/* Drag-and-drop upload target for Galeria FrontCat */
.frontcat-gallery-wrap .gallery-main-content {
    position: relative;
}

.frontcat-gallery-wrap .gallery-main-content .gallery-image-grid,
.frontcat-gallery-wrap .gallery-main-content .frontcat-gallery-pagination {
    transition: filter 0.24s ease, opacity 0.24s ease, transform 0.24s ease;
}

.frontcat-gallery-wrap .gallery-main-content::before,
.frontcat-gallery-wrap .gallery-main-content::after {
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.24s ease, visibility 0.24s ease, transform 0.24s ease;
}

.frontcat-gallery-wrap .gallery-main-content::before {
    content: "";
    position: absolute;
    inset: 12px;
    z-index: 40;
    border: 2px dashed color-mix(in srgb, var(--fc-primary-color, #673DE6) 72%, #ffffff 28%);
    border-radius: 18px;
    background: color-mix(in srgb, var(--fc-container-bg, #ffffff) 68%, transparent 32%);
    box-shadow: 0 18px 55px rgba(35, 30, 57, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(11px) saturate(1.08);
    -webkit-backdrop-filter: blur(11px) saturate(1.08);
}

.frontcat-gallery-wrap .gallery-main-content::after {
    content: attr(data-frontcat-drop-message);
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 41;
    transform: translate(-50%, -48%) scale(0.98);
    color: var(--fc-text-dark, #231E39);
    font-family: var(--fc-font-family, var(--e-global-typography-text-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif)) !important;
    font-size: 17px !important;
    line-height: 1.35;
    font-weight: 600 !important;
    text-align: center;
    letter-spacing: -0.01em;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.82);
}

.frontcat-gallery-wrap .gallery-main-content.frontcat-gallery-drag-upload-active {
    isolation: isolate;
}

.frontcat-gallery-wrap .gallery-main-content.frontcat-gallery-drag-upload-active .gallery-image-grid,
.frontcat-gallery-wrap .gallery-main-content.frontcat-gallery-drag-upload-active .frontcat-gallery-pagination {
    filter: blur(6px);
    opacity: 0.28;
    transform: scale(0.992);
    pointer-events: none;
}

.frontcat-gallery-wrap .gallery-main-content.frontcat-gallery-drag-upload-active::before,
.frontcat-gallery-wrap .gallery-main-content.frontcat-gallery-drag-upload-active::after {
    opacity: 1;
    visibility: visible;
}

.frontcat-gallery-wrap .gallery-main-content.frontcat-gallery-drag-upload-active::after {
    transform: translate(-50%, -50%) scale(1);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .frontcat-gallery-wrap .gallery-main-content::before {
        background: rgba(255, 255, 255, 0.92);
    }
}

/* ==========================================================================
   Mídias FrontCat — light library redesign (20.20.276)
   Shared by wp-admin, Elementor and FrontCat panel pickers.
   ========================================================================== */

.frontcat-gallery-wrap {
    --fc-primary-strong: #e94e00;
    --fc-primary-soft: #fff1e9;
    --fc-surface: #ffffff;
    --fc-surface-soft: #f8fafc;
    --fc-surface-muted: #f1f5f9;
    --fc-border-color: #e2e8f0;
    --fc-border-strong: #cbd5e1;
    --fc-text-dark: #111827;
    --fc-text-muted: #64748b;
    --fc-danger: #dc2626;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: min(780px, calc(100vh - 230px)) !important;
    min-height: 620px;
    margin: 20px 20px 28px 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--fc-border-color) !important;
    border-radius: 22px !important;
    background: var(--fc-surface) !important;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08) !important;
    color: var(--fc-text-dark) !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

body.frontcat-gallery-modal-mode {
    margin: 0 !important;
    min-width: 0 !important;
    background: #f8fafc !important;
    color: #111827 !important;
}

body.frontcat-gallery-modal-mode .frontcat-gallery-wrap,
#frontcat-inline-gallery-root.frontcat-gallery-wrap {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.frontcat-gallery-wrap .frontcat-gallery-layout {
    display: grid !important;
    grid-template-columns: 288px minmax(0, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: var(--fc-surface-soft) !important;
}

.frontcat-gallery-wrap .gallery-sidebar {
    position: relative !important;
    inset: auto !important;
    z-index: 5 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 288px !important;
    min-width: 288px !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-right: 1px solid var(--fc-border-color) !important;
    border-radius: 0 !important;
    background: #fbfcfd !important;
    box-shadow: none !important;
}

.frontcat-gallery-wrap .gallery-sidebar-header {
    min-height: 108px !important;
    padding: 24px 22px 18px !important;
    border-bottom: 1px solid var(--fc-border-color) !important;
    background: var(--fc-surface) !important;
}

.frontcat-gallery-wrap .gallery-sidebar-header > div {
    min-width: 0;
}

.frontcat-gallery-wrap .frontcat-gallery-eyebrow {
    display: block;
    margin: 0 0 5px;
    color: var(--fc-primary-color) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

.frontcat-gallery-wrap .gallery-sidebar-header h2 {
    margin: 0 !important;
    color: var(--fc-text-dark) !important;
    font-size: 21px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
}

.frontcat-gallery-wrap .gallery-sidebar-header p {
    margin: 5px 0 0 !important;
    color: var(--fc-text-muted) !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.frontcat-gallery-wrap .gallery-sidebar-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 14px 12px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

.frontcat-gallery-wrap .gallery-folder-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.frontcat-gallery-wrap .gallery-folder-list li,
.frontcat-gallery-wrap .gallery-folder-list li.frontcat-folder-item {
    position: relative !important;
    min-height: 42px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
}

.frontcat-gallery-wrap .gallery-folder-list li > a {
    min-height: 42px !important;
    padding-top: 9px !important;
    padding-right: 42px !important;
    padding-bottom: 9px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    color: #334155 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 22px !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

.frontcat-gallery-wrap .gallery-folder-list li > a:hover {
    border-color: #edf0f4 !important;
    background: #f1f5f9 !important;
    color: var(--fc-text-dark) !important;
}

.frontcat-gallery-wrap .gallery-folder-list li > a.active {
    border-color: #ffd2ba !important;
    background: var(--fc-primary-soft) !important;
    color: #9a3412 !important;
    box-shadow: none !important;
}

.frontcat-gallery-wrap .gallery-folder-list li a .frontcat-folder-list__icon {
    position: relative !important;
    width: 19px !important;
    min-width: 19px !important;
    height: 15px !important;
    margin-right: 9px !important;
    border-radius: 3px !important;
    background: #f59e0b !important;
    box-shadow: inset 0 -1px 0 rgba(120, 53, 15, .12) !important;
}

.frontcat-gallery-wrap .gallery-folder-list li a .frontcat-folder-list__icon::before {
    content: "" !important;
    position: absolute !important;
    left: 1px !important;
    top: -4px !important;
    width: 9px !important;
    height: 5px !important;
    border-radius: 3px 3px 0 0 !important;
    background: #fbbf24 !important;
}

.frontcat-gallery-wrap .gallery-folder-list li > a.active .frontcat-folder-list__icon {
    background: var(--fc-primary-color) !important;
}

.frontcat-gallery-wrap .gallery-folder-list li > a.active .frontcat-folder-list__icon::before {
    background: #ff8a4c !important;
}

.frontcat-gallery-wrap .frontcat-folder-list__label {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.frontcat-gallery-wrap .frontcat-folder-list__count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 23px !important;
    height: 20px !important;
    margin-left: auto !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    background: #e9eef5 !important;
    color: #64748b !important;
    font-size: 10px !important;
    font-weight: 750 !important;
}

.frontcat-gallery-wrap .gallery-folder-list li > a.active .frontcat-folder-list__count {
    background: #fff !important;
    color: #c2410c !important;
}

.frontcat-gallery-wrap .folder-options-button {
    right: 6px !important;
    top: 6px !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 8px !important;
}

.frontcat-gallery-wrap .gallery-sidebar-footer {
    flex: 0 0 auto !important;
    padding: 16px !important;
    overflow: visible !important;
    border-top: 1px solid var(--fc-border-color) !important;
    background: var(--fc-surface) !important;
    box-shadow: 0 -12px 30px rgba(15, 23, 42, .035) !important;
}

/* Gerenciamento de pastas recolhido por padrao para preservar a area util. */
.frontcat-gallery-wrap .gallery-sidebar-footer:not(.is-expanded) > :not(.frontcat-folder-manager-header),
.frontcat-gallery-wrap .frontcat-folder-manager-content[hidden] {
    display: none !important;
}

.frontcat-gallery-wrap .gallery-sidebar-footer.is-expanded .frontcat-folder-manager-content {
    display: block !important;
}

.frontcat-gallery-wrap .gallery-sidebar-footer input,
.frontcat-gallery-wrap .gallery-sidebar-footer select,
.frontcat-gallery-wrap .gallery-sidebar-footer .frontcat-gallery-folder-select-trigger {
    min-height: 44px !important;
    border: 1px solid var(--fc-border-color) !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: var(--fc-text-dark) !important;
    box-shadow: none !important;
}

.frontcat-gallery-wrap .gallery-sidebar-footer input {
    margin-top: 10px !important;
    padding: 0 13px !important;
}

.frontcat-gallery-wrap input::placeholder,
.frontcat-gallery-wrap textarea::placeholder {
    color: #94a3b8 !important;
    opacity: 1 !important;
}

.frontcat-gallery-wrap .frontcat-folder-actions-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    margin-top: 10px !important;
}

.frontcat-gallery-wrap .gallery-main {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: var(--fc-surface-soft) !important;
}

.frontcat-gallery-wrap .gallery-main-header {
    position: relative !important;
    z-index: 4 !important;
    flex: 0 0 auto !important;
    padding: 20px 24px 16px !important;
    border-bottom: 1px solid var(--fc-border-color) !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .025) !important;
}

.frontcat-gallery-wrap .header-row-1 {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    min-width: 0 !important;
}

.frontcat-gallery-wrap .header-title-wrap {
    flex: 1 1 auto !important;
    min-width: 180px !important;
}

.frontcat-gallery-wrap #frontcat-current-folder {
    display: block !important;
    margin: 0 !important;
    color: var(--fc-text-dark) !important;
    font-size: 22px !important;
    font-weight: 760 !important;
    line-height: 1.18 !important;
    letter-spacing: -.03em !important;
}

.frontcat-gallery-wrap .gallery-breadcrumb {
    width: auto !important;
    min-height: 17px !important;
    margin-top: 5px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--fc-text-muted) !important;
    box-shadow: none !important;
    font-size: 11px !important;
}

.frontcat-gallery-wrap .gallery-breadcrumb a,
.frontcat-gallery-wrap .gallery-breadcrumb span {
    color: var(--fc-text-muted) !important;
    font-size: 11px !important;
    font-weight: 550 !important;
}

.frontcat-gallery-wrap .frontcat-media-search {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    flex: 0 1 340px !important;
    min-width: 210px !important;
    height: 44px !important;
    margin: 0 !important;
    border: 1px solid var(--fc-border-color) !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, .025) !important;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}

.frontcat-gallery-wrap .frontcat-media-search:focus-within {
    border-color: color-mix(in srgb, var(--fc-primary-color) 62%, #fff) !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--fc-primary-color) 10%, transparent) !important;
}

.frontcat-gallery-wrap .frontcat-media-search > svg {
    width: 18px !important;
    height: 18px !important;
    margin-left: 13px !important;
    fill: #94a3b8 !important;
}

.frontcat-gallery-wrap .frontcat-media-search input {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 34px 0 10px !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: var(--fc-text-dark) !important;
    box-shadow: none !important;
    font-size: 13px !important;
}

.frontcat-gallery-wrap .frontcat-media-search-clear {
    position: absolute !important;
    right: 7px !important;
    top: 50% !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #e9eef5 !important;
    color: #475569 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transform: translateY(-50%) !important;
}

.frontcat-gallery-wrap .frontcat-media-search-clear > svg {
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    overflow: visible !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.frontcat-gallery-wrap .frontcat-media-search-clear.is-visible {
    display: flex !important;
}

.frontcat-gallery-wrap .header-row-2 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    min-height: 44px !important;
    margin-top: 16px !important;
}

.frontcat-gallery-wrap .gallery-select-actions {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px 14px !important;
    min-width: 0 !important;
}

.frontcat-gallery-wrap .frontcat-selection-count {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: #f1f5f9 !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.frontcat-gallery-wrap .frontcat-selection-count.has-selection {
    background: var(--fc-primary-soft) !important;
    color: #c2410c !important;
}

.frontcat-gallery-wrap .gallery-select-actions a {
    color: #475569 !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    text-decoration: none !important;
}

.frontcat-gallery-wrap .gallery-select-actions a:hover {
    color: var(--fc-primary-color) !important;
}

.frontcat-gallery-wrap .gallery-header-actions,
.frontcat-gallery-wrap .gallery-main-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.frontcat-gallery-wrap .gallery-main-actions[style*="display: none"],
.frontcat-gallery-wrap .gallery-main-actions[style*="display:none"] {
    display: none !important;
}

.frontcat-gallery-wrap .button,
.frontcat-gallery-wrap a.button,
.frontcat-gallery-wrap label.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 15px !important;
    border: 1px solid var(--fc-border-strong) !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #1e293b !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .035) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: transform .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease !important;
}

.frontcat-gallery-wrap .button:hover,
.frontcat-gallery-wrap a.button:hover,
.frontcat-gallery-wrap label.button:hover {
    border-color: #94a3b8 !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    transform: translateY(-1px) !important;
}

.frontcat-gallery-wrap .button.button-primary,
.frontcat-gallery-wrap label.button-primary,
.frontcat-gallery-wrap #use-image-button,
.frontcat-gallery-wrap .frontcat-empty-upload-button {
    border-color: var(--fc-primary-color) !important;
    background: var(--fc-primary-color) !important;
    color: #fff !important;
    box-shadow: 0 7px 18px color-mix(in srgb, var(--fc-primary-color) 22%, transparent) !important;
}

.frontcat-gallery-wrap .button.button-primary:hover,
.frontcat-gallery-wrap label.button-primary:hover,
.frontcat-gallery-wrap #use-image-button:hover,
.frontcat-gallery-wrap .frontcat-empty-upload-button:hover {
    border-color: var(--fc-primary-strong) !important;
    background: var(--fc-primary-strong) !important;
    color: #fff !important;
}

.frontcat-gallery-wrap .button.is-destructive {
    border-color: #fecaca !important;
    background: #fff !important;
    color: var(--fc-danger) !important;
    box-shadow: none !important;
}

.frontcat-gallery-wrap .button.is-destructive:hover {
    border-color: #ef4444 !important;
    background: #fef2f2 !important;
    color: #b91c1c !important;
}

.frontcat-gallery-wrap .button svg,
.frontcat-gallery-wrap label.button svg {
    width: 17px !important;
    height: 17px !important;
    fill: currentColor !important;
}

.frontcat-gallery-wrap .button-icon-only {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    border: 1px solid var(--fc-border-color) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #475569 !important;
}

.frontcat-gallery-wrap .gallery-main-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 22px 24px 28px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background:
        radial-gradient(circle at 100% 0, rgba(255, 90, 10, .035), transparent 28%),
        var(--fc-surface-soft) !important;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

.frontcat-gallery-wrap .gallery-image-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)) !important;
    align-content: start !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.frontcat-gallery-wrap .gallery-image-item,
.frontcat-gallery-wrap .gallery-video-item,
.frontcat-gallery-wrap .gallery-pdf-item,
.frontcat-gallery-wrap .frontcat-folder-card {
    position: relative !important;
    display: grid !important;
    grid-template-rows: minmax(142px, 1fr) auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 204px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--fc-border-color) !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 3px 10px rgba(15, 23, 42, .035) !important;
    cursor: pointer !important;
    transform: translateZ(0) !important;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

.frontcat-gallery-wrap .gallery-image-item:hover,
.frontcat-gallery-wrap .gallery-video-item:hover,
.frontcat-gallery-wrap .gallery-pdf-item:hover,
.frontcat-gallery-wrap .frontcat-folder-card:hover {
    z-index: 2 !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .11) !important;
    /* A sombra preserva a sensacao de elevacao sem mover o card para fora da
       area rolavel, onde a borda superior poderia ser recortada. */
    transform: translateZ(0) !important;
}

.frontcat-gallery-wrap .frontcat-folder-card:hover {
    transform: translateY(-3px) !important;
}

/* Skeletons da carga inicial: preservam as dimensões finais da árvore e da
   grade para que a interface não salte quando as requisições terminarem. */
.frontcat-gallery-wrap .gallery-folder-list li.frontcat-folder-skeleton {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 42px !important;
    padding: 9px 10px 9px 38px !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.frontcat-gallery-wrap .frontcat-folder-skeleton__icon,
.frontcat-gallery-wrap .frontcat-folder-skeleton__label,
.frontcat-gallery-wrap .frontcat-folder-skeleton__count,
.frontcat-gallery-wrap .frontcat-media-skeleton__preview,
.frontcat-gallery-wrap .frontcat-media-skeleton__label {
    position: relative !important;
    overflow: hidden !important;
    background: #e5eaf0 !important;
}

.frontcat-gallery-wrap .frontcat-folder-skeleton__icon {
    flex: 0 0 19px !important;
    width: 19px !important;
    height: 15px !important;
    border-radius: 4px !important;
}

.frontcat-gallery-wrap .frontcat-folder-skeleton__label {
    flex: 0 1 var(--frontcat-skeleton-width, 68%) !important;
    width: var(--frontcat-skeleton-width, 68%) !important;
    max-width: calc(100% - 62px) !important;
    height: 12px !important;
    border-radius: 999px !important;
}

.frontcat-gallery-wrap .frontcat-folder-skeleton__count {
    flex: 0 0 25px !important;
    width: 25px !important;
    height: 20px !important;
    margin-left: auto !important;
    border-radius: 999px !important;
}

.frontcat-gallery-wrap .frontcat-media-skeleton {
    position: relative !important;
    display: grid !important;
    grid-template-rows: minmax(142px, 1fr) 32px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 204px !important;
    overflow: hidden !important;
    border: 1px solid var(--fc-border-color) !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 3px 10px rgba(15, 23, 42, .035) !important;
    pointer-events: none !important;
}

.frontcat-gallery-wrap .frontcat-media-skeleton__preview {
    display: block !important;
    width: calc(100% - 8px) !important;
    min-height: 168px !important;
    margin: 4px 4px 0 !important;
    border-radius: 11px !important;
}

.frontcat-gallery-wrap .frontcat-media-skeleton__footer {
    display: flex !important;
    align-items: center !important;
    height: 32px !important;
    padding: 0 10px !important;
    border-top: 1px solid #edf0f4 !important;
}

.frontcat-gallery-wrap .frontcat-media-skeleton__label {
    display: block !important;
    width: var(--frontcat-skeleton-width, 68%) !important;
    height: 8px !important;
    border-radius: 999px !important;
}

.frontcat-gallery-wrap .frontcat-folder-skeleton__icon::after,
.frontcat-gallery-wrap .frontcat-folder-skeleton__label::after,
.frontcat-gallery-wrap .frontcat-folder-skeleton__count::after,
.frontcat-gallery-wrap .frontcat-media-skeleton__preview::after,
.frontcat-gallery-wrap .frontcat-media-skeleton__label::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    transform: translateX(-100%) !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .72), transparent) !important;
    animation: frontcatGallerySkeletonShimmer 1.35s ease-in-out infinite !important;
}

@keyframes frontcatGallerySkeletonShimmer {
    100% { transform: translateX(100%); }
}

@media (prefers-reduced-motion: reduce) {
    .frontcat-gallery-wrap .frontcat-folder-skeleton__icon::after,
    .frontcat-gallery-wrap .frontcat-folder-skeleton__label::after,
    .frontcat-gallery-wrap .frontcat-folder-skeleton__count::after,
    .frontcat-gallery-wrap .frontcat-media-skeleton__preview::after,
    .frontcat-gallery-wrap .frontcat-media-skeleton__label::after {
        animation: none !important;
        transform: none !important;
    }
}

.frontcat-gallery-wrap .gallery-image-item.selected,
.frontcat-gallery-wrap .gallery-video-item.selected,
.frontcat-gallery-wrap .gallery-pdf-item.selected {
    border-color: var(--fc-primary-color) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-primary-color) 14%, transparent), 0 14px 30px rgba(15, 23, 42, .1) !important;
}

.frontcat-gallery-wrap .gallery-image-item::before,
.frontcat-gallery-wrap .gallery-video-item::before,
.frontcat-gallery-wrap .gallery-pdf-item::before {
    content: "" !important;
    position: absolute !important;
    z-index: 5 !important;
    top: 10px !important;
    right: 10px !important;
    width: 22px !important;
    height: 22px !important;
    border: 2px solid rgba(255,255,255,.96) !important;
    border-radius: 7px !important;
    background: rgba(15, 23, 42, .34) !important;
    box-shadow: 0 2px 8px rgba(15,23,42,.15) !important;
    opacity: 0 !important;
    transition: opacity .16s ease, background-color .16s ease !important;
}

.frontcat-gallery-wrap .gallery-image-item:hover::before,
.frontcat-gallery-wrap .gallery-video-item:hover::before,
.frontcat-gallery-wrap .gallery-pdf-item:hover::before,
.frontcat-gallery-wrap .gallery-image-item.selected::before,
.frontcat-gallery-wrap .gallery-video-item.selected::before,
.frontcat-gallery-wrap .gallery-pdf-item.selected::before {
    opacity: 1 !important;
}

.frontcat-gallery-wrap .gallery-image-item.selected::before,
.frontcat-gallery-wrap .gallery-video-item.selected::before,
.frontcat-gallery-wrap .gallery-pdf-item.selected::before {
    content: "\2713" !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-color: var(--fc-primary-color) !important;
    background: var(--fc-primary-color) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.frontcat-gallery-wrap .gallery-image-item > img,
.frontcat-gallery-wrap .gallery-pdf-item > img,
.frontcat-gallery-wrap .frontcat-video-thumb {
    grid-row: 1 !important;
    box-sizing: border-box !important;
    width: calc(100% - 8px) !important;
    height: calc(100% - 4px) !important;
    min-height: 138px !important;
    max-height: 206px !important;
    margin: 4px 4px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: #eef2f7 !important;
    object-fit: cover !important;
    overflow: hidden !important;
}

.frontcat-gallery-wrap .gallery-pdf-item > img,
.frontcat-gallery-wrap .gallery-image-item.is-svg > img {
    padding: 22px !important;
    object-fit: contain !important;
    background:
        linear-gradient(45deg, #f8fafc 25%, transparent 25%),
        linear-gradient(-45deg, #f8fafc 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, #f8fafc 75%),
        linear-gradient(-45deg, transparent 75%, #f8fafc 75%),
        #fff !important;
    background-position: 0 0, 0 6px, 6px -6px, -6px 0 !important;
    background-size: 12px 12px !important;
}

.frontcat-gallery-wrap .frontcat-video-thumb video,
.frontcat-gallery-wrap .frontcat-video-thumb img {
    width: 100% !important;
    height: 100% !important;
    border-radius: inherit !important;
    object-fit: cover !important;
}

.frontcat-gallery-wrap .gallery-image-item > .gallery-item-name,
.frontcat-gallery-wrap .gallery-video-item > .gallery-item-name,
.frontcat-gallery-wrap .gallery-pdf-item > .gallery-item-name {
    grid-row: 2 !important;
    display: block !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    overflow: hidden !important;
    border-top: 1px solid #edf0f4 !important;
    background: #fff !important;
    color: #334155 !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 31px !important;
    text-align: left !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.frontcat-gallery-wrap .frontcat-folder-card {
    grid-template-rows: 1fr !important;
    min-height: 204px !important;
    background: linear-gradient(145deg, #fff 0%, #fff9f5 100%) !important;
}

.frontcat-gallery-wrap .frontcat-folder-card__icon {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 204px !important;
    padding: 112px 16px 16px !important;
}

.frontcat-gallery-wrap .frontcat-folder-card__svg {
    display: none !important;
}

.frontcat-gallery-wrap .frontcat-folder-card__icon::before {
    content: "" !important;
    position: absolute !important;
    left: 18px !important;
    top: 34px !important;
    width: 92px !important;
    height: 66px !important;
    border-radius: 9px 13px 13px 13px !important;
    background: linear-gradient(145deg, #ffb066, var(--fc-primary-color)) !important;
    box-shadow: 0 12px 24px rgba(255, 90, 10, .2) !important;
}

.frontcat-gallery-wrap .frontcat-folder-card__icon::after {
    content: "" !important;
    position: absolute !important;
    left: 18px !important;
    top: 24px !important;
    width: 42px !important;
    height: 20px !important;
    border-radius: 8px 8px 0 0 !important;
    background: #ff9a54 !important;
}

.frontcat-gallery-wrap .frontcat-folder-card .gallery-item-name {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 1 !important;
    width: 100% !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    text-indent: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--fc-text-dark) !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    text-overflow: ellipsis !important;
    transform: none !important;
    white-space: nowrap !important;
}

.frontcat-gallery-wrap .frontcat-folder-card__meta {
    align-self: stretch !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin-top: 4px !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    text-indent: 0 !important;
    color: var(--fc-text-muted) !important;
    font-size: 11px !important;
    font-weight: 550 !important;
}

.frontcat-gallery-wrap .frontcat-search-hidden {
    display: none !important;
}

.frontcat-gallery-wrap .gallery-image-grid.frontcat-grid-empty {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 100% !important;
}

.frontcat-gallery-wrap .frontcat-empty-state,
.frontcat-gallery-wrap .frontcat-search-empty-state {
    grid-column: 1 / -1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(460px, 100%) !important;
    min-height: 310px !important;
    margin: auto !important;
    padding: 34px !important;
    border: 1px dashed #cbd5e1 !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.72) !important;
    color: var(--fc-text-dark) !important;
    text-align: center !important;
}

.frontcat-gallery-wrap .frontcat-empty-state-icon {
    position: relative !important;
    display: block !important;
    width: 62px !important;
    height: 48px !important;
    margin-bottom: 20px !important;
    border-radius: 9px 12px 12px 12px !important;
    background: linear-gradient(145deg, #ffb066, var(--fc-primary-color)) !important;
    box-shadow: 0 12px 25px rgba(255, 90, 10, .18) !important;
}

.frontcat-gallery-wrap .frontcat-empty-state-icon::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: -8px !important;
    width: 28px !important;
    height: 13px !important;
    border-radius: 7px 7px 0 0 !important;
    background: #ff9a54 !important;
}

.frontcat-gallery-wrap .frontcat-empty-state-title,
.frontcat-gallery-wrap .frontcat-search-empty-state strong {
    display: block !important;
    margin: 0 !important;
    color: var(--fc-text-dark) !important;
    font-size: 18px !important;
    font-weight: 760 !important;
    line-height: 1.3 !important;
}

.frontcat-gallery-wrap .frontcat-empty-state-text,
.frontcat-gallery-wrap .frontcat-search-empty-state p {
    max-width: 350px !important;
    margin: 8px 0 20px !important;
    color: var(--fc-text-muted) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

.frontcat-gallery-wrap #frontcat-gallery-close {
    position: absolute !important;
    z-index: 50 !important;
    top: 14px !important;
    right: 14px !important;
    border-color: #e2e8f0 !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 6px 18px rgba(15,23,42,.12) !important;
}

.frontcat-gallery-wrap #frontcat-gallery-close:hover {
    background: #f8fafc !important;
    color: #0f172a !important;
}

.frontcat-gallery-wrap .frontcat-gallery-pagination {
    margin-top: 24px !important;
    padding-top: 18px !important;
    border-top: 1px solid var(--fc-border-color) !important;
}

@media (max-width: 1100px) {
    .frontcat-gallery-wrap .frontcat-gallery-layout {
        grid-template-columns: 252px minmax(0, 1fr) !important;
    }

    .frontcat-gallery-wrap .gallery-sidebar {
        width: 252px !important;
        min-width: 252px !important;
    }

    .frontcat-gallery-wrap .frontcat-media-search {
        flex-basis: 280px !important;
    }

    .frontcat-gallery-wrap .gallery-image-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    .frontcat-gallery-wrap {
        height: calc(100vh - 150px) !important;
        min-height: 560px !important;
        margin-right: 12px !important;
    }

    body.frontcat-gallery-modal-mode .frontcat-gallery-wrap,
    #frontcat-inline-gallery-root.frontcat-gallery-wrap {
        height: 100% !important;
        min-height: 0 !important;
    }

    .frontcat-gallery-wrap .frontcat-gallery-layout {
        display: block !important;
    }

    .frontcat-gallery-wrap .gallery-sidebar {
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        z-index: 30 !important;
        width: min(320px, 88vw) !important;
        min-width: min(320px, 88vw) !important;
        transform: translateX(-102%) !important;
        transition: transform .22s ease !important;
        box-shadow: 18px 0 50px rgba(15,23,42,.2) !important;
    }

    .frontcat-gallery-wrap .gallery-sidebar.is-visible {
        transform: translateX(0) !important;
    }

    .frontcat-gallery-wrap .header-row-1 {
        flex-wrap: wrap !important;
    }

    .frontcat-gallery-wrap .header-title-wrap {
        flex: 1 1 calc(100% - 56px) !important;
    }

    .frontcat-gallery-wrap .frontcat-media-search {
        order: 3 !important;
        flex: 1 1 100% !important;
        width: 100% !important;
    }

    .frontcat-gallery-wrap .header-row-2 {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .frontcat-gallery-wrap .gallery-header-actions {
        width: 100% !important;
        justify-content: flex-start !important;
    }
}

@media (max-width: 620px) {
    #frontcat-gallery-modal.frontcat-media-modal-shell {
        padding: 0 !important;
    }

    #frontcat-gallery-modal-content.frontcat-media-modal-panel {
        width: 100vw !important;
        height: 100vh !important;
        max-width: 100vw !important;
        max-height: 100vh !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    .frontcat-gallery-wrap .gallery-main-header {
        padding: 16px !important;
    }

    .frontcat-gallery-wrap .gallery-main-content {
        padding: 16px !important;
    }

    .frontcat-gallery-wrap .gallery-image-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .frontcat-gallery-wrap .gallery-image-item,
    .frontcat-gallery-wrap .gallery-video-item,
    .frontcat-gallery-wrap .gallery-pdf-item,
    .frontcat-gallery-wrap .frontcat-folder-card,
    .frontcat-gallery-wrap .frontcat-folder-card__icon {
        min-height: 176px !important;
    }

    .frontcat-gallery-wrap .gallery-image-item > img,
    .frontcat-gallery-wrap .gallery-pdf-item > img,
    .frontcat-gallery-wrap .frontcat-video-thumb {
        min-height: 120px !important;
    }

    .frontcat-gallery-wrap .gallery-header-actions .button,
    .frontcat-gallery-wrap .gallery-header-actions label.button {
        min-height: 40px !important;
        padding: 0 11px !important;
    }

    .frontcat-gallery-wrap .frontcat-selection-count {
        flex-basis: 100% !important;
        width: fit-content !important;
    }
}

/* 20.20.277 — desktop controls, search reset and folder manager refinement */
@media (min-width: 901px) {
    .frontcat-gallery-wrap #toggle-sidebar-button,
    .frontcat-gallery-wrap #close-sidebar-button {
        display: none !important;
    }
}

.frontcat-gallery-wrap .frontcat-selection-count {
    display: none !important;
}

.frontcat-gallery-wrap .frontcat-selection-count.has-selection {
    display: inline-flex !important;
}

body .frontcat-gallery-wrap label.frontcat-media-search {
    min-width: 260px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body .frontcat-gallery-wrap label.frontcat-media-search input#frontcat-media-search-input,
body .frontcat-gallery-wrap label.frontcat-media-search input[type="search"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: block !important;
    flex: 1 1 auto !important;
    width: 1% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 36px 0 10px !important;
    border: 0 !important;
    border-width: 0 !important;
    border-style: none !important;
    border-color: transparent !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--fc-text-dark) !important;
    box-shadow: none !important;
    font: inherit !important;
    font-size: 13px !important;
    line-height: 42px !important;
}

body .frontcat-gallery-wrap label.frontcat-media-search input#frontcat-media-search-input:hover,
body .frontcat-gallery-wrap label.frontcat-media-search input#frontcat-media-search-input:focus,
body .frontcat-gallery-wrap label.frontcat-media-search input#frontcat-media-search-input:active {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.frontcat-gallery-wrap .frontcat-media-search input::-webkit-search-decoration,
.frontcat-gallery-wrap .frontcat-media-search input::-webkit-search-cancel-button,
.frontcat-gallery-wrap .frontcat-media-search input::-webkit-search-results-button,
.frontcat-gallery-wrap .frontcat-media-search input::-webkit-search-results-decoration {
    display: none !important;
    -webkit-appearance: none !important;
}

.frontcat-gallery-wrap .gallery-sidebar-footer {
    display: block !important;
    padding: 14px !important;
    background: #f8fafc !important;
    box-shadow: 0 -10px 28px rgba(15, 23, 42, .04) !important;
}

.frontcat-gallery-wrap .frontcat-folder-manager-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
    padding: 0 2px !important;
    width: 100% !important;
    position: relative !important;
    padding-right: 26px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
    cursor: pointer !important;
    user-select: none !important;
}

.frontcat-gallery-wrap .gallery-sidebar-footer.is-collapsed {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

.frontcat-gallery-wrap .gallery-sidebar-footer.is-collapsed .frontcat-folder-manager-header {
    margin-bottom: 0 !important;
}

.frontcat-gallery-wrap .frontcat-folder-manager-header::after {
    content: "" !important;
    position: absolute !important;
    right: 4px !important;
    top: 50% !important;
    width: 8px !important;
    height: 8px !important;
    border-right: 2px solid #64748b !important;
    border-bottom: 2px solid #64748b !important;
    transform: translateY(-30%) rotate(225deg) !important;
    transition: transform .18s ease !important;
}

.frontcat-gallery-wrap .gallery-sidebar-footer.is-expanded .frontcat-folder-manager-header::after {
    transform: translateY(-65%) rotate(45deg) !important;
}

.frontcat-gallery-wrap .frontcat-folder-manager-header:focus-visible {
    outline: 2px solid var(--fc-primary-color, #FF3131) !important;
    outline-offset: 4px !important;
    border-radius: 10px !important;
}

.frontcat-gallery-wrap .frontcat-folder-manager-content {
    width: 100% !important;
}

.frontcat-gallery-wrap .frontcat-folder-manager-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    border: 1px solid #ffd4bd !important;
    border-radius: 10px !important;
    background: #fff1e9 !important;
    color: var(--fc-primary-color) !important;
}

.frontcat-gallery-wrap .frontcat-folder-manager-icon svg {
    width: 19px !important;
    height: 19px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.75 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.frontcat-gallery-wrap .frontcat-folder-manager-header > div {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
}

.frontcat-gallery-wrap .frontcat-folder-manager-header strong {
    color: #172033 !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
}

.frontcat-gallery-wrap .frontcat-folder-manager-header > div > span {
    margin-top: 2px !important;
    color: #7c8799 !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
}

.frontcat-gallery-wrap .frontcat-folder-create-fields {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 10px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(15, 23, 42, .035) !important;
}

.frontcat-gallery-wrap .frontcat-folder-create-fields .frontcat-gallery-folder-select-custom,
.frontcat-gallery-wrap .frontcat-folder-create-fields input#new-folder-name {
    width: 100% !important;
    margin: 0 !important;
}

.frontcat-gallery-wrap .frontcat-folder-create-fields input#new-folder-name,
.frontcat-gallery-wrap .frontcat-folder-create-fields .frontcat-gallery-folder-select-trigger {
    min-height: 42px !important;
    border-color: #dce3ec !important;
    border-radius: 9px !important;
    background: #f8fafc !important;
}

.frontcat-gallery-wrap .frontcat-folder-create-fields input#new-folder-name {
    padding: 0 12px 0 38px !important;
    background-image: linear-gradient(transparent, transparent) !important;
}

.frontcat-gallery-wrap .frontcat-folder-create-fields {
    position: relative !important;
}

.frontcat-gallery-wrap .frontcat-folder-create-fields::after {
    content: "" !important;
    position: absolute !important;
    left: 23px !important;
    bottom: 23px !important;
    width: 14px !important;
    height: 11px !important;
    border: 1.7px solid #94a3b8 !important;
    border-radius: 3px !important;
    pointer-events: none !important;
}

.frontcat-gallery-wrap .frontcat-folder-create-fields::before {
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    left: 23px !important;
    bottom: 33px !important;
    width: 7px !important;
    height: 4px !important;
    border: 1.7px solid #94a3b8 !important;
    border-bottom: 0 !important;
    border-radius: 2px 2px 0 0 !important;
    pointer-events: none !important;
}

.frontcat-gallery-wrap .frontcat-folder-create-fields .frontcat-gallery-folder-select-trigger {
    position: relative !important;
    padding-left: 38px !important;
}

.frontcat-gallery-wrap .frontcat-folder-create-fields .frontcat-gallery-folder-select-trigger::before {
    content: "" !important;
    position: absolute !important;
    left: 12px !important;
    top: 50% !important;
    width: 14px !important;
    height: 11px !important;
    border: 1.7px solid var(--fc-primary-color) !important;
    border-radius: 3px !important;
    transform: translateY(-44%) !important;
}

.frontcat-gallery-wrap .frontcat-folder-create-fields .frontcat-gallery-folder-select-trigger::after {
    content: "" !important;
    position: absolute !important;
    left: 12px !important;
    top: calc(50% - 8px) !important;
    width: 7px !important;
    height: 4px !important;
    border: 1.7px solid var(--fc-primary-color) !important;
    border-bottom: 0 !important;
    border-radius: 2px 2px 0 0 !important;
}

.frontcat-gallery-wrap .frontcat-folder-actions-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    margin-top: 9px !important;
}

.frontcat-gallery-wrap .frontcat-folder-actions-row .button {
    width: 100% !important;
    min-height: 42px !important;
    padding: 0 10px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
}

.frontcat-gallery-wrap .frontcat-folder-actions-row #create-folder-button {
    border-color: var(--fc-primary-color) !important;
    background: var(--fc-primary-color) !important;
    color: #fff !important;
    box-shadow: 0 7px 16px rgba(255, 90, 10, .18) !important;
}

.frontcat-gallery-wrap .frontcat-folder-actions-row #create-folder-button:hover {
    border-color: var(--fc-primary-strong) !important;
    background: var(--fc-primary-strong) !important;
    color: #fff !important;
}

.frontcat-gallery-wrap .frontcat-folder-actions-row #delete-folders-bulk-button {
    border-color: #fecaca !important;
    background: #fff !important;
    color: #c24141 !important;
}

.frontcat-gallery-wrap .frontcat-folder-actions-row #delete-folders-bulk-button:hover {
    border-color: #fca5a5 !important;
    background: #fff1f2 !important;
    color: #b91c1c !important;
}

.frontcat-gallery-wrap .frontcat-folder-actions-row .button svg {
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.frontcat-gallery-wrap #create-folder-status:not(:empty) {
    margin-top: 9px !important;
    padding: 8px 10px !important;
    border-radius: 8px !important;
    background: #f1f5f9 !important;
    color: #475569 !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
}

/* 20.20.307 — miniaturas centralizadas e badge encostada no rodapé. */
.frontcat-gallery-wrap .gallery-image-item > img,
.frontcat-gallery-wrap .gallery-pdf-item > img,
.frontcat-gallery-wrap .gallery-video-item > .frontcat-video-thumb {
    position: relative !important;
    inset: auto !important;
    align-self: stretch !important;
    justify-self: center !important;
    width: calc(100% - 8px) !important;
    max-width: calc(100% - 8px) !important;
    height: calc(100% - 4px) !important;
    margin: 4px auto 0 !important;
    object-position: center center !important;
    transform: none !important;
}

.frontcat-gallery-wrap .gallery-video-item > .frontcat-video-thumb video,
.frontcat-gallery-wrap .gallery-video-item > .frontcat-video-thumb img {
    object-position: center center !important;
}

.frontcat-gallery-wrap .gallery-image-item > .gallery-item-name,
.frontcat-gallery-wrap .gallery-video-item > .gallery-item-name,
.frontcat-gallery-wrap .gallery-pdf-item > .gallery-item-name {
    position: relative !important;
    inset: auto !important;
    align-self: end !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 0 0 14px 14px !important;
}

@media (max-width: 900px) {
    .frontcat-gallery-wrap #toggle-sidebar-button,
    .frontcat-gallery-wrap #close-sidebar-button {
        display: inline-flex !important;
    }
}

/* 20.20.280 — visualizador de mídia estruturado */
html.frontcat-media-lightbox-open,
body.frontcat-media-lightbox-open {
    overflow: hidden !important;
}

.frontcat-media-lightbox {
    padding: 24px !important;
    box-sizing: border-box !important;
    font-family: var(--fc-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}

.frontcat-media-lightbox-backdrop {
    background: rgba(9, 12, 18, .78) !important;
    backdrop-filter: blur(10px) saturate(.82) !important;
    -webkit-backdrop-filter: blur(10px) saturate(.82) !important;
}

.frontcat-media-lightbox-inner {
    width: min(1120px, calc(100vw - 48px)) !important;
    height: min(860px, calc(100vh - 48px)) !important;
    max-width: none !important;
    max-height: none !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    align-items: stretch !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 34px 100px rgba(0,0,0,.42), 0 0 0 1px rgba(15,23,42,.08) !important;
}

.frontcat-media-lightbox-header {
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    min-width: 0 !important;
    padding: 15px 16px 15px 20px !important;
    border-bottom: 1px solid #e7ebf0 !important;
    background: #fff !important;
}

.frontcat-media-lightbox-type-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 12px !important;
    background: color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 12%, #fff) !important;
    color: var(--fc-primary-color, #ff5a0a) !important;
}

.frontcat-media-lightbox-type-icon svg {
    width: 22px !important;
    height: 22px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.frontcat-media-lightbox-heading {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.frontcat-media-lightbox-eyebrow {
    display: block !important;
    margin-bottom: 3px !important;
    color: var(--fc-primary-color, #ff5a0a) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.frontcat-media-lightbox-heading h2 {
    margin: 0 !important;
    overflow: hidden !important;
    color: #172033 !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.frontcat-media-lightbox .frontcat-media-lightbox-close {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    margin: 0 !important;
    border: 1px solid #e1e6ed !important;
    border-radius: 12px !important;
    background: #f7f9fc !important;
    color: #465267 !important;
    box-shadow: none !important;
}

.frontcat-media-lightbox .frontcat-media-lightbox-close svg {
    width: 20px !important;
    height: 20px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
}

.frontcat-media-lightbox .frontcat-media-lightbox-close:hover,
.frontcat-media-lightbox .frontcat-media-lightbox-close:focus-visible {
    border-color: #cbd3de !important;
    background: #edf1f6 !important;
    color: #172033 !important;
    filter: none !important;
    transform: none !important;
    box-shadow: 0 0 0 4px rgba(15,23,42,.06) !important;
}

.frontcat-media-lightbox-content {
    min-width: 0 !important;
    min-height: 0 !important;
    width: 100% !important;
    height: 100% !important;
    padding: 22px !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 50% 15%, rgba(255,255,255,.07), transparent 35%),
        #121722 !important;
}

.frontcat-media-lightbox-preview {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background:
        linear-gradient(45deg, rgba(255,255,255,.025) 25%, transparent 25%),
        linear-gradient(-45deg, rgba(255,255,255,.025) 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, rgba(255,255,255,.025) 75%),
        linear-gradient(-45deg, transparent 75%, rgba(255,255,255,.025) 75%) !important;
    background-position: 0 0, 0 10px, 10px -10px, -10px 0 !important;
    background-size: 20px 20px !important;
}

.frontcat-media-lightbox-content img,
.frontcat-media-lightbox-content video,
.frontcat-media-lightbox-preview iframe {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    display: block !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    object-fit: contain !important;
}

.frontcat-media-lightbox-preview iframe {
    background: #fff !important;
}

.frontcat-media-lightbox-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    min-width: 0 !important;
    padding: 14px 16px 15px 20px !important;
    border-top: 1px solid #e7ebf0 !important;
    background: #fff !important;
}

.frontcat-media-lightbox-meta,
.frontcat-media-lightbox-actions {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.frontcat-media-lightbox .frontcat-media-badge,
.frontcat-media-lightbox-position {
    min-height: 28px !important;
    padding: 0 10px !important;
    border: 1px solid #e3e8ef !important;
    border-radius: 999px !important;
    background: #f7f9fc !important;
    color: #566278 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 26px !important;
}

.frontcat-media-lightbox .frontcat-media-badge--type {
    border-color: color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 28%, #fff) !important;
    background: color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 9%, #fff) !important;
    color: #c2410c !important;
}

.frontcat-media-lightbox-nav,
.frontcat-media-lightbox-download {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid #dfe5ec !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #354156 !important;
    box-shadow: none !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.frontcat-media-lightbox-nav svg,
.frontcat-media-lightbox-download svg {
    width: 16px !important;
    height: 16px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.frontcat-media-lightbox-nav:hover:not(:disabled) {
    border-color: #bfc8d5 !important;
    background: #f7f9fc !important;
    color: #172033 !important;
}

.frontcat-media-lightbox-nav:disabled {
    opacity: .38 !important;
    cursor: default !important;
}

.frontcat-media-lightbox-download {
    border-color: var(--fc-primary-color, #ff5a0a) !important;
    background: var(--fc-primary-color, #ff5a0a) !important;
    color: #fff !important;
    box-shadow: 0 7px 18px color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 22%, transparent) !important;
}

.frontcat-media-lightbox-download:hover,
.frontcat-media-lightbox-download:focus-visible {
    border-color: color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 82%, #000) !important;
    background: color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 88%, #000) !important;
    color: #fff !important;
}

/* 20.20.378 - Filtros contextuais e suporte visual a qualquer anexo. */
.frontcat-gallery-wrap .frontcat-media-toolbar {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    flex: 0 1 410px !important;
    min-width: 260px !important;
    gap: 9px !important;
}

.frontcat-gallery-wrap .frontcat-media-toolbar .frontcat-media-search {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.frontcat-gallery-wrap .frontcat-media-filter {
    position: relative !important;
    flex: 0 0 auto !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-button {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--fc-border-color) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #475569 !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, .04) !important;
    cursor: pointer !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-button:hover,
.frontcat-gallery-wrap .frontcat-media-filter-button[aria-expanded="true"] {
    border-color: color-mix(in srgb, var(--fc-primary-color) 45%, #cbd5e1) !important;
    background: #fff8f3 !important;
    color: var(--fc-primary-color) !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-button > svg {
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-dot {
    position: absolute !important;
    top: 7px !important;
    right: 7px !important;
    display: none !important;
    width: 7px !important;
    height: 7px !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
    background: var(--fc-primary-color) !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-button.is-active .frontcat-media-filter-dot {
    display: block !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-dropdown {
    position: absolute !important;
    z-index: 120 !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    box-sizing: border-box !important;
    width: min(330px, calc(100vw - 32px)) !important;
    padding: 16px !important;
    border: 1px solid #e1e7ef !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 20px 55px rgba(15, 23, 42, .18) !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-dropdown[hidden] {
    display: none !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-heading,
.frontcat-gallery-wrap .frontcat-media-filter-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-heading {
    margin-bottom: 14px !important;
    color: #172033 !important;
    font-size: 14px !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-dismiss {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #f1f5f9 !important;
    color: #64748b !important;
    cursor: pointer !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-dismiss svg {
    width: 15px !important;
    height: 15px !important;
    fill: currentColor !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-field {
    display: block !important;
    margin: 0 0 12px !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-field > span {
    display: block !important;
    margin-bottom: 6px !important;
    color: #526077 !important;
    font-size: 11px !important;
    font-weight: 750 !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-field select {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 42px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 36px 0 12px !important;
    border: 1px solid #dce3ec !important;
    border-radius: 10px !important;
    background-color: #f8fafc !important;
    color: #253047 !important;
    box-shadow: none !important;
    font-size: 12px !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-field select:disabled {
    opacity: .7 !important;
    cursor: not-allowed !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-actions {
    margin-top: 16px !important;
    padding-top: 14px !important;
    border-top: 1px solid #eef1f5 !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-reset,
.frontcat-gallery-wrap .frontcat-media-filter-apply {
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid #dce3ec !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #344054 !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    cursor: pointer !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-apply {
    border-color: var(--fc-primary-color) !important;
    background: var(--fc-primary-color) !important;
    color: #fff !important;
}

.frontcat-gallery-wrap .gallery-file-item::after {
    content: attr(data-file-extension) !important;
    background: #475569 !important;
}

.frontcat-gallery-wrap .gallery-audio-item::after {
    content: 'ÁUDIO' !important;
    background: #7c3aed !important;
}

.frontcat-gallery-wrap .gallery-file-item > .frontcat-file-thumb {
    grid-row: 1 !important;
    display: flex !important;
    box-sizing: border-box !important;
    width: calc(100% - 8px) !important;
    height: calc(100% - 4px) !important;
    min-height: 138px !important;
    margin: 4px auto 0 !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 10px !important;
    border-radius: 11px !important;
    background: linear-gradient(145deg, #f3f6fa, #fff) !important;
    color: #526077 !important;
}

.frontcat-gallery-wrap .gallery-file-item > .frontcat-audio-thumb {
    background: radial-gradient(circle at 75% 20%, rgba(124, 58, 237, .15), transparent 34%), linear-gradient(145deg, #f7f4ff, #fff) !important;
    color: #7c3aed !important;
}

.frontcat-gallery-wrap .frontcat-file-thumb svg {
    width: 66px !important;
    height: 66px !important;
    fill: currentColor !important;
}

.frontcat-gallery-wrap .frontcat-file-thumb span {
    display: none !important;
}

.frontcat-media-lightbox-preview audio {
    width: min(620px, 82vw) !important;
}

.frontcat-media-lightbox-file {
    display: flex !important;
    width: min(520px, 82vw) !important;
    min-height: 340px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 14px !important;
    color: #526077 !important;
}

.frontcat-media-lightbox-file svg {
    width: 96px !important;
    height: 96px !important;
    fill: currentColor !important;
}

.frontcat-media-lightbox-file strong { font-size: 18px !important; }
.frontcat-media-lightbox-file span { max-width: 90% !important; text-align: center !important; }

@media (max-width: 900px) {
    .frontcat-gallery-wrap .frontcat-media-toolbar {
        order: 3 !important;
        flex: 1 1 100% !important;
        width: 100% !important;
    }
}

@media (max-width: 620px) {
    .frontcat-gallery-wrap .frontcat-media-filter-dropdown {
        right: 0 !important;
        width: min(330px, calc(100vw - 36px)) !important;
    }
}

/* Select visual dos filtros também na galeria instantânea do front-end. */
.frontcat-gallery-wrap .frontcat-media-filter-select-native {
    position: absolute !important;
    z-index: -1 !important;
    width: 1px !important;
    min-width: 1px !important;
    height: 1px !important;
    min-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-select {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-select-trigger {
    display: grid !important;
    width: 100% !important;
    min-height: 42px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    border: 1px solid #dce3ec !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
    color: #253047 !important;
    font: inherit !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    text-align: left !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-select-trigger:hover,
.frontcat-gallery-wrap .frontcat-media-filter-select.is-open .frontcat-media-filter-select-trigger {
    border-color: color-mix(in srgb, var(--fc-primary-color) 58%, #dce3ec) !important;
    background: #fff !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-select.is-disabled .frontcat-media-filter-select-trigger {
    opacity: .68 !important;
    cursor: not-allowed !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-select-label {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-select-arrow {
    width: 8px !important;
    height: 8px !important;
    margin: -4px 2px 0 0 !important;
    border-right: 2px solid #475569 !important;
    border-bottom: 2px solid #475569 !important;
    transform: rotate(45deg) !important;
    transition: transform .16s ease, margin .16s ease !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-select.is-open .frontcat-media-filter-select-arrow {
    margin-top: 4px !important;
    transform: rotate(225deg) !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-select-menu {
    position: absolute !important;
    z-index: 140 !important;
    top: calc(100% + 7px) !important;
    right: 0 !important;
    left: 0 !important;
    display: none !important;
    max-height: 260px !important;
    overflow: auto !important;
    padding: 7px !important;
    border: 1px solid #d5dde7 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .16) !important;
    overscroll-behavior: contain !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-select.is-open .frontcat-media-filter-select-menu {
    display: block !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-select-option {
    display: grid !important;
    width: 100% !important;
    min-height: 38px !important;
    grid-template-columns: minmax(0, 1fr) 16px !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 1px 0 !important;
    padding: 8px 10px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #273449 !important;
    font: inherit !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    text-align: left !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-select-option:hover,
.frontcat-gallery-wrap .frontcat-media-filter-select-option:focus-visible {
    outline: 0 !important;
    background: #f2f5f8 !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-select-option.is-selected {
    background: #fff0e8 !important;
    color: #ad3500 !important;
    font-weight: 700 !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-select-option i {
    display: none !important;
    width: 6px !important;
    height: 10px !important;
    justify-self: center !important;
    border-right: 2px solid var(--fc-primary-color) !important;
    border-bottom: 2px solid var(--fc-primary-color) !important;
    transform: rotate(45deg) !important;
}

.frontcat-gallery-wrap .frontcat-media-filter-select-option.is-selected i {
    display: block !important;
}

/* Os botões laranja permanecem sólidos, sem halo/neon. */
.frontcat-gallery-wrap .button.button-primary,
.frontcat-gallery-wrap label.button-primary,
.frontcat-gallery-wrap #use-image-button,
.frontcat-gallery-wrap .frontcat-empty-upload-button,
.frontcat-gallery-wrap .frontcat-folder-actions-row #create-folder-button,
.frontcat-media-lightbox-download {
    box-shadow: none !important;
}

@media (max-width: 720px) {
    .frontcat-media-lightbox {
        padding: 0 !important;
    }

    .frontcat-media-lightbox-inner {
        width: 100vw !important;
        height: 100vh !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    .frontcat-media-lightbox-header {
        padding: 12px !important;
    }

    .frontcat-media-lightbox-content {
        padding: 10px !important;
    }

    .frontcat-media-lightbox-footer {
        align-items: stretch !important;
        flex-direction: column !important;
        gap: 10px !important;
        padding: 11px 12px 13px !important;
    }

    .frontcat-media-lightbox-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }

    .frontcat-media-lightbox-download {
        grid-column: 1 / -1 !important;
    }

    .frontcat-media-lightbox-nav,
    .frontcat-media-lightbox-download {
        width: 100% !important;
    }
}

/* 20.20.316 — pastas, contagens, seleção e controles compactos. */
.frontcat-gallery-wrap .gallery-folder-list li > a {
    padding-left: 38px !important;
    padding-right: 34px !important;
    text-align: left !important;
}

.frontcat-gallery-wrap .gallery-folder-list .frontcat-folder-toggle {
    left: 10px !important;
}

.frontcat-gallery-wrap .gallery-folder-list .folder-options-button {
    position: absolute !important;
    z-index: 4 !important;
    top: 50% !important;
    right: 7px !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: translateY(-50%) !important;
}

.frontcat-gallery-wrap .gallery-folder-list .folder-options-button:hover,
.frontcat-gallery-wrap .gallery-folder-list .folder-options-button:focus-visible {
    border: 0 !important;
    background: rgba(15, 23, 42, .07) !important;
    box-shadow: none !important;
}

.frontcat-gallery-wrap .gallery-folder-list .folder-options-button svg {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    margin: auto !important;
}

.frontcat-gallery-wrap #move-to-folder-wrapper {
    position: relative !important;
    width: min(var(--frontcat-move-select-width, 150px), 100%) !important;
    min-width: 0 !important;
    max-width: 190px !important;
    flex: 0 1 var(--frontcat-move-select-width, 150px) !important;
}

.frontcat-gallery-wrap #move-to-folder-select.frontcat-custom-select-native {
    display: none !important;
}

.frontcat-gallery-wrap #move-to-folder-wrapper > .frontcat-custom-select,
.frontcat-gallery-wrap #move-to-folder-wrapper > .frontcat-gallery-move-picker {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 190px !important;
}

.frontcat-gallery-wrap #move-to-folder-wrapper .frontcat-custom-select-trigger {
    width: 100% !important;
    min-height: 50px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border-radius: 11px !important;
}

.frontcat-gallery-wrap #move-to-folder-wrapper .frontcat-custom-select-trigger-text,
.frontcat-gallery-wrap #move-to-folder-wrapper .frontcat-custom-select-trigger-text .frontcat-custom-select-label-primary {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.frontcat-gallery-wrap #move-to-folder-wrapper .frontcat-custom-select-dropdown {
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: min(190px, calc(100vw - 32px)) !important;
}

.frontcat-gallery-wrap #move-to-folder-wrapper .frontcat-custom-select-option-label,
.frontcat-gallery-wrap #move-to-folder-wrapper .frontcat-custom-select-option-label .frontcat-custom-select-label-primary {
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

/* Mantem as quatro acoes da biblioteca na mesma linha no desktop. */
@media (min-width: 901px) {
    .frontcat-gallery-wrap .header-row-2 {
        flex-wrap: nowrap !important;
        gap: 12px !important;
    }

    .frontcat-gallery-wrap .gallery-select-actions {
        flex: 1 1 auto !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
        white-space: nowrap !important;
    }

    .frontcat-gallery-wrap .gallery-header-actions,
    .frontcat-gallery-wrap .gallery-main-actions {
        flex-wrap: nowrap !important;
        gap: 8px !important;
        min-width: 0 !important;
    }

    .frontcat-gallery-wrap .gallery-header-actions > *,
    .frontcat-gallery-wrap .gallery-main-actions > * {
        flex-shrink: 0 !important;
    }

    .frontcat-gallery-wrap .gallery-main-actions #move-to-folder-wrapper {
        flex-shrink: 1 !important;
    }

    .frontcat-gallery-wrap .gallery-header-actions .button,
    .frontcat-gallery-wrap .gallery-header-actions label.button,
    .frontcat-gallery-wrap #move-to-folder-wrapper .frontcat-custom-select-trigger {
        min-height: 50px !important;
        height: 50px !important;
    }
}

.frontcat-gallery-wrap .header-row-1 {
    column-gap: 14px !important;
}

.frontcat-gallery-wrap .header-row-1 #frontcat-gallery-close.frontcat-gallery-header-close {
    position: static !important;
    z-index: auto !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    border: 1px solid var(--fc-border-color) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 6px 18px rgba(15,23,42,.08) !important;
    transform: none !important;
}

@media (max-width: 760px) {
    .frontcat-gallery-wrap .header-row-1 #frontcat-gallery-close.frontcat-gallery-header-close {
        flex-basis: 44px !important;
        width: 44px !important;
        height: 44px !important;
    }

    .frontcat-gallery-wrap #move-to-folder-wrapper {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .frontcat-gallery-wrap #move-to-folder-wrapper > .frontcat-custom-select,
    .frontcat-gallery-wrap #move-to-folder-wrapper > .frontcat-gallery-move-picker {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .frontcat-gallery-wrap #move-to-folder-wrapper .frontcat-custom-select-dropdown {
        max-width: min(100%, calc(100vw - 32px)) !important;
    }
}

/* 20.20.308 — feedback do scroll infinito, progresso e preview resiliente */
.frontcat-gallery-wrap #frontcat-image-grid > .frontcat-infinite-media-loader {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 50px !important;
    margin: 22px 0 18px !important;
    padding: 13px 16px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border: 1px solid color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 18%, #e5e7eb) !important;
    border-radius: 12px !important;
    background: color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 5%, #fff) !important;
    color: var(--fc-text-dark, #172033) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

.frontcat-infinite-media-loader__spinner {
    width: 17px !important;
    height: 17px !important;
    flex: 0 0 17px !important;
    border: 2px solid color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 24%, transparent) !important;
    border-top-color: var(--fc-primary-color, #ff5a0a) !important;
    border-radius: 50% !important;
    animation: frontcatInfiniteMediaSpin .7s linear infinite !important;
}

@keyframes frontcatInfiniteMediaSpin {
    to { transform: rotate(360deg); }
}

#frontcat-upload-container label[for="frontcat-uploader"].frontcat-uploading .frontcat-upload-button-percent {
    display: inline-flex !important;
    opacity: 1 !important;
    color: inherit !important;
}

.frontcat-media-lightbox,
.frontcat-media-lightbox * {
    box-sizing: border-box !important;
}

.frontcat-media-lightbox .frontcat-media-lightbox-inner {
    max-height: calc(100vh - 48px) !important;
    max-height: calc(100dvh - 48px) !important;
    overflow: hidden !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
}

.frontcat-media-lightbox .frontcat-media-lightbox-content,
.frontcat-media-lightbox .frontcat-media-lightbox-preview {
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.frontcat-media-lightbox .frontcat-media-lightbox-preview {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.frontcat-media-lightbox .frontcat-media-lightbox-preview > img,
.frontcat-media-lightbox .frontcat-media-lightbox-preview > video {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: auto !important;
    border: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
}

.frontcat-media-lightbox .frontcat-media-lightbox-footer {
    position: relative !important;
    z-index: 3 !important;
    flex: 0 0 auto !important;
}

.frontcat-media-lightbox a.frontcat-media-lightbox-download,
.frontcat-media-lightbox a.frontcat-media-lightbox-download:visited,
.frontcat-media-lightbox a.frontcat-media-lightbox-download:hover,
.frontcat-media-lightbox a.frontcat-media-lightbox-download:focus,
.frontcat-media-lightbox a.frontcat-media-lightbox-download span,
.frontcat-media-lightbox a.frontcat-media-lightbox-download svg {
    color: #fff !important;
}

.frontcat-media-lightbox-error {
    min-height: 130px !important;
    max-width: 420px !important;
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.06) !important;
    color: #fff !important;
    text-align: center !important;
}

.frontcat-media-lightbox-error strong {
    color: #fff !important;
    font-size: 14px !important;
}

.frontcat-media-lightbox-error span {
    color: rgba(255,255,255,.72) !important;
    font-size: 12px !important;
}

@media (max-width: 720px) {
    .frontcat-media-lightbox .frontcat-media-lightbox-inner {
        max-height: 100vh !important;
        max-height: 100dvh !important;
    }
}

/* 20.20.343 - Compacta o cabecalho da biblioteca em tablet e celular. */
@media (max-width: 900px) {
    .frontcat-gallery-wrap .gallery-main-header {
        padding: 12px 16px 10px !important;
    }

    .frontcat-gallery-wrap .header-row-1 {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 44px 44px !important;
        grid-template-areas:
            "title menu close"
            "search search search" !important;
        align-items: center !important;
        gap: 8px !important;
        column-gap: 8px !important;
        flex-wrap: nowrap !important;
    }

    .frontcat-gallery-wrap .header-title-wrap {
        grid-area: title !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .frontcat-gallery-wrap #toggle-sidebar-button {
        grid-area: menu !important;
        display: inline-flex !important;
        align-self: center !important;
        justify-self: end !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
    }

    .frontcat-gallery-wrap .header-row-1 #frontcat-gallery-close.frontcat-gallery-header-close {
        grid-area: close !important;
        align-self: center !important;
        justify-self: end !important;
        flex-basis: 44px !important;
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
    }

    .frontcat-gallery-wrap label.frontcat-media-search {
        grid-area: search !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .frontcat-gallery-wrap .header-row-2 {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        min-height: 44px !important;
        margin-top: 8px !important;
        gap: 8px !important;
    }

    .frontcat-gallery-wrap .gallery-select-actions {
        display: flex !important;
        flex: 1 1 auto !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        white-space: nowrap !important;
    }

    .frontcat-gallery-wrap .gallery-header-actions {
        width: auto !important;
        flex: 0 0 auto !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
    }

    .frontcat-gallery-wrap .gallery-main-content {
        padding: 12px 16px 16px !important;
    }

    .frontcat-gallery-wrap .gallery-image-grid {
        gap: 12px !important;
    }
}

@media (max-width: 620px) {
    .frontcat-gallery-wrap .gallery-main-header {
        padding: 10px 12px 8px !important;
    }

    .frontcat-gallery-wrap #frontcat-current-folder {
        font-size: 19px !important;
    }

    .frontcat-gallery-wrap .gallery-select-actions {
        display: none !important;
    }

    .frontcat-gallery-wrap .header-row-2 {
        justify-content: flex-end !important;
        min-height: 40px !important;
        margin-top: 6px !important;
    }

    .frontcat-gallery-wrap .gallery-main-content {
        padding: 10px 12px 12px !important;
    }

    .frontcat-gallery-wrap .gallery-image-grid {
        gap: 10px !important;
    }
}

/* 20.20.345 - Ações de mídia compactas e consistentes no celular. */
@media (max-width: 768px) {
    .frontcat-gallery-wrap .gallery-header-actions.frontcat-has-selection-actions {
        display: flex !important;
        grid-template-columns: none !important;
        grid-template-areas: none !important;
        width: auto !important;
    }

    .frontcat-gallery-wrap .gallery-header-actions #frontcat-export-media-button,
    .frontcat-gallery-wrap .gallery-header-actions #delete-image-button,
    .frontcat-gallery-wrap .gallery-header-actions #use-image-button,
    .frontcat-gallery-wrap .gallery-header-actions #frontcat-upload-container,
    .frontcat-gallery-wrap .gallery-header-actions #frontcat-upload-container label[for="frontcat-uploader"],
    .frontcat-gallery-wrap .gallery-header-actions .frontcat-use-btn-group {
        box-sizing: border-box !important;
        flex: 0 0 44px !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .frontcat-gallery-wrap .gallery-header-actions #frontcat-upload-container {
        display: flex !important;
    }

    .frontcat-gallery-wrap .gallery-header-actions #frontcat-export-media-button,
    .frontcat-gallery-wrap .gallery-header-actions #delete-image-button,
    .frontcat-gallery-wrap .gallery-header-actions #use-image-button,
    .frontcat-gallery-wrap .gallery-header-actions #frontcat-upload-container label[for="frontcat-uploader"] {
        justify-content: center !important;
        border-radius: 11px !important;
    }

    .frontcat-gallery-wrap .gallery-header-actions .frontcat-use-btn-group {
        display: inline-flex !important;
        overflow: visible !important;
        border-radius: 11px !important;
    }

    .frontcat-gallery-wrap .gallery-header-actions .frontcat-use-btn-group #use-image-button {
        flex: 1 1 44px !important;
        border-radius: 11px !important;
    }

    .frontcat-gallery-wrap .gallery-header-actions .frontcat-use-btn-group #frontcat-clear-selection-button {
        display: none !important;
    }
}


/* 20.20.403 - busca e filtros da Galeria FrontCat no mobile. */
@media (max-width: 900px) {
    .frontcat-gallery-wrap .header-row-1 {
        grid-template-areas:
            "title menu close"
            "toolbar toolbar toolbar" !important;
    }

    .frontcat-gallery-wrap .frontcat-media-toolbar {
        grid-area: toolbar !important;
        order: initial !important;
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: 1 1 auto !important;
        align-items: center !important;
        flex-direction: row !important;
        gap: 9px !important;
        direction: ltr !important;
    }

    .frontcat-gallery-wrap .frontcat-media-toolbar .frontcat-media-search {
        order: 1 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: 1 1 0 !important;
        margin: 0 !important;
    }

    .frontcat-gallery-wrap .frontcat-media-filter {
        order: 2 !important;
        flex: 0 0 44px !important;
        margin: 0 0 0 auto !important;
    }

    .frontcat-gallery-wrap .frontcat-media-filter-dropdown {
        right: 0 !important;
        left: auto !important;
        width: min(330px, calc(100vw - 24px)) !important;
        max-width: calc(100vw - 24px) !important;
        max-height: calc(100vh - 120px) !important;
        max-height: calc(100dvh - 120px) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

/* FrontCat 20.20.413 — PDFs renderizados pela primeira página nas miniaturas. */
.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render {
    position: relative !important;
    inset: auto !important;
    grid-row: 1 !important;
    display: flex !important;
    box-sizing: border-box !important;
    width: calc(100% - 8px) !important;
    max-width: calc(100% - 8px) !important;
    height: calc(100% - 4px) !important;
    min-height: 138px !important;
    max-height: 206px !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    justify-self: center !important;
    margin: 4px auto 0 !important;
    padding: 8px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: #fff !important;
}
.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render .frontcat-pdf-canvas {
    display: block !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: auto !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(15, 23, 42, .12) !important;
}
.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render.is-loading::after {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 22px !important;
    height: 22px !important;
    border: 2px solid #e2e8f0 !important;
    border-top-color: var(--fc-primary-color, #ff5a0a) !important;
    border-radius: 50% !important;
    content: "" !important;
    transform: translate(-50%, -50%) !important;
    animation: frontcat-gallery-pdf-spin .72s linear infinite !important;
}
.frontcat-gallery-wrap .gallery-pdf-item.frontcat-pdf-rendered > img,
.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render.is-rendered > img {
    display: none !important;
}
.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render.is-fallback {
    padding: 18px !important;
}
@keyframes frontcat-gallery-pdf-spin {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@media (max-width: 900px) {
    .frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render {
        min-height: 112px !important;
        max-height: 176px !important;
        padding: 6px !important;
    }
}


/* FrontCat 20.20.415 — cabeçalho mobile persistente e busca/filtro recolhíveis. */
@media (max-width: 900px) {
    #frontcat-gallery-modal .frontcat-gallery-wrap .gallery-main {
        position: relative !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    #frontcat-gallery-modal .frontcat-gallery-wrap .gallery-main-header {
        position: sticky !important;
        z-index: 90 !important;
        top: 0 !important;
        flex: 0 0 auto !important;
        background: #fff !important;
        box-shadow: 0 1px 0 var(--fc-border-color), 0 8px 22px rgba(15, 23, 42, .05) !important;
    }

    #frontcat-gallery-modal .frontcat-gallery-wrap .frontcat-media-toolbar {
        max-height: 58px !important;
        overflow: visible !important;
        opacity: 1 !important;
        transform: translateY(0) !important;
        transition: max-height .2s ease, opacity .16s ease, transform .2s ease, margin .2s ease !important;
    }

    #frontcat-gallery-modal .frontcat-gallery-wrap .gallery-main.frontcat-gallery-header-compact .header-row-1 {
        grid-template-rows: auto 0 !important;
        row-gap: 0 !important;
    }

    #frontcat-gallery-modal .frontcat-gallery-wrap .gallery-main.frontcat-gallery-header-compact .frontcat-media-toolbar {
        max-height: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translateY(-8px) !important;
    }
}


/* FrontCat 20.20.440 - Galeria modal com a mesma linguagem visual do Painel de Conteúdo. */
#frontcat-gallery-modal{
  background:rgba(28,28,26,.56)!important;
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  padding:24px!important;
}
#frontcat-gallery-modal-content{
  border:1px solid #deddd8!important;
  border-radius:24px!important;
  background:#fbfbfa!important;
  color:#20201f!important;
  font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  box-shadow:0 30px 90px rgba(20,20,18,.24)!important;
}
@media(max-width:700px){
  #frontcat-gallery-modal{padding:10px!important}
  #frontcat-gallery-modal-content{border-radius:18px!important}
}

/* FrontCat 20.20.452 — miniaturas de fonte e PDF ocupam toda a área visual do card. */
.frontcat-gallery-wrap .gallery-font-item > .frontcat-font-thumb,
.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-thumb,
.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render {
    position: relative !important;
    inset: auto !important;
    grid-row: 1 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 14px 14px 0 0 !important;
}

.frontcat-gallery-wrap .gallery-font-item > .frontcat-font-thumb {
    background:
        radial-gradient(circle at 78% 18%, rgba(255, 90, 10, .20), transparent 31%),
        linear-gradient(145deg, #fff8f3 0%, #fff 100%) !important;
}

.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-thumb,
.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background:
        radial-gradient(circle at 80% 18%, rgba(229, 72, 77, .18), transparent 31%),
        linear-gradient(145deg, #fff6f6 0%, #fff 100%) !important;
}

.frontcat-gallery-wrap .frontcat-pdf-placeholder {
    display: flex !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    padding: clamp(18px, 10%, 34px) !important;
    background: transparent !important;
}

.frontcat-gallery-wrap .frontcat-pdf-sheet {
    position: relative !important;
    display: flex !important;
    box-sizing: border-box !important;
    width: min(49%, 96px) !important;
    min-width: 58px !important;
    aspect-ratio: .74 / 1 !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 10px !important;
    overflow: hidden !important;
    border: 1px solid rgba(229, 72, 77, .16) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(100, 28, 32, .13) !important;
    transform: rotate(-1.5deg) !important;
}

.frontcat-gallery-wrap .frontcat-pdf-sheet-fold {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 24% !important;
    aspect-ratio: 1 / 1 !important;
    background: linear-gradient(225deg, #fff6f6 0 49%, #f3c7c9 50% 52%, #fff 53%) !important;
    border-bottom-left-radius: 4px !important;
}

.frontcat-gallery-wrap .frontcat-pdf-sheet strong {
    color: #d83c42 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(20px, 3.2vw, 34px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -.06em !important;
}

.frontcat-gallery-wrap .frontcat-pdf-lines {
    display: grid !important;
    width: 54% !important;
    gap: 5px !important;
}

.frontcat-gallery-wrap .frontcat-pdf-lines i {
    display: block !important;
    width: 100% !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: #f1b8bb !important;
}

.frontcat-gallery-wrap .frontcat-pdf-lines i:last-child {
    width: 72% !important;
}

.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render.is-rendered {
    padding: 0 !important;
    background: #eef2f7 !important;
}

.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render.is-rendered > .frontcat-pdf-placeholder {
    display: none !important;
}

.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render .frontcat-pdf-canvas {
    max-width: 100% !important;
    max-height: 100% !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render.is-fallback {
    padding: 0 !important;
}

@media (max-width: 900px) {
    .frontcat-gallery-wrap .gallery-font-item > .frontcat-font-thumb,
    .frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-thumb,
    .frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render {
        min-height: 0 !important;
        max-height: none !important;
    }
}

/* Mantém o placeholder estável enquanto o canvas do PDF é preparado. */
.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render > .frontcat-pdf-placeholder {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
}

.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render .frontcat-pdf-canvas {
    position: relative !important;
    z-index: 1 !important;
    opacity: 0 !important;
}

.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render.is-rendered .frontcat-pdf-canvas {
    opacity: 1 !important;
}

.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-pdf-render.is-loading::after {
    z-index: 3 !important;
}


/* FrontCat 20.20.453 — modal de exclusão da Galeria no padrão do Painel de Conteúdo. */
.frontcat-gallery-confirm-dialog.frontcat-confirm-overlay{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    padding:20px!important;
    background:rgba(28,28,26,.56)!important;
    -webkit-backdrop-filter:blur(6px)!important;
    backdrop-filter:blur(6px)!important;
}
.frontcat-gallery-confirm-dialog .frontcat-confirm-panel{
    width:min(440px,calc(100vw - 32px))!important;
    max-width:440px!important;
    max-height:calc(100vh - 40px)!important;
    overflow:auto!important;
    box-sizing:border-box!important;
    padding:22px!important;
    border:1px solid #deddd8!important;
    border-radius:20px!important;
    background:#fbfbfa!important;
    color:#20201f!important;
    font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    box-shadow:0 28px 80px rgba(20,20,18,.24)!important;
}
.frontcat-gallery-confirm-dialog .frontcat-confirm-header{
    display:flex!important;
    align-items:flex-start!important;
    gap:14px!important;
}
.frontcat-gallery-confirm-dialog .frontcat-confirm-icon{
    display:grid!important;
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    place-items:center!important;
    border:1px solid #ffd1bd!important;
    border-radius:12px!important;
    background:#fff0e8!important;
    color:#d34238!important;
}
.frontcat-gallery-confirm-dialog .frontcat-confirm-icon svg{
    width:20px!important;
    height:20px!important;
}
.frontcat-gallery-confirm-dialog .frontcat-confirm-heading{
    min-width:0!important;
    flex:1 1 auto!important;
}
.frontcat-gallery-confirm-dialog .frontcat-confirm-title{
    margin:0 0 6px!important;
    color:#20201f!important;
    font-size:18px!important;
    font-weight:600!important;
    line-height:1.3!important;
}
.frontcat-gallery-confirm-dialog .frontcat-confirm-message{
    margin:0!important;
    color:#706e69!important;
    font-size:13px!important;
    font-weight:400!important;
    line-height:1.55!important;
}
.frontcat-gallery-confirm-dialog .frontcat-confirm-extra{
    margin-top:18px!important;
}
.frontcat-gallery-confirm-dialog .frontcat-confirm-actions{
    display:flex!important;
    justify-content:flex-end!important;
    gap:10px!important;
    margin-top:20px!important;
}
.frontcat-gallery-confirm-dialog .frontcat-confirm-actions button{
    display:inline-flex!important;
    min-width:112px!important;
    min-height:44px!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:10px 18px!important;
    border-radius:11px!important;
    font-family:inherit!important;
    font-size:13px!important;
    font-weight:500!important;
    line-height:1.2!important;
    cursor:pointer!important;
    box-shadow:none!important;
}
.frontcat-gallery-confirm-dialog .frontcat-confirm-cancel{
    border:1px solid #d9d7d1!important;
    background:#fff!important;
    color:#302f2c!important;
}
.frontcat-gallery-confirm-dialog .frontcat-confirm-cancel:hover{
    background:#f4f3f0!important;
}
.frontcat-gallery-confirm-dialog .frontcat-confirm-ok{
    border:1px solid #c93d35!important;
    background:#d34238!important;
    color:#fff!important;
}
.frontcat-gallery-confirm-dialog .frontcat-confirm-ok:hover{
    background:#c93d35!important;
}
.frontcat-gallery-confirm-dialog .frontcat-confirm-actions button:focus-visible{
    outline:3px solid color-mix(in srgb,var(--fc-primary-color,#d34238) 28%,transparent)!important;
    outline-offset:2px!important;
}
@media(max-width:700px){
    .frontcat-gallery-confirm-dialog.frontcat-confirm-overlay{
        padding:12px!important;
    }
    .frontcat-gallery-confirm-dialog .frontcat-confirm-panel{
        width:min(420px,calc(100vw - 24px))!important;
        max-height:calc(100vh - 24px)!important;
        padding:18px!important;
        border-radius:18px!important;
    }
    .frontcat-gallery-confirm-dialog .frontcat-confirm-actions{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }
    .frontcat-gallery-confirm-dialog .frontcat-confirm-actions button{
        width:100%!important;
        min-width:0!important;
        padding:10px 12px!important;
    }
}

/* FrontCat 20.20.457 — toasts unificados para todas as ações da Galeria FrontCat. */
.frontcat-gallery-toast-region.fc-content-panel__toast-region {
    --fcp-accent: #ff5a0a;
    --fcp-accent-soft: #fff0e8;
    --fcp-ink: #20201f;
    --fcp-muted: #74736f;
    position: fixed;
    z-index: 2147483000;
    top: max(18px, calc(env(safe-area-inset-top, 0px) + 12px));
    left: 50%;
    display: flex;
    width: min(420px, calc(100vw - 32px));
    align-items: stretch;
    flex-direction: column;
    gap: 9px;
    pointer-events: none;
    transform: translateX(-50%);
}
body.admin-bar .frontcat-gallery-toast-region.fc-content-panel__toast-region {
    top: max(50px, calc(env(safe-area-inset-top, 0px) + 44px));
}
.frontcat-gallery-toast-region .fc-content-panel__toast {
    display: grid;
    width: 100%;
    box-sizing: border-box;
    grid-template-columns: 34px minmax(0, 1fr) 25px;
    align-items: center;
    gap: 10px;
    padding: 12px 12px 12px 13px;
    border: 1px solid #ddd9d2;
    border-radius: 13px;
    background: #fff;
    color: var(--fcp-ink);
    box-shadow: 0 15px 38px rgba(25, 24, 22, .16);
    opacity: 0;
    transform: translateY(-10px) scale(.985);
    transition: opacity .2s, transform .2s;
    pointer-events: auto;
}
.frontcat-gallery-toast-region .fc-content-panel__toast.is-visible {
    opacity: 1;
    transform: none;
}
.frontcat-gallery-toast-region .fc-content-panel__toast.is-leaving {
    opacity: 0;
    transform: translateY(-7px) scale(.985);
}
.frontcat-gallery-toast-region .fc-content-panel__toast-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    background: var(--fcp-accent-soft);
    color: var(--fcp-accent);
}
.frontcat-gallery-toast-region .fc-content-panel__toast-icon svg {
    width: 17px;
    height: 17px;
}
.frontcat-gallery-toast-region .fc-content-panel__toast strong {
    display: block;
    color: var(--fcp-ink);
    font-family: Poppins, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}
.frontcat-gallery-toast-region .fc-content-panel__toast small {
    display: block;
    margin-top: 2px;
    color: var(--fcp-muted);
    font-family: Poppins, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 10px;
    line-height: 1.4;
}
.frontcat-gallery-toast-region .fc-content-panel__toast button {
    display: grid;
    width: 25px;
    height: 25px;
    min-width: 25px;
    min-height: 25px;
    place-items: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 7px;
    outline: 0;
    background: #f2f1ee;
    color: #77746e;
    font: 400 17px/1 Arial, sans-serif;
    cursor: pointer;
    box-shadow: none;
}
.frontcat-gallery-toast-region .fc-content-panel__toast button:hover,
.frontcat-gallery-toast-region .fc-content-panel__toast button:focus,
.frontcat-gallery-toast-region .fc-content-panel__toast button:focus-visible,
.frontcat-gallery-toast-region .fc-content-panel__toast button:active {
    border-color: #e2e8f0 !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    box-shadow: none !important;
    outline: 0 !important;
    transform: none !important;
}
.frontcat-gallery-toast-region .fc-content-panel__toast--error .fc-content-panel__toast-icon {
    background: #fff0ee;
    color: #d33b31;
}
@media (max-width: 620px) {
    .frontcat-gallery-toast-region.fc-content-panel__toast-region {
        top: max(12px, calc(env(safe-area-inset-top, 0px) + 8px));
        width: calc(100vw - 24px);
    }
    body.admin-bar .frontcat-gallery-toast-region.fc-content-panel__toast-region {
        top: max(58px, calc(env(safe-area-inset-top, 0px) + 52px));
    }
}

/* FrontCat 20.20.465 — ações individuais em todas as instâncias da Galeria. */
.frontcat-gallery-wrap .gallery-image-item,
.frontcat-gallery-wrap .gallery-video-item,
.frontcat-gallery-wrap .gallery-pdf-item,
.frontcat-gallery-wrap .frontcat-folder-card {
    overflow: visible !important;
}
.frontcat-gallery-card-actions {
    position: absolute;
    z-index: 35;
    top: 10px;
    right: 10px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-3px);
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
    pointer-events: none;
}
.gallery-image-item:hover > .frontcat-gallery-card-actions,
.gallery-video-item:hover > .frontcat-gallery-card-actions,
.gallery-pdf-item:hover > .frontcat-gallery-card-actions,
.frontcat-folder-card:hover > .frontcat-gallery-card-actions,
.gallery-image-item:focus-within > .frontcat-gallery-card-actions,
.gallery-video-item:focus-within > .frontcat-gallery-card-actions,
.gallery-pdf-item:focus-within > .frontcat-gallery-card-actions,
.frontcat-folder-card:focus-within > .frontcat-gallery-card-actions,
.frontcat-gallery-card-actions:has(.is-open) {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}
.frontcat-gallery-card-actions__trigger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(15,23,42,.12) !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.96) !important;
    color: #475467 !important;
    box-shadow: 0 5px 16px rgba(15,23,42,.12) !important;
    cursor: pointer !important;
    backdrop-filter: blur(8px);
}
.frontcat-gallery-card-actions__trigger:hover,
.frontcat-gallery-card-actions__trigger:focus-visible,
.frontcat-gallery-card-actions__trigger[aria-expanded="true"] {
    border-color: color-mix(in srgb, var(--fc-primary-color) 46%, #d0d5dd) !important;
    background: #fff !important;
    color: var(--fc-primary-color) !important;
    outline: none !important;
}
.frontcat-gallery-card-actions__trigger svg {
    width: 17px !important;
    height: 17px !important;
    fill: currentColor !important;
}
.frontcat-gallery-card-actions__menu {
    position: absolute;
    z-index: 1000;
    top: calc(100% + 7px);
    right: 0;
    width: 190px;
    padding: 6px;
    border: 1px solid #e4e7ec;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 20px 52px rgba(15,23,42,.2);
}
.frontcat-gallery-card-actions__menu[hidden] { display: none !important; }
.frontcat-gallery-card-actions__menu button {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #344054 !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    cursor: pointer !important;
    box-shadow: none !important;
}
.frontcat-gallery-card-actions__menu button:hover,
.frontcat-gallery-card-actions__menu button:focus-visible {
    background: #f5f7fa !important;
    color: #101828 !important;
    outline: none !important;
}
.frontcat-gallery-card-actions__menu button.is-danger { color: #c93636 !important; }
.frontcat-gallery-card-actions__menu button.is-danger:hover { background: #fff1f1 !important; color: #a92828 !important; }
.frontcat-gallery-card-actions__menu svg {
    flex: 0 0 17px;
    width: 17px !important;
    height: 17px !important;
    fill: currentColor !important;
}
.frontcat-gallery-folder-actions { top: 12px; right: 12px; }

html.frontcat-gallery-dialog-open,
body.frontcat-gallery-dialog-open { overflow: hidden !important; }
.frontcat-gallery-choice-modal,
.frontcat-image-editor {
    position: fixed;
    z-index: 2147483647;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 22px;
    font-family: inherit;
}
.frontcat-gallery-choice-modal__backdrop,
.frontcat-image-editor__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15,23,42,.58);
    backdrop-filter: blur(5px);
}
.frontcat-gallery-choice-modal__panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(560px, calc(100vw - 32px));
    max-height: min(720px, calc(100vh - 32px));
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(15,23,42,.32);
}
.frontcat-gallery-choice-modal__panel > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 22px 15px;
    border-bottom: 1px solid #eef1f5;
}
.frontcat-gallery-choice-modal__panel > header span {
    color: var(--fc-primary-color, #ff5a0a);
    font-size: 9px !important;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.frontcat-gallery-choice-modal__panel h3 { margin: 4px 0 4px !important; color: #101828; font-size: 21px !important; line-height: 1.2 !important; }
.frontcat-gallery-choice-modal__panel header p { margin: 0 !important; color: #667085; font-size: 12px !important; line-height: 1.45 !important; }
.frontcat-gallery-choice-modal__panel header > button,
.frontcat-image-editor__header > button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid #e4e7ec;
    border-radius: 11px;
    background: #fff;
    color: #667085;
    cursor: pointer;
}
.frontcat-gallery-choice-modal__panel header > button svg,
.frontcat-image-editor__header > button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.frontcat-gallery-choice-modal__search {
    position: relative;
    display: flex;
    align-items: center;
    margin: 16px 20px 10px;
    min-height: 46px;
    border: 1px solid #d8dee8;
    border-radius: 13px;
    background: #f9fafb;
}
.frontcat-gallery-choice-modal__search svg { position: absolute; left: 14px; width: 18px; height: 18px; fill: #98a2b3; }
.frontcat-gallery-choice-modal__search input {
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 14px 0 42px !important;
    border: 0 !important;
    border-radius: 13px !important;
    background: transparent !important;
    color: #101828 !important;
    box-shadow: none !important;
    outline: none !important;
}
.frontcat-gallery-choice-modal__list {
    flex: 1 1 auto;
    min-height: 160px;
    max-height: 410px;
    overflow: auto;
    padding: 4px 20px 18px;
}
.frontcat-gallery-choice-option {
    display: grid;
    grid-template-columns: 22px 36px minmax(0,1fr);
    align-items: center;
    gap: 10px;
    min-height: 60px;
    margin-top: 7px;
    padding: 8px 12px;
    border: 1px solid #e7eaf0;
    border-radius: 13px;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}
.frontcat-gallery-choice-option:hover { border-color: #cfd5df; background: #fafbfc; }
.frontcat-gallery-choice-option.is-selected { border-color: color-mix(in srgb, var(--fc-primary-color) 55%, #e7eaf0); background: color-mix(in srgb, var(--fc-primary-color) 7%, #fff); }
.frontcat-gallery-choice-option input { position: absolute; opacity: 0; pointer-events: none; }
.frontcat-gallery-choice-option__radio { width: 18px; height: 18px; border: 1.5px solid #c5ccd7; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 4px #fff; }
.frontcat-gallery-choice-option.is-selected .frontcat-gallery-choice-option__radio { border-color: var(--fc-primary-color); background: var(--fc-primary-color); }
.frontcat-gallery-choice-option__folder { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px; background: var(--fc-primary-soft, #fff1e9); color: var(--fc-primary-color); }
.frontcat-gallery-choice-option__folder svg { width: 20px; height: 20px; fill: currentColor; }
.frontcat-gallery-choice-option__copy { display: flex; flex-direction: column; min-width: 0; }
.frontcat-gallery-choice-option__copy strong { overflow: hidden; color: #101828; font-size: 12px !important; font-weight: 500 !important; text-overflow: ellipsis; white-space: nowrap; }
.frontcat-gallery-choice-option__copy small { overflow: hidden; margin-top: 2px; color: #7b8494; font-size: 9px !important; text-overflow: ellipsis; white-space: nowrap; }
.frontcat-gallery-choice-modal__panel > footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 15px 20px 20px;
    border-top: 1px solid #eef1f5;
}
.frontcat-gallery-choice-modal__panel footer button,
.frontcat-image-editor__footer button {
    min-height: 44px;
    padding: 0 18px;
    border-radius: 12px;
    font-size: 12px !important;
    font-weight: 500;
    cursor: pointer;
}
.frontcat-gallery-choice-modal__panel footer .is-secondary,
.frontcat-image-editor__footer .is-secondary { border: 1px solid #d8dee8; background: #fff; color: #344054; }
.frontcat-gallery-choice-modal__panel footer .is-primary,
.frontcat-image-editor__footer .is-primary { border: 1px solid var(--fc-primary-color); background: var(--fc-primary-color); color: #fff; }

/* Editor de imagem não destrutivo. */
.frontcat-image-editor__panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(1260px, calc(100vw - 32px));
    height: min(850px, calc(100vh - 32px));
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 36px 110px rgba(15,23,42,.38);
}
.frontcat-image-editor__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    flex: 0 0 auto;
    padding: 19px 22px;
    border-bottom: 1px solid #e9edf2;
}
.frontcat-image-editor__header > div { min-width: 0; }
.frontcat-image-editor__header span { color: var(--fc-primary-color); font-size: 9px !important; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.frontcat-image-editor__header h2 { overflow: hidden; margin: 3px 0 3px !important; color: #101828; font-size: 21px !important; line-height: 1.2 !important; text-overflow: ellipsis; white-space: nowrap; }
.frontcat-image-editor__header p { margin: 0 !important; color: #667085; font-size: 11px !important; line-height: 1.4 !important; }
.frontcat-image-editor__body { display: grid; grid-template-columns: minmax(0,1fr) 330px; flex: 1 1 auto; min-height: 0; }
.frontcat-image-editor__workspace { display: flex; flex-direction: column; min-width: 0; min-height: 0; padding: 18px; background: #eef1f5; }
.frontcat-image-editor__stage {
    position: relative;
    flex: 1 1 auto;
    min-height: 340px;
    overflow: hidden;
    border-radius: 17px;
    background-color: #d9dee6;
    background-image: linear-gradient(45deg,#cfd5de 25%,transparent 25%),linear-gradient(-45deg,#cfd5de 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#cfd5de 75%),linear-gradient(-45deg,transparent 75%,#cfd5de 75%);
    background-position: 0 0,0 10px,10px -10px,-10px 0;
    background-size: 20px 20px;
    cursor: grab;
    touch-action: none;
    user-select: none;
}
.frontcat-image-editor__stage:active { cursor: grabbing; }
.frontcat-image-editor__stage > img { position: absolute; z-index: 1; display: block; max-width: none !important; max-height: none !important; margin: 0 !important; pointer-events: none; transform: translateZ(0); transform-origin: 50% 50%; will-change: transform, filter; }
.frontcat-image-editor__loading { position: absolute; z-index: 12; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: #f2f4f7; color: #475467; }
.frontcat-image-editor__loading span { width: 30px; height: 30px; border: 3px solid #d0d5dd; border-top-color: var(--fc-primary-color); border-radius: 50%; animation: frontcatEditorSpin .75s linear infinite; }
@keyframes frontcatEditorSpin { to { transform: rotate(360deg); } }
.frontcat-image-editor__shade { position: absolute; z-index: 3; background: rgba(15,23,42,.56); pointer-events: none; }
.frontcat-image-editor__crop { position: absolute; z-index: 4; border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(15,23,42,.25), 0 8px 24px rgba(15,23,42,.18); pointer-events: none; }
.frontcat-image-editor__crop .grid-v,
.frontcat-image-editor__crop .grid-h { position: absolute; background: rgba(255,255,255,.58); pointer-events: none; }
.frontcat-image-editor__crop .grid-v { top: 0; bottom: 0; width: 1px; }
.frontcat-image-editor__crop .grid-v.one { left: 33.333%; }
.frontcat-image-editor__crop .grid-v.two { left: 66.666%; }
.frontcat-image-editor__crop .grid-h { left: 0; right: 0; height: 1px; }
.frontcat-image-editor__crop .grid-h.one { top: 33.333%; }
.frontcat-image-editor__crop .grid-h.two { top: 66.666%; }
.frontcat-image-editor__resize { display: none; position: absolute; right: -8px; bottom: -8px; width: 18px; height: 18px; padding: 0; border: 2px solid #fff; border-radius: 6px; background: var(--fc-primary-color); box-shadow: 0 3px 10px rgba(15,23,42,.25); cursor: nwse-resize; pointer-events: auto; }
.frontcat-image-editor__crop.is-free .frontcat-image-editor__resize { display: block; }
.frontcat-image-editor__workspace-help { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 38px; padding: 9px 2px 0; color: #667085; font-size: 10px !important; }
.frontcat-image-editor__workspace-help button { padding: 0; border: 0; background: transparent; color: var(--fc-primary-color); font-size: 10px !important; font-weight: 750; cursor: pointer; }
.frontcat-image-editor__controls { min-height: 0; overflow-y: auto; padding: 17px 18px 24px; border-left: 1px solid #e8ecf1; background: #fff; }
.frontcat-image-editor__controls section { padding: 0 0 18px; margin: 0 0 18px; border-bottom: 1px solid #eef1f4; }
.frontcat-image-editor__controls section:last-child { border-bottom: 0; }
.frontcat-image-editor__controls h3 { margin: 0 0 11px !important; color: #101828; font-size: 12px !important; font-weight: 800; }
.frontcat-image-editor__ratios,
.frontcat-image-editor__presets { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.frontcat-image-editor__ratios button,
.frontcat-image-editor__presets button { min-height: 36px; padding: 0 7px; border: 1px solid #dfe4eb; border-radius: 9px; background: #fff; color: #475467; font-size: 9px !important; font-weight: 750; cursor: pointer; }
.frontcat-image-editor__ratios button:hover,
.frontcat-image-editor__presets button:hover { background: #f8fafc; }
.frontcat-image-editor__ratios button.is-active,
.frontcat-image-editor__presets button.is-active { border-color: color-mix(in srgb,var(--fc-primary-color) 58%,#dfe4eb); background: var(--fc-primary-soft,#fff1e9); color: var(--fc-primary-color); }
.frontcat-image-editor__transform-actions {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 7px;
}
.frontcat-image-editor__transform-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    min-height: 40px;
    padding: 0 10px;
    border: 1px solid #dfe4eb;
    border-radius: 9px;
    background: #fff;
    color: #475467;
    font-size: 9px !important;
    font-weight: 750;
    cursor: pointer;
}
.frontcat-image-editor__transform-actions button:hover {
    border-color: #cfd6e0;
    background: #f8fafc;
}
.frontcat-image-editor__transform-actions button.is-active {
    border-color: color-mix(in srgb,var(--fc-primary-color) 58%,#dfe4eb);
    background: var(--fc-primary-soft,#fff1e9);
    color: var(--fc-primary-color);
}
.frontcat-image-editor__transform-actions button svg {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.frontcat-image-editor__transform-help {
    margin: 9px 0 0 !important;
    color: #7b8494;
    font-size: 9px !important;
    line-height: 1.45 !important;
}
.frontcat-image-editor__range { display: block; margin-top: 13px; }
.frontcat-image-editor__range > span { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 7px; color: #475467; font-size: 9px !important; }
.frontcat-image-editor__range strong { font-size: inherit !important; }
.frontcat-image-editor__range output { min-width: 34px; color: #7b8494; font-size: 9px !important; text-align: right; }
.frontcat-image-editor__range input[type="range"] { width: 100%; height: 4px; margin: 0; padding: 0; accent-color: var(--fc-primary-color); cursor: pointer; }
.frontcat-image-editor__footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex: 0 0 auto; padding: 15px 22px; border-top: 1px solid #e9edf2; background: #fff; }
.frontcat-image-editor__footer > div:first-child { display: flex; flex-direction: column; }
.frontcat-image-editor__footer > div:first-child strong { color: #101828; font-size: 11px !important; }
.frontcat-image-editor__footer > div:first-child span { margin-top: 2px; color: #7b8494; font-size: 9px !important; }
.frontcat-image-editor__footer > div:last-child { display: flex; gap: 10px; }
.frontcat-image-editor__footer .is-primary { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-width: 190px; }
.frontcat-image-editor__footer .is-primary small { min-height: 0; margin-top: 1px; font-size: 8px !important; opacity: .85; }
.frontcat-image-editor__footer .is-primary:disabled { opacity: .65; cursor: wait; }

@media (max-width: 900px) {
    .frontcat-image-editor { padding: 8px; }
    .frontcat-image-editor__panel { width: calc(100vw - 16px); height: calc(100vh - 16px); border-radius: 17px; }
    .frontcat-image-editor__body { grid-template-columns: 1fr; overflow-y: auto; }
    .frontcat-image-editor__workspace { min-height: 430px; }
    .frontcat-image-editor__controls { overflow: visible; border-top: 1px solid #e8ecf1; border-left: 0; }
    .frontcat-image-editor__footer { align-items: flex-start; flex-direction: column; }
    .frontcat-image-editor__footer > div:last-child { width: 100%; }
    .frontcat-image-editor__footer button { flex: 1; }
    .frontcat-image-editor__transform-actions { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 420px) {
    .frontcat-image-editor__transform-actions { grid-template-columns: 1fr; }
}
@media (hover: none) {
    .frontcat-gallery-card-actions { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
}
body.frontcat-gallery-locked-folder-mode .frontcat-gallery-folder-actions {
    display: none !important;
}
.frontcat-gallery-card-actions.is-menu-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}
.frontcat-gallery-wrap .gallery-image-item > .frontcat-gallery-card-actions,
.frontcat-gallery-wrap .gallery-video-item > .frontcat-gallery-card-actions,
.frontcat-gallery-wrap .gallery-pdf-item > .frontcat-gallery-card-actions {
    right: 44px;
}
.frontcat-gallery-wrap .frontcat-folder-card > .frontcat-gallery-folder-actions {
    right: 10px;
}

/* FrontCat 20.20.466 — alinhamento dos controles, intensidade e estabilidade das miniaturas. */
.frontcat-gallery-wrap .frontcat-gallery-card-actions {
    top: 10px !important;
    right: 10px !important;
}
.frontcat-gallery-wrap .frontcat-gallery-card-actions__trigger {
    box-sizing: border-box !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    border-radius: 8px !important;
    box-shadow: 0 3px 10px rgba(15,23,42,.10) !important;
}
.frontcat-gallery-wrap .frontcat-gallery-card-actions__trigger svg {
    width: 15px !important;
    height: 15px !important;
}
.frontcat-gallery-wrap .gallery-image-item::before,
.frontcat-gallery-wrap .gallery-video-item::before,
.frontcat-gallery-wrap .gallery-pdf-item::before {
    box-sizing: border-box !important;
    top: 10px !important;
    right: 47px !important;
    width: 28px !important;
    height: 28px !important;
    border-width: 1px !important;
    border-color: #d7dde5 !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.96) !important;
    color: transparent !important;
    box-shadow: 0 3px 10px rgba(15,23,42,.08) !important;
}
.frontcat-gallery-wrap .gallery-image-item.selected::before,
.frontcat-gallery-wrap .gallery-video-item.selected::before,
.frontcat-gallery-wrap .gallery-pdf-item.selected::before {
    border-color: var(--fc-primary-color) !important;
    background: var(--fc-primary-color) !important;
    color: #fff !important;
    font-size: 13px !important;
}
.frontcat-gallery-wrap .gallery-font-item > .frontcat-font-thumb {
    box-sizing: border-box !important;
    justify-self: center !important;
    width: calc(100% - 8px) !important;
    min-width: 0 !important;
    max-width: calc(100% - 8px) !important;
    height: calc(100% - 4px) !important;
    margin: 4px 4px 0 !important;
    overflow: hidden !important;
    border-radius: 11px !important;
    background: linear-gradient(145deg, #fff8f3 0%, #fff 100%) !important;
    clip-path: inset(0 round 11px) !important;
    isolation: isolate !important;
}
.frontcat-image-editor__filter-intensity {
    margin-top: 14px !important;
    padding-top: 13px !important;
    border-top: 1px solid #eef1f4 !important;
}
.frontcat-image-editor__footer .is-primary {
    flex-direction: row !important;
    gap: 9px !important;
}
.frontcat-image-editor__save-spinner {
    display: none;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,.46);
    border-top-color: #fff;
    border-radius: 50%;
    animation: frontcatEditorSpin .72s linear infinite;
}
.frontcat-image-editor__footer .is-primary.is-loading .frontcat-image-editor__save-spinner {
    display: inline-block;
}

/* FrontCat 20.20.467 — controles compactos, menus estáveis, fontes e máscara de gradiente. */
.frontcat-gallery-wrap .gallery-image-item::before,
.frontcat-gallery-wrap .gallery-video-item::before,
.frontcat-gallery-wrap .gallery-pdf-item::before {
    top: 14px !important;
    right: 44px !important;
    width: 20px !important;
    height: 20px !important;
    border-width: 1.5px !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 7px rgba(15,23,42,.12) !important;
}
.frontcat-gallery-wrap .gallery-image-item.selected::before,
.frontcat-gallery-wrap .gallery-video-item.selected::before,
.frontcat-gallery-wrap .gallery-pdf-item.selected::before {
    font-size: 11px !important;
}
.frontcat-gallery-card-actions__menu {
    right: -12px !important;
    width: 170px !important;
    max-width: calc(100vw - 28px) !important;
}
.frontcat-gallery-card-actions__menu button {
    min-height: 36px !important;
    padding: 7px 9px !important;
    font-size: 11px !important;
}
.frontcat-gallery-wrap .gallery-font-item > .frontcat-font-thumb {
    position: relative !important;
    inset: auto !important;
    grid-row: 1 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    box-sizing: border-box !important;
    width: calc(100% - 8px) !important;
    min-width: 0 !important;
    max-width: calc(100% - 8px) !important;
    height: calc(100% - 4px) !important;
    min-height: 138px !important;
    max-height: 206px !important;
    margin: 4px 4px 0 !important;
    overflow: hidden !important;
    border-radius: 11px !important;
    clip-path: inset(0 round 11px) !important;
    isolation: isolate !important;
}
.frontcat-gallery-wrap .gallery-font-item > .frontcat-pdf-render,
.frontcat-gallery-wrap .gallery-font-item > .frontcat-pdf-thumb {
    display: none !important;
}

.frontcat-image-editor__gradient-preview {
    position: absolute;
    z-index: 2;
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    background: transparent;
    pointer-events: none;
}
.frontcat-image-editor__gradient-preview[hidden],
.frontcat-image-editor__gradient-guide[hidden] {
    display: none !important;
}
.frontcat-image-editor__gradient-guide {
    position: absolute;
    z-index: 8;
    inset: 0;
    pointer-events: none;
}
.frontcat-image-editor__gradient-line {
    position: absolute;
    display: block;
    height: 2px;
    border-radius: 999px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 0 0 1px rgba(15,23,42,.42), 0 2px 7px rgba(15,23,42,.28);
    transform-origin: 0 50%;
    pointer-events: none;
}
.frontcat-image-editor__gradient-handle {
    position: absolute;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 2px solid #fff !important;
    border-radius: 7px !important;
    background:
        linear-gradient(45deg,#d8dde5 25%,transparent 25%),
        linear-gradient(-45deg,#d8dde5 25%,transparent 25%),
        linear-gradient(45deg,transparent 75%,#d8dde5 75%),
        linear-gradient(-45deg,transparent 75%,#d8dde5 75%),#fff !important;
    background-position: 0 0,0 4px,4px -4px,-4px 0 !important;
    background-size: 8px 8px !important;
    box-shadow: 0 0 0 1px #4b5565, 0 5px 14px rgba(15,23,42,.25) !important;
    transform: translate(-50%,-50%) !important;
    cursor: move !important;
    pointer-events: auto !important;
}
.frontcat-image-editor__gradient-handle i {
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 4px;
    box-shadow: inset 0 0 0 1px rgba(15,23,42,.18);
    pointer-events: none;
}
.frontcat-image-editor__gradient-handle:hover,
.frontcat-image-editor__gradient-handle:focus-visible {
    box-shadow: 0 0 0 2px var(--fc-primary-color), 0 7px 18px rgba(15,23,42,.28) !important;
    outline: 0 !important;
}
.frontcat-image-editor__section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.frontcat-image-editor__section-heading h3 {
    margin-bottom: 3px !important;
}
.frontcat-image-editor__section-heading p,
.frontcat-image-editor__gradient-help {
    margin: 0 !important;
    color: #7b8494;
    font-size: 9px !important;
    line-height: 1.45 !important;
}
.frontcat-image-editor__switch {
    position: relative;
    display: inline-flex;
    flex: 0 0 38px;
    width: 38px;
    height: 22px;
    cursor: pointer;
}
.frontcat-image-editor__switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.frontcat-image-editor__switch span {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: #d9dee6;
    transition: background .16s ease;
}
.frontcat-image-editor__switch span::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 6px rgba(15,23,42,.18);
    transition: transform .16s ease;
}
.frontcat-image-editor__switch input:checked + span {
    background: var(--fc-primary-color);
}
.frontcat-image-editor__switch input:checked + span::after {
    transform: translateX(16px);
}
.frontcat-image-editor__switch input:focus-visible + span {
    box-shadow: 0 0 0 3px color-mix(in srgb,var(--fc-primary-color) 18%,transparent);
}
.frontcat-image-editor__gradient-controls {
    transition: opacity .16s ease;
}
.frontcat-image-editor__gradient-controls[aria-disabled="true"] {
    opacity: .42;
    pointer-events: none;
}
.frontcat-image-editor__gradient-modes {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 7px;
    margin-bottom: 12px;
}
.frontcat-image-editor__gradient-modes button {
    min-height: 36px;
    padding: 0 8px;
    border: 1px solid #dfe4eb;
    border-radius: 9px;
    background: #fff;
    color: #475467;
    font-size: 9px !important;
    font-weight: 750;
    cursor: pointer;
}
.frontcat-image-editor__gradient-modes button.is-active {
    border-color: color-mix(in srgb,var(--fc-primary-color) 58%,#dfe4eb);
    background: var(--fc-primary-soft,#fff1e9);
    color: var(--fc-primary-color);
}
.frontcat-image-editor__gradient-stops {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
}
.frontcat-image-editor__gradient-stop {
    min-width: 0;
    padding: 10px;
    border: 1px solid #e5e9ef;
    border-radius: 11px;
    background: #fafbfc;
}
.frontcat-image-editor__gradient-stop > strong {
    display: block;
    margin-bottom: 8px;
    color: #344054;
    font-size: 9px !important;
}
.frontcat-image-editor__gradient-stop > label:not(.frontcat-image-editor__range) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: #667085;
    font-size: 9px !important;
}
.frontcat-image-editor__gradient-stop input[type="color"] {
    width: 34px !important;
    min-width: 34px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 2px !important;
    overflow: hidden;
    border: 1px solid #d7dde5 !important;
    border-radius: 8px !important;
    background: #fff !important;
    cursor: pointer;
}
.frontcat-image-editor__gradient-stop .frontcat-image-editor__range {
    margin-top: 10px !important;
}
.frontcat-image-editor__gradient-help {
    margin-top: 10px !important;
}
.frontcat-image-editor--gradient-alpha [data-fc-gradient-color] {
    opacity: .45;
    pointer-events: none;
}
@media (max-width: 420px) {
    .frontcat-image-editor__gradient-stops {
        grid-template-columns: 1fr;
    }
}

/* FrontCat 20.20.468 — seletor de cor FrontCat e encaixe angular do gradiente. */
.frontcat-image-editor__gradient-stop {
    position: relative;
    overflow: visible;
}
.frontcat-image-editor__color-picker {
    position: relative;
    z-index: 1;
    min-width: 0;
    margin-top: 2px;
}
.frontcat-image-editor__color-picker.is-open {
    z-index: 40;
}
.frontcat-image-editor__color-label {
    display: block;
    margin-bottom: 6px;
    color: #667085;
    font-size: 9px !important;
    line-height: 1.2;
}
.frontcat-image-editor__color-trigger {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 34px !important;
    min-height: 34px !important;
    grid-template-columns: 25px minmax(0,1fr) 14px;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    padding: 3px 7px 3px 3px !important;
    border: 1px solid #d7dde5 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #344054 !important;
    box-shadow: none !important;
    cursor: pointer;
}
.frontcat-image-editor__color-trigger:hover,
.frontcat-image-editor__color-trigger:focus-visible,
.frontcat-image-editor__color-trigger[aria-expanded="true"] {
    border-color: var(--fc-primary-color) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb,var(--fc-primary-color) 16%,transparent) !important;
    outline: 0 !important;
}
.frontcat-image-editor__color-trigger > i {
    display: block;
    width: 25px;
    height: 25px;
    border: 1px solid rgba(15,23,42,.14);
    border-radius: 6px;
    background: #ff5a0a;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
}
.frontcat-image-editor__color-trigger code {
    min-width: 0;
    overflow: hidden;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #475467 !important;
    font: 700 9px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace !important;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.frontcat-image-editor__color-trigger svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .16s ease;
}
.frontcat-image-editor__color-trigger[aria-expanded="true"] svg {
    transform: rotate(180deg);
}
.frontcat-image-editor__color-popover {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 90;
    display: block;
    box-sizing: border-box;
    width: calc(200% + 28px);
    max-width: 286px;
    padding: 11px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 11px;
    background: #15191f;
    box-shadow: 0 18px 42px rgba(15,23,42,.34);
}
.frontcat-image-editor__gradient-stop.is-end .frontcat-image-editor__color-popover {
    right: 0;
    left: auto;
}
.frontcat-image-editor__color-popover[hidden] {
    display: none !important;
}
.frontcat-image-editor__color-map {
    position: relative;
    width: 100%;
    height: 148px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 9px;
    background:
        linear-gradient(to top,#000,rgba(0,0,0,0)),
        linear-gradient(to right,#fff,hsl(var(--fc-picker-hue,16),100%,50%));
    cursor: crosshair;
    touch-action: none;
}
.frontcat-image-editor__color-map > span {
    position: absolute;
    left: var(--fc-picker-s,100%);
    top: calc(100% - var(--fc-picker-v,100%));
    width: 14px;
    height: 14px;
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(0,0,0,.72),0 2px 8px rgba(0,0,0,.58);
    transform: translate(-50%,-50%);
    pointer-events: none;
}
.frontcat-image-editor__color-hue {
    display: grid !important;
    grid-template-columns: 44px minmax(0,1fr) 34px;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 11px !important;
    color: #cdd3db !important;
    font-size: 9px !important;
    font-weight: 700 !important;
}
.frontcat-image-editor__color-hue input[type="range"] {
    width: 100% !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: transparent !important;
    cursor: pointer;
}
.frontcat-image-editor__color-hue input[type="range"]::-webkit-slider-runnable-track {
    height: 5px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(to right,red,#ff0,lime,cyan,blue,magenta,red);
}
.frontcat-image-editor__color-hue input[type="range"]::-webkit-slider-thumb {
    width: 16px;
    height: 16px;
    margin-top: -5.5px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.42);
    appearance: none;
    -webkit-appearance: none;
}
.frontcat-image-editor__color-hue input[type="range"]::-moz-range-track {
    height: 5px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(to right,red,#ff0,lime,cyan,blue,magenta,red);
}
.frontcat-image-editor__color-hue input[type="range"]::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.42);
}
.frontcat-image-editor__color-hue output {
    color: #9ca6b4 !important;
    font: 700 9px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace !important;
    text-align: right;
}
.frontcat-image-editor__color-hex {
    display: grid !important;
    grid-template-columns: 44px minmax(0,1fr);
    align-items: center !important;
    gap: 8px !important;
    margin-top: 10px !important;
    color: #cdd3db !important;
    font-size: 9px !important;
    font-weight: 700 !important;
}
.frontcat-image-editor__color-hex input {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 9px !important;
    border: 1px solid #3e454f !important;
    border-radius: 6px !important;
    background: #111418 !important;
    color: #f4f7fb !important;
    box-shadow: none !important;
    font: 600 10px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace !important;
    text-transform: uppercase;
    outline: 0 !important;
}
.frontcat-image-editor__color-hex input:focus {
    border-color: var(--fc-primary-color) !important;
    box-shadow: 0 0 0 1px color-mix(in srgb,var(--fc-primary-color) 35%,transparent) !important;
}
.frontcat-image-editor__color-hex input.is-invalid {
    border-color: #ef4444 !important;
}
.frontcat-image-editor__color-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 32px !important;
    margin-top: 10px !important;
    padding: 0 10px !important;
    border: 1px solid #3e454f !important;
    border-radius: 7px !important;
    background: #262b31 !important;
    color: #eef2f7 !important;
    box-shadow: none !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    cursor: pointer;
}
.frontcat-image-editor__color-close:hover {
    border-color: var(--fc-primary-color) !important;
    background: #313842 !important;
    color: #fff !important;
}
.frontcat-image-editor__gradient-guide.is-snapping .frontcat-image-editor__gradient-line {
    height: 3px;
    background: var(--fc-primary-color);
    box-shadow: 0 0 0 1px #fff,0 0 0 3px rgba(15,23,42,.28),0 4px 12px rgba(15,23,42,.28);
}
.frontcat-image-editor__gradient-guide.is-snapping .frontcat-image-editor__gradient-handle {
    box-shadow: 0 0 0 2px var(--fc-primary-color),0 0 0 4px #fff,0 7px 18px rgba(15,23,42,.28) !important;
}
@media (max-width: 560px) {
    .frontcat-image-editor__gradient-stops { grid-template-columns: 1fr; }
    .frontcat-image-editor__color-popover,
    .frontcat-image-editor__gradient-stop.is-end .frontcat-image-editor__color-popover {
        right: auto;
        left: 0;
        width: 100%;
        max-width: none;
    }
}


/* FrontCat 20.20.469 — terceiro ponto da máscara e ações de modal agrupadas. */
.frontcat-image-editor__gradient-stops {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 8px !important;
}
.frontcat-image-editor__gradient-stop.is-mid .frontcat-image-editor__color-popover {
    left: 50%;
    width: min(286px, calc(300% + 32px));
    transform: translateX(-50%);
}
.frontcat-image-editor__gradient-position { margin-top: 11px !important; }
.frontcat-image-editor__gradient-handle.is-mid {
    width: 25px;
    height: 25px;
    border-radius: 8px;
    transform: translate(-50%,-50%) rotate(45deg);
}
.frontcat-image-editor__gradient-handle.is-mid i {
    width: 13px;
    height: 13px;
    border-radius: 4px;
    transform: rotate(-45deg);
}
.frontcat-gallery-choice-modal__panel > footer,
.frontcat-gallery-confirm-dialog .frontcat-confirm-actions,
.frontcat-image-editor__footer > div:last-child {
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
}
#frontcat-prompt-modal > div:last-child {
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
}
@media (max-width: 760px) {
    .frontcat-image-editor__gradient-stops { grid-template-columns: 1fr !important; }
    .frontcat-image-editor__gradient-stop.is-mid .frontcat-image-editor__color-popover {
        right: auto;
        left: 0;
        width: 100%;
        max-width: none;
        transform: none;
    }
}


/* FrontCat 20.20.470 — seletor de cor no padrão claro da nova Galeria. */
.frontcat-image-editor__gradient-stop-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-height: 24px !important;
    margin-bottom: 8px !important;
}
.frontcat-image-editor__gradient-stop-head > strong {
    margin: 0 !important;
    color: #344054 !important;
    font-size: 9px !important;
}
.frontcat-image-editor__mid-toggle {
    position: relative !important;
    display: inline-flex !important;
    width: 30px !important;
    height: 18px !important;
    flex: 0 0 30px !important;
    margin: 0 !important;
    cursor: pointer !important;
}
.frontcat-image-editor__mid-toggle input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.frontcat-image-editor__mid-toggle span {
    position: relative !important;
    display: block !important;
    width: 30px !important;
    height: 18px !important;
    border-radius: 999px !important;
    background: #d7dde5 !important;
    transition: background .18s ease !important;
}
.frontcat-image-editor__mid-toggle span::after {
    content: "" !important;
    position: absolute !important;
    left: 3px !important;
    top: 3px !important;
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(15,23,42,.22) !important;
    transition: transform .18s ease !important;
}
.frontcat-image-editor__mid-toggle input:checked + span {
    background: var(--fc-primary-color, #ff5a0a) !important;
}
.frontcat-image-editor__mid-toggle input:checked + span::after {
    transform: translateX(12px) !important;
}
.frontcat-image-editor__gradient-stop.is-mid.is-disabled {
    background: #f5f7fa !important;
}
.frontcat-image-editor__gradient-stop.is-mid.is-disabled > :not(.frontcat-image-editor__gradient-stop-head) {
    opacity: .42 !important;
    pointer-events: none !important;
}
.frontcat-image-editor__gradient-handle.is-mid[hidden] {
    display: none !important;
}
.frontcat-image-editor__color-popover {
    border: 1px solid #dfe4eb !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #344054 !important;
    box-shadow: 0 22px 58px rgba(15,23,42,.18) !important;
}
.frontcat-image-editor__color-map {
    border-color: #dfe4eb !important;
    border-radius: 11px !important;
}
.frontcat-image-editor__color-hue,
.frontcat-image-editor__color-hex {
    color: #475467 !important;
}
.frontcat-image-editor__color-hue output {
    color: #667085 !important;
}
.frontcat-image-editor__color-hex input {
    border-color: #d7dde5 !important;
    border-radius: 9px !important;
    background: #f8fafc !important;
    color: #101828 !important;
}
.frontcat-image-editor__color-close {
    min-height: 38px !important;
    border-color: var(--fc-primary-color, #ff5a0a) !important;
    border-radius: 9px !important;
    background: var(--fc-primary-color, #ff5a0a) !important;
    color: #fff !important;
}
.frontcat-image-editor__color-close:hover,
.frontcat-image-editor__color-close:focus-visible {
    border-color: var(--fc-primary-strong, #dc4b08) !important;
    background: var(--fc-primary-strong, #dc4b08) !important;
    color: #fff !important;
}
/* Remove contadores residuais de componentes de faixa/picker que não fazem parte da interface. */
.frontcat-image-editor__color-popover > output:not([data-fc-color-hue-value]),
.frontcat-image-editor__color-popover > [class*="count"],
.frontcat-image-editor__color-popover > [class*="pagination"],
.frontcat-image-editor__color-popover > [aria-live]:empty,
.frontcat-image-editor__color-popover .ui-slider-pips,
.frontcat-image-editor__color-popover .ui-slider-label {
    display: none !important;
}

/* FrontCat 20.20.484 — campos do gradiente empilhados e responsivos. */
.frontcat-image-editor__gradient-stops {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    min-width: 0 !important;
}
.frontcat-image-editor__gradient-stop {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}
.frontcat-image-editor__gradient-stop .frontcat-image-editor__color-picker,
.frontcat-image-editor__gradient-stop .frontcat-image-editor__range,
.frontcat-image-editor__gradient-stop .frontcat-image-editor__color-trigger {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}
.frontcat-image-editor__gradient-stop .frontcat-image-editor__color-popover,
.frontcat-image-editor__gradient-stop.is-mid .frontcat-image-editor__color-popover,
.frontcat-image-editor__gradient-stop.is-end .frontcat-image-editor__color-popover {
    right: auto !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
}

/* FrontCat 20.20.577 — botões sempre com peso médio em todas as galerias. */
.frontcat-gallery-wrap button,
.frontcat-gallery-wrap button *,
.frontcat-gallery-wrap .button,
.frontcat-gallery-wrap .button *,
.frontcat-gallery-wrap input[type="button"],
.frontcat-gallery-wrap input[type="submit"],
.frontcat-gallery-wrap input[type="reset"],
#frontcat-gallery-modal button,
#frontcat-gallery-modal button *,
#frontcat-gallery-modal .button,
#frontcat-gallery-modal .button *,
.frontcat-confirm-overlay button,
.frontcat-confirm-overlay button * {
    font-weight: 500 !important;
}

/* FrontCat 20.20.580 — seleção múltipla de pastas e hierarquia lateral. */
.frontcat-gallery-wrap .frontcat-folder-card.selected {
    border-color: var(--fc-primary-color) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-primary-color) 14%, transparent), 0 14px 30px rgba(15, 23, 42, .1) !important;
}

.frontcat-gallery-wrap .frontcat-folder-card::before {
    content: "" !important;
    position: absolute !important;
    z-index: 40 !important;
    top: 10px !important;
    left: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    border: 2px solid rgba(255, 255, 255, .96) !important;
    border-radius: 7px !important;
    background: rgba(15, 23, 42, .34) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .15) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .16s ease, background-color .16s ease !important;
}

.frontcat-gallery-wrap .frontcat-folder-card:hover::before,
.frontcat-gallery-wrap .frontcat-folder-card:focus-visible::before,
.frontcat-gallery-wrap .frontcat-folder-card.selected::before {
    opacity: 1 !important;
}

.frontcat-gallery-wrap .frontcat-folder-card.selected::before {
    content: "\2713" !important;
    border-color: var(--fc-primary-color) !important;
    background: var(--fc-primary-color) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
}

.frontcat-gallery-wrap .gallery-folder-list li.frontcat-folder-item[data-depth] > a,
.frontcat-gallery-wrap .gallery-folder-list li.frontcat-folder-item[data-depth] > .frontcat-folder-toggle {
    transition: left .16s ease, padding-left .16s ease, background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

.frontcat-gallery-wrap .gallery-folder-list li.frontcat-folder-item[data-depth] > a {
    max-width: 100% !important;
}

.frontcat-gallery-wrap .gallery-folder-list li.frontcat-folder-item[data-depth] > a {
    padding-left: calc(38px + var(--frontcat-folder-indent, 0px)) !important;
}

.frontcat-gallery-wrap .gallery-folder-list li.frontcat-folder-item[data-depth] > .frontcat-folder-toggle {
    left: calc(10px + var(--frontcat-folder-indent, 0px)) !important;
}


/* FrontCat 20.20.617 — ações selecionadas compactas e editor consistente. */
.frontcat-image-editor__header > button:hover,
.frontcat-image-editor__header > button:focus-visible,
.frontcat-gallery-choice-modal__panel header > button:hover,
.frontcat-gallery-choice-modal__panel header > button:focus-visible {
    border-color: color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 32%, #e4e7ec) !important;
    background: var(--fc-primary-soft, #fff1e9) !important;
    color: var(--fc-primary-color, #ff5a0a) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 10%, transparent) !important;
    outline: 0 !important;
}
.frontcat-image-editor__header > button:active,
.frontcat-gallery-choice-modal__panel header > button:active {
    background: color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 13%, #fff) !important;
    color: var(--fc-primary-color, #ff5a0a) !important;
    transform: translateY(0) !important;
}

.frontcat-gallery-wrap .gallery-folder-list li > a {
    line-height: 1.22 !important;
}
.frontcat-gallery-wrap .gallery-folder-list .frontcat-folder-list__label {
    line-height: 1.22 !important;
}

.frontcat-gallery-wrap .frontcat-selection-options {
    position: relative !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
}
.frontcat-gallery-wrap .frontcat-selection-options.is-visible {
    display: block !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-button {
    min-width: 112px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 12px !important;
    white-space: nowrap !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-button__dots {
    width: 19px !important;
    height: 19px !important;
    fill: currentColor !important;
    stroke: none !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-button__chevron {
    width: 16px !important;
    height: 16px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    transition: transform .18s ease !important;
}
.frontcat-gallery-wrap .frontcat-selection-options.is-open .frontcat-selection-options-button__chevron {
    transform: rotate(180deg) !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-menu {
    position: absolute !important;
    z-index: 2147483000 !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    width: min(260px, calc(100vw - 32px)) !important;
    padding: 6px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .16) !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-menu[hidden] {
    display: none !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-menu > button {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 7px 9px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #263244 !important;
    box-shadow: none !important;
    text-align: left !important;
    cursor: pointer !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-menu > button:hover,
.frontcat-gallery-wrap .frontcat-selection-options-menu > button:focus-visible {
    background: var(--fc-primary-soft, #fff1e9) !important;
    color: #9a3412 !important;
    outline: 0 !important;
    box-shadow: none !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-menu > button > svg {
    width: 20px !important;
    height: 20px !important;
    margin: auto !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-menu > button > span {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: 2px !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-menu strong {
    color: inherit !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-menu small {
    color: #778195 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-menu > button:hover small,
.frontcat-gallery-wrap .frontcat-selection-options-menu > button:focus-visible small {
    color: #a14b1c !important;
}
.frontcat-gallery-wrap .frontcat-media-is-moving {
    opacity: .52 !important;
    pointer-events: none !important;
}

/* O seletor legado nao ocupa mais espaco: mover abre o modal de pastas. */
.frontcat-gallery-wrap #move-to-folder-wrapper {
    display: none !important;
}

@media (max-width: 768px) {
    .frontcat-gallery-wrap .gallery-header-actions.frontcat-has-selection-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        grid-template-areas:
            "options delete"
            "use use"
            "upload upload" !important;
        width: 100% !important;
        gap: 9px !important;
    }
    .frontcat-gallery-wrap .gallery-header-actions.frontcat-has-selection-actions #frontcat-export-media-button,
    .frontcat-gallery-wrap .gallery-header-actions.frontcat-has-selection-actions #move-to-folder-wrapper {
        display: none !important;
    }
    .frontcat-gallery-wrap .gallery-header-actions.frontcat-has-selection-actions #gallery-actions.gallery-main-actions {
        display: contents !important;
    }
    .frontcat-gallery-wrap .gallery-header-actions.frontcat-has-selection-actions .frontcat-selection-options {
        grid-area: options !important;
        width: 100% !important;
    }
    .frontcat-gallery-wrap .gallery-header-actions.frontcat-has-selection-actions .frontcat-selection-options-button,
    .frontcat-gallery-wrap .gallery-header-actions.frontcat-has-selection-actions #delete-image-button {
        width: 100% !important;
        min-width: 0 !important;
        height: 44px !important;
    }
    .frontcat-gallery-wrap .gallery-header-actions.frontcat-has-selection-actions #delete-image-button {
        grid-area: delete !important;
    }
    .frontcat-gallery-wrap .gallery-header-actions.frontcat-has-selection-actions .frontcat-use-btn-group {
        grid-area: use !important;
        width: 100% !important;
    }
    .frontcat-gallery-wrap .gallery-header-actions.frontcat-has-selection-actions #frontcat-upload-container {
        grid-area: upload !important;
        width: 100% !important;
    }
    .frontcat-gallery-wrap .frontcat-selection-options-menu {
        right: auto !important;
        left: 0 !important;
        width: min(270px, calc(100vw - 28px)) !important;
    }
}

/* FrontCat 20.20.618 — gerenciador de pastas e seletor Local consistentes. */
.frontcat-gallery-wrap .frontcat-folder-manager-header strong {
    font-weight: 500 !important;
}

/* FrontCat 20.20.622 — Opções no padrão dos seletores do Painel. */
.frontcat-gallery-wrap #frontcat-export-media-button {
    display: none !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 126px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid var(--fc-dashboard-filter-border-color, var(--fc-border-color, #e1e5ea)) !important;
    border-radius: var(--fc-dashboard-filter-radius, 12px) !important;
    background: var(--fc-dashboard-filter-bg, var(--fc-container-bg, #fff)) !important;
    color: var(--fc-dashboard-filter-color, var(--fc-text-dark, #231e39)) !important;
    box-shadow: var(--fc-dashboard-filter-shadow, none) !important;
    font: inherit !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-button:hover {
    background: var(--fc-dashboard-filter-bg, var(--fc-container-bg, #fff)) !important;
    color: var(--fc-dashboard-filter-color, var(--fc-text-dark, #231e39)) !important;
    border-color: color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 52%, var(--fc-border-color, #e1e5ea)) !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-button:focus,
.frontcat-gallery-wrap .frontcat-selection-options-button:focus-visible,
.frontcat-gallery-wrap .frontcat-selection-options.is-open .frontcat-selection-options-button {
    outline: none !important;
    border-color: var(--fc-dashboard-filter-border-color-focus, var(--fc-primary-color, #ff5a0a)) !important;
    background: var(--fc-dashboard-filter-bg, var(--fc-container-bg, #fff)) !important;
    color: var(--fc-dashboard-filter-color, var(--fc-text-dark, #231e39)) !important;
    box-shadow: var(--fc-dashboard-filter-shadow-focus, 0 0 0 3px color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 14%, transparent)) !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-button__dots {
    display: none !important;
}
.frontcat-gallery-wrap .frontcat-selection-options-button__chevron {
    width: 8px !important;
    height: 8px !important;
    margin: -4px 2px 0 0 !important;
    border: 0 !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    transform: rotate(45deg) !important;
    transition: transform .18s ease, margin .18s ease !important;
}
.frontcat-gallery-wrap .frontcat-selection-options.is-open .frontcat-selection-options-button__chevron {
    margin-top: 4px !important;
    transform: rotate(225deg) !important;
}

/* FrontCat 20.20.623 — seleção com peso médio e hovers legíveis no editor de imagem. */
.frontcat-gallery-wrap .frontcat-selection-count,
.frontcat-gallery-wrap .gallery-select-actions a{
    font-weight:500!important;
}
.frontcat-image-editor__ratios button:hover,
.frontcat-image-editor__ratios button:focus-visible,
.frontcat-image-editor__presets button:hover,
.frontcat-image-editor__presets button:focus-visible,
.frontcat-image-editor__transform-actions button:hover,
.frontcat-image-editor__transform-actions button:focus-visible,
.frontcat-image-editor__gradient-modes button:hover,
.frontcat-image-editor__gradient-modes button:focus-visible,
.frontcat-image-editor__color-trigger:hover,
.frontcat-image-editor__color-trigger:focus-visible{
    color:#475467!important;
}
.frontcat-image-editor__ratios button.is-active:hover,
.frontcat-image-editor__ratios button.is-active:focus-visible,
.frontcat-image-editor__presets button.is-active:hover,
.frontcat-image-editor__presets button.is-active:focus-visible,
.frontcat-image-editor__transform-actions button.is-active:hover,
.frontcat-image-editor__transform-actions button.is-active:focus-visible,
.frontcat-image-editor__gradient-modes button.is-active:hover,
.frontcat-image-editor__gradient-modes button.is-active:focus-visible{
    color:var(--fc-primary-color,#ff5a0a)!important;
}
.frontcat-image-editor__workspace-help button:hover,
.frontcat-image-editor__workspace-help button:focus-visible{
    color:#d94800!important;
}
.frontcat-image-editor__footer .is-secondary:hover,
.frontcat-image-editor__footer .is-secondary:focus-visible{
    border-color:#cfd6e0!important;
    background:#f8fafc!important;
    color:#344054!important;
    outline:0!important;
}
.frontcat-image-editor__color-close:hover,
.frontcat-image-editor__color-close:focus-visible{
    border-color:var(--fc-primary-color,#ff5a0a)!important;
    background:#313842!important;
    color:#eef2f7!important;
    outline:0!important;
}


/* FrontCat 20.20.624 — pesquisa nos seletores extensos da Galeria. */
.frontcat-gallery-folder-select-menu--portal .frontcat-gallery-folder-select-search,
.gallery-sidebar-footer .frontcat-gallery-folder-select-search{display:block!important;position:sticky!important;top:-6px!important;z-index:4!important;margin:-1px -1px 6px!important;padding:6px!important;background:#fff!important}
.frontcat-gallery-folder-select-menu--portal .frontcat-gallery-folder-select-search input,
.gallery-sidebar-footer .frontcat-gallery-folder-select-search input,
.frontcat-gallery-wrap .frontcat-media-filter-select-search input{display:block!important;width:100%!important;min-height:40px!important;height:40px!important;margin:0!important;padding:0 11px!important;border:1px solid var(--fc-border-color,#E7E7E7)!important;border-radius:9px!important;background:#f8fafc!important;color:#172033!important;font-family:var(--fc-font-family,inherit)!important;font-size:13px!important;font-weight:400!important;line-height:1.2!important;outline:0!important;box-shadow:none!important;-webkit-appearance:none!important;appearance:none!important}
.frontcat-gallery-folder-select-menu--portal .frontcat-gallery-folder-select-search input:focus,
.gallery-sidebar-footer .frontcat-gallery-folder-select-search input:focus,
.frontcat-gallery-wrap .frontcat-media-filter-select-search input:focus{border-color:var(--fc-primary-color,#ff5a0a)!important;background:#fff!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--fc-primary-color,#ff5a0a) 12%,transparent)!important}
.frontcat-gallery-folder-select-menu--portal .frontcat-gallery-folder-select-empty,
.gallery-sidebar-footer .frontcat-gallery-folder-select-empty,
.frontcat-gallery-wrap .frontcat-media-filter-select-empty{padding:10px!important;color:#718096!important;font-family:var(--fc-font-family,inherit)!important;font-size:12px!important;font-weight:400!important;line-height:1.4!important;text-align:center!important}
.frontcat-gallery-wrap .frontcat-media-filter-select-search{display:block!important;position:sticky!important;top:-7px!important;z-index:4!important;margin:-1px -1px 6px!important;padding:7px!important;background:#fff!important}


/* FrontCat 20.20.665 — dropdown interno dos filtros portado ao host correto.
 * Dentro do modal, o menu permanece no mesmo stacking context do overlay;
 * fora dele, continua no body. Em ambos os casos segue ancorado ao campo. */
#frontcat-gallery-modal > .frontcat-media-filter-select-menu--portal {
    z-index: 2147483647 !important;
}

.frontcat-media-filter-select-menu--portal {
    box-sizing: border-box !important;
    display: block !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    margin: 0 !important;
    padding: 7px !important;
    border: 1px solid #d5dde7 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #273449 !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .16) !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    transform: none !important;
    font-family: var(--fc-font-family, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}
.frontcat-media-filter-select-menu--portal .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.frontcat-media-filter-select-menu--portal .frontcat-media-filter-select-search {
    display: block !important;
    position: sticky !important;
    top: -7px !important;
    z-index: 4 !important;
    margin: -1px -1px 6px !important;
    padding: 7px !important;
    background: #fff !important;
}
.frontcat-media-filter-select-menu--portal .frontcat-media-filter-select-search input {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    min-height: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 11px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 9px !important;
    background: #f8fafc !important;
    color: #172033 !important;
    font: inherit !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    outline: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
.frontcat-media-filter-select-menu--portal .frontcat-media-filter-select-search input:focus {
    border-color: #ff5a0a !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(255, 90, 10, .12) !important;
}
.frontcat-media-filter-select-menu--portal .frontcat-media-filter-select-empty {
    padding: 10px !important;
    color: #718096 !important;
    font: inherit !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-align: center !important;
}
.frontcat-media-filter-select-menu--portal .frontcat-media-filter-select-option {
    box-sizing: border-box !important;
    display: grid !important;
    width: 100% !important;
    min-height: 38px !important;
    grid-template-columns: minmax(0, 1fr) 16px !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 1px 0 !important;
    padding: 8px 10px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #273449 !important;
    font: inherit !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    text-align: left !important;
    box-shadow: none !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
.frontcat-media-filter-select-menu--portal .frontcat-media-filter-select-option:hover,
.frontcat-media-filter-select-menu--portal .frontcat-media-filter-select-option:focus-visible {
    outline: 0 !important;
    background: #f2f5f8 !important;
}
.frontcat-media-filter-select-menu--portal .frontcat-media-filter-select-option.is-selected {
    background: #fff0e8 !important;
    color: #ad3500 !important;
    font-weight: 700 !important;
}
.frontcat-media-filter-select-menu--portal .frontcat-media-filter-select-option i {
    display: none !important;
    width: 6px !important;
    height: 10px !important;
    justify-self: center !important;
    border-right: 2px solid #ff5a0a !important;
    border-bottom: 2px solid #ff5a0a !important;
    transform: rotate(45deg) !important;
}
.frontcat-media-filter-select-menu--portal .frontcat-media-filter-select-option.is-selected i {
    display: block !important;
}

/* FrontCat 20.20.649 — estrutura mobile resiliente da Galeria FrontCat. */
@media (max-width: 900px) {
    #frontcat-gallery-modal .frontcat-gallery-wrap,
    #frontcat-gallery-modal .frontcat-gallery-layout,
    #frontcat-gallery-modal .gallery-main {
        min-height: 0 !important;
    }

    #frontcat-gallery-modal .gallery-main-header {
        position: sticky !important;
        z-index: 180 !important;
        top: 0 !important;
        overflow: visible !important;
        background: #fff !important;
    }

    #frontcat-gallery-modal .header-row-1 {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 44px 44px !important;
        grid-template-areas:
            "title menu close"
            "toolbar toolbar toolbar" !important;
        align-items: center !important;
        gap: 10px 8px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    #frontcat-gallery-modal .header-title-wrap {
        grid-area: title !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: 100% !important;
        flex: none !important;
    }

    #frontcat-gallery-modal .header-title-wrap h2,
    #frontcat-gallery-modal .gallery-breadcrumb {
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    #frontcat-gallery-modal #toggle-sidebar-button {
        grid-area: menu !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
    }

    #frontcat-gallery-modal #frontcat-gallery-close {
        grid-area: close !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
    }

    #frontcat-gallery-modal .frontcat-media-toolbar {
        position: relative !important;
        z-index: 320 !important;
        grid-area: toolbar !important;
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        align-items: center !important;
        gap: 8px !important;
        overflow: visible !important;
    }

    #frontcat-gallery-modal .frontcat-media-toolbar .frontcat-media-search {
        min-width: 0 !important;
        width: auto !important;
        flex: 1 1 auto !important;
        order: 1 !important;
    }

    #frontcat-gallery-modal .frontcat-media-filter {
        position: relative !important;
        z-index: 330 !important;
        flex: 0 0 44px !important;
        order: 2 !important;
        margin: 0 !important;
    }

    #frontcat-gallery-modal .frontcat-media-filter-dropdown {
        z-index: 2147483000 !important;
        right: 0 !important;
        left: auto !important;
        width: min(330px, calc(100vw - 24px)) !important;
        max-width: calc(100vw - 24px) !important;
    }

    #frontcat-gallery-modal .header-row-2 {
        position: relative !important;
        z-index: 120 !important;
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-direction: row !important;
        gap: 8px !important;
        margin-top: 10px !important;
        overflow: visible !important;
    }

    #frontcat-gallery-modal .gallery-select-actions {
        display: none !important;
    }

    #frontcat-gallery-modal .gallery-header-actions {
        position: relative !important;
        z-index: 120 !important;
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
    }

    #frontcat-gallery-modal .gallery-overlay {
        z-index: 410 !important;
    }

    #frontcat-gallery-modal .gallery-sidebar {
        position: absolute !important;
        z-index: 420 !important;
        top: 0 !important;
        right: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        display: flex !important;
        width: min(330px, 90vw) !important;
        min-width: min(330px, 90vw) !important;
        height: 100% !important;
        max-height: 100% !important;
        min-height: 0 !important;
        flex-direction: column !important;
        overflow: hidden !important;
        background: #fff !important;
    }

    #frontcat-gallery-modal .gallery-sidebar-header {
        position: relative !important;
        z-index: 3 !important;
        flex: 0 0 auto !important;
        background: #fff !important;
    }

    #frontcat-gallery-modal .gallery-sidebar-content {
        position: relative !important;
        z-index: 1 !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior-y: contain !important;
        -webkit-overflow-scrolling: touch !important;
    }

    #frontcat-gallery-modal .gallery-sidebar-footer {
        position: sticky !important;
        z-index: 5 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        flex: 0 0 auto !important;
        max-height: min(48vh, 420px) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
        background: #f8fafc !important;
    }
}

@media (max-width: 768px) {
    #frontcat-gallery-modal .gallery-header-actions.frontcat-has-selection-actions {
        display: flex !important;
        grid-template-columns: none !important;
        grid-template-areas: none !important;
        width: 100% !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
    }

    #frontcat-gallery-modal .gallery-header-actions.frontcat-has-selection-actions #gallery-actions.gallery-main-actions {
        display: flex !important;
        min-width: 0 !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex: 0 1 auto !important;
        gap: 8px !important;
    }

    #frontcat-gallery-modal .frontcat-selection-options {
        width: auto !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
    }

    #frontcat-gallery-modal .frontcat-selection-options-button {
        display: none !important;
    }

    #frontcat-gallery-modal .gallery-header-actions.frontcat-has-selection-actions .frontcat-selection-options.is-visible .frontcat-selection-options-menu,
    #frontcat-gallery-modal .gallery-header-actions.frontcat-has-selection-actions .frontcat-selection-options.is-visible .frontcat-selection-options-menu[hidden] {
        position: static !important;
        inset: auto !important;
        display: flex !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        align-items: center !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    #frontcat-gallery-modal .frontcat-selection-options-menu > button,
    #frontcat-gallery-modal #delete-image-button,
    #frontcat-gallery-modal #use-image-button,
    #frontcat-gallery-modal #frontcat-clear-selection-button {
        display: grid !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        flex: 0 0 44px !important;
        place-items: center !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 11px !important;
    }

    #frontcat-gallery-modal .frontcat-selection-options-menu > button > span,
    #frontcat-gallery-modal #delete-image-button > span,
    #frontcat-gallery-modal #use-image-button > span {
        display: none !important;
    }

    #frontcat-gallery-modal .frontcat-selection-options-menu > button > svg,
    #frontcat-gallery-modal #delete-image-button > svg,
    #frontcat-gallery-modal #use-image-button > svg,
    #frontcat-gallery-modal #frontcat-clear-selection-button > svg {
        width: 19px !important;
        height: 19px !important;
        margin: 0 !important;
    }

    #frontcat-gallery-modal .frontcat-use-btn-group {
        display: flex !important;
        width: auto !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        gap: 8px !important;
    }

    #frontcat-gallery-modal #frontcat-upload-container {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        flex: 0 0 44px !important;
        margin: 0 0 0 auto !important;
    }

    #frontcat-gallery-modal #frontcat-upload-container > label.frontcat-upload-button {
        display: grid !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        place-items: center !important;
        padding: 0 !important;
        border-radius: 11px !important;
    }

    #frontcat-gallery-modal #frontcat-upload-container .frontcat-upload-button-main-text,
    #frontcat-gallery-modal #frontcat-upload-container .frontcat-upload-button-subtext {
        display: none !important;
    }

    #frontcat-gallery-modal #frontcat-upload-container .frontcat-upload-button-percent {
        position: absolute !important;
        inset: auto 2px 2px auto !important;
        display: none !important;
        font-size: 8px !important;
        line-height: 1 !important;
    }

    #frontcat-gallery-modal #frontcat-upload-container.is-uploading .frontcat-upload-button-percent,
    #frontcat-gallery-modal #frontcat-upload-container.frontcat-is-uploading .frontcat-upload-button-percent {
        display: block !important;
    }
}

@media (max-width: 620px) {
    #frontcat-gallery-modal .gallery-main-header {
        padding: 14px 14px 12px !important;
    }

    #frontcat-gallery-modal .frontcat-gallery-eyebrow {
        font-size: 10px !important;
        letter-spacing: .12em !important;
    }

    #frontcat-gallery-modal .header-title-wrap h2 {
        font-size: 20px !important;
        line-height: 1.15 !important;
    }

    #frontcat-gallery-modal .gallery-main-content {
        padding: 14px !important;
    }
}

/* FrontCat 20.20.650 — seletores pesquisáveis sem corte dentro do filtro mobile. */
@media (max-width: 900px), (pointer: coarse) {
    #frontcat-gallery-modal .frontcat-media-filter-dropdown.frontcat-has-open-inner-select {
        overflow: visible !important;
    }

    #frontcat-gallery-modal .frontcat-media-filter-select.is-floating-mobile {
        position: relative !important;
        z-index: 2147483645 !important;
    }

    #frontcat-gallery-modal .frontcat-media-filter-select.is-floating-mobile .frontcat-media-filter-select-menu {
        display: block !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        transform: none !important;
    }

    #frontcat-gallery-modal .frontcat-media-filter-select.is-floating-mobile .frontcat-media-filter-select-search {
        position: sticky !important;
        top: -7px !important;
        z-index: 2 !important;
    }
}


/* FrontCat 20.20.652 — refinamentos mobile: viewport, ações, progresso, editor e pastas. */
@media (max-width: 900px), (pointer: coarse) {
    #frontcat-gallery-modal .frontcat-gallery-wrap,
    #frontcat-gallery-modal .frontcat-gallery-wrap *,
    #frontcat-gallery-modal .frontcat-gallery-wrap *::before,
    #frontcat-gallery-modal .frontcat-gallery-wrap *::after {
        -webkit-tap-highlight-color: transparent !important;
    }

    #frontcat-gallery-modal .gallery-overlay {
        background: rgba(24,24,22,.24) !important;
    }

    /* Pastas: cabeçalho e gerenciamento permanecem presos; somente a lista ocupa a área rolável. */
    #frontcat-gallery-modal .gallery-sidebar {
        overflow: hidden !important;
    }
    #frontcat-gallery-modal .gallery-sidebar-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 8 !important;
        flex: 0 0 auto !important;
        background: #fff !important;
    }
    #frontcat-gallery-modal .gallery-sidebar-content {
        flex: 1 1 0 !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior-y: contain !important;
        -webkit-overflow-scrolling: touch !important;
    }
    #frontcat-gallery-modal .gallery-sidebar-footer {
        position: sticky !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 9 !important;
        flex: 0 0 auto !important;
        max-height: none !important;
        overflow: visible !important;
        background: #fff !important;
        box-shadow: 0 -10px 24px rgba(15,23,42,.06) !important;
    }

    /* Editor de imagem: o próprio modal vira a superfície rolável no mobile. */
    .frontcat-image-editor {
        display: block !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior-y: contain !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 8px !important;
    }
    .frontcat-image-editor__panel {
        width: 100% !important;
        min-height: calc(100svh - 16px) !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 auto !important;
        overflow: visible !important;
        border-radius: 17px !important;
    }
    .frontcat-image-editor__body {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) !important;
        flex: 0 0 auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }
    .frontcat-image-editor__workspace {
        min-height: min(430px, 56svh) !important;
    }
    .frontcat-image-editor__controls {
        overflow: visible !important;
    }
}

@media (max-width: 768px) {
    /* Ações crescem da direita para a esquerda sem o vão extra entre limpar e upload. */
    #frontcat-gallery-modal .gallery-header-actions,
    #frontcat-gallery-modal .gallery-header-actions.frontcat-has-selection-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-flow: row wrap !important;
        gap: 6px !important;
        overflow: visible !important;
    }
    #frontcat-gallery-modal .gallery-header-actions.frontcat-has-selection-actions #gallery-actions.gallery-main-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex: 0 1 auto !important;
        gap: 6px !important;
        margin: 0 !important;
    }
    #frontcat-gallery-modal #frontcat-upload-container {
        order: 2 !important;
        margin: 0 !important;
    }
    #frontcat-gallery-modal #gallery-actions {
        order: 1 !important;
    }

    /* Exportar e Mover são ações secundárias, no mesmo padrão dos demais controles neutros. */
    #frontcat-gallery-modal .frontcat-selection-options-menu > button[data-frontcat-selection-action="export"],
    #frontcat-gallery-modal .frontcat-selection-options-menu > button[data-frontcat-selection-action="move"] {
        border: 1px solid #d8dee8 !important;
        background: #fff !important;
        color: #475467 !important;
        box-shadow: none !important;
    }
    #frontcat-gallery-modal .frontcat-selection-options-menu > button[data-frontcat-selection-action="export"]:active,
    #frontcat-gallery-modal .frontcat-selection-options-menu > button[data-frontcat-selection-action="move"]:active {
        background: #f8fafc !important;
    }

    /* Usar + remover seleção funcionam visualmente como um único controle segmentado. */
    #frontcat-gallery-modal .frontcat-use-btn-group {
        gap: 0 !important;
        isolation: isolate !important;
    }
    #frontcat-gallery-modal .frontcat-use-btn-group #use-image-button {
        border-radius: 11px 0 0 11px !important;
    }
    #frontcat-gallery-modal .frontcat-use-btn-group #frontcat-clear-selection-button {
        margin-left: -1px !important;
        border: 1px solid #d8dee8 !important;
        border-radius: 0 11px 11px 0 !important;
        background: #fff !important;
        color: #475467 !important;
    }

    /* Durante upload o botão não é preenchido: a barra ocupa uma linha inteira abaixo das ações. */
    #frontcat-gallery-modal #frontcat-upload-container label[for="frontcat-uploader"].frontcat-uploading .frontcat-upload-progress-bg,
    #frontcat-gallery-modal #frontcat-upload-container label[for="frontcat-uploader"].frontcat-uploading .frontcat-upload-button-percent {
        display: none !important;
        width: 0 !important;
        opacity: 0 !important;
    }
    #frontcat-gallery-modal .gallery-header-actions > #frontcat-upload-progress-wrapper.frontcat-upload-progress-mobile {
        order: 20 !important;
        display: block !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 6px 0 0 !important;
        padding: 10px 12px !important;
        border: 1px solid #e4e7ec !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 4px 14px rgba(15,23,42,.05) !important;
    }
    #frontcat-gallery-modal .gallery-header-actions > #frontcat-upload-progress-wrapper.frontcat-upload-progress-mobile .frontcat-progress-bar {
        width: 100% !important;
        height: 6px !important;
        border-radius: 999px !important;
        background: #eceff3 !important;
        overflow: hidden !important;
    }
    #frontcat-gallery-modal .gallery-header-actions > #frontcat-upload-progress-wrapper.frontcat-upload-progress-mobile .frontcat-progress-bar-fill {
        background: var(--fc-primary-color,#ff5a0a) !important;
        transition: width .18s ease !important;
    }
    #frontcat-gallery-modal .gallery-header-actions > #frontcat-upload-progress-wrapper.frontcat-upload-progress-mobile .frontcat-progress-label {
        display: block !important;
        margin: 7px 0 0 !important;
        color: #667085 !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        text-align: right !important;
    }
}

/* FrontCat 20.20.654 — ações e modal Mover mídia resilientes no mobile. */
@media (max-width: 900px), (pointer: coarse) {
    /* Mover mídia: ocupa somente a viewport visível. Header e footer não participam da rolagem. */
    .frontcat-gallery-choice-modal {
        display: block !important;
        width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }
    .frontcat-gallery-choice-modal__panel {
        position: fixed !important;
        z-index: 1 !important;
        inset: 0 !important;
        display: flex !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 0 !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
    }
    .frontcat-gallery-choice-modal__panel > header {
        position: sticky !important;
        top: 0 !important;
        z-index: 8 !important;
        flex: 0 0 auto !important;
        padding: max(18px, env(safe-area-inset-top)) 18px 14px !important;
        background: #fff !important;
    }
    .frontcat-gallery-choice-modal__search {
        position: relative !important;
        z-index: 6 !important;
        flex: 0 0 auto !important;
        margin: 14px 18px 8px !important;
        background: #f9fafb !important;
    }
    .frontcat-gallery-choice-modal__list {
        position: relative !important;
        z-index: 1 !important;
        flex: 1 1 0 !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior-y: contain !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 4px 18px 18px !important;
    }
    .frontcat-gallery-choice-modal__panel > footer {
        position: sticky !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 9 !important;
        flex: 0 0 auto !important;
        gap: 8px !important;
        padding: 12px 18px calc(12px + env(safe-area-inset-bottom)) !important;
        background: #fff !important;
        box-shadow: 0 -10px 24px rgba(15,23,42,.06) !important;
    }
    .frontcat-gallery-choice-modal__panel > footer > button {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        min-height: 46px !important;
    }
}

@media (max-width: 768px) {
    /* O grupo segmentado precisa reservar os 88px completos antes do Upload. */
    #frontcat-gallery-modal .frontcat-use-btn-group {
        position: relative !important;
        z-index: 4 !important;
        display: grid !important;
        grid-template-columns: 44px 44px !important;
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        flex: 0 0 88px !important;
        gap: 0 !important;
        overflow: hidden !important;
        border-radius: 11px !important;
    }
    #frontcat-gallery-modal .frontcat-use-btn-group #use-image-button,
    #frontcat-gallery-modal .frontcat-use-btn-group #frontcat-clear-selection-button {
        display: grid !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        flex: 0 0 44px !important;
        margin: 0 !important;
        place-items: center !important;
    }
    #frontcat-gallery-modal .frontcat-use-btn-group #use-image-button {
        border-radius: 11px 0 0 11px !important;
    }
    #frontcat-gallery-modal .frontcat-use-btn-group #frontcat-clear-selection-button {
        position: relative !important;
        z-index: 5 !important;
        border-radius: 0 11px 11px 0 !important;
    }
    #frontcat-gallery-modal #frontcat-upload-container {
        position: relative !important;
        z-index: 2 !important;
        flex: 0 0 44px !important;
        margin-left: 0 !important;
    }
}

/* FrontCat 20.20.655 — handle de corte e header sticky da Galeria no mobile. */
@media (max-width: 900px), (pointer: coarse) {
    /* O redimensionador do corte segue o padrão visual FrontCat no toque. */
    .frontcat-image-editor__resize {
        right: -10px !important;
        bottom: -10px !important;
        width: 22px !important;
        min-width: 22px !important;
        max-width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
        padding: 0 !important;
        border: 3px solid #fff !important;
        border-radius: 999px !important;
        background: var(--fc-primary-color, #ff5a0a) !important;
        box-shadow: 0 4px 12px color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 28%, transparent) !important;
        appearance: none !important;
        -webkit-appearance: none !important;
    }

    /* Aplica o sticky também quando a Galeria roda no próprio documento/iframe,
       e não apenas quando existe o wrapper #frontcat-gallery-modal. */
    .frontcat-gallery-wrap .gallery-main-header,
    body.frontcat-gallery-modal-mode .frontcat-gallery-wrap .gallery-main-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 500 !important;
        flex: 0 0 auto !important;
        overflow: visible !important;
        background: #fff !important;
        box-shadow: 0 8px 24px rgba(15, 23, 42, .045) !important;
    }

    body.frontcat-gallery-modal-mode .frontcat-gallery-layout,
    body.frontcat-gallery-modal-mode .gallery-main {
        min-height: 0 !important;
        max-height: 100svh !important;
        overflow: hidden !important;
    }

    body.frontcat-gallery-modal-mode .gallery-main-content {
        flex: 1 1 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.frontcat-gallery-modal-mode .gallery-image-grid {
        min-height: 0 !important;
        overflow-y: auto !important;
        overscroll-behavior-y: contain !important;
        -webkit-overflow-scrolling: touch !important;
    }
}



/* FrontCat 20.20.663 — header da Galeria realmente fixo + uso adaptativo da altura útil. */
#frontcat-gallery-modal.frontcat-media-modal-shell{
    overflow:hidden!important;
    overscroll-behavior:none!important;
}
#frontcat-gallery-modal #frontcat-gallery-modal-content,
#frontcat-gallery-modal #frontcat-gallery-modal-body,
#frontcat-gallery-modal .frontcat-gallery-wrap,
#frontcat-gallery-modal .frontcat-gallery-layout,
#frontcat-gallery-modal .gallery-main{
    min-height:0!important;
    max-height:100%!important;
}
#frontcat-gallery-modal #frontcat-gallery-modal-content{
    overflow:hidden!important;
}
#frontcat-gallery-modal #frontcat-gallery-modal-body,
#frontcat-gallery-modal .frontcat-gallery-wrap,
#frontcat-gallery-modal .frontcat-gallery-layout{
    height:100%!important;
    overflow:hidden!important;
}
#frontcat-gallery-modal .gallery-main{
    display:grid!important;
    height:100%!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    overflow:hidden!important;
}
#frontcat-gallery-modal .gallery-main-header{
    position:sticky!important;
    z-index:500!important;
    top:0!important;
    grid-row:1!important;
    min-width:0!important;
    overflow:visible!important;
    contain:layout style!important;
}
#frontcat-gallery-modal .gallery-main-content{
    grid-row:2!important;
    display:flex!important;
    min-width:0!important;
    min-height:0!important;
    flex-direction:column!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
}
#frontcat-gallery-modal .gallery-image-grid{
    flex:1 1 0!important;
    min-width:0!important;
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
}
body.frontcat-gallery-modal-mode{
    overflow:hidden!important;
    overscroll-behavior:none!important;
}
body.frontcat-gallery-modal-mode .frontcat-gallery-wrap,
body.frontcat-gallery-modal-mode .frontcat-gallery-layout,
body.frontcat-gallery-modal-mode .gallery-main{
    min-height:0!important;
    max-height:100%!important;
    overflow:hidden!important;
}
body.frontcat-gallery-modal-mode .gallery-main{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
}
body.frontcat-gallery-modal-mode .gallery-main-content{
    min-height:0!important;
    overflow:hidden!important;
}
body.frontcat-gallery-modal-mode .gallery-image-grid{
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
}

@media (max-width:900px), (pointer:coarse){
    #frontcat-gallery-modal .gallery-main,
    body.frontcat-gallery-modal-mode .gallery-main{
        --frontcat-gallery-header-ease:cubic-bezier(.2,.72,.2,1);
    }
    #frontcat-gallery-modal .gallery-main-header,
    body.frontcat-gallery-modal-mode .gallery-main-header{
        transition:padding .2s var(--frontcat-gallery-header-ease),box-shadow .2s ease!important;
    }
    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-space-tight .gallery-main-header,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-space-tight .gallery-main-header{
        padding:8px 12px 7px!important;
    }
    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-space-tight .header-row-1,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-space-tight .header-row-1{
        gap:7px 8px!important;
    }
    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-space-tight .frontcat-gallery-eyebrow,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-space-tight .frontcat-gallery-eyebrow{
        display:none!important;
    }
    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-space-tight #frontcat-current-folder,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-space-tight #frontcat-current-folder{
        font-size:18px!important;
        line-height:1.12!important;
    }
    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-space-tight .gallery-breadcrumb,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-space-tight .gallery-breadcrumb{
        min-height:0!important;
        margin-top:2px!important;
        font-size:10px!important;
        line-height:1.25!important;
    }
    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-space-tight .header-row-2,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-space-tight .header-row-2{
        min-height:40px!important;
        margin-top:6px!important;
    }
    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-compact .gallery-main-header,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-compact .gallery-main-header{
        padding-top:7px!important;
        padding-bottom:6px!important;
        box-shadow:0 1px 0 var(--fc-border-color),0 10px 24px rgba(15,23,42,.075)!important;
    }
    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-compact .frontcat-gallery-eyebrow,
    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-compact .gallery-breadcrumb,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-compact .frontcat-gallery-eyebrow,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-compact .gallery-breadcrumb{
        display:none!important;
    }
    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-compact #frontcat-current-folder,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-compact #frontcat-current-folder{
        overflow:hidden!important;
        font-size:17px!important;
        line-height:1.1!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important;
    }
    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-compact .header-row-1,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-compact .header-row-1{
        grid-template-rows:auto 0!important;
        row-gap:0!important;
    }
    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-compact .frontcat-media-toolbar,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-compact .frontcat-media-toolbar{
        max-height:0!important;
        margin:0!important;
        overflow:hidden!important;
        opacity:0!important;
        pointer-events:none!important;
        transform:translateY(-6px)!important;
    }
    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-compact .header-row-2,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-compact .header-row-2{
        margin-top:5px!important;
    }
}

/* FrontCat 20.20.667 — nomes integrais, contadores coerentes e header mobile suave. */
.frontcat-gallery-wrap .gallery-image-item > .gallery-item-name,
.frontcat-gallery-wrap .gallery-video-item > .gallery-item-name,
.frontcat-gallery-wrap .gallery-pdf-item > .gallery-item-name {
    height: auto !important;
    min-height: 32px !important;
    max-height: none !important;
    padding: 8px 10px !important;
    overflow: visible !important;
    line-height: 1.35 !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.frontcat-gallery-wrap .gallery-image-item,
.frontcat-gallery-wrap .gallery-video-item,
.frontcat-gallery-wrap .gallery-pdf-item,
.frontcat-gallery-wrap .frontcat-folder-card {
    aspect-ratio: auto !important;
    height: auto !important;
}

.frontcat-gallery-wrap .frontcat-folder-card {
    grid-template-rows: auto !important;
    min-height: 204px !important;
}

.frontcat-gallery-wrap .frontcat-folder-card__icon {
    height: auto !important;
    min-height: 204px !important;
}

.frontcat-gallery-wrap .frontcat-folder-card .gallery-item-name {
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

@media (max-width: 900px), (pointer: coarse) {
    #frontcat-gallery-modal .gallery-main,
    body.frontcat-gallery-modal-mode .gallery-main {
        --frontcat-gallery-header-ease: cubic-bezier(.22,.72,.22,1);
        --frontcat-gallery-toolbar-open-height: 58px;
    }

    /* Mantemos a segunda linha do grid como "auto". Quem anima o tamanho é o
       próprio toolbar; isso evita o salto causado por trocar a track de auto
       diretamente para 0 no instante em que a classe compacta entra. */
    #frontcat-gallery-modal .gallery-main .header-row-1,
    body.frontcat-gallery-modal-mode .gallery-main .header-row-1 {
        grid-template-rows: auto auto !important;
        row-gap: 8px !important;
        transition: row-gap .30s var(--frontcat-gallery-header-ease) !important;
    }

    #frontcat-gallery-modal .gallery-main .frontcat-media-toolbar,
    body.frontcat-gallery-modal-mode .gallery-main .frontcat-media-toolbar {
        max-height: var(--frontcat-gallery-toolbar-open-height) !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        overflow: hidden !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translate3d(0,0,0) !important;
        transform-origin: top center !important;
        will-change: max-height, opacity, transform, margin !important;
        transition:
            max-height .32s var(--frontcat-gallery-header-ease),
            opacity .22s ease,
            transform .32s var(--frontcat-gallery-header-ease),
            margin .32s var(--frontcat-gallery-header-ease) !important;
    }

    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-compact .header-row-1,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-compact .header-row-1 {
        grid-template-rows: auto auto !important;
        row-gap: 0 !important;
    }

    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-compact .frontcat-media-toolbar,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-compact .frontcat-media-toolbar {
        max-height: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translate3d(0,-8px,0) !important;
    }

    #frontcat-gallery-modal .gallery-main #frontcat-current-folder,
    body.frontcat-gallery-modal-mode .gallery-main #frontcat-current-folder {
        transition: font-size .28s var(--frontcat-gallery-header-ease), line-height .28s var(--frontcat-gallery-header-ease) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    #frontcat-gallery-modal .gallery-main .header-row-1,
    body.frontcat-gallery-modal-mode .gallery-main .header-row-1,
    #frontcat-gallery-modal .gallery-main .frontcat-media-toolbar,
    body.frontcat-gallery-modal-mode .gallery-main .frontcat-media-toolbar,
    #frontcat-gallery-modal .gallery-main #frontcat-current-folder,
    body.frontcat-gallery-modal-mode .gallery-main #frontcat-current-folder {
        transition-duration: .01ms !important;
    }
}


/* FrontCat 20.20.668 — títulos de pastas usam peso medium em todas as variações da Galeria FrontCat. */
.frontcat-gallery-wrap .frontcat-folder-card .gallery-item-name,
.frontcat-gallery-wrap .frontcat-folder-card__name,
.frontcat-gallery-wrap .gallery-folder-list .frontcat-folder-list__label {
    font-weight: 500 !important;
}


/* FrontCat 20.20.669 — filtros mobile sem clipping, títulos medium e cards em 2 linhas. */
.frontcat-gallery-wrap #frontcat-current-folder,
.frontcat-gallery-wrap .gallery-sidebar-header h2 {
    font-weight: 500 !important;
}

/* O toolbar expandido precisa deixar foco, sombra e dropdown escaparem do seu
   box. O clipping fica restrito ao estado realmente recolhido da animação. */
@media (max-width: 900px), (pointer: coarse) {
    #frontcat-gallery-modal .gallery-main .frontcat-media-toolbar,
    body.frontcat-gallery-modal-mode .gallery-main .frontcat-media-toolbar {
        overflow: visible !important;
    }

    #frontcat-gallery-modal .gallery-main.frontcat-gallery-header-compact .frontcat-media-toolbar,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-gallery-header-compact .frontcat-media-toolbar {
        overflow: hidden !important;
    }

    /* Se o usuário abriu o filtro, ele ganha prioridade sobre a compactação do
       header. Assim o painel nunca é ocultado por max-height/overflow durante o
       toque e a busca mantém o contorno inteiro visível. */
    #frontcat-gallery-modal .gallery-main.frontcat-filter-panel-open .frontcat-media-toolbar,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-filter-panel-open .frontcat-media-toolbar,
    #frontcat-gallery-modal .frontcat-media-toolbar.frontcat-filter-panel-open,
    body.frontcat-gallery-modal-mode .frontcat-media-toolbar.frontcat-filter-panel-open {
        max-height: var(--frontcat-gallery-toolbar-open-height, 58px) !important;
        overflow: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translate3d(0,0,0) !important;
    }

    #frontcat-gallery-modal .gallery-main.frontcat-filter-panel-open .header-row-1,
    body.frontcat-gallery-modal-mode .gallery-main.frontcat-filter-panel-open .header-row-1 {
        row-gap: 8px !important;
    }

    #frontcat-gallery-modal .frontcat-media-filter-dropdown,
    body.frontcat-gallery-modal-mode .frontcat-media-filter-dropdown {
        z-index: 2147483000 !important;
    }
}

/* Duas linhas, de forma uniforme, para arquivos e pastas em desktop e mobile. */
.frontcat-gallery-wrap .gallery-image-item > .gallery-item-name,
.frontcat-gallery-wrap .gallery-video-item > .gallery-item-name,
.frontcat-gallery-wrap .gallery-pdf-item > .gallery-item-name,
.frontcat-gallery-wrap .gallery-file-item > .gallery-item-name,
.frontcat-gallery-wrap .gallery-audio-item > .gallery-item-name,
.frontcat-gallery-wrap .frontcat-folder-card .gallery-item-name,
.frontcat-gallery-wrap .frontcat-folder-card__name {
    display: -webkit-box !important;
    overflow: hidden !important;
    max-height: calc(2.7em + 16px) !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
}

/* No rodapé de mídia o padding faz parte da altura disponível; mantemos a
   altura automática para uma ou duas linhas, sem voltar ao footer fixo antigo. */
.frontcat-gallery-wrap .gallery-image-item > .gallery-item-name,
.frontcat-gallery-wrap .gallery-video-item > .gallery-item-name,
.frontcat-gallery-wrap .gallery-pdf-item > .gallery-item-name,
.frontcat-gallery-wrap .gallery-file-item > .gallery-item-name,
.frontcat-gallery-wrap .gallery-audio-item > .gallery-item-name {
    height: auto !important;
    min-height: 32px !important;
    padding: 8px 10px !important;
    line-height: 1.35 !important;
}

.frontcat-gallery-wrap .frontcat-folder-card .gallery-item-name,
.frontcat-gallery-wrap .frontcat-folder-card__name {
    line-height: 1.35 !important;
    font-weight: 500 !important;
}

/* FrontCat 20.20.670 — seletor Local da sidebar acima do modal.
 * O menu é portado para a própria raiz do overlay quando a Galeria está em
 * modal; assim ele compartilha o stacking context máximo e não fica atrás do
 * painel, inclusive no mobile. */
#frontcat-gallery-modal > .frontcat-gallery-folder-select-menu--portal {
    z-index: 2147483647 !important;
    pointer-events: auto !important;
}


/* FrontCat 20.20.671 — filtros da Galeria em tela cheia.
   O antigo popover ancorado ao botão foi substituído por uma superfície modal
   com três zonas independentes: header fixo, corpo rolável e ações fixas. */
body.frontcat-media-filter-modal-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

.frontcat-media-filter-modal-host {
    position: fixed !important;
    z-index: 2147483500 !important;
    inset: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    isolation: isolate !important;
}

.frontcat-media-filter-modal-host > .frontcat-media-filter-dropdown.frontcat-media-filter-modal {
    position: absolute !important;
    z-index: 1 !important;
    inset: 0 !important;
    display: grid !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    transform: none !important;
}

.frontcat-media-filter-modal-host .frontcat-media-filter-heading {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    min-height: 72px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: calc(14px + env(safe-area-inset-top, 0px)) max(22px, env(safe-area-inset-right, 0px)) 14px max(22px, env(safe-area-inset-left, 0px)) !important;
    border-bottom: 1px solid #e7eaf0 !important;
    background: #fff !important;
    color: #172033 !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .045) !important;
}

.frontcat-media-filter-modal-host .frontcat-media-filter-heading strong {
    min-width: 0 !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
}

.frontcat-media-filter-modal-host .frontcat-media-filter-dismiss {
    display: inline-grid !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    flex: 0 0 44px !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #dde3eb !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #475569 !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, .035) !important;
    cursor: pointer !important;
}

.frontcat-media-filter-modal-host .frontcat-media-filter-dismiss:hover,
.frontcat-media-filter-modal-host .frontcat-media-filter-dismiss:focus-visible {
    border-color: color-mix(in srgb, var(--fc-primary-color, #ff5a0a) 45%, #d7dee8) !important;
    background: #fff8f3 !important;
    color: var(--fc-primary-color, #ff5a0a) !important;
    outline: 0 !important;
}

.frontcat-media-filter-modal-host .frontcat-media-filter-dismiss svg {
    width: 20px !important;
    height: 20px !important;
}

.frontcat-media-filter-modal-host .frontcat-media-filter-body {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 28px max(22px, env(safe-area-inset-right, 0px)) 34px max(22px, env(safe-area-inset-left, 0px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-gutter: stable !important;
}

.frontcat-media-filter-modal-host .frontcat-media-filter-body > .frontcat-media-filter-field {
    width: min(720px, 100%) !important;
    margin: 0 auto 22px !important;
}

.frontcat-media-filter-modal-host .frontcat-media-filter-field > span {
    margin-bottom: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.frontcat-media-filter-modal-host .frontcat-media-filter-select-trigger,
.frontcat-media-filter-modal-host .frontcat-media-filter-field select {
    min-height: 50px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
}

.frontcat-media-filter-modal-host .frontcat-media-filter-actions {
    position: relative !important;
    z-index: 3 !important;
    display: grid !important;
    width: 100% !important;
    grid-template-columns: minmax(110px, .7fr) minmax(180px, 1.3fr) !important;
    justify-content: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 14px max(22px, calc((100vw - 720px) / 2), env(safe-area-inset-right, 0px)) calc(14px + env(safe-area-inset-bottom, 0px)) max(22px, calc((100vw - 720px) / 2), env(safe-area-inset-left, 0px)) !important;
    border-top: 1px solid #e7eaf0 !important;
    background: #fff !important;
    box-shadow: 0 -10px 24px rgba(15, 23, 42, .05) !important;
}

.frontcat-media-filter-modal-host .frontcat-media-filter-reset,
.frontcat-media-filter-modal-host .frontcat-media-filter-apply {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    border-radius: 11px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

@media (max-width: 700px), (pointer: coarse) {
    .frontcat-media-filter-modal-host .frontcat-media-filter-heading {
        min-height: 68px !important;
        padding: calc(12px + env(safe-area-inset-top, 0px)) 18px 12px !important;
    }
    .frontcat-media-filter-modal-host .frontcat-media-filter-heading strong {
        font-size: 18px !important;
    }
    .frontcat-media-filter-modal-host .frontcat-media-filter-body {
        padding: 22px 18px 28px !important;
        scrollbar-gutter: auto !important;
    }
    .frontcat-media-filter-modal-host .frontcat-media-filter-body > .frontcat-media-filter-field {
        margin-bottom: 20px !important;
    }
    .frontcat-media-filter-modal-host .frontcat-media-filter-select-trigger,
    .frontcat-media-filter-modal-host .frontcat-media-filter-field select {
        min-height: 54px !important;
        font-size: 15px !important;
    }
    .frontcat-media-filter-modal-host .frontcat-media-filter-actions {
        grid-template-columns: minmax(96px, .72fr) minmax(0, 1.28fr) !important;
        gap: 10px !important;
        padding: 12px 18px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    }
    .frontcat-media-filter-modal-host .frontcat-media-filter-reset,
    .frontcat-media-filter-modal-host .frontcat-media-filter-apply {
        min-height: 50px !important;
        font-size: 14px !important;
    }
}


/* FrontCat 20.20.672 — pesos medium nos indicadores e ações do gerenciador sem ícones. */
.frontcat-gallery-wrap .frontcat-folder-list__count,
.frontcat-gallery-wrap .frontcat-folder-card__meta {
    font-weight: 500 !important;
}

.frontcat-gallery-wrap .frontcat-folder-actions-row .button {
    font-size: 12px !important;
    font-weight: 500 !important;
}

.frontcat-gallery-wrap .frontcat-folder-actions-row #create-folder-button > svg,
.frontcat-gallery-wrap .frontcat-folder-actions-row #delete-folders-bulk-button > svg {
    display: none !important;
}

.frontcat-gallery-wrap .frontcat-folder-actions-row #create-folder-button,
.frontcat-gallery-wrap .frontcat-folder-actions-row #delete-folders-bulk-button {
    gap: 0 !important;
}


/* FrontCat 20.20.673 — filtro fullscreen acima da própria Galeria e menu de
 * opções da sidebar idêntico ao menu de ações dos cards de mídia. */
/* FrontCat 20.20.674 — o filtro fullscreen é filho direto do body para que
 * backdrop-filter/overflow/padding da Galeria nunca criem um containing block
 * deslocado no mobile. A Galeria é temporariamente rebaixada uma camada. */
#frontcat-gallery-modal.frontcat-media-filter-layer-open {
    z-index: 2147483000 !important;
    overflow: hidden !important;
}

body > .frontcat-media-filter-modal-host.frontcat-media-filter-modal-host--inside-gallery {
    position: fixed !important;
    z-index: 2147483647 !important;
    inset: 0 !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: auto !important;
    isolation: isolate !important;
}

/* O dropdown da sidebar reutiliza o componente visual dos cards. Estes
 * seletores neutralizam regras legadas mais específicas da árvore de pastas. */
.frontcat-gallery-wrap .gallery-folder-list .folder-options-dropdown.frontcat-gallery-card-actions__menu {
    display: none;
    right: auto !important;
    width: 170px !important;
    min-width: 170px !important;
    max-width: calc(100vw - 28px) !important;
    padding: 6px !important;
    overflow: visible !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 20px 52px rgba(15,23,42,.2) !important;
    z-index: 2147483647 !important;
}
.frontcat-gallery-wrap .gallery-folder-list .folder-options-dropdown.frontcat-gallery-card-actions__menu.is-open {
    display: block !important;
}
.frontcat-gallery-wrap .gallery-folder-list .folder-options-dropdown.frontcat-gallery-card-actions__menu button {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 7px 9px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #344054 !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    cursor: pointer !important;
    box-shadow: none !important;
}
.frontcat-gallery-wrap .gallery-folder-list .folder-options-dropdown.frontcat-gallery-card-actions__menu button:hover,
.frontcat-gallery-wrap .gallery-folder-list .folder-options-dropdown.frontcat-gallery-card-actions__menu button:focus-visible {
    background: #f5f7fa !important;
    color: #101828 !important;
    outline: 0 !important;
}
.frontcat-gallery-wrap .gallery-folder-list .folder-options-dropdown.frontcat-gallery-card-actions__menu button.is-danger {
    color: #c93636 !important;
}
.frontcat-gallery-wrap .gallery-folder-list .folder-options-dropdown.frontcat-gallery-card-actions__menu button.is-danger:hover,
.frontcat-gallery-wrap .gallery-folder-list .folder-options-dropdown.frontcat-gallery-card-actions__menu button.is-danger:focus-visible {
    background: #fff1f1 !important;
    color: #a92828 !important;
}
.frontcat-gallery-wrap .gallery-folder-list .folder-options-dropdown.frontcat-gallery-card-actions__menu svg {
    display: block !important;
    flex: 0 0 17px !important;
    width: 17px !important;
    height: 17px !important;
    margin: 0 !important;
    fill: currentColor !important;
}
.frontcat-gallery-wrap .gallery-folder-list .folder-options-button svg {
    fill: currentColor !important;
}


/* FrontCat 20.20.674 — refinamentos do modal Mover mídia e filtros mobile. */
.frontcat-gallery-choice-option__copy strong,
.frontcat-gallery-choice-modal__panel > footer > button {
    font-weight: 500 !important;
}

@media (max-width: 700px), (pointer: coarse) {
    body > .frontcat-media-filter-modal-host {
        inset: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        min-width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }
    body > .frontcat-media-filter-modal-host > .frontcat-media-filter-dropdown.frontcat-media-filter-modal {
        inset: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        transform: none !important;
    }
}


/* FrontCat 20.20.675 — controles compactos no filtro fullscreen mobile.
   Mantém o menu/dropdown como está e reduz apenas o campo/trigger fechado,
   alinhando altura e tipografia à escala usada nos controles de configuração
   de visualização dos esquemas. */
@media (max-width: 700px), (pointer: coarse) {
    body > .frontcat-media-filter-modal-host .frontcat-media-filter-select-trigger,
    body > .frontcat-media-filter-modal-host .frontcat-media-filter-field select {
        box-sizing: border-box !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        border-radius: 12px !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
    }

    body > .frontcat-media-filter-modal-host .frontcat-media-filter-select-trigger {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}
