.button {
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0.75rem 1rem;
    border-width: 1px;
    border-style: solid;
    border-radius: 0.5rem;
    box-shadow: var(--shadow);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}

.button:disabled,
.button.disabled {
    opacity: 0.75;
}

.button.small {
    font-size: 0.875rem;
    padding: 0.375rem 0.5rem;
    border-radius: 0.25rem;
}

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

.button.white {
    color: var(--primary);
    background-color: var(--white);
    border-color: var(--light-primary);
}

.button.danger {
    color: var(--error);
    background-color: var(--white);
    border-color: var(--error);
}

.button:hover {
    cursor: pointer;
}

.button:disabled:hover,
.button.disabled:hover {
    cursor: not-allowed;
}

.button.primary:not(:disabled):hover {
    background-color: var(--light-primary);
    border-color: var(--light-primary);
}

.button.white:not(:disabled):hover {
    color: var(--white);
    background-color: var(--light-primary);
    border-color: var(--light-primary);
}

.button.danger:not(:disabled):hover {
    color: var(--white);
    background-color: var(--error);
    border-color: var(--error);
}
