/* Shared action geometry; each KFM surface retains its existing action colors. */
:is(.kfm-op-wrap, .kfm-director) .button,
:is(.kfm-op-portal, .kfm-op-volunteer-portal, .kfm-op-feedback, .kfm-op-social-links, .kfm-op-directory) :is(button, .button, .kfm-op-portal__pay-link, .kfm-op-volunteer-portal__button),
.kfm-op-application :is(.kfm-op-application__secondary, .kfm-op-application__next, .kfm-op-application__submit),
.kfm-volunteer-app .kfm-volunteer-app__button {
    align-items: center;
    justify-content: center;
    display: inline-flex;
    gap: 6px;
    box-sizing: border-box;
    max-width: 100%;
    height: auto;
    min-height: 36px;
    padding: 7px 12px;
    border-radius: 4px;
    font-family: inherit;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    white-space: normal;
    overflow-wrap: anywhere;
}

:is(.kfm-op-portal, .kfm-op-volunteer-portal, .kfm-op-feedback, .kfm-op-social-links, .kfm-op-directory) :is(button, .button, .kfm-op-portal__pay-link, .kfm-op-volunteer-portal__button),
.kfm-op-application :is(.kfm-op-application__secondary, .kfm-op-application__next, .kfm-op-application__submit),
.kfm-volunteer-app .kfm-volunteer-app__button {
    min-height: 44px;
    padding: 9px 16px;
}

:is(.kfm-op-wrap, .kfm-director, .kfm-op-portal, .kfm-op-volunteer-portal, .kfm-op-feedback, .kfm-op-social-links, .kfm-op-directory) :is(.button, button) > .dashicons {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin: 0;
    font-size: 18px;
    line-height: 1;
}

:is(.kfm-op-wrap, .kfm-director, .kfm-op-portal, .kfm-op-volunteer-portal, .kfm-op-feedback, .kfm-op-social-links, .kfm-op-directory, .kfm-op-application, .kfm-volunteer-app) :is(.button, button):focus-visible {
    outline: 2px solid #2271b1;
    outline-offset: 3px;
    box-shadow: 0 0 0 2px #fff;
}

:is(.kfm-op-wrap, .kfm-director, .kfm-op-portal, .kfm-op-volunteer-portal, .kfm-op-feedback, .kfm-op-social-links, .kfm-op-directory, .kfm-op-application, .kfm-volunteer-app) :is(.button, button):disabled {
    cursor: not-allowed;
}

/* Author-level display rules must not reveal inactive workflow actions. */
:is(.kfm-op-wrap, .kfm-director, .kfm-op-portal, .kfm-op-volunteer-portal, .kfm-op-feedback, .kfm-op-social-links, .kfm-op-directory, .kfm-op-application, .kfm-volunteer-app) :is(.button, button)[hidden] {
    display: none !important;
}

@media (max-width: 782px) {
    :is(.kfm-op-wrap, .kfm-director) .button {
        min-height: 44px;
        padding: 9px 12px;
    }
}
