body.keypad-open .footer {
  transform: translateY(
    calc(-1 * (var(--keypad-height, -5px) - var(--footer-lift-adjust, -2px)))
  );
  transition: transform 0.2s ease;
}

body.keypad-open main {
  padding-bottom: calc(var(--keypad-height, 0px) + 0px);
}
.keypad {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2000;
    transition: transform .3s ease;
}
.keypad.hidden {
    display: none;
}
.keypad .keys {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));;
    gap: 6px;
    padding: 10px;
}

.keypad .keys > .button {
    position: relative;
    padding: 0;
    outline: none;
    border-radius: 15px;
    transition: 0.13s ease-in-out;
    cursor: pointer;
}

.keypad .keys > .button:active {
    box-shadow: none;
}

.keypad .keys > .button:active .button__content {
    box-shadow: none;
}

.keypad .keys > .button:active .button__text,
.keypad .keys > .button:active .button__icon {
    transform: translate3d(0, 0, 0);
}

.button__content {
    position: relative;
    display: grid;
    padding: 4px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    border-radius: 13px;
    transition: 0.13s ease-in-out;
    z-index: 1;
}

.button__text {
    position: relative;
    margin: 0;
    grid-column: 1 / 5;
    grid-row: 2;
    align-self: end;
    transform: translate3d(0, -4px, 0);
    color: transparent;
    font-family: "Barlow", sans-serif;
    font-size: 20px;
    font-weight: 900;
    text-align: center;
    -webkit-background-clip: text;
    background-clip: text;
    transition: 0.13s ease-in-out;
}

.button__content > .delete {
    font-size: 18px;
}