/* Cart, add-to-cart modal and cart summary UI. */
body#cart #wrapper {
  background: #f6f1e7;
  padding-bottom: 4.5rem;
  padding-top: 3rem;
}

body#cart .block_newsletter { display: none !important; }

body#cart #content-wrapper,
body#cart #main {
  width: 100%;
}

body#cart .cart-grid {
  align-items: flex-start;
  margin-left: -12px;
  margin-right: -12px;
}

body#cart .cart-grid-body,
body#cart .cart-grid-right {
  padding-left: 12px;
  padding-right: 12px;
}

body#cart .card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body#cart .cart-container {
  background: #fff;
  border: 1px solid rgb(93 59 59 / 10%);
  padding: 2rem 2.25rem .5rem;
}

body#cart .cart-container > .card-block {
  padding: 0 0 1.35rem;
}

body#cart .cart-container h1 {
  color: var(--ms-color-brown);
  font-size: clamp(1.8rem, 3vw, 2.75rem);
  font-weight: 400;
  letter-spacing: -.02em;
  margin: 0;
  text-transform: none;
}

body#cart .cart-container .separator {
  border-color: rgb(93 59 59 / 12%);
  margin: 0;
}

body#cart .cart-overview .cart-items {
  margin: 0;
  padding: 0;
}

body#cart .cart-item {
  border-bottom: 1px solid rgb(93 59 59 / 10%);
  padding: 1.5rem 0;
}

body#cart .cart-item:last-child {
  border-bottom: 0;
}

body#cart .product-line-grid {
  align-items: center;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 8rem minmax(0, 1fr) minmax(15rem, auto);
}

body#cart .product-line-grid-left,
body#cart .product-line-grid-body,
body#cart .product-line-grid-right {
  float: none;
  margin: 0;
  padding: 0;
  width: auto;
}

body#cart .product-line-grid-left .product-image {
  background: #f8f5ef;
  display: block;
  overflow: hidden;
}

body#cart .product-line-grid-left img {
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: cover;
  width: 100%;
}

body#cart .product-line-info .label {
  color: var(--ms-color-brown);
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.35;
}

body#cart .product-line-info .label:hover {
  color: var(--ms-color-red);
  text-decoration: none;
}

body#cart .product-line-grid-body > br {
  display: none;
}

body#cart .product-line-grid-body .product-price {
  color: var(--ms-color-brown);
  font-size: .9rem;
  margin: .45rem 0 0;
}

body#cart .product-line-grid-body .product-line-info:not(:first-child) .label,
body#cart .product-line-grid-body .product-line-info .value,
body#cart .unit-price-cart {
  color: var(--ms-color-gray);
  font-size: .76rem;
}

body#cart .product-line-grid-right > .row,
body#cart .product-line-grid-right > .row > .col-md-10,
body#cart .product-line-grid-right > .row > .col-md-10 > .row {
  align-items: center;
  display: flex;
  margin: 0;
}

body#cart .product-line-grid-right > .row > .col-md-10 {
  flex: 1;
  padding: 0;
}

body#cart .product-line-grid-right .qty,
body#cart .product-line-grid-right .price {
  float: none;
  padding: 0;
  width: auto;
}

body#cart .product-line-grid-right .qty {
  margin-right: 1.25rem;
}

body#cart .bootstrap-touchspin {
  display: grid;
  grid-template-columns: 2.75rem 1.7rem;
  height: 2.75rem;
  width: 4.45rem;
}

body#cart .bootstrap-touchspin .js-cart-line-product-quantity {
  border: 1px solid rgb(93 59 59 / 18%);
  border-radius: 0;
  color: var(--ms-color-brown);
  font-weight: 600;
  height: 2.75rem;
  padding: 0;
  text-align: center;
  width: 2.75rem;
}

body#cart .bootstrap-touchspin .input-group-btn-vertical {
  display: grid;
  height: 2.75rem;
  position: static;
  width: 1.7rem;
}

body#cart .bootstrap-touchspin .btn-touchspin {
  align-items: center;
  background: #fff;
  border: 1px solid rgb(93 59 59 / 18%);
  border-left: 0;
  border-radius: 0;
  color: var(--ms-color-brown);
  display: flex;
  height: 1.375rem;
  justify-content: center;
  padding: 0;
  position: static;
  width: 1.7rem;
}

