/*
 * Insezo Buttons
 * --------------------------------------------------
 */

/* Bootstrap style override */
.btn {
    --bs-btn-padding-x: 0.75rem;
    --bs-btn-padding-y: 0.375rem;
    --bs-btn-font-family: ;
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 600;
    --bs-btn-line-height: 1.5;
    --bs-btn-color: var(--color-text-dark);
    --bs-btn-bg: transparent;
    --bs-btn-border-width: 1px;
    --bs-btn-border-color: transparent;
    --bs-btn-border-radius: 0.25rem;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    --bs-btn-disabled-opacity: 0.65;
    --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), 0.5);

    min-width: 3rem;
    column-gap: 0.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn:hover:not(.btn-text, .btn-insezo-text) {
    box-shadow: var(--bs-btn-box-shadow);
}

.btn > .material-symbols-outlined {
    font-size: 2em;
}

[class*="btn-icon-"],
.btn-icon {
    --bs-btn-padding-x: 0.375rem !important;
    --bs-btn-padding-y: 0.375rem !important;
}

.btn-icon-31 {
    width: 31px !important;
    min-width: 31px !important;
    height: 31px !important;
    min-height: 31px !important;
}

/* Insezo Icon Buttons */
[class*="btn-i"] {
    /* TODO: fix in Styleguide revamp */
    display: flex;
    align-items: center !important;
    height: 3rem;
}

/* Primary Insezo Button */
.btn-primary {
    --bs-btn-box-shadow: 0 1px 2px 0 rgb(43 148 243 / 45%), 0 1px 3px 1px rgb(43 148 243 / 30%); /* main background-color */

    --bs-btn-color: #ffffff;
    --bs-btn-bg: var(--color-primary);
    --bs-btn-border-color: var(--color-primary);

    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #0f86f1; /* TODO 10% darkened */
    --bs-btn-hover-border-color: #0f86f1; /* TODO 10% darkened */

    --bs-btn-focus-shadow-rgb: var(--color-primary-rgb);

    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #0c77d8; /* TODO 15% darkened */
    --bs-btn-active-border-color: #0c77d8; /* TODO 15% darkened */

    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: var(--color-primary);
    --bs-btn-disabled-border-color: var(--color-primary);
}

.hover\:btn-primary:hover {
    --bs-btn-hover-color: #ffffff !important;
    --bs-btn-hover-bg: #0f86f1 !important; /* lightened main background-color by 5% */
    --bs-btn-hover-border-color: #0f86f1 !important; /* lightened main background-color by 5% */
    box-shadow:
        0 1px 2px 0 rgb(43 148 243 / 45%),
        0 1px 3px 1px rgb(43 148 243 / 30%) !important; /* main background-color */
}

/* Secondary Insezo Button */
.btn-secondary {
    --bs-btn-box-shadow: 0 1px 2px 0 rgb(191 215 232 / 45%), 0 1px 3px 1px rgb(191 215 232 / 30%); /* TODO: fix */

    --bs-btn-color: var(--color-dark);
    --bs-btn-bg: var(--color-secondary);
    --bs-btn-border-color: var(--color-secondary);

    --bs-btn-hover-color: var(--color-dark);
    --bs-btn-hover-bg: #d0e2ee; /* TODO 10% darkened */
    --bs-btn-hover-border-color: #d0e2ee; /* TODO 10% darkened */

    --bs-btn-focus-shadow-rgb: var(--color-secondary-rgb);

    --bs-btn-active-color: var(--color-dark);
    --bs-btn-active-bg: #d0e2ee; /* TODO 15% darkened */
    --bs-btn-active-border-color: #d0e2ee; /* TODO 15% darkened */

    --bs-btn-disabled-color: var(--color-dark);
    --bs-btn-disabled-bg: var(--color-secondary);
    --bs-btn-disabled-border-color: var(--color-secondary);
}

.btn-secondary:hover {
    color: var(--color-dark);
    background-color: #d0e2ee; /* darkened main background-color by 5% */
    border-color: #d0e2ee; /* darkened main background-color by 5% */
    box-shadow:
        0 1px 2px 0 rgb(191 215 232 / 45%),
        0 1px 3px 1px rgb(191 215 232 / 30%); /* darkened hover background-color by 5% */
}

.hover\:btn-secondary:hover {
    color: var(--color-dark) !important;
    background-color: #d0e2ee !important; /* darkened main background-color by 5% */
    border-color: #d0e2ee !important; /* darkened main background-color by 5% */
    box-shadow:
        0 1px 2px 0 rgb(191 215 232 / 45%),
        0 1px 3px 1px rgb(191 215 232 / 30%) !important; /* darkened hover background-color by 5% */
}

