/* FrontCat 20.20.998 — contrato visual global de ações primárias.
 * Referência única: botão Salvar/Confirmar dos modais do Painel de Conteúdo.
 * Escopo: ações de salvar, confirmar, criar/aplicar dentro do Painel de Conteúdo
 * e da Central FrontCat. Ações destrutivas continuam no contrato vermelho.
 */

:root{
    --fc-primary-button-bg:#ff5600;
    --fc-primary-button-border:#ff5600;
    --fc-primary-button-color:#fff;
    --fc-primary-button-hover-bg:#e84e00;
    --fc-primary-button-hover-border:#e84e00;
    --fc-primary-button-focus-ring:rgba(255,86,0,.18);
    --fc-primary-button-radius:11px;
    --fc-primary-button-font-size:13px;
}

/*
 * Central FrontCat — submits reais de formulários e confirmações textuais.
 * Excluímos explicitamente ações destrutivas e controles secundários/icon-only.
 */
body.frontcat-admin-theme .frontcat-admin-hub :where(
    form button[type="submit"]:not(.button-secondary):not(.is-secondary):not(.is-danger):not(.button-link-delete):not(.frontcat-danger-button):not(.frontcat-builder-delete-modal__submit):not(.frontcat-dashboard-reset-confirm):not([class*="danger"]):not([class*="delete"]):not([class*="remove"]),
    form input[type="submit"]:not(.button-secondary):not(.is-secondary):not(.is-danger):not(.button-link-delete):not(.frontcat-danger-button):not([class*="danger"]):not([class*="delete"]):not([class*="remove"]),
    .frontcat-floating-editor-primary:not(.is-danger):not([class*="delete"]):not([class*="remove"]),
    [data-fc-editor-save],
    [data-fc-dialog-confirm]
),
.frontcat-schema-create-modal__submit,
.frontcat-builder-action-modal__footer [data-fc-builder-action-submit],
.frontcat-schema-icon-modal__footer .button-primary,
.frontcat-schema-icon-modal__footer [data-frontcat-schema-icon-use],
.frontcat-file-modal__footer .button-primary:not(.button-link-delete):not([class*="danger"]):not([class*="delete"]):not([class*="remove"]),
.frontcat-buttons-modal__footer .button-primary:not(.button-link-delete):not([class*="danger"]):not([class*="delete"]):not([class*="remove"]),
.fc-bm-confirm__ok,
.frontcat-confirm-ok:not(.frontcat-delete-action):not([class*="danger"]):not([class*="delete"]):not([class*="remove"]){
    border:1px solid var(--fc-primary-button-border)!important;
    border-radius:var(--fc-primary-button-radius)!important;
    background:var(--fc-primary-button-bg)!important;
    color:var(--fc-primary-button-color)!important;
    box-shadow:none!important;
    font-family:Poppins,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:var(--fc-primary-button-font-size)!important;
    font-weight:500!important;
    line-height:1!important;
    text-decoration:none!important;
    text-shadow:none!important;
    outline:0!important;
    transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease!important;
}

/* Painel de Conteúdo — submits de módulos e ações primárias de seus modais. */
html body.frontcat-has-content-panel :where(
    .fc-content-panel form button[type="submit"]:not(.is-secondary):not(.is-danger):not(.button-secondary):not(.button-link-delete):not([class*="danger"]):not([class*="delete"]):not([class*="remove"]),
    .fc-content-panel form input[type="submit"]:not(.is-secondary):not(.is-danger):not(.button-secondary):not(.button-link-delete):not([class*="danger"]):not([class*="delete"]):not([class*="remove"]),
    .frontcat-item-submit-button,
    button.fc-cpi__button.is-primary,
    button.fc-commerce-button.is-primary,
    .fc-appointments-detail__actions>button[data-fc-detail-save]
),
.fc-cpi-modal :where(
    .frontcat-item-submit-button,
    button.fc-cpi__button.is-primary,
    button[type="submit"]:not(.is-secondary):not(.is-danger):not(.button-secondary):not(.button-link-delete):not([class*="danger"]):not([class*="delete"]):not([class*="remove"])
),
.fc-commerce-modal :where(
    .frontcat-item-submit-button,
    button.fc-commerce-button.is-primary,
    button[type="submit"]:not(.is-secondary):not(.is-danger):not(.button-secondary):not(.button-link-delete):not([class*="danger"]):not([class*="delete"]):not([class*="remove"])
),
.fc-appointments-detail__actions>button[data-fc-detail-save]{
    border:1px solid var(--fc-primary-button-border)!important;
    border-radius:var(--fc-primary-button-radius)!important;
    background:var(--fc-primary-button-bg)!important;
    color:var(--fc-primary-button-color)!important;
    box-shadow:none!important;
    font-family:Poppins,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:var(--fc-primary-button-font-size)!important;
    font-weight:500!important;
    line-height:1!important;
    text-decoration:none!important;
    text-shadow:none!important;
    outline:0!important;
    transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease!important;
}

