/* #Cart
--------------------------------------------------------------- */

/* Notices */
.woocommerce-cart .nm-shop-notice {
    margin-bottom: -9px;
    padding: 59px 0 0;
}

/* "blockOverlay" */
.woocommerce-cart .blockOverlay {
    background-color: #fff !important;
}

/* Contents */
.woocommerce-cart .woocommerce-cart-form {
    float: left;
    width: 66.66666667%;
    margin-top: 58px;
    margin-bottom: 64px;
    padding-right: 73px;
}
.woocommerce-cart .woocommerce-cart-form > h1 {
    position: relative;
    font-size: 24px;
    padding-bottom: 36px;
}
.woocommerce-cart:not(.mobile-menu-open) .woocommerce > form > h1 { /* Show heading above "blockOverlay" */
    z-index: 1001;
}
.shop_table.cart {
    width: 100%;
}
.shop_table.cart tr {
    position: relative;
}
.shop_table.cart tr td {
    line-height: 1.4;
    padding: 19px 0;
    border-top: 1px solid #eee;
    vertical-align: middle;
}
.shop_table.cart tr:first-child td {
    padding-top: 0;
    border-top: 0 none;
}
.shop_table.cart tr:last-child td {
    padding-bottom: 0;
}
/* Contents: Thumbnail */
.shop_table.cart .product-thumbnail {
    width: 75px;
    padding-left: 0;
}
.shop_table.cart .product-thumbnail img {
    display: block;
    width: 100%;
    border-radius: min(5px, var(--nm--border-radius-image));
}
/* Contents: Details */
.shop_table.cart .nm-product-details {
    padding-left: 19px;
}
.shop_table.cart .nm-product-details a {
    display: block;
    font-size: 18px;
    color: #282828;
    padding-right: 17px;
}
.shop_table.cart .nm-product-details > * {
    margin-bottom: 3px;
}
.shop_table.cart .nm-product-details > *:last-child {
    margin-bottom: 0;
}
/* Contents: Details - Variations */
.shop_table.cart .nm-product-details .variation {
    line-height: 1.2;
    padding: 3px 0 4px;
}
.shop_table.cart .nm-product-details .variation li {
    padding-bottom: 0;
}
/* Contents: Details - Quantity/Pricing */
.shop_table.cart .nm-product-quantity-pricing {
    line-height: 22px;
    margin-right: -16px;
}
/* Contents: Details - Quantity */
.shop_table.cart .product-quantity {
	float: left;
    font-size: 16px;
    color: #282828;
}
.shop_table.cart .product-quantity .nm-quantity-wrap {
    width: auto;
    border: 0 none;
    overflow: visible;
}
.shop_table.cart .product-quantity .nm-quantity-wrap label.nm-qty-label-abbrev {
    display: inline-block;
}
.shop_table.cart .product-quantity .nm-quantity-wrap .quantity {
    display: inline-block;
    margin-left: -7px;
}
.shop_table.cart .product-quantity .quantity .nm-qty-minus,
.shop_table.cart .product-quantity .quantity .nm-qty-plus,
.shop_table.cart .product-quantity .quantity .qty {
    line-height: inherit;
    height: auto;
}
.shop_table.cart .product-quantity .quantity .nm-qty-minus,
.shop_table.cart .product-quantity .quantity .nm-qty-plus {
    font-size: 10px;
    line-height: 24px;
    width: 24px;
    vertical-align: top;
}
.shop_table.cart .product-quantity .nm-qty-minus {
    text-align: right;
}
.shop_table.cart .product-quantity .nm-qty-plus {
    text-align: left;
}
.shop_table.cart .product-quantity .quantity .qty {
    width: 20px;
}
/* Contents: Details - Pricing */
.shop_table.cart .nm-product-quantity-pricing .product-subtotal {
    float: right;
    font-size: 16px;
    color: #282828;
}
/* Contents: Details - Remove button */
.shop_table.cart .product-remove {   
    width: 16px;
    vertical-align: top;
}
.shop_table.cart .product-remove a {
    display: block;
    font-size: 16px;
    color: #282828;
    width: 16px;
    height: 16px;
    transition: opacity 0.2s ease;
}
.shop_table.cart .product-remove a:before {
    display: block;
    font-family: 'nm-font' !important;
    line-height: 1;
    content: "\e117";
}
.shop_table.cart .product-remove a:hover {
    opacity: 0.5;
}