body#cart .bootstrap-touchspin .btn-touchspin:hover {
  background: var(--ms-color-brown);
  color: #fff;
}

body#cart .bootstrap-touchspin-up::before,
body#cart .bootstrap-touchspin-down::before {
  font-size: .9rem;
  font-weight: 400;
  line-height: 1;
}

body#cart .bootstrap-touchspin-up::before { content: '+'; }
body#cart .bootstrap-touchspin-down::before { content: '−'; }
body#cart .bootstrap-touchspin .btn-touchspin .material-icons { display: none; }

body#cart .product-line-grid-right .product-price strong {
  color: var(--ms-color-brown);
  font-size: 1rem;
  white-space: nowrap;
}

body#cart .cart-line-product-actions {
  margin-left: 1rem;
}

body#cart .remove-from-cart {
  align-items: center;
  color: var(--ms-color-gray);
  display: inline-flex;
  height: 2.75rem;
  justify-content: center;
  width: 2.75rem;
}

body#cart .remove-from-cart:hover,
body#cart .remove-from-cart:focus-visible {
  color: var(--ms-color-red);
  text-decoration: none;
}

body#cart .cart-grid-body > .label {
  color: var(--ms-color-brown);
  display: inline-flex;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  margin: 1.2rem 0 0;
  text-transform: uppercase;
}

body#cart .cart-summary {
  background: #fff;
  border: 1px solid rgb(93 59 59 / 10%);
  padding: 1.75rem;
  position: sticky;
  top: 7.5rem;
}

body#cart .cart-detailed-subtotals,
body#cart .cart-summary-totals,
body#cart .cart-detailed-actions {
  padding: 0;
}

body#cart .cart-summary-line {
  align-items: baseline;
  color: var(--ms-color-brown);
  display: flex;
  font-size: .88rem;
  justify-content: space-between;
  margin-bottom: .9rem;
}

body#cart .cart-summary-line .value {
  font-weight: 600;
  margin-left: 1rem;
}

body#cart .cart-summary-totals {
  border-top: 1px solid rgb(93 59 59 / 14%);
  margin-top: .4rem;
  padding-top: 1.15rem;
}

body#cart .cart-summary-line.cart-total {
  font-size: 1.22rem;
  margin-bottom: 1.25rem;
}

body#cart .block-promo {
  border-top: 1px solid rgb(93 59 59 / 10%);
  padding-top: 1rem;
}

body#cart .promo-code-button {
  margin: 0;
  text-align: left;
}

body#cart .promo-code-button a {
  color: var(--ms-color-gray);
  font-size: .78rem;
}

body#cart .promo-code form {
  align-items: stretch;
  display: flex;
  margin-top: .8rem;
  width: 100%;
}

body#cart .promo-input {
  border: 1px solid rgb(93 59 59 / 18%);
  border-radius: 0;
  flex: 1;
  height: 2.75rem;
  min-width: 0;
  padding: 0 .8rem;
}

body#cart .promo-code .btn-primary {
  background: var(--ms-color-brown);
  border-color: var(--ms-color-brown);
  border-radius: 0;
  flex: 0 0 auto;
  height: 2.75rem;
  margin: 0;
  padding: 0 1.15rem;
}

body#cart .promo-code-button.cancel-promo {
  align-items: center;
  color: var(--ms-color-red) !important;
  display: inline-flex;
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.5;
  margin: .65rem 0 0;
  padding: 0;
  width: auto;
}

body#cart .promo-code-button.cancel-promo:hover,
body#cart .promo-code-button.cancel-promo:focus-visible {
  color: var(--ms-color-brown) !important;
}

body#cart .cart-detailed-actions {
  margin-top: 1.35rem;
}

body#cart .cart-detailed-actions .btn-primary {
  background: var(--ms-color-red);
  border: 1px solid var(--ms-color-red);
  border-radius: 0;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  padding: 1rem;
  text-transform: uppercase;
  width: 100%;
}

body#cart .cart-detailed-actions .btn-primary:hover,
body#cart .cart-detailed-actions .btn-primary:focus-visible {
  background: var(--ms-color-brown);
  border-color: var(--ms-color-brown);
}