/* Galeria/editores FrontCat — confirmações próprias do runtime de mídia. */
.frontcat-gallery-wrap button.is-primary:not(.is-danger),
.frontcat-image-editor button.is-primary:not(.is-danger),
.frontcat-gallery-choice-modal button.is-primary:not(.is-danger){
    border:1px solid var(--fc-primary-button-border)!important;
    border-radius:var(--fc-primary-button-radius)!important;
    background:var(--fc-primary-button-bg)!important;
    color:var(--fc-primary-button-color)!important;
    box-shadow:none!important;
    font-family:Poppins,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:var(--fc-primary-button-font-size)!important;
    font-weight:500!important;
    line-height:1!important;
    text-decoration:none!important;
    text-shadow:none!important;
    outline:0!important;
}

/* Conteúdo textual acompanha a cor branca da ação primária. */
body.frontcat-admin-theme .frontcat-admin-hub :where(
    form button[type="submit"]:not(.is-danger):not([class*="danger"]):not([class*="delete"]):not([class*="remove"]),
    .frontcat-floating-editor-primary,
    [data-fc-editor-save],
    [data-fc-dialog-confirm]
) > :where(span,strong,small),
.frontcat-schema-create-modal__submit > :where(span,strong,small),
.frontcat-builder-action-modal__footer [data-fc-builder-action-submit] > :where(span,strong,small),
.fc-cpi-modal :where(.frontcat-item-submit-button,button.fc-cpi__button.is-primary) > :where(span,strong,small),
.fc-commerce-modal :where(.frontcat-item-submit-button,button.fc-commerce-button.is-primary) > :where(span,strong,small),
html body.frontcat-has-content-panel :where(.frontcat-item-submit-button,button.fc-cpi__button.is-primary,button.fc-commerce-button.is-primary) > :where(span,strong,small),
.frontcat-gallery-wrap button.is-primary > :where(span,strong,small),
.frontcat-image-editor button.is-primary > :where(span,strong,small){
    color:inherit!important;
}

/* Ações primárias são textuais: ícones decorativos não aparecem. */
body.frontcat-admin-theme .frontcat-admin-hub :where(
    form button[type="submit"]:not(.is-danger):not([class*="danger"]):not([class*="delete"]):not([class*="remove"]),
    .frontcat-floating-editor-primary,
    [data-fc-editor-save],
    [data-fc-dialog-confirm]
) > :where(svg,i,.dashicons),
.frontcat-schema-create-modal__submit > :where(svg,i,.dashicons),
.frontcat-builder-action-modal__footer [data-fc-builder-action-submit] > :where(svg,i,.dashicons),
.fc-cpi-modal :where(.frontcat-item-submit-button,button.fc-cpi__button.is-primary) > :where(svg,i,.dashicons),
.fc-commerce-modal :where(.frontcat-item-submit-button,button.fc-commerce-button.is-primary) > :where(svg,i,.dashicons),
html body.frontcat-has-content-panel :where(.frontcat-item-submit-button,button.fc-cpi__button.is-primary,button.fc-commerce-button.is-primary) > :where(svg,i,.dashicons),
.frontcat-gallery-wrap button.is-primary > :where(svg,i,.dashicons),
.frontcat-image-editor button.is-primary > :where(svg,i,.dashicons){
    display:none!important;
}

