/* ============ Global ============ */
.checkout-cart-index #maincontent {
    padding: 0;
    margin-bottom: 100px;
}
#maincontent .columns,
.page-title-wrapper,
.breadcrumbs .items {
    width: 80%;
    margin: 0 auto;
}
.page-title-wrapper {
    margin-bottom: 40px;
}
/* ============ Crossel ============ */
.block.crosssell {
    padding: 0;
    float: none;
    position: relative;
    width:100%;
}   
.block.crosssell .block-title {
    width: 90%;
    max-width: 1366px;
    margin: 0 auto;
}
.block.crosssell .slider-container {
    margin: 0 auto;
    width: 90%;
    max-width: 1366px;
}
.block.crosssell .slider-container .product-slider{
    display: flex;
}
.product-items {
    letter-spacing: normal;
}
/* ============ Items (Products) ============ */
#form-validate.form-cart {
    padding-right: 30px;
    width: 70%;
}
#shopping-cart-table thead .col{
    padding: 0 0 20px 0;
    border-bottom-color: var(--secondary-light-gray);
}
#shopping-cart-table thead .col span {
    font-size: 14px;
    color: var(--secondary-dark);
    font-weight: normal;
    line-height: 18px;
}
.cart.table-wrapper .cart > .item {
    border-bottom-color: var(--secondary-light-gray);
}
.cart.table-wrapper .item .col.item {
    padding: 30px 0;
}
.cart.table-wrapper .product-item-details {
    padding: 0;
    vertical-align: middle;
}
#shopping-cart-table tbody tr td {
    vertical-align: middle;
}
.cart.table-wrapper .col.qty, .cart.table-wrapper .col.subtotal{
    text-align: center;
}
.cart.table-wrapper .col.qty .input-text {
    margin-top: 0;
    border: none;
    background: transparent;
    height: 100%;
    color: var(--secondary-dark);
    font-size: 16px;
    line-height: 26px;
    font-weight: bold;
}
#shopping-cart-table .col.qty .control.custom-qty {
    width: 120px;
    border: 1px solid var(--secondary-light-gray);
    height: 36px;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
}
.ajax-cart-qty-minus:before,
.ajax-cart-qty-plus:before {
    vertical-align: middle;
    font-family: 'icomoon';
    color: var(--small-gray);
}
.ajax-cart-qty-minus:before {
  content: "\e903";
}
.ajax-cart-qty-plus:before {
    content: "\e904";
}
#shopping-cart-table tbody .cart-price .price {
    color: var(--secondary-dark)
}
.cart.table-wrapper .actions-toolbar > .action-edit:before, .cart.table-wrapper .actions-toolbar > .action-delete:before {
    color: var(--small-gray);
    font-family: 'icomoon';
    content: "\e90a";
    transition: color var(--hover-transition);
}
.cart.table-wrapper .actions-toolbar > .action-edit:hover:before, .cart.table-wrapper .actions-toolbar > .action-delete:hover:before {
    color: var(--blue-gray-hover);
}
#shopping-cart-table .col.item {
    width: auto;
}
#shopping-cart-table .col.qty {
    width: fit-content;
    padding-left: 30px;
    padding-right: 30px;
}
#shopping-cart-table .col.subtotal {
    width: fit-content;
    padding-left: 30px;
    padding-right: 30px;
}
#shopping-cart-table .col.remove {
    width: fit-content;
    padding-left: 30px;
}
.block-cart-failed .actions.main .clear, .cart-container .form-cart .actions.main .clear {
    color: var(--small-gray);
    font-weight: bold;
    font-size: 14px;
    line-height: 24px;
    text-decoration: underline;
}
.abs-shopping-cart-items .actions.main .clear:hover, .block-cart-failed .actions.main .clear:hover, .cart-container .form-cart .actions.main .clear:hover {
    color: var(--small-gray);
    text-decoration: none;
}
.cart.table-wrapper .product-item-name {
    margin: 0;
}
.product-item-name > a, .product.name a > a {
    font-size: 14px;
    line-height: 24px;
    font-weight: bold;
    color: var(--secondary-dark);
}
.cart.table-wrapper .product-item-sku {
    color: var(--small-gray);
    font-size: 14px;
    line-height: 18px;
    
} 
/* ============ Summary ============ */
.cart-summary {
    width: 30%;
    min-width: 340px;
    background: transparent;
    padding: 0;
    margin:0; 
}
.cart-summary #block-shipping,
.cart-summary #block-payments {
    padding: 30px;
    background: var(--header-light-grey);
}
.cart-summary #block-shipping {
    margin-bottom: 30px;
}
#maincontent .cart-summary .block > .title {
    border: none;
    padding: 0;
    margin-bottom: 24px;
}
#block-summary {
    padding: 0;
}
.cart-summary .block .title strong {
    font-weight: bold;
    font-size: 18px;
}
.cart-summary .block.active > .title:after, .cart-discount .block.active > .title:after {
    display: none;
}
#shipping-zip-form {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

