[role="button"], [type="button"], [type="file"]::file-selector-button, [type="reset"], [type="submit"], button {
    font-weight: 700;
    --pico-background-color: var(--project-button-primary-background, var(--portailpro-button-primary-background));
    --pico-border-color: var(--project-button-primary-border-color, var(--portailpro-button-primary-border-color));
    --pico-color: var(--project-button-primary-color, var(--portailpro-button-primary-color));

    &:is(:hover, :active, :focus) {
        --pico-background-color: var(--project-button-primary-background-hover, var(--portailpro-button-primary-background-hover));
        --pico-border-color: var(--project-button-primary-border-color-hover, var(--portailpro-button-primary-border-color-hover));
        --pico-color: var(--project-button-primary-color-hover, var(--portailpro-button-primary-color-hover));
    }

    &.secondary {
        --pico-background-color: var(--project-button-secondary-background, var(--portailpro-button-secondary-background));
        --pico-border-color: var(--project-button-secondary-border-color, var(--portailpro-button-secondary-border-color));
        --pico-color: var(--project-button-secondary-color, var(--portailpro-button-secondary-color));

        &:is(:hover, :active, :focus) {
            --pico-background-color: var(--project-button-secondary-background-hover, var(--portailpro-button-secondary-background-hover)) !important;
            --pico-border-color: var(--project-button-secondary-border-color-hover, var(--portailpro-button-secondary-border-color-hover)) !important;
            --pico-color: var(--project-button-secondary-color-hover, var(--portailpro-button-secondary-color-hover)) !important;
        }
    }

    &.btn-danger {
        --pico-background-color: #f8d7da;
        --pico-border-color: #f5c6cb;
        --pico-color: #721c24;
    }

    &.btn-success {
        --pico-background-color: #d4edda;
        --pico-border-color: #c3e6cb;
        --pico-color: #155724;
    }

    &.btn-reverse {
        border-color: var(--pico-primary-inverse);
        background-color: var(--pico-primary-inverse);
        color: var(--pico-primary);
    }

    &.btn-warning {
        --pico-background-color: #fff3cd;
        --pico-border-color: #ffeeba;
        --pico-color: #856404;
    }

    &:disabled {
        opacity: 0.5;
    }

    i[class^="icon-"] {
        margin-right: 5px;
    }
}
