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

#wrapper {
  background : var(--color-grey-default);
}

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

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

.cart-title {
  font-size      : 30px;
  font-weight    : 600;
  color          : var(--color-primary);
  text-transform : initial;
  text-align     : center;
  margin         : 35px auto;
  line-height    : 1.1
}

.card-rounded {
  border-radius : 5px;
}

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

.cart-summary {
  background : white;
}

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

.cart-grid-body {
  margin-bottom : 20px
}

/*Header with title*/

.cart-grid-body .card-block {
  display : none;
}

.cart-grid-body .card-block h1 {
  margin : 0;
  color  : var(--color-primary);
}

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

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

.cart-item {
  padding : 20px 0;
}

.cart-item:not(:first-child) {
  border-top : 1px solid #E5E8EB;
}

/*Cart overview*/

.cart-grid-body .cart-overview {
  padding : 0 20px
}

/*Product grid line*/

.cart-grid-body .product-line-grid {
  display : grid;
}

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

/*Product line left content: image*/

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

.product-image.media-middle.product-line-grid-element {
  border-radius : 5px;
  background    : #E6EDF2;
}

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

.cart-grid-body .product-name .label {
  font-size   : 16px;
  font-weight : 600;
  color       : var(--primary-color);
  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;
}

.product-line-price {
  display     : flex;
  align-items : center;
}

.cart-grid-body .product-line-grid-right .product-price {
  font-size   : 16px;
  font-weight : 700;
  color       : #0E2533;
}

.cart-grid-body .current-price {
  color     : var(--primary-color);
  font-size : 14px;

}

.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         : flex;
  align-items     : center;
  color           : var(--color-black-default);
  transition      : all 0.35s ease-in-out;
  height          : 40px;
  width           : 40px;
  border-radius   : 100%;
  background      : transparent;
  justify-content : center;
}

.product-line-remove {
  display      : flex;
  align-items  : center;
  margin-right : 25px;
}

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

.cart-line-informations__container {
  display   : flex;
  gap       : 2px 15px;
  flex-wrap : wrap;
}

.cart-line-informations__container .product-line-info * {
  color     : #8E8E8E;
  font-size : 11px;
}

.cart-line-informations__container .label {
  text-transform : uppercase;
}

.product-line-info .product-discount {
  color     : #8E8E8E;
  font-size : 12px;
}

.product-line-info .product-discount .regular-price {
  text-decoration : line-through;
  font-weight     : 500;
}

/*Part - continue-label*/

.continue-btn-container {
  margin-top : 20px;
}

.continue-btn-container svg {
  margin-right : 8px;
}

.continue-btn-container .continue-label {
  text-decoration : underline;
  font-weight     : 500;
  transition      : all 0.3s ease;
  display         : flex;
  align-items     : center;
  margin-bottom   : 20px;
  width           : fit-content;
}

.continue-label svg line {
  transition : all 0.3s ease;
}

.continue-label:focus,
.continue-label:hover {
  color : var(--color-primary);
}

.continue-label:focus svg line,
.continue-label:hover svg line {
  stroke : var(--color-primary);
}

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

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

.cart-summary-line {
  line-height : 1.35em;
  clear       : both;
}

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

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

.cart-summary-line .value {

  float : right;
}

.cart-summary-line .label, .cart-summary-line .value {
  color     : #566A77;
  font-size : 15px;
}

.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   : 18px;
}

.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 : 17px;
  width     : 100%;
  padding   : 13px;
}

.no-items {
  padding : 20px 10px;
  display : block;
}


.bwa-select {
  position  : relative;
  min-width : 80px;
}

.bwa-select select {
  display : none;
}

.bwa-select .select-selected {
  background    : white;
  border-radius : 10px;
  padding       : 12px 45px 12px 25px;
  font-size     : 16px;
  font-weight   : 400;
  color         : var(--color-black-default);
  border        : 1px solid #CED2D5;
}

/*style the arrow inside the select element:*/
.select-selected:after {
  content             : '';
  position            : absolute;
  top                 : 50%;
  right               : 15px;
  transform           : translateY(-50%);
  width               : 14px;
  height              : 8px;
  background-image    : url("../../img/icons/chevron.svg");
  background-position : center;
  background-size     : contain;
  background-repeat   : no-repeat;
  transition          : all .4s ease-out;
}

.bwa-select.disable .select-selected:after {
  content : unset;
}


/*.bwa-select:hover .select-selected:after,*/
/*.select-selected.select-arrow-active:after{*/
/*    transform: rotate(90deg) translate(-100%, 2%);*/
/*}*/