/* Hover / foco único. */
body.frontcat-admin-theme .frontcat-admin-hub :where(
    form button[type="submit"]:not(.button-secondary):not(.is-secondary):not(.is-danger):not(.button-link-delete):not(.frontcat-danger-button):not(.frontcat-builder-delete-modal__submit):not(.frontcat-dashboard-reset-confirm):not([class*="danger"]):not([class*="delete"]):not([class*="remove"]),
    form input[type="submit"]:not(.button-secondary):not(.is-secondary):not(.is-danger):not(.button-link-delete):not(.frontcat-danger-button):not([class*="danger"]):not([class*="delete"]):not([class*="remove"]),
    .frontcat-floating-editor-primary:not(.is-danger):not([class*="delete"]):not([class*="remove"]),
    [data-fc-editor-save],
    [data-fc-dialog-confirm]
):is(:hover,:focus,:focus-visible),
.frontcat-schema-create-modal__submit:is(:hover,:focus,:focus-visible),
.frontcat-builder-action-modal__footer [data-fc-builder-action-submit]:is(:hover,:focus,:focus-visible),
.frontcat-schema-icon-modal__footer .button-primary:is(:hover,:focus,:focus-visible),
.frontcat-schema-icon-modal__footer [data-frontcat-schema-icon-use]:is(:hover,:focus,:focus-visible),
.frontcat-file-modal__footer .button-primary:not([class*="danger"]):not([class*="delete"]):not([class*="remove"]):is(:hover,:focus,:focus-visible),
.frontcat-buttons-modal__footer .button-primary:not([class*="danger"]):not([class*="delete"]):not([class*="remove"]):is(:hover,:focus,:focus-visible),
.fc-bm-confirm__ok:is(:hover,:focus,:focus-visible),
.frontcat-confirm-ok:not(.frontcat-delete-action):is(:hover,:focus,:focus-visible),
html body.frontcat-has-content-panel :where(
    .fc-content-panel form button[type="submit"]:not(.is-secondary):not(.is-danger):not(.button-secondary):not(.button-link-delete):not([class*="danger"]):not([class*="delete"]):not([class*="remove"]),
    .fc-content-panel form input[type="submit"]:not(.is-secondary):not(.is-danger):not(.button-secondary):not(.button-link-delete):not([class*="danger"]):not([class*="delete"]):not([class*="remove"]),
    .frontcat-item-submit-button,
    button.fc-cpi__button.is-primary,
    button.fc-commerce-button.is-primary,
    .fc-appointments-detail__actions>button[data-fc-detail-save]
):is(:hover,:focus,:focus-visible),
.fc-cpi-modal :where(.frontcat-item-submit-button,button.fc-cpi__button.is-primary,button[type="submit"]:not(.is-secondary):not(.is-danger):not([class*="danger"]):not([class*="delete"]):not([class*="remove"])):is(:hover,:focus,:focus-visible),
.fc-commerce-modal :where(.frontcat-item-submit-button,button.fc-commerce-button.is-primary,button[type="submit"]:not(.is-secondary):not(.is-danger):not([class*="danger"]):not([class*="delete"]):not([class*="remove"])):is(:hover,:focus,:focus-visible),
.frontcat-gallery-wrap button.is-primary:not(.is-danger):is(:hover,:focus,:focus-visible),
.frontcat-image-editor button.is-primary:not(.is-danger):is(:hover,:focus,:focus-visible),
.frontcat-gallery-choice-modal button.is-primary:not(.is-danger):is(:hover,:focus,:focus-visible){
    border-color:var(--fc-primary-button-hover-border)!important;
    background:var(--fc-primary-button-hover-bg)!important;
    color:#fff!important;
    box-shadow:0 0 0 3px var(--fc-primary-button-focus-ring)!important;
    outline:0!important;
    transform:none!important;
}