#shipping-zip-form .shipping-zip-container{
    display: flex;
    justify-content: space-between;
    align-items: end;
    width: 100%;
}

#shipping-zip-form .field {
    margin-bottom: 0;
    margin-right: 15px;
}
#shipping-zip-form .field .label {
    margin-bottom: 10px;
    display: inline-block;
}
#shipping-zip-form .field .label span {
    font-size: 14px;
    line-height: 18px;
    color: var(--secondary-dark);
}
#shipping-zip-form .actions-toolbar button,
.cart-summary .block.discount #discount-coupon-form .fieldset.coupon .actions-toolbar button {
    width: 114px;
    border: 1px solid var(--secondary-dark);
    background-color: white;
    border-radius: 0;
    transition: background-color var(--hover-transition);
    box-shadow: none;
    margin: 0;
}
#shipping-zip-form .actions-toolbar button span,
.cart-summary .block.discount #discount-coupon-form .fieldset.coupon .actions-toolbar button span {
    color: var(--secondary-dark); 
    transition: color var(--hover-transition);
}
#shipping-zip-form .actions-toolbar button:hover,
.cart-summary .block.discount #discount-coupon-form .fieldset.coupon .actions-toolbar button:hover {
    background: var(--secondary-dark);
}
#shipping-zip-form .actions-toolbar button:hover span ,
.cart-summary .block.discount #discount-coupon-form .fieldset.coupon .actions-toolbar button:hover span{
    color: white;
}
#co-shipping-method-form .fieldset.rate,
#co-shipping-method-form .fieldset .item-options {
    margin: 0;
}
#co-shipping-method-form .fieldset .item-options .field.item {
    padding: 0;
    margin: 0;  
}
.cart-summary .block .item-options .field .radio {
    display: none;
}
.cart-summary .block .item-options .field .radio + .label {
    display: flex;
    align-items: center;
}
.cart-summary .block .item-options .field .radio + .label,
.cart-summary .block .item-options .field .radio + .label span {
    color: var(--secondary-dark);
    font-weight: normal;
}
.cart-summary .block .item-options .field .radio + .label::before {
    content: '';
    margin-right: 10px;
    display: block;
    border-radius: 50%;
    border: 1px solid var(--secondary-light-gray);
    background: white;
    width: 18px;
    height: 18px;
    box-shadow: inset 0 0 0 5px white;
}   
.cart-summary .block .item-options .field .radio:checked + .label::before {
    background-color: var(--primary-blue);
}
.cart-totals, .opc-block-summary .table-totals {
    border: none;
    padding: 0;
}
.cart-totals tbody .mark, .cart-totals tfoot .mark, .opc-block-summary .table-totals tbody .mark, .opc-block-summary .table-totals tfoot .mark,
.cart-totals tbody .amount, .cart-totals tfoot .amount, .opc-block-summary .table-totals tbody .amount, .opc-block-summary .table-totals tfoot .amount {
    padding: 0;
}
#cart-totals .totals th,
#cart-totals .totals td {
    padding-bottom: 12px;
}
#cart-totals  .totals th, #cart-totals .totals  span {
    font-size: 14px;
    line-height: 18px;
    color: var(--small-gray);
    font-weight: normal;
}
#cart-totals .block .title {
    margin: 0;
}
#cart-totals .totals  span.title,
#cart-totals .totals  span.discount,
#cart-totals .totals  td[data-th="Discount"] span{
    color: var(--primary-blue);
}
#cart-totals.cart-totals .grand .mark, .opc-block-summary .table-totals .grand .mark,
#cart-totals.cart-totals .grand .amount, .opc-block-summary .table-totals .grand .amount {
    border-top: 1px solid var(--secondary-light-gray);
    border-bottom: 1px solid var(--secondary-light-gray);
    margin-top: 16px;
    padding: 30px 0;
}
#cart-totals  .grand.totals th, #cart-totals .grand.totals  span {
    color: var(--secondary-dark);
    font-weight: bold;
    font-size: 16px;
    line-height: 20px;
}
.cart-summary .discount.block .content {
    padding: 0;
}
.cart-summary .block.discount {
    padding: 30px 0;
    border-bottom: 1px solid var(--secondary-light-gray);
}
.cart-summary .block.discount #discount-coupon-form .coupon .label span {
    color: var(--secondary-dark);
    font-size: 14px;
    font-weight: normal;
}
.cart-summary .block.discount #discount-coupon-form .fieldset.coupon {
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 114px;
    column-gap: 15px;
    row-gap: 8px;
}
.cart-summary .block.discount #discount-coupon-form .fieldset.coupon .field {
    margin: 0;
}
.cart-summary .block.discount #discount-coupon-form .fieldset.coupon::after {
    content: attr(data-success);
    grid-column: 1 / 3;
    font-size: 14px;
    color: var(--small-gray);
    letter-spacing: normal;
    display: none;
}
.cart-summary .block.discount #discount-coupon-form .fieldset.coupon.applied::after {
    display: block;
}
.cart-summary .block.discount #discount-coupon-form .fieldset.coupon .actions-toolbar {
    align-self: end;
    width: 100%;
}
.cart-summary .checkout-methods-items {
    margin-top: 30px;
    padding: 0;
}
a.continue-shopping {
    display: block;
    text-align: center;
    text-decoration: underline;
    color: var(--small-gray);
    font-size: 14px;
    margin-top: 14px;
    line-height: 18px;
    font-weight: bold;
}
a.continue-shopping:hover {
    text-decoration: none;
}
.cart-summary .block .item-options .field .radio+.label,
.cart-summary .block .item-options .field .radio+.label span {
    margin-left: 5px;
}
@media screen and (max-width: 1600px){
    #maincontent .columns,
    .page-title-wrapper,
    .breadcrumbs .items {
        width: 100%
    }
}
@media screen and (max-width: 1280px){
    #form-validate.form-cart {
        max-width: calc(100% - 340px);
        overflow: scroll;
    }
}
@media screen and (max-width: 1024px){
    .cart-summary #block-shipping, .cart-summary #block-shipping, .cart-summary #block-payments{
        padding: 24px;
    }
    #shopping-cart-table .col.qty,
    #shopping-cart-table .col.subtotal,
    .cart.table-wrapper .item .col.item {
        padding: 24px;
    }
    #shopping-cart-table .col.remove {
        padding: 0 0 0 24px;
    }
}
@media screen and (max-width: 768px){
    /* ============ Global ============ */
    .page-layout-1column .column.main {
        padding-bottom: 0;
    }
    /* ============ Items (Products table) ============ */
    .checkout-cart-index .page-title-wrapper {
        padding: 0;
        margin-bottom: 30px;
    }
    #form-validate.form-cart,
    .cart-summary {
        width: 100%;
        max-width: none;
        padding: 0;
        margin-bottom: 48px;
    }
    .cart-container {
        display: flex;
        flex-direction: column-reverse;
    }
    #shopping-cart-table thead {
        display: none;
    }
    .cart.table-wrapper .col.qty[data-th]:before, .cart.table-wrapper .col.price[data-th]:before, .cart.table-wrapper .col.subtotal[data-th]:before, .cart.table-wrapper .col.msrp[data-th]:before {
        display: none;
    }
    #shopping-cart-table .col.qty, #shopping-cart-table .col.subtotal, .cart.table-wrapper .item .col.item {
        padding: 24px 0;
    }
    #shopping-cart-table .col.item {
        display: flex;
        padding-bottom: 16px;
    }
    #shopping-cart-table .col.qty, #shopping-cart-table .col.subtotal {
        padding-top: 0;
    }
    #shopping-cart-table .col.subtotal {
        padding-left: 30px;
        padding-top: 8px;
        padding-bottom: 8px;
    }
    #shopping-cart-table .col.qty {
        padding-right: 30px;
    }
    .cart.table-wrapper .product-item-photo {
        max-width: unset;
        width: fit-content;
        position: static;
        margin-right: 20px;
    }
    #shopping-cart-table tbody tr td {
        vertical-align: bottom;
    }
    #shopping-cart-table .col.remove {
        padding-bottom: 32px;
    }
    .product-item-name > a, .product.name a > a,
    .cart.table-wrapper .col.qty .input-text,
    #shopping-cart-table tbody .cart-price .price {
        font-weight: normal;
    }
    .block-cart-failed .actions.main .clear, .cart-container .form-cart .actions.main .clear{
        font-weight: normal;
        margin: 0;
        height: auto;
    }
    .block-cart-failed .actions.main .clear, .cart-container .form-cart .actions.main .clear span {
        font-size: 14px;
    }
    #shipping-zip-form .field,
    #shipping-zip-form .field .control,
    #shipping-zip-form .field .control input {
        width: 100%;
    }

    .cart-container .form-cart .actions.main {
        align-items: flex-end;
    }
    /* ============ Summary ============ */
    .cart-summary #block-shipping,
    #shipping-zip-form {
        margin-bottom: 24px;
    }
    .cart-summary{
        margin-bottom: 0;
        min-width: unset;
    }
    .cart-summary .block .title strong {
        font-size: 16px;
    }
    a.continue-shopping {
        font-weight: normal;
    }
    /* ============ Crossel ============ */
    .block.crosssell {
        margin-top: 60px;
    }
}
@media screen and (max-width: 350px){
    #shipping-zip-form .actions-toolbar button, .cart-summary .block.discount #discount-coupon-form .fieldset.coupon .actions-toolbar button {
        width: 100px;
    }
}
