/*
--------------------------------------
Containers
--------------------------------------
*/

#cart #wrapper .wrapper__inner, #cart .before-footer {
  background : var(--color-grey-default);
}

.cart-grid {
  padding : calc(25px + (80 - 25) * ((100vw - 320px) / (1920 - 320))) 0;
}

/*
--------------------------------------
Elements
--------------------------------------
*/

.card-block {
  padding : 0.75rem 1.25rem;
}

/*
--------------------------------------------------------
Left + Right Blocks
--------------------------------------------------------
*/

.cart-grid-body,
.cart-summary, .card {
  background : var(--color-white-default);
}

/*
--------------------------------------------------------
Left Block: cart product information & shipping
--------------------------------------------------------
*/

.cart-grid-body {
  margin-bottom : .75rem;
  border-radius : 10px;
}

.card {
  border-radius : 10px 10px 0 0;
}

.card.cart-summary {
  border-radius : 10px;
}

/*Header with title*/

.cart-grid-body .card-block {
  padding : 1rem
}

.cart-grid-body .card-block h1 {
  margin          : 0;
  color           : var(--color-secondary);
  justify-content : center;
  white-space     : nowrap;
  font-style      : normal;
  font-weight     : 500;
  line-height     : normal;
  letter-spacing  : 0.45px;
}

/*Product line body: label, discounts, price, attributes, customizations*/

.cart-items {
  margin-bottom : 0;
}

.cart-item {
  padding : 1rem 0;
}

/*Cart overview*/

.cart-grid-body .cart-overview {
  padding : 1rem
}

/*Product grid line*/

.cart-grid-body .product-line-grid {
  display               : grid;
  grid-template-columns : 1fr;
}

.cart-grid-body .product-line-grid-body {
  flex      : 1 0 auto;
  max-width : 100%;
  position  : relative;
}

.cart-item .regular-price {
  color : var(--color-primary);
}

.discount.discount-percentage {
  right           : 0;
  bottom          : 0;
  border-radius   : 10px 0 10px 0;
  background      : var(--color-primary);
  position        : absolute;
  display         : flex;
  justify-content : center;
  align-items     : center;
  font-weight     : 600;
  font-size       : calc(13px + (15 - 13) * ((100vw - 320px) / (1920 - 320)));
  color           : var(--color-white-default);
  width           : 2.5em;
  height          : 2.5em;
  padding         : 3px 7px;
  z-index         : 1;
}

/*Product line left content: image*/

.product-line-grid-left img {
  max-width      : 100%;
  mix-blend-mode : darken;
}

/*Product line body: label, discounts, price, attributes, customizations*/

.cart-grid-body .product-name .label {
  font-size   : 20px;
  font-weight : 700;
  color       : var(--color-secondary);
  transition  : all 0.3s ease-out;
}

.cart-grid-body .product-name .label:hover {
  color : #000;
}

.cart-grid-body .product-name .label:focus,
.cart-grid-body .product-name .label:hover {
  text-decoration : none;
}

.product-line-grid-body > .product-line-info > .label {
  padding     : 0;
  line-height : inherit;
  text-align  : left;
  white-space : inherit
}

.product-line-grid-body > .product-line-info > .out-of-stock {
  color : red
}

.product-line-grid-body > .product-line-info > .available {
  color : #4cbb6c
}

.product-line-grid-body > .product-line-info > .unit-price-cart {
  padding-left : .3125rem;
  font-size    : .875rem;
  color        : var(--color-grey-font-default)
}

/*Product line right content: actions (quantity, delete), price*/

.cart-grid-body .product-line-grid-right {
  flex            : 0 0 33%;
  display         : flex;
  justify-content : space-between;
}

.cart-grid-body .product-line-grid-right .product-price {
  font-size   : 20px;
  font-weight : 700;
  color       : var(--color-secondary);
}

.cart-grid-body .current-price {
  color     : var(--color-secondary);
  font-size : 18px;
}

.cart-grid-body .product-carac .label {
  font-size   : 15px;
  font-weight : 500;
  color       : black;
}

.product-line-grid-right .cart-line-product-actions,
.product-line-grid-right .product-price {
  color       : var(--color-black-default);
  line-height : 36px
}

.product-line-grid-right .cart-line-product-actions .remove-from-cart {
  display    : inline-block;
  color      : var(--color-black-default);
  transition : all 0.35s ease-in-out;
  margin-top : .3125rem;
}

.product-line-grid-right .cart-line-product-actions .remove-from-cart:hover {
  color : var(--color-primary);
}

/*Part - continue-label*/

.continue-btn-container {
  padding : 1rem;
}

.continue-label:focus,
.continue-label:hover {
  color           : var(--color-primary);
  text-decoration : none;
  transition      : all 0.35s ease-in-out;
}

/*
--------------------------------------------------------
Right Block: cart subtotal & cart total
--------------------------------------------------------
*/

.cart-grid-right .cart-summary {
  padding : 10px 15px;
}

.cart-summary-line {
  line-height : 1.35em;
  clear       : both;
  font-size   : 18px;
}

.cart-summary-line:after {
  content : "";
  display : table;
  clear   : both
}

.cart-summary-line .label {
  padding-left : 0;
  font-weight  : 400;
  white-space  : inherit;
  font-size    : 18px;
}

.cart-summary-line .value {
  font-size : 18px;
  color     : var(--color-black-default);
  float     : right;
}

.cart-summary-line.cart-summary-subtotals .label,
.cart-summary-line.cart-summary-subtotals .value {
  font-weight : 400
}

.cart-summary-line.cart-total span {
  font-weight : 600;
  font-size   : 20px;
}

.cart-grid-right .promo-discounts {
  margin-bottom : 0
}

.cart-grid-right .promo-discounts .cart-summary-line .label {
  color : var(--color-grey-font-default)
}

.cart-grid-right .promo-discounts .cart-summary-line .label .code {
  text-decoration : underline;
  cursor          : pointer
}

.cart-detailed-btn-container {
  display         : flex;
  justify-content : center;
}

.cart-detailed-btn-container .cart-detailed-btn {
  font-size : 23px;
}

.js-cart-line-product-quantity {
  border-radius : 10px 0 0 10px !important;
}

.btn.btn-touchspin.bootstrap-touchspin-up {
  border-radius : 0 10px 0 0 !important;
}

.btn.btn-touchspin.bootstrap-touchspin-down {
  border-radius : 0 0 10px 0 !important;
}

.product-line-info.product-price.h5 {
  padding : 2px 0;
}

.product-line-info.product-reference {
  font-size : 14px;
}