/* Seletor de ícones: a identidade primária é semântica e independe da classe
 * nativa .button-primary, que alguns temas administrativos sobrescrevem em preto. */
.frontcat-schema-icon-modal__footer [data-frontcat-schema-icon-use]:disabled{
    border-color:var(--fc-primary-button-border)!important;
    background:var(--fc-primary-button-bg)!important;
    color:var(--fc-primary-button-color)!important;
    opacity:.52!important;
    cursor:not-allowed!important;
}

/* Disabled: mantém identidade primária, mas sem sugerir interação. */
body.frontcat-admin-theme .frontcat-admin-hub :where(form button[type="submit"],form input[type="submit"],.frontcat-floating-editor-primary):disabled,
html body.frontcat-has-content-panel :where(.frontcat-item-submit-button,button.fc-cpi__button.is-primary,button.fc-commerce-button.is-primary,form button[type="submit"],form input[type="submit"]):disabled,
.fc-cpi-modal :where(.frontcat-item-submit-button,button.fc-cpi__button.is-primary,button[type="submit"]):disabled,
.fc-commerce-modal :where(.frontcat-item-submit-button,button.fc-commerce-button.is-primary,button[type="submit"]):disabled{
    opacity:.52!important;
    cursor:not-allowed!important;
    box-shadow:none!important;
    transform:none!important;
}

/* FrontCat 20.21.050 — qualquer ação textual “Salvar …” usa o contrato
 * primário dos botões de confirmação dos modais, inclusive em telas nativas
 * do WordPress, Central FrontCat e Painel de Conteúdo. A classe é aplicada
 * no HTML estático quando possível e pelo helper global para ações dinâmicas. */
.frontcat-save-primary,
button.frontcat-save-primary,
input.frontcat-save-primary,
a.frontcat-save-primary{
    box-sizing:border-box!important;
    display:inline-flex!important;
    min-height:42px!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0 16px!important;
    border:1px solid var(--fc-primary-button-border)!important;
    border-radius:var(--fc-primary-button-radius)!important;
    background:var(--fc-primary-button-bg)!important;
    color:var(--fc-primary-button-color)!important;
    -webkit-text-fill-color:var(--fc-primary-button-color)!important;
    box-shadow:none!important;
    font-family:Poppins,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:var(--fc-primary-button-font-size)!important;
    font-weight:500!important;
    line-height:1!important;
    text-decoration:none!important;
    text-shadow:none!important;
    outline:0!important;
    cursor:pointer!important;
    transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease!important;
}
.frontcat-save-primary > :where(span,strong,small){
    color:inherit!important;
    font-weight:500!important;
}
.frontcat-save-primary > :where(svg,i,.dashicons){display:none!important;}
.frontcat-save-primary:is(:hover,:focus,:focus-visible){
    border-color:var(--fc-primary-button-hover-border)!important;
    background:var(--fc-primary-button-hover-bg)!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    box-shadow:0 0 0 3px var(--fc-primary-button-focus-ring)!important;
    outline:0!important;
    transform:none!important;
}
.frontcat-save-primary:disabled,
.frontcat-save-primary[aria-disabled="true"]{
    opacity:.52!important;
    cursor:not-allowed!important;
    box-shadow:none!important;
}

/* FrontCat 20.21.051 — ações textuais de remoção/exclusão mantêm contraste branco no hover.
 * Reforça também -webkit-text-fill-color para não herdar cor de regras nativas do WordPress. */
body.frontcat-admin-theme .frontcat-admin-hub :is(
    .button-link-delete,
    .frontcat-btn-danger,
    .frontcat-danger-button,
    [class*="remove-button"],
    [class*="delete-button"]
):is(:hover,:focus,:focus-visible),
.frontcat-admin-hub__native-view :is(
    .button-link-delete,
    .frontcat-btn-danger,
    .frontcat-danger-button,
    [class*="remove-button"],
    [class*="delete-button"]
):is(:hover,:focus,:focus-visible){
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}
