/* Shared filled-button colours. Panel link colours must not colour button labels.
 * Keep outline buttons under their existing theme rules.
 */
:root {
    --button-primary-fill: #7041b6;
    --button-primary-hover: #593391;
    --button-info-fill: #0274a7;
    --button-info-hover: #025d86;
}

.ui-theme-modern {
    --button-primary-fill: linear-gradient(135deg, #4f46e5 0%, #2563eb 100%);
    --button-primary-hover: #3730a3;
    --button-info-fill: linear-gradient(135deg, #4f46e5 0%, #2563eb 100%);
    --button-info-hover: #3730a3;
}

.btn.btn-primary:not(.btn-outline) {
    background: var(--button-primary-fill);
    border-color: transparent;
    color: #fff;
}

.btn.btn-info:not(.btn-outline) {
    background: var(--button-info-fill);
    border-color: transparent;
    color: #fff;
}

.btn.btn-primary:not(.btn-outline):hover,
.btn.btn-primary:not(.btn-outline):focus,
.btn.btn-primary:not(.btn-outline).focus,
.btn.btn-primary:not(.btn-outline):active,
.btn.btn-primary:not(.btn-outline).active,
.open > .btn.btn-primary:not(.btn-outline) {
    background: var(--button-primary-hover);
    border-color: transparent;
    color: #fff;
    opacity: 1;
}

.btn.btn-info:not(.btn-outline):hover,
.btn.btn-info:not(.btn-outline):focus,
.btn.btn-info:not(.btn-outline).focus,
.btn.btn-info:not(.btn-outline):active,
.btn.btn-info:not(.btn-outline).active,
.open > .btn.btn-info:not(.btn-outline) {
    background: var(--button-info-hover);
    border-color: transparent;
    color: #fff;
    opacity: 1;
}

/* Retain the Bootstrap disabled cue even when a disabled button is hovered. */
.btn.btn-primary:not(.btn-outline).disabled,
.btn.btn-primary:not(.btn-outline):disabled,
.btn.btn-primary:not(.btn-outline)[disabled],
.btn.btn-info:not(.btn-outline).disabled,
.btn.btn-info:not(.btn-outline):disabled,
.btn.btn-info:not(.btn-outline)[disabled] {
    opacity: .65;
}
