﻿.cart-items
{
    position: relative;
}
.cart-items th
{
    padding-bottom: 1rem;
    text-align: left;
    vertical-align: top;
    margin: 0;
}
.cart-items td
{
    padding: 1.5rem 0;
    vertical-align: top;
    margin: 0;
}
.cart-items dl
{
    margin: 0;
}
.cart-items .right
{
    text-align: right;
}
@media(max-width: 819px)
{
    .cart-items
    {
        display: block;
        width: 100%;
    }
    .cart-items thead, .cart-items tbody
    {
        display: block;
        width: 100%;
    }
    .cart-items thead tr
    {
        display: flex;
        justify-content: space-between;
        border-bottom: 1px solid var(--color-border);
    }
    .cart-items tr
    {
        border-bottom: 1px solid var(--color-border);
    }
    .cart-items td.cart-item-quantity
    {
        padding-top: 0;
        grid-column: 2/5;
    }
}
@media(min-width: 820px)
{
    .cart-items
    {
        border-spacing: 0;
        border-collapse: separate;
        box-shadow: none;
        width: 100%;
        display: table;
    }
    .cart-items+.cart-footer
    {
        grid-column: 2;
    }
    .cart-items th
    {
        border-bottom: 1px solid var(--color-border);
    }
    .cart-items th:first-child
    {
        width: 50%;
    }
    .cart-items th+th
    {
        padding-left: 4rem;
    }
    .cart-items td
    {
        padding: 1.5rem 0;
        border-bottom: 1px solid var(--color-border);
    }
}
@media(min-width: 1050px)
{
    .cart-items .cart-items-heading-wide, .cart-items .cart-item-quantity
    {
        padding-left: 4rem;
    }
    .cart-items thead th:first-child
    {
        width: 60%;
    }
}
.cart-items-disabled
{
    pointer-events: none;
}
.cart-item .loading-overlay
{
    top: 0;
    left: auto;
    right: auto;
    bottom: 0;
    padding: 0;
}
.cart-item .loading-overlay:not(.hidden)~*
{
    visibility: hidden;
}
.cart-item cart-remove-button
{
    display: flex;
}
.cart-item cart-remove-button .button
{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    padding: 0;
}
.cart-item cart-remove-button .button .icon-remove
{
    width: 1.5rem;
    height: 1.5rem;
}
@media(max-width: 819px)
{
    .cart-item
    {
        display: grid;
        grid-template: repeat(2,auto)/repeat(4,1fr);
        column-gap: 1rem;
        border-bottom: 1px solid var(--color-primary-500);
    }
    .cart-item:last-child
    {
        margin-bottom: 0;
    }
}
@media(min-width: 820px)
{
    .cart-item
    {
        display: table-row;
    }
    .cart-item>td+td
    {
        padding-left: 4rem;
    }
    .cart-item .loading-overlay
    {
        top: 2rem;
        right: 0;
        padding-top: 2.5rem;
        bottom: auto;
    }
}
.cart-item-media
{
    position: relative;
    width: 200px;
}
@media(max-width: 819px)
{
    .cart-item-media
    {
        grid-row: 1/3;
        width: auto;
    }
}
.cart-item-link
{
    display: block;
}
.cart-item-details
{
    width: 35rem;
}
@media(max-width: 819px)
{
    .cart-item-details
    {
        grid-column: 2/4;
        width: auto;
    }
}
@media(min-width: 1050px)
{
    .cart-item-details
    {
        width: 50rem;
    }
}
.cart-item-name
{
    display: block;
    width: fit-content;
    text-decoration: none;
    color: var(--text-primary);
    margin-bottom: .5rem;
}
.cart-item-name:hover
{
    text-decoration: underline;
}
.cart-item-quantity-wrapper
{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}
@media screen and (min-width: 1050px)
{
    .cart-item-quantity-wrapper
    {
        flex-wrap: nowrap;
        gap: 1rem;
    }
}
@media(max-width: 819px)
{
    .cart-item-quantity-wrapper .cart-item-quantity
    {
        grid-column: 2/5;
    }
}
.cart-item-quantity-wrapper .quantity-rules
{
    margin-top: 0;
    text-align: center;
}
.product-option
{
    margin-bottom: .5rem;
}
.product-option *
{
    display: inline;
    margin: 0;
}
.product-option dt
{
    font-weight: var(--font-weight-bold);
}
.product-option dd
{
    margin-right: .5rem;
}
.product-option+.product-option
{
    margin-top: .5rem;
}
.cart-item-price-wrapper>*
{
    display: block;
    margin: 0;
    padding: 0;
}
.cart-item-discounted-prices
{
    margin-bottom: .5rem;
}
.cart-item-discounted-prices dd
{
    margin: 0;
}
.cart-item-old-price
{
    color: var(--color-neutral-500);
    margin: 0 .25rem 0 0;
    text-decoration: line-through;
}
.cart-item-final-price
{
    font-weight: var(--font-weight-bold);
    color: var(--color-primary-600);
}
.cart-item-totals
{
    position: relative;
}
@media(max-width: 819px)
{
    .cart-item-totals
    {
        display: flex;
        align-items: flex-start;
        justify-content: flex-end;
    }
}
.cart-item-error
{
    display: flex;
    align-items: flex-start;
    margin-top: .25rem;
    width: min-content;
    min-width: 100%;
}
.cart-item-error .cart-item-error-text
{
    order: 1;
    line-height: var(--line-height-base);
    color: var(--color-error);
    margin-top: 1rem;
}
.cart-item-error .cart-item-error-text+svg
{
    flex-shrink: 0;
    width: 1rem;
    margin-right: .5rem;
    color: var(--color-error);
    margin-top: 1.125rem;
}
.cart-item-error .cart-item-error-text:empty+svg
{
    display: none;
}