.btn {
    border: none;
    cursor: pointer;
    font: inherit;
    padding: 1rem;
    margin: 0;
    background-color: var(--color-primary);
    color: var(--color-on-primary);
    border-radius: 0.5rem;
    box-shadow: 0 1px 0.5rem 0 rgba(0, 0, 102, 0.5);
    transition: transform 100ms ease;
}

.btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn:not(:disabled):hover:not(:active) {
    transform: translateY(-2px);
}

@media (max-width: 1100px), (hover: none) and (pointer: coarse) {
    .btn {
        min-height: 2.75rem;
        padding: 0.8rem 1rem;
        touch-action: manipulation;
    }
}