/* Tertiary Insezo Button */
.btn-tertiary {
    color: #ffffff;
    background-color: var(--color-tertiary);
    border-color: var(--color-tertiary);
}

.btn-tertiary:hover {
    color: #ffffff;
    background-color: #9ba3a9; /* darkened main background-color by 5% */
    border-color: #9ba3a9; /* darkened main background-color by 5% */
    box-shadow:
        0 1px 2px 0 rgb(155 163 169 / 45%),
        0 1px 3px 1px rgb(155 163 169 / 30%); /* darkened hover background-color by 5% */
}

.hover\:btn-tertiary:hover {
    color: #ffffff !important;
    background-color: #9ba3a9 !important; /* darkened main background-color by 5% */
    border-color: #9ba3a9 !important; /* darkened main background-color by 5% */
    box-shadow:
        0 1px 2px 0 rgb(155 163 169 / 45%),
        0 1px 3px 1px rgb(155 163 169 / 30%) !important; /* darkened hover background-color by 5% */
}

/* Success Insezo Button */
.btn-success {
    color: #ffffff;
    background-color: var(--color-success);
    border-color: var(--color-success);
}

.btn-success:hover {
    color: #ffffff;
    background-color: #06b779; /* darkened main background-color by 5% */
    border-color: #06b779; /* darkened main background-color by 5% */
    box-shadow:
        0 1px 2px 0 rgb(5 173 114 / 45%),
        0 1px 3px 1px rgb(5 173 114 / 30%); /* darkened hover background-color by 5% */
}

.hover\:btn-success:hover {
    color: #ffffff !important;
    background-color: #06b779 !important; /* darkened main background-color by 5% */
    border-color: #06b779 !important; /* darkened main background-color by 5% */
    box-shadow:
        0 1px 2px 0 rgb(5 173 114 / 45%),
        0 1px 3px 1px rgb(5 173 114 / 30%) !important; /* darkened hover background-color by 5% */
}

/* Danger Insezo Button */
.btn-danger {
    color: #ffffff;
    background-color: var(--color-danger);
    border-color: var(--color-danger);
}

.btn-danger:hover {
    color: #ffffff;
    background-color: #ec4657; /* darkened main background-color by 5% */
    border-color: #ec4657; /* darkened main background-color by 5% */
    box-shadow:
        0 1px 2px 0 rgb(234 56 74 / 45%),
        0 1px 3px 1px rgb(195 42 34 / 30%); /* darkened hover background-color by 5% */
}

.hover\:btn-danger:hover {
    color: #ffffff !important;
    background-color: #ec4657 !important; /* darkened main background-color by 5% */
    border-color: #ec4657 !important; /* darkened main background-color by 5% */
    box-shadow:
        0 1px 2px 0 rgb(234 56 74 / 45%),
        0 1px 3px 1px rgb(195 42 34 / 30%) !important; /* darkened hover background-color by 5% */
}

/* Warning Insezo Button */
.btn-warning {
    color: #ffffff;
    background-color: var(--color-warning);
    border-color: var(--color-warning);
}

.btn-warning:hover {
    color: #ffffff;
    background-color: #f29c00; /* darkened main background-color by 5% */
    border-color: #f29c00; /* darkened main background-color by 5% */
    box-shadow:
        0 1px 2px 0 rgb(var(--color-warning-rgb) / 45%),
        0 1px 3px 1px rgb(var(--color-warning-rgb) / 30%); /* darkened hover background-color by 5% */
}

.hover\:btn-warning:hover {
    color: #ffffff !important;
    background-color: #f29c00 !important; /* darkened main background-color by 5% */
    border-color: #f29c00 !important; /* darkened main background-color by 5% */
    box-shadow:
        0 1px 2px 0 rgb(var(--color-warning-rgb) / 45%),
        0 1px 3px 1px rgb(var(--color-warning-rgb) / 30%) !important; /* darkened hover background-color by 5% */
}

/* Dark Insezo Button */
.btn-dark {
    color: #ffffff;
    background-color: var(--color-dark);
    border-color: var(--color-dark);
}

.btn-dark:hover {
    color: #ffffff;
    background-color: #495582; /* lightened main background-color by 5% */
    border-color: #495582; /* lightened main background-color by 5% */
    box-shadow:
        0 1px 2px 0 rgb(var(--color-dark-rgb) / 45%),
        0 1px 3px 1px rgb(var(--color-dark-rgb) / 30%); /* main background-color */
}

.hover\:btn-dark:hover {
    color: #ffffff !important;
    background-color: #495582 !important; /* lightened main background-color by 5% */
    border-color: #495582 !important; /* lightened main background-color by 5% */
    box-shadow:
        0 1px 2px 0 rgb(var(--color-dark-rgb) / 45%),
        0 1px 3px 1px rgb(var(--color-dark-rgb) / 30%) !important; /* main background-color */
}

/* Dark Insezo Button */
.btn-violet {
    color: #ffffff;
    background-color: var(--color-violet);
    border-color: var(--color-violet);
}

.btn-violet:hover {
    color: #ffffff;
    background-color: #9502f7; /* lightened main background-color by 10% */
    border-color: #9502f7; /* lightened main background-color by 10% */
    box-shadow:
        0 1px 2px 0 rgb(var(--color-violet-rgb) / 45%),
        0 1px 3px 1px rgb(var(--color-violet-rgb) / 30%); /* main background-color */
}

.hover\:btn-violet:hover {
    color: #ffffff !important;
    background-color: #9502f7 !important; /* lightened main background-color by 5% */
    border-color: #9502f7 !important; /* lightened main background-color by 5% */
    box-shadow:
        0 1px 2px 0 rgb(var(--color-violet-rgb) / 45%),
        0 1px 3px 1px rgb(var(--color-violet-rgb) / 30%) !important; /* main background-color */
}

/* Text Insezo Button */
.btn-text[class*="hover:btn-"]:not(:hover) {
    background: none;
    border: 1px solid transparent;
    font-weight: normal !important;
}

.btn-text:not([class*="hover:btn-"]) {
    padding: 0;
    background: none;
    border: none;
    height: auto !important;
}

/*
 * Insezo Outlined Buttons
 * --------------------------------------------------
 */

/* Tertiary Insezo Button */
.btn-outlined-tertiary {
    color: var(--color-tertiary);
    border-color: var(--color-tertiary);
}

.btn-outlined-tertiary:hover {
    color: #ffffff;
    background-color: var(--color-tertiary);
    border-color: var(--color-tertiary);
    box-shadow:
        0 1px 2px 0 rgb(155 163 169 / 45%),
        0 1px 3px 1px rgb(155 163 169 / 30%); /* darkened hover background-color by 5% */
}

.hover\:btn-outlined-tertiary:hover {
    color: #ffffff !important;
    background-color: var(--color-tertiary) !important;
    border-color: var(--color-tertiary) !important;
    box-shadow:
        0 1px 2px 0 rgb(155 163 169 / 45%),
        0 1px 3px 1px rgb(155 163 169 / 30%) !important; /* darkened hover background-color by 5% */
}

/*
 * Insezo Social Buttons
 * --------------------------------------------------
 */
.social-logo {
    width: 20px;
    height: 20px;
    display: inline-block;
}

.social-logo-wrapper {
    margin-right: 0.75rem;
}

/*
 * Insezo Button Input Radio/Checkbox
 * --------------------------------------------------
 */
.btn-check + .btn-secondary {
    height: 32px;
}

.btn-check:active + .btn-secondary,
.btn-check:checked + .btn-secondary,
.btn-secondary.active,
.btn-secondary:active {
    color: #ffffff;
    background-color: var(--color-dark);
    box-shadow:
        0 1px 2px 0 rgb(68 79 120 / 45%),
        0 1px 3px 1px rgb(68 79 120 / 30%); /* main background-color */
}

.form-check-input {
    --form-switch-color: var(--color-insezo-primary);
    --form-switch-bg-color: var(--color-insezo-primary);

    --form-switch-active-color: var(--color-insezo-primary);
    --form-switch-active-bg-color: var(--color-insezo-primary);

    --form-switch-inactive-color: var(--color-insezo-tertiary);
    --form-switch-inactive-bg-color: var(--color-insezo-tertiary);

    --form-switch-disabled-color: var(--color-insezo-tertiary);
    --form-switch-disabled-bg-color: var(--color-insezo-tertiary);

    .form-check-input:focus {
        --form-switch-box-shadow: var(--color-insezo-primary);
    }

    .form-check-input.switch-input-green-red {
        --form-switch-active-color: var(--color-insezo-success);
        --form-switch-active-bg-color: var(--color-insezo-success);

        --form-switch-inactive-color: var(--color-insezo-danger);
        --form-switch-inactive-bg-color: var(--color-insezo-danger);
    }
}

/* send to sas-main in new style close to form-check-input
--insezo-switch-active

.form-switch-primary
 */
