:root
{
    --product-item-border-color: var(--product-thumbnail-border-color, var(--default-border-color));
    --product-item-border-color-active: var(--product-thumbnail-border-color-hover, var(--default-border-color-active));
    --product-item-title-color: var(--product-thumbnail-title-color, var(--text-default-color));
    --product-item-description-color: var(--product-thumbnail-text-color, var(--text-default-color));
    --product-item-price-color: var(--product-thumbnail-price-color, var(--text-default-color));
}

.product-item
{
    display: flex;
    justify-content: space-between;
    flex-flow: column nowrap;
    border: 1px solid var(--product-item-border-color);
    border-radius: var(--default-border-radius);
    background-color: var(--default-background-color);
    padding: var(--default-space-between);
    color: inherit;
    transition: all 0.15s ease-in-out;
}
.product-item:focus
{
    border-color: var(--product-item-border-color-active);
    color: inherit;
}
@media (hover: hover) and (pointer: fine)
{
    .product-item:hover
    {
        border-color: var(--product-item-border-color-active);
        color: inherit;
    }   
}
.product-item-body
{
    display: flex;
    flex: 1;
    flex-flow: column nowrap;
    justify-content: space-between;
}
.product-item-title
{
    font-weight: 600;
    color: var(--product-item-title-color);
    white-space: pre-wrap;
    overflow-wrap: break-word;
    word-break: break-word;
}
.product-item-description
{
    padding-top: 6px;
    margin-top: auto;
    font-weight: 300;
    color: var(--product-item-description-color);
}
.product-item-offer
{
    padding-top: 14px;
    margin-top: auto;
}
.product-item-price
{
    font-weight: 600;
    font-size: 20px;
    color: var(--product-item-price-color);
}
.product-item-measurement
{
    font-weight: 300;
    font-size: 12px;
    margin-left: 2px;
    color: var(--text-muted-color);
}
.product-item-image
{
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}
.product-item-image img
{
    max-width: 100%;
    max-height: 15vh;
    object-fit: contain;
}
.product-item-image-placeholder
{
    color: #f8f8f8;
    font-size: 48px;
}

@media (max-width:575.98px) /* extra small */
{
    .product-item-description
    {
        font-weight: inherit;
    }
}