/* Actions */
.shop_table.cart .actions {
    padding-top: 28px;
}
.shop_table.cart .actions .coupon { /* Hidden coupon field */
    visibility: hidden;
    position: absolute;
    top: -1px;
    left: -1px;
    z-index: -1;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.shop_table.cart .actions .button {
    width: 48%;
}
.shop_table.cart .actions button[name="update_cart"] {
    float: right;
}

/* Summary */
.cart-collaterals {
    position: relative;
    float: left;
    line-height: 1.6;
    color: #282828;
    width: 33.33333333%;
    margin-top: 58px;
    margin-bottom: 64px;
}
.cart-collaterals .cart_totals {
    position: static !important;
}
.cart-collaterals > h2 {
    position: relative;
    font-size: 24px;
    padding-bottom: 36px;
}
body:not(.mobile-menu-open) .cart-collaterals > h2 { /* Show heading above "blockOverlay" */
    z-index: 1001;
}
.cart-collaterals p {
    margin-bottom: 0;
}

/* Summary: Coupon */
.nm-coupon-wrap {
    width: 100%;
    margin-bottom: -1px;
    border: 1px solid #e1e1e1; /* Note: Added border to parent element to prevent line-rendering bug in Safari */
}
.nm-coupon-inner {
    padding: 15px 21px 14px;
    /*background-color: #fafafa;*/
}
#nm-coupon-btn {
    position: relative;
    display: block;
    /*font-size: 16px;*/
    color: inherit;
}
#nm-coupon-btn:before {
    position: relative;
    top: 2px;
    font-family: 'nm-font';
    font-size: 16px;
    line-height: 1;
	margin-right: 8px;
    content: "\f145";
}
#nm-coupon-btn:after {
	position: absolute;
    top: 0;
    /*top: 1px;*/
    right: 0;
	z-index: 1000;
    font-family: 'nm-font';
    font-size: 20px;
    line-height: 1;
    display: block;
    content: "\f107";
}
.cart-collaterals .nm-coupon {
    display: none;
}
.cart-collaterals .nm-cart-coupon-form {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 15px;
}
.cart-collaterals #nm-coupon-code {
    flex: 3 1 120px;
    padding-top: calc(var(--nm--inputs-padding-vertical) - 4px);
    padding-bottom: calc(var(--nm--inputs-padding-vertical) - 4px);
}
.cart-collaterals .nm-coupon .button {
    flex: 1 1 auto;
}
.cart-collaterals .nm-coupon .button[disabled] {
	pointer-events: none;
	opacity: 1;
	background: var(--nm--color-button-background);
}

/* Summary: Totals */
.cart-collaterals .shop_table {
    width: 100%;
}
.cart-collaterals .shop_table tr th,
.cart-collaterals .shop_table tr td {
    padding: 15px 21px;
    border-bottom: 1px solid #e1e1e1;
    background-color: #fafafa;
}
.cart-collaterals .shop_table tr th {
    border-left: 1px solid #e1e1e1;
}
.cart-collaterals .shop_table tr td {
    border-right: 1px solid #e1e1e1;
}
.cart-collaterals .shop_table tr:first-child th,
.cart-collaterals .shop_table tr:first-child td {
    border-top: 1px solid #e1e1e1;
}
.cart-collaterals .shop_table tr:last-child th,
.cart-collaterals .shop_table tr:last-child td {
    border-bottom: 1px solid #e1e1e1;
}
.cart-collaterals .shop_table tr th {
    padding-right: 19px;
}
.cart-collaterals .shop_table tr td {
    text-align: right;
}
.cart-collaterals .shop_table tr.cart-discount td a {
    display: block;
    font-size: 12px;
    line-height: 1.2;
}
.cart-collaterals .shop_table tr.order-total {
    font-size: 18px;
    line-height: 1.4;
}
.cart-collaterals .shop_table tr.order-total strong {
    font-weight: inherit;
}

