.cart_has_item .cart_summary {
    margin: 20px 0;
}
.cart_has_item .cart_summary dl {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: end;
    grid-gap: 0 60px;
    margin: 0;
}

.cart_has_item .cart_summary dt{
    font-weight: var(--font-weight-bold);
}
.cart_has_item .cart_summary dd{
    margin: 0;
}
.cart_has_item .cart_summary dl dt[data-code="discount_details"] {
    display: none;
}
.cart_has_item .cart_summary dl dt[data-code="discount_amount"] + dd::before {
    content: "-";
}
.cart_has_item .cart_summary dl dt[data-code="discount_details"] + dd {
    grid-column: 1 / 3;
    font-size: 0.7em;
    line-height: 1.3;
    padding: 0 20px;
}
.cart_has_item .cart_summary dl dt[data-code="estimate_total"] + dd {
    font-weight: var(--font-weight-bold);
    margin-top: 10px;
    border-top: solid 1px;
}

.cart_has_item .checkout_button_container {
    display: grid;
    justify-content: end;
    gap: 10px;
    text-align: right;
}

section.cart_has_item, section.empty_cart {
    margin: 40px 0;
}

section.cart_has_item h1, section.empty_cart h1 {
    text-align: center;
    margin-bottom: 40px;
}

#cart_items {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
}

#cart_items > *:not(:last-child) {
    margin-bottom: 20px;
}

#cart_items .cart_item {
    padding: 20px;
    box-sizing: border-box;
    border-radius: 20px;
    border: solid 1px var(--color-mono-3);
    display: grid;
    grid-template-columns: auto 5fr 1fr auto 1fr;
    grid-gap: 20px;
    align-items: end;
    transition: 500ms;
    overflow-y: hidden;
}

#cart_items .cart_item a {
    text-decoration: none;
}

#cart_items .cart_item .actions a {
    display: contents;
}

#cart_items .cart_item .image {
    max-width: 120px;
    max-height: 120px;
}

#cart_items .cart_item .attributes {
    font-size: var(--font-size-2);
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

#cart_items .cart_item .attributes dt{
    display: none;
}

#cart_items .cart_item .attributes dd{
    margin: 0;
}
#cart_items .cart_item .attributes dd:not(:first-of-type)::before{
    content: "/";
    margin-right: 5px;
}

#cart_items .cart_item .actions {
    grid-column: 3 / 6;
    grid-row: 1;
    justify-self: end;
    align-self: start;
    display: grid;
    grid-auto-flow: column;
    grid-gap: 20px;
}

#cart_items .cart_item .image_container, #cart_items .cart_item .info {
    grid-row: 1 / 3;
    align-self: start;
}

#cart_items .cart_item .qty_container {
    display: flex;
    align-items: flex-end;
}

#cart_items .cart_item .qty_container .label {
    font-size: var(--font-size-2);
    margin-left: 5px;
}

#cart_items .cart_item .row_total_container, #cart_items .cart_item .price_container {
    justify-self: end;
    text-align: right;
    font-weight: var(--font-weight-bold);
}

#cart_items .cart_item .actions button {
    appearance: none;
    background: none;
    color: var(--color-mono-8);
    padding: 0;
}

#cart_items .cart_item .actions button.btn_fav.added {
    color: var(--color-selecting);
}

#cart_items .cart_item .message {
    font-size: var(--font-size-1);
}

#cart_items .cart_item .message.error {
    color: var(--color-error);
}

#cart_items .price{
    display: flex;
    gap: 0 5px;
    flex-wrap: wrap;
    align-items: end;
    justify-content: flex-end;
}
#cart_items .price > * {
    align-self: baseline;
}
#cart_items .price .original_price {
    font-size: 0.5em;
    text-decoration: line-through;
    line-height: 1;
}
#cart_items .price .special_price {
    color: var(--color-error);
}
section.cart_has_item .related_products_header {
    text-align: center;
}
section.cart_has_item .related_products_header h2 {
    margin-bottom: 0;
}


body[data-elementor-device-mode="mobile"] #cart_items .cart_item {
    grid-template-columns: auto auto auto;
    padding: 0;
    padding-bottom: 20px;
    border: 0;
    border-bottom: solid 1px var(--color-mono-3);
    grid-gap: 10px;
    border-radius: unset;
}

body[data-elementor-device-mode="mobile"] #cart_items .cart_item > *{
    grid-row: unset;
    grid-column: unset;
}
body[data-elementor-device-mode="mobile"] #cart_items .cart_item > .info{
    grid-column: 2 / 4;
}
body[data-elementor-device-mode="mobile"] #cart_items .cart_item > .actions{
    grid-column: 3;
}
body[data-elementor-device-mode="mobile"] #cart_items .cart_item .attributes{
    gap: 0 5px;
}


body[data-elementor-device-mode="mobile"].cart_has_item .cart_summary {
    justify-content: space-between;
}

body[data-elementor-device-mode="mobile"].cart_has_item .checkout_button_container {
    text-align: center;
}

body[data-elementor-device-mode="mobile"].cart_has_item .checkout_button_container button {
    width: 100%;
}

