.tb-button {
    display: block;
    padding: 0.75rem 2rem;
    text-align: center;
    font-size: 1rem;
    font-weight: bold;
    background-color: #4357ce;
    color: #fff;
    border-radius: 5px;
    border: 1px solid white;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.75);
    filter: grayscale(0);
    transition: filter 0.3s, transform 0.3s ease;
    cursor: pointer;
    text-decoration: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;

    &.danger {
        background-image: radial-gradient(#780000, #a50000);
    }

    &:hover {
        transform: scale(1.05);
        color: white;
    }

    &:disabled {
        cursor: not-allowed;
        filter: grayscale(0.8);
    }

    &.small {
        padding: 0.3rem 1rem;
        font-size: 1rem;
        line-height: 20px;
        font-weight: 500;
    }

    &:focus-visible {
        outline: none;
        transform: scale(1.05);
        box-shadow: 0 0 5px #35bdfc;

        &.danger {
            box-shadow: 0 0 5px #e10c1f;
        }

        &:disabled {
            box-shadow: 0 0 5px slategrey;
        }
    }

    &.secondary {
        background-image: linear-gradient(-90deg, #6d9ac1 0%, #ffffff 98%);
        color: black;
    }

    &.medium {
        padding: 0.5rem 1.2rem;
    }

    &.outline {
        text-decoration: none;
        line-height: 1.1;
        background-color: transparent;
        background-image: none;
        border-top-style: solid;
        border-right-style: solid;
        border-bottom-style: solid;
        border-left-style: solid;
        border-top-width: 1px;
        border-right-width: 1px;
        border-bottom-width: 1px;
        border-left-width: 1px;
        border-top-color: #35bdfc;
        border-right-color: #35bdfc;
        border-bottom-color: #35bdfc;
        border-left-color: #35bdfc;
        color: #35bdfc;

        &:hover {
            background-color: #35bdfc;
        }
    }
}

.tb-button-group{
    justify-content: space-between;
    gap: 0.5rem;
    overflow: visible;
    margin-top: 2rem;
}

.tb-button .arrow, 
.tb-button .go {
    display: none;
}

@media (max-width: 767px) {
    .tb-button .text {
        display: none;
    }
    .tb-button .arrow,
    .tb-button .go  {
        display: inline;
    }

    .tb-button-group{
        margin-top: 2rem;
    }
}

@media (max-width: 425px) {
    .tb-button-responsive{
        padding: 0.5rem 1rem;
    }
}