@layer primeng {
    .p-button {
        margin: 0;
        display: inline-flex;
        cursor: pointer;
        user-select: none;
        align-items: center;
        vertical-align: bottom;
        text-align: center;
        overflow: hidden;
        position: relative;
    }

    .p-button-label {
        flex: 1 1 auto;
    }

    .p-button-icon-right {
        order: 1;
    }

    .p-button:disabled {
        cursor: default;
        pointer-events: none;
    }

    .p-button-icon-only {
        justify-content: center;
    }

    .p-button-icon-only:after {
        content: 'p';
        visibility: hidden;
        clip: rect(0 0 0 0);
        width: 0;
    }

    .p-button-vertical {
        flex-direction: column;
    }

    .p-button-icon-bottom {
        order: 2;
    }

    .p-button-group .p-button {
        margin: 0;
    }

    .p-button-group .p-button:focus,
    .p-button-group p-button:focus .p-button,
    .p-buttonset .p-button:focus,
    .p-buttonset .p-button:focus,
    .p-buttonset p-button:focus .p-button,
    .p-buttonset .p-button:focus {
        position: relative;
        z-index: 1;
    }

    .p-button-group .p-button:not(:last-child),
    .p-button-group .p-button:not(:last-child):hover,
    .p-button-group p-button:not(:last-child) .p-button,
    .p-button-group p-button:not(:last-child) .p-button:hover,
    .p-buttonset .p-button:not(:last-child),
    .p-buttonset .p-button:not(:last-child):hover,
    .p-buttonset p-button:not(:last-child) .p-button,
    .p-buttonset p-button:not(:last-child) .p-button:hover {
        border-right: 0 none;
    }

    .p-button-group .p-button:not(:first-of-type):not(:last-of-type),
    .p-button-group p-button:not(:first-of-type):not(:last-of-type) .p-button,
    .p-buttonset .p-button:not(:first-of-type):not(:last-of-type),
    .p-buttonset p-button:not(:first-of-type):not(:last-of-type) .p-button {
        border-radius: 0;
    }

    .p-button-group .p-button:first-of-type:not(:only-of-type),
    .p-button-group p-button:first-of-type:not(:only-of-type) .p-button,
    .p-buttonset .p-button:first-of-type:not(:only-of-type),
    .p-buttonset p-button:first-of-type:not(:only-of-type) .p-button {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }

    .p-button-group .p-button:last-of-type:not(:only-of-type),
    .p-button-group p-button:last-of-type:not(:only-of-type) .p-button,
    .p-buttonset .p-button:last-of-type:not(:only-of-type),
    .p-buttonset p-button:last-of-type:not(:only-of-type) .p-button {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }

    p-button[iconpos='right'] spinnericon {
        order: 1;
    }
}
