:root {
    --margin: 2rem;
    --padding: 1rem;
    --font-size: 1.5rem;
    --icon-size: 8rem;
}

@media only screen and (max-width: 1024px) {
    :root {
        --margin: 5rem;
        --padding: 2.5rem;
        --font-size: 3.75rem;
        --icon-size: 20rem;
    }
}

main {
    width: 100%;
}

main,
.result,
.product-details {
    display: flex;
    flex-direction: column;
    align-items: center;
}

form {
    margin-top: var(--margin);
    margin-bottom: var(--margin);
    display: flex;
    flex-direction: column;
}

input[type=number] {
    -moz-appearance: textfield; /* Firefox spinner*/
    padding: var(--padding);
    font-size: var(--font-size);
}

/* Chrome, Safari, Edge, Opera spinner*/
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: var(--padding);
    border: none;
    margin-top: calc(1.25 * var(--margin));
    background-color: #1665c7;
    color: #fff;
    font-size: var(--margin);
}

input[type=submit]:active {
    background-color: #104a92;
}

.icon {
    width: var(--icon-size);
}

.result p,
.product-details span {
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: var(--font-size);
}
.product-details span:first-of-type {
    font-weight: 600;
}