.button {
    display: inline-block;
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
    padding: 10px 16px;
    border-radius: 6px;
    font: 700 16px / 1.2 "Jost";
    color: white;
    cursor: pointer;
    text-decoration: none;
}

.button--secondary {
    background-color: var(--color-secondary);
    color: var(--color-secondary-foreground);
    border-color: var(--color-secondary);
}

.button--outline {
    background-color: transparent;
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
}

.button--white {
    background-color: white;
    border-color: var(--color-primary);
    color: var(--color-primary);
    box-shadow: var(--shadow-default);
}

.button--accent {
    background-color: var(--color-lavender);
}

.button--shadow {
    box-shadow: var(--shadow-default);
}

.button--disabled {
    background-color: var(--color-smoke);
    border-color: var(--color-smoke);
    color: var(--color-ice);
}

/* button size styling */
.button--full {
    width: 100%;
    text-align: center;
}

.button--half {
    width: 50%;
}

.button--small {
    padding: 5px 13px;
    font: 700 14px/20px "Jost";
}

.button--very-small {
    padding: 2px 10px;
    font: 700 13px/18px "Jost";
}

.button--icon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 10px;
    flex-shrink: 0; /* Prevents button from being squashed  */

    > img {
        height: 20px;
        display: block;
    }
}

.button--logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;

    > img {
        height: 20px;
        display: block;
    }
}

.button--notif {
    position: relative;

    /* Notification badge, displayed when data-notif attribute is present */
    &[data-notif]:not([data-notif="0"], [data-notif=""])::after {
        content: attr(data-notif);
        position: absolute;
        top: -5px;
        right: -5px;
        min-height: 21px;
        min-width: 21px;
        background-color: var(--color-lavender);
        color: white;
        font: 700 14px/1.2 "Jost";
        padding: 2px 6px;
        border-radius: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

.button-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
}

.back-button {
    font: 500 15px/1.2 'Jost';

    display: flex;
    align-items: center;
    gap: 4px;
    text-decoration: none;
    cursor: pointer;
    color: var(--color-primary);

    &::before {
        content: "";
        display: block;
        width: 9px;
        height: 5px;
        transform: rotate(90deg);
        background-image: url("/static/img/icons/chevron-down-green.c2cf5e095922.svg");
        background-size: cover;
        background-repeat: no-repeat;
    }
}
