.product {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-self: center;
    text-align: center;
    max-width: 320px;
}

@media only screen and (min-width: 700px) {
    .product {
        max-width: none;
    }
}

.product-bottom {
    flex-grow: .5;
}

.product-timelimit {
    color: var(--accent-color);
    margin-bottom: var(--unit);
    min-height: calc(var(--unit) * 2);
}

.product-timelimit:empty {
    display: none;
}

picture {
    overflow: hidden;
    line-height: 0;
}

.product picture {
    position: relative;
}

.product .product-state {
    top: 0;
    margin-bottom: 0;
    line-height: 125%;
}

.product img {
    width: 100%;
    scale: 100%;
    transition: scale .75s var(--easier);
}

@media (hover) {
    .product:not(.product-unavailable):hover img {
        scale: 105%;
        transition: scale .5s var(--easier);
    }

    .product-button:hover {
        background-color: var(--text-color);
        color: var(--background-color);
    }
}

.product-title {
    font-size: calc(var(--fontsize) + 2px);
    font-weight: 400;
    margin-top: var(--unit);
}

.product-price {
    opacity: .5;
}