.btn {
    border-radius: 0.85rem;
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease,
        background-color 0.18s ease,
        color 0.18s ease;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

.btn:hover,
.btn:focus {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.1);
}

.btn:focus,
.btn.focus {
    outline: none;
    box-shadow:
        0 0 0 0.2rem rgba(78, 115, 223, 0.12),
        0 12px 24px rgba(15, 23, 42, 0.1);
}

.btn-sm,
.btn-group-sm > .btn {
    border-radius: 0.78rem;
}

.btn-primary,
.btn-success,
.btn-info,
.btn-danger,
.btn-warning,
.btn-secondary {
    border-color: transparent;
}

.btn-light,
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-info,
.btn-outline-danger,
.btn-outline-warning {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(4px);
}

.btn-outline-primary {
    border-color: rgba(13, 110, 253, 0.28);
}

.btn-outline-secondary {
    border-color: rgba(108, 117, 125, 0.28);
}

.btn-outline-success {
    border-color: rgba(25, 135, 84, 0.28);
}

.btn-outline-info {
    border-color: rgba(13, 202, 240, 0.28);
}

.btn-outline-danger {
    border-color: rgba(220, 53, 69, 0.28);
}

.btn-outline-warning {
    border-color: rgba(255, 193, 7, 0.3);
}

.btn-light {
    border-color: rgba(148, 163, 184, 0.22);
    color: #52606d;
}

.btn-light:hover,
.btn-light:focus {
    color: #243b53;
    border-color: rgba(148, 163, 184, 0.34);
    background: #ffffff;
}

.input-group > .btn,
.input-group-append > .btn {
    position: relative;
    z-index: 2;
}
