.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--button-color);
    color: var(--button-text-color);
    padding: var(--button-padding);
    border-radius: var(--button-radius);
    font: inherit;
    cursor: pointer;
    font-weight: bold;
    transition: transform 0.2s, opacity 0.2s, background-color 0.2s, box-shadow 0.2s;
    text-decoration: none;
    border: none;
    box-shadow: inset 0 0 0 var(--button-border-width) var(--primary-color);
}

.button:hover {
    opacity: 0.92;
    transform: translateY(-1px);
}

.button:active {
    transform: translateY(0);
}

.button:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 3px;
}