/* Summary: Shipping method */
.shop_table tr.shipping th {
    display: none;
}
.cart-collaterals .shop_table tr.shipping td {
    text-align: left;
    border-left: 1px solid #e1e1e1;
}
.cart-collaterals .shop_table tr.shipping .nm-shipping-th-title {
    padding-bottom: 13px;
}
#shipping_method li {
    line-height: 1.6;
    padding-bottom: 4px;
}
#shipping_method li:last-child {
    padding-bottom: 4px;
}
#shipping_method input[type="radio"] {
    position: relative;
    top: 1px;
    margin-right: 7px;
}
#shipping_method label {
    cursor: pointer;
}
#shipping_method .amount {
    float: right;
}
.woocommerce-shipping-destination {
    padding: 11px 0 6px;
}

/* Summary: Shipping calculator */
.cart-collaterals .woocommerce-shipping-calculator .blockOverlay {
    display: none !important;
}
.cart-collaterals .shipping-calculator-button {
    display: block;
    color: inherit;
    padding: 8px 0 6px;
}
.cart-collaterals .shipping-calculator-button:before {
    position: relative;
    top: 1px;
    font-family: 'nm-font';
    font-size: 16px;
    line-height: 1;
    margin-right: 8px;
    content: "\f041";
}
.cart-collaterals .shipping-calculator-button:after {
    display: inline-block;
    position: relative;
    top: 2px;
    font-family: 'nm-font';
    line-height: 1;
    content: "\f107";
    margin-left: 4px;
}
.cart-collaterals .shipping-calculator-button[aria-expanded=true]:after {
	transform: rotate(180deg);
}
.cart-collaterals .shipping-calculator-form > p {
    padding-top: 10px;
}
.cart-collaterals .shipping-calculator-form > p:first-child {
    padding-top: 5px;
}
.cart-collaterals .shipping-calculator-form > p label {
    padding-bottom: 6px;
}
.cart-collaterals .shipping-calculator-form .button {
    width: 100%;
    margin-top: 10px;
    margin-bottom: 7px;
    padding-top: 15px;
    padding-bottom: 15px;
}

/* Summary: Actions */
.wc-proceed-to-checkout {
    padding-top: 21px;
    overflow: hidden;
}
/*#nm-cart-continue-button,*/
.wc-proceed-to-checkout .button {
    width: 100%;
    padding: 16px;
    cursor: pointer;
}

/* Cross sells */
.cross-sells {
    width: 100%;
    clear: both;
    padding-bottom: 35px;
}
.cross-sells h2 {
	font-size: 24px;
	padding-bottom: 28px;
}

/* Empty */
.nm-cart-empty {
    margin: 50px 0 55px;
    color: #282828;
	text-align: center;
}
.nm-cart-empty > .nm-shop-notice.woocommerce-info:first-child { /* Hide extra "Checkout is not available whilst..." notice */
    display: none;
}
.nm-cart-empty p.icon {
	margin-bottom: 0;
}
.nm-cart-empty p.icon i {
	display: inline-block;
    font-size: 22px;
    line-height: 50px;
    vertical-align: middle;
    width: 50px;
    height: 50px;
    -webkit-border-radius: 50px; border-radius: 50px;
    background: #eee;
}
.nm-cart-empty .nm-shop-notice:not(.woocommerce-info) {
    display: none;
}
.nm-cart-empty .nm-shop-notice.woocommerce-info {
    display: block;
    font-size: 20px;
    color: inherit;
    margin: 0;
    padding: 15px 0 16px;
}
.return-to-shop {
    text-align: center;
}
.return-to-shop a {
    padding: 8px 14px;
}