body#cart .ms-cart-reassurance {
  background: var(--ms-trust-background);
  border: 1px solid rgb(93 59 59 / 10%);
  margin-top: 1rem;
  padding: 1.25rem;
}

body#cart .ms-cart-reassurance-item {
  align-items: flex-start;
  border-bottom: 1px solid rgb(93 59 59 / 9%);
  display: flex;
  gap: .85rem;
  margin: 0;
  padding: .75rem 0;
}

body#cart .ms-cart-reassurance-item:last-child {
  border-bottom: 0;
}

body#cart .ms-cart-reassurance-icon {
  align-items: center;
  color: #fff;
  display: inline-flex;
  flex: 0 0 1.75rem;
  font-size: 1.75rem;
  height: 1.75rem;
  justify-content: center;
  margin-top: .05rem;
  text-shadow: 0 1px 1px rgb(93 59 59 / 18%);
  width: 1.75rem;
}

body#cart .ms-cart-reassurance-icon--paysera img {
  filter: drop-shadow(0 1px 1px rgb(93 59 59 / 14%));
  height: 1.4rem;
  object-fit: contain;
  opacity: 1;
  width: 1.1rem;
}

body#cart .ms-cart-reassurance-item strong {
  color: var(--ms-color-brown);
  display: block;
  font-size: .8rem;
  font-weight: 700;
}

body#cart .ms-cart-reassurance-item > div > span {
  color: var(--ms-color-gray);
  display: block;
  font-size: .7rem;
  line-height: 1.45;
  margin-top: .15rem;
}

body#cart .ms-native-reassurance-hook { display: none; }

#blockcart-modal .modal-dialog {
  max-width: 58rem;
}

#blockcart-modal .modal-content {
  border: 0;
  border-radius: 0;
  box-shadow: 0 1.5rem 4rem rgb(31 20 20 / 22%);
}

#blockcart-modal .modal-header {
  background: #f6f1e7;
  border: 0;
  padding: 1.25rem 1.5rem;
}

#blockcart-modal .modal-title {
  color: var(--ms-color-brown);
  font-size: 1.3rem;
  font-weight: 500;
}

#blockcart-modal .modal-title i {
  color: var(--ms-color-red);
  margin-right: .5rem;
}

#blockcart-modal .modal-body {
  padding: 2rem;
}

#blockcart-modal .divide-right {
  border-color: rgb(93 59 59 / 12%);
}

#blockcart-modal .product-image {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
}

#blockcart-modal .product-name,
#blockcart-modal .product-total {
  color: var(--ms-color-brown);
}

#blockcart-modal .cart-content-btn {
  display: flex;
  gap: .65rem;
  margin-top: 1.4rem;
}

#blockcart-modal .cart-content-btn .btn {
  border-radius: 0;
  flex: 1;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .07em;
  padding: .85rem;
  text-transform: uppercase;
}

#blockcart-modal .cart-content-btn .btn-primary {
  background: var(--ms-color-red);
  border-color: var(--ms-color-red);
}

@media (max-width: 991px) {
  body#cart #wrapper { padding-top: 2rem; }
  body#cart .cart-grid-right { margin-top: 1.5rem; }
  body#cart .cart-summary { position: static; }
}

@media (max-width: 767px) {
  body#cart #wrapper { padding: 1.25rem 0 3rem; }
  body#cart .cart-container { padding: 1.35rem 1rem .25rem; }
  body#cart .product-line-grid {
    align-items: start;
    gap: .85rem 1rem;
    grid-template-columns: 5.5rem minmax(0, 1fr);
  }
  body#cart .product-line-grid-right { grid-column: 1 / -1; }
  body#cart .product-line-grid-right > .row { justify-content: flex-end; }
  body#cart .product-line-grid-right > .row > .hidden-md-up { display: none; }
  body#cart .cart-summary { padding: 1.35rem; }
  #blockcart-modal .modal-body { padding: 1.25rem; }
  #blockcart-modal .cart-content-btn { flex-direction: column; }
}

@media (max-width: 420px) {
  body#cart .product-line-grid-right .qty { margin-right: .7rem; }
  body#cart .cart-line-product-actions { margin-left: .4rem; }
}