/*style the items (options), including the selected item:*/
.select-items div, .select-selected {
  padding         : 8px 16px;
  cursor          : pointer;
  user-select     : none;
  height          : 44px;
  display         : flex;
  justify-content : left;
  align-items     : center;
  overflow        : hidden;
}


.bwa-select.disable .select-selected {
  cursor : not-allowed;
}

/*style items (options):*/
.select-items {
  position         : absolute;
  background-color : white;
  top              : calc(100% - 8px);
  left             : 0;
  right            : 0;
  z-index          : 99;
  max-height       : 109px;
  overflow         : auto;
  scroll-snap-type : y mandatory;
  transition       : all .4s ease-out;
  border-radius    : 0 0 10px 10px;
  border           : 1px solid #CED2D5;
  border-top       : 1px solid #e5e7e8;
}

.select-items.select-hide {
  height  : 0;
  opacity : 0;
}

.select-items::-webkit-scrollbar {
  width : 5px;
}

.select-items::-webkit-scrollbar-track {
  background-color : #ccc8c8;
}


.select-items::-webkit-scrollbar-corner {
  height : 0;
}

.select-items > div {
  height            : 36px;
  display           : flex;
  justify-content   : center;
  align-items       : center;
  border-top        : 0;
  opacity           : 1;
  font-size         : 15px;
  color             : var(--color-black-default);
  font-weight       : 400;
  transition        : all .6s ease-out;
  scroll-snap-align : start;
}

/*hide the items when the select box is closed:*/
.select-hide > div {
  padding    : 0 16px;
  /*height: 0px;*/
  opacity    : 0;
  overflow   : hidden;
  border     : 0px solid #ffffff;
  transition : all .4s ease-out;
}

.select-items div:hover, .same-as-selected {
  background-color : rgba(0, 0, 0, 0.1);
}

.js-cart-line-product-quantity {
  display : none;
}

.cart-reassurance {
  max-width : 600px;
  margin    : 25px auto 0;
}

@media (max-width : 319px) {
  .cart-reassurance {
    display : none;
  }
}

.cart-reassurance ul {
  display               : grid;
  grid-template-columns : 1fr 1fr 1fr;
  grid-gap              : 15px;
}

.cart-reassurance .block-reassurance-item__title {
  font-size   : 13px;
  font-weight : 600;
  line-height : 1.1;
  max-width   : 100px;
}

.cart-reassurance .block-reassurance-item__icon {
  background    : white;
  width         : 60px;
  height        : 60px;
  border-radius : 100%;
  margin-bottom : 5px;
}

.cart-reassurance .block-reassurance-item__icon img {
  height : 28px;
}

.promo-code__toggler .disabled {
  display : none;
}

.cart-detailed-subtotals {
  margin-bottom : 20px;
}

.cart-detailed-subtotals .cart-summary-line {
  line-height : 1.6
}

.cart-summary-totals {
  margin-top    : 20px;
  padding       : 0;
  margin-bottom : 35px;
}

.cart-summary-totals .cart-summary-line.cart-total .label, .cart-summary-totals .cart-summary-line.cart-total .value {
  color       : var(--color-black-default);
  font-weight : 800;
}

body#cart #main {
  padding-bottom : 100px;
}

/***********************************************
 * Quote
 ***********************************************/

.cart-grid-right .clearfix {
  grid-row        : 3;
  margin          : 0 0 0.75rem !important;
  display         : flex;
  justify-content : center;
}

.cart-grid-right .clearfix .btn.btn-primary b {
  font-weight : 500;
}

.discount.discount-percentage {
  color          : var(--color-white-default);
  text-align     : center;
  font-size      : 15px;
  font-style     : normal;
  font-weight    : 700;
  line-height    : normal;
  text-transform : uppercase;
  background     : #00C398;
  padding        : 4px 6px 4px 4px;
  border-radius  : 5px;
  grid-column    : 1;
  grid-row       : 4;
  width          : fit-content;
}

.product-line-qty .bootstrap-touchspin input.form-control, .product-line-qty .bootstrap-touchspin input.input-group {
  width : 5rem;
}

.product-line-grid-right .product-quantity.--has-plusAndMinusButtons {
  display               : grid;
  grid-template-columns : repeat(3, auto);
  border-radius         : 7px;
  border                : 1px solid #BCCAD6;
  align-items           : center;
}

.product-line-grid-right .js-cart-line-product-quantity.form-control {
  border      : none;
  text-align  : center;
  box-shadow  : none;
  font-size   : 16px;
  font-weight : 500;
}