@media all and (max-width: 1199px) {
    /* Contents */
    .woocommerce-cart .woocommerce-cart-form {
        width: 58.33333333%;
        padding-right: 50px;
    }
    
    /* Summary */
    .cart-collaterals {
        width: 41.66666667%;
    }
}
@media all and (max-width: 991px) {
    /* Contents */
    .woocommerce-cart .woocommerce-cart-form {
        float: none;
        width: 100%;
        margin-bottom: 0;
        padding-right: 0;
    }
    .woocommerce-cart .woocommerce-cart-form > h1 {
        padding-bottom: 27px;
    }
    
    /* Actions */
    .shop_table.cart .actions {
        padding-top: 19px;
    }
    
    /* Summary */
    .cart-collaterals {
        float: none;
        width: 100%;
        padding-top: 0;
        padding-left: 0;
    }
    .cart-collaterals > h2 {
        padding-bottom: 27px;
    }
}
@media all and (max-width: 768px) {
    /* Actions */
    #nm-cart-continue-button {
        display: none;
    }
    .shop_table.cart .actions button[name="update_cart"] {
        float: none;
        width: 100%;
    }
}
@media all and (max-width: 550px) {
    /* Notices */
    .woocommerce-cart .nm-shop-notice {
        padding: 40px 0 0;
    }
    
    /* Contents */
    .woocommerce-cart .woocommerce-cart-form {
        margin-top: 41px;
    }
    .woocommerce-cart .woocommerce-cart-form > h1 {
        font-size: 22px;
    }
    .shop_table.cart tr:first-child td {
        border-top: 0 none;
        padding-top: 0;
    }
    /* Contents: Details */
    .shop_table.cart .nm-product-details > * {
        margin-bottom: 4px;
    }
    .shop_table.cart .nm-product-details a {
        font-size: 16px;
    }
    
    /* Summary */
    .cart-collaterals {
        margin-top: 39px;
    }
    .cart-collaterals > h2 {
        font-size: 22px;
    }
}
@media all and (max-width: 400px) {
	/* Contents */
    .shop_table.cart tr td:not(.actions) {
        vertical-align: top;
    }
    /* Contents: Thumbnail */
    .shop_table.cart .product-thumbnail {
        width: 50px;
    }
    /* Contents: Details */
    .shop_table.cart .nm-product-details {
        padding-left: 15px;
    }
    /* Contents: Details - Quantity/Pricing */
    .shop_table.cart .nm-product-quantity-pricing {
        line-height: 18px;
        padding-bottom: 0;
    }
    /* Contents: Details - Quantity */
    .shop_table.cart .product-quantity {
        font-size: inherit;
    }
    .shop_table.cart .product-quantity .nm-quantity-wrap label.nm-qty-label-abbrev {
        display: none;
    }
    .shop_table.cart .product-quantity .nm-quantity-wrap .quantity {
        margin-left: -14px;
    }
    .shop_table.cart .product-quantity .quantity .nm-qty-minus,
    .shop_table.cart .product-quantity .quantity .nm-qty-plus {
        line-height: 19px;
    }
    .shop_table.cart .product-quantity .quantity .qty {
        width: 17px;
    }
    /* Contents: Details - Pricing */
    .shop_table.cart .nm-product-quantity-pricing .product-subtotal {
        font-size: inherit;
        padding-top: 0;
    }
    /* Contents: Details - Remove button */
    .shop_table.cart .product-remove a {
        top: 24px;
        right: 5px;
    }
    
    /* Summary: Coupon */
    .nm-coupon-inner {
        padding-right: 15px;
        padding-left: 15px;
    }
    
    /* Summary: Totals */
    .cart-collaterals .shop_table tr th,
    .cart-collaterals .shop_table tr td {
        padding-right: 15px;
        padding-left: 15px;
    }
    .cart-collaterals .shop_table tr th {
        padding-right: 15px;
    }
    
    /* Summary: Shipping calculator */
    /*.cart-collaterals .woocommerce-shipping-calculator {
        padding-right: 15px;
        padding-left: 15px;
    }*/
    
    /* Cross sells */
    .cross-sells {
        padding-bottom: 16px;
    }
    .cross-sells h2 {
        font-size: 20px;
    }
    
    /* Empty */
    .return-to-shop a {
        font-size: inherit;
    }
}