/* Cart page visual adjustment */

.fs-body-cart {
  color: #202020;
  background: #ffffff;
}

.fs-body-cart .fs-l-main,
.fs-body-cart .fs-l-pageMain,
.fs-body-cart .fs-l-cart {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px 40px;
  box-sizing: border-box;
}

.fs-body-cart .fs-c-heading--page,
.fs-body-cart .fs-c-pageTitle,
.fs-body-cart h1 {
  margin: 0;
  padding: 20px 0;
  border-bottom: 1px solid #dddddd;
  color: #202020;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

.fs-body-cart .fs-l-cart__contentsArea {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  align-items: start;
  padding-top: 24px;
}

.fs-body-cart .fs-l-cart__mainColumn,
.fs-body-cart .fs-l-cart__sideColumn {
  width: 100%;
  box-sizing: border-box;
}

.fs-body-cart .fs-c-cartTable,
.fs-body-cart .fs-c-cartTable table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #dddddd;
  background: #ffffff;
}

.fs-body-cart .fs-c-cartTable th,
.fs-body-cart .fs-c-cartTable td {
  padding: 20px 10px;
  border-bottom: 1px solid #dddddd;
  color: #202020;
  vertical-align: top;
}

.fs-body-cart .fs-c-cartTable th {
  color: #666666;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
}

.fs-body-cart .fs-c-cartTable td {
  font-size: 13px;
  line-height: 1.6;
}

.fs-body-cart .fukuske-cart-item-row__imageArea img,
.fs-body-cart .fs-c-cartTable td img,
.fs-body-cart .fs-c-cartProduct__image img {
  display: block;
  width: 148px;
  height: 148px;
  object-fit: contain;
  background: #f7f7f7;
}

.fs-body-cart .fs-c-cartTable__productName,
.fs-body-cart .fs-c-cartProduct__name,
.fs-body-cart .fs-c-cartTable a[href*="/c/"] {
  color: #202020;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: none;
}

.fs-body-cart .fs-c-cartTable__variation,
.fs-body-cart .fs-c-cartProduct__variation,
.fs-body-cart .fs-c-cartTable__productOptions {
  margin-top: 8px;
  color: #666666;
  font-size: 12px;
  line-height: 1.5;
}

.fs-body-cart .fs-c-cartTable__unitPrice,
.fs-body-cart .fs-c-cartTable__subtotal,
.fs-body-cart .fs-c-cartTable__price,
.fs-body-cart .fs-c-cartTable .fs-c-price,
.fs-body-cart .fs-c-cartProduct__price {
  color: #202020;
  font-size: 16px;
  font-weight: 700;
  text-align: left;
}

.fs-body-cart .fs-c-cartTable input[type="number"],
.fs-body-cart .fs-c-cartTable input[type="text"],
.fs-body-cart .fs-c-cartTable select {
  width: 72px;
  height: 38px;
  padding: 0 8px;
  border: 1px solid #b9b9b9;
  border-radius: 3px;
  background: #ffffff;
  box-sizing: border-box;
  font-size: 14px;
  text-align: center;
}

.fs-body-cart .fs-c-cartTable button,
.fs-body-cart .fs-c-cartTable .fs-c-button,
.fs-body-cart .fs-c-cartTable a.fs-c-button {
  border-radius: 4px;
  font-size: 12px;
}

.fs-body-cart .fs-c-cartTable__delete,
.fs-body-cart .fs-c-cartTable__action,
.fs-body-cart .fs-c-cartProduct__remove {
  color: #1478b8;
  font-size: 12px;
  text-decoration: none;
}

.fs-body-cart .fs-c-totalAndActions,
.fs-body-cart .fs-c-totalAndActions.fs-l-cart__sideColumn {
  position: sticky;
  top: 24px;
  padding: 22px 18px;
  background: #f6f6f6;
  box-sizing: border-box;
}

.fs-cart-visual-enhanced .fs-c-totalAndActions::before {
  display: none;
  content: none;
}

.fs-body-cart .fukuske-cart-summary__heading {
  display: flex;
  justify-content: space-between;
  padding-bottom: 17px;
  border-bottom: 1px solid #dddddd;
  color: #202020;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}

.fs-body-cart .fs-c-totalAndActions table,
.fs-body-cart .fs-c-totalAndActions dl,
.fs-body-cart .fs-c-totalAndActions ul {
  width: 100%;
  margin: 0;
  padding: 0;
  border-collapse: collapse;
  list-style: none;
}

.fs-body-cart .fs-c-totalAndActions tr,
.fs-body-cart .fs-c-totalAndActions dl,
.fs-body-cart .fs-c-totalAndActions li,
.fs-body-cart .fs-c-totalAndActions__row {
  border-bottom: 1px solid #dddddd;
}

.fs-body-cart .fs-c-totalAndActions th,
.fs-body-cart .fs-c-totalAndActions td,
.fs-body-cart .fs-c-totalAndActions dt,
.fs-body-cart .fs-c-totalAndActions dd,
.fs-body-cart .fs-c-totalAndActions li,
.fs-body-cart .fs-c-totalAndActions__row {
  padding: 14px 0;
  color: #202020;
  font-size: 14px;
  line-height: 1.5;
}

.fs-body-cart .fs-c-totalAndActions th,
.fs-body-cart .fs-c-totalAndActions dt {
  color: #666666;
  font-weight: 400;
  text-align: left;
}

.fs-body-cart .fs-c-totalAndActions td,
.fs-body-cart .fs-c-totalAndActions dd,
.fs-body-cart .fs-c-totalAndActions .fs-c-price {
  color: #202020;
  font-weight: 700;
  text-align: right;
}

.fs-body-cart .fs-c-totalAndActions__total,
.fs-body-cart .fs-c-totalAndActions__totalPrice,
.fs-body-cart .fs-c-totalAndActions__grandTotal,
.fs-body-cart .fs-c-totalAndActions .fs-c-price__value {
  font-size: 18px;
  font-weight: 700;
}

.fs-body-cart .fs-c-totalAndActions__button,
.fs-body-cart .fs-c-totalAndActions__action,
.fs-body-cart .fs-c-totalAndActions .fs-c-buttonContainer {
  margin-top: 16px;
}

.fs-body-cart .fs-c-totalAndActions .fs-c-button,
.fs-body-cart .fs-c-totalAndActions button,
.fs-body-cart .fs-c-totalAndActions a[class*="button"],
.fs-body-cart .fs-c-totalAndActions a[class*="Button"] {
  display: grid;
  width: 100%;
  height: 52px;
  padding: 0 20px;
  place-items: center;
  border: 1px solid #e52418;
  border-radius: 5px;
  background: #e52418;
  box-sizing: border-box;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}

.fs-body-cart .fs-c-totalAndActions .fs-c-button--continueShopping,
.fs-body-cart .fs-c-totalAndActions .fs-c-button--secondary,
.fs-body-cart .fukuske-cart-continue-button {
  border-color: #202020 !important;
  background: #ffffff !important;
  color: #202020 !important;
}

.fs-body-cart .fukuske-cart-checkout-button {
  background: #e52418 !important;
  border-color: #e52418 !important;
  color: #ffffff !important;
}

.fs-body-cart .fs-c-cartError,
.fs-body-cart .fs-c-cartMessage,
.fs-body-cart .fs-c-freeShipping,
.fs-body-cart .fs-c-cartDiscountInfo {
  margin: 0 0 20px;
  padding: 14px 16px;
  border-bottom: 1px solid #e5e5e5;
  background: #ffffff;
  color: #4f4f4f;
  font-size: 13px;
  line-height: 1.6;
}

.fs-body-cart .fukuske-cart-shipping {
  margin: 0 0 20px;
  padding: 20px 0;
  border-bottom: 1px solid #e5e5e5;
  background: #ffffff;
}

.fs-body-cart .fukuske-cart-shipping__title {
  display: block;
  color: #202020;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

.fs-body-cart .fukuske-cart-shipping__track {
  overflow: hidden;
  height: 6px;
  margin: 11px 0 8px;
  border-radius: 3px;
  background: #eeeeee;
}

.fs-body-cart .fukuske-cart-shipping__track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: #e52418;
  transition: width 220ms ease;
}

.fs-body-cart .fukuske-cart-shipping[data-achieved="true"] .fukuske-cart-shipping__track span {
  background: #248a4b;
}

.fs-body-cart .fukuske-cart-shipping__text {
  display: block;
  color: #666666;
  font-size: 12px;
  line-height: 1.5;
}


.fs-body-cart .fukuske-cart-quantity {
  display: inline-grid;
  grid-template-columns: 36px 44px 36px;
  border: 1px solid #b9b9b9;
  border-radius: 3px;
  background: #ffffff;
  overflow: hidden;
  vertical-align: middle;
}

.fs-body-cart .fukuske-cart-quantity__button {
  display: grid;
  padding: 8px 0;
  place-items: center;
  border: 0;
  background: #f8f8f8;
  color: #202020;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.fs-body-cart .fukuske-cart-quantity__button + .fukuske-cart-quantity__input,
.fs-body-cart .fukuske-cart-quantity__input + .fukuske-cart-quantity__button {
  border-left: 1px solid #d8d8d8;
}

.fs-body-cart .fukuske-cart-quantity__input,
.fs-body-cart .fs-c-cartTable .fukuske-cart-quantity__input {
  width: 44px;
  padding: 8px 0;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  color: #202020;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

.fs-body-cart .fukuske-cart-service {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  gap: 0;
  margin: 24px 0 0;
  border-top: 1px solid #d8d8d8;
  border-bottom: 1px solid #d8d8d8;
}

.fs-body-cart .fukuske-cart-service__item {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  justify-content: start;
  gap: 12px;
  padding: 18px 24px;
  border-left: 1px solid #d8d8d8;
  text-align: left;
}

.fs-body-cart .fukuske-cart-service__item:first-child {
  border-left: 0;
}

.fs-body-cart .fukuske-cart-service__icon {
  position: relative;
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f5f5f5;
}

.fs-body-cart .fukuske-cart-service__icon::before {
  content: "";
  position: absolute;
  inset: 6px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.fs-body-cart .fukuske-cart-service__icon[data-service-icon="shipping"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23202020' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3z'/%3E%3Cpath d='M14 10h3l4 4v2h-7z'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3C/svg%3E");
}

.fs-body-cart .fukuske-cart-service__icon[data-service-icon="payment"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23202020' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M7 15h4'/%3E%3C/svg%3E");
}

.fs-body-cart .fukuske-cart-service p {
  margin: 0;
}

.fs-body-cart .fukuske-cart-service strong {
  display: block;
  color: #000000;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.fs-body-cart .fukuske-cart-service span:not(.fukuske-cart-service__icon) {
  display: block;
  margin-top: 3px;
  color: #666666;
  font-size: 12px;
  line-height: 1.45;
}

.fs-body-cart .fukuske-recommend-card {
  box-sizing: border-box;
}

.fs-body-cart .fukuske-recommend-variant {
  margin-top: 10px;
}

.fs-body-cart .fukuske-recommend-variant__fields {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-bottom: 10px;
}

.fs-body-cart .fukuske-recommend-variant__field {
  display: block;
}

.fs-body-cart .fukuske-recommend-variant__field span,
.fs-body-cart .fukuske-recommend-variant__message {
  display: block;
  margin-bottom: 4px;
  color: #666666;
  font-size: 11px;
  line-height: 1.4;
}

.fs-body-cart .fukuske-recommend-variant__field select {
  width: 100%;
  height: 40px;
  padding: 0 28px 0 10px;
  border: 1px solid #b9b9b9;
  border-radius: 3px;
  background: #ffffff;
  color: #202020;
  font-size: 13px;
}

.fs-body-cart .fukuske-recommend-variant__button {
  display: grid;
  width: 100%;
  height: 44px;
  padding: 0 16px;
  place-items: center;
  border: 1px solid #e52418;
  border-radius: 5px;
  background: #e52418;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}

.fs-body-cart .fukuske-recommend-variant__button:disabled {
  opacity: 0.72;
  cursor: wait;
}

@media screen and (max-width: 768px) {
  .fs-body-cart .fs-l-main {
    padding: 0 20px 32px;
  }

  .fs-body-cart .fs-l-pageMain,
  .fs-body-cart .fs-l-cart {
    padding: 0 0 32px;
  }

  .fs-body-cart .fs-l-cart__contentsArea {
    display: block;
    padding-top: 16px;
  }

  .fs-body-cart .fs-l-cart__sideColumn {
    margin-top: 22px;
  }

  .fs-body-cart .fs-c-totalAndActions,
  .fs-body-cart .fs-c-totalAndActions.fs-l-cart__sideColumn {
    position: static;
    padding: 22px 18px;
  }

  .fs-body-cart .fs-c-cartTable th,
  .fs-body-cart .fs-c-cartTable td {
    padding: 16px 8px;
  }

  .fs-body-cart .fukuske-cart-item-row__imageArea img,
  .fs-body-cart .fs-c-cartTable td img,
  .fs-body-cart .fs-c-cartProduct__image img {
    width: 96px;
    height: 96px;
  }

  .fs-body-cart .fs-c-cartTable__productName,
  .fs-body-cart .fs-c-cartProduct__name,
  .fs-body-cart .fs-c-cartTable a[href*="/c/"] {
    font-size: 13px;
  }

  .fs-body-cart .fukuske-cart-shipping {
    margin-bottom: 16px;
    padding: 18px 0;
  }

  .fs-body-cart .fukuske-cart-table,
  .fs-body-cart .fukuske-cart-table tbody,
  .fs-body-cart .fukuske-cart-table tr,
  .fs-body-cart .fukuske-cart-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .fs-body-cart .fukuske-cart-table thead {
    display: none;
  }

  .fs-body-cart .fukuske-cart-item-row {
    position: relative;
    padding: 16px 0;
    border-bottom: 1px solid #dddddd;
  }

  .fs-body-cart .fukuske-cart-item-row td {
    padding: 6px 0;
    border-bottom: 0;
  }

  .fs-body-cart .fukuske-cart-item-row__image {
    float: left;
    width: 106px;
    margin-right: 14px;
    padding-top: 0;
  }

  .fs-body-cart .fukuske-cart-item-row__control,
  .fs-body-cart .fukuske-cart-item-row__price {
    clear: both;
  }
  .fs-body-cart .fukuske-cart-service {
    grid-template-columns: 1fr;
    margin-top: 20px;
  }

  .fs-body-cart .fukuske-cart-service__item {
    padding: 14px 4px;
    border-left: 0;
    border-top: 1px solid #d8d8d8;
  }

  .fs-body-cart .fukuske-cart-service__item:first-child {
    border-top: 0;
  }



  .fs-body-cart .fukuske-recommend-variant__fields {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}


/* Cart free parts and existing non-editable system areas */
.fs-body-cart .fs-c-noResultMessage {
  margin: 0 0 20px;
  padding: 24px 18px;
  border: 1px solid #dddddd;
  background: #ffffff;
  color: #202020;
  text-align: center;
}

.fs-body-cart .fs-c-continueShopping {
  width: 58%;
  margin: 28px auto 0;
}

.fs-body-cart .fs-c-continueShopping a {
  box-sizing: border-box;
  display: grid;
  width: 100%;
  place-items: center;
  padding: 15px 0;
  border: 1px solid #b8b8b8;
  border-radius: 4px;
  background: #ffffff;
  color: #000000;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.fs-body-cart .fs-p-announcement {
  margin: 24px 0;
  padding: 20px 0;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  background: #ffffff;
}

.fs-body-cart .fs-p-announcement__title {
  margin: 0 0 12px;
  color: #202020;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.fs-body-cart .fs-p-announcement__body {
  color: #555555;
  font-size: 13px;
  line-height: 1.7;
}

.fs-body-cart .fs-p-announcement__body p {
  margin: 0 0 10px;
}

.fs-body-cart .fs-p-flexibleColumn {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.fs-body-cart .fs-p-linkButton {
  display: inline-grid;
  height: 38px;
  padding: 0 14px;
  place-items: center;
  border: 1px solid #dddddd;
  border-radius: 4px;
  color: #202020;
  background: #ffffff;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.fs-body-cart .fukuske-cart-shipping__related {
  display: block;
  margin-top: 12px;
  padding: 0;
  border: 0;
  color: #1478b8;
  background: transparent;
  font-size: 13px;
  text-align: left;
}

.fs-body-cart .fukuske-cart-shipping__related[hidden] {
  display: none;
}

.fs-body-cart .fukuske-cart-shipping[data-achieved="true"] .fukuske-cart-shipping__related {
  color: #248a4b;
  font-weight: 700;
  pointer-events: none;
}

.fs-body-cart .fukuske-cart-shipping__note {
  display: block;
  margin-top: 10px;
  color: #666666;
  font-size: 10px;
  line-height: 1.5;
}

.fs-body-cart .fukuske-cart-related {
  margin: 28px 0;
  padding: 24px 0 0;
  border-top: 1px solid #e5e5e5;
}

.fs-body-cart .fukuske-cart-related__heading {
  margin: 0 0 4px;
  color: #202020;
  font-size: 18px;
  font-weight: 700;
}

.fs-body-cart .fukuske-cart-related__lead {
  margin: 0 0 16px;
  color: #666666;
  font-size: 12px;
}

.fs-body-cart .FS2_Recommend2_ranking_horizontal,
.fs-body-cart .fs-c-coordinationCatalog {
  margin: 32px 0;
  padding-top: 24px;
  border-top: 1px solid #e5e5e5;
}

.fs-body-cart .FS2_Recommend2_ranking_horizontal .CrossHead,
.fs-body-cart .fs-c-coordinationCatalog__title {
  margin: 0 0 16px;
  padding: 0;
  color: #202020;
  background: transparent;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

.fs-body-cart .FS2_Recommend2_ranking_horizontal ol,
.fs-body-cart .fs-c-coordinationCatalog__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  width: auto;
  padding: 0;
  overflow: visible;
}

.fs-body-cart .FS2_Recommend2_ranking_horizontal ol li,
.fs-body-cart .fs-c-coordinationCatalog__list__item {
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fs-body-cart .FS2_Recommend2_ranking_horizontal a,
.fs-body-cart .fs-c-coordinationCatalog a {
  color: #202020;
  text-decoration: none;
}

.fs-body-cart .FS2_Recommend2_ranking_horizontal img,
.fs-body-cart .fs-c-coordinationImage__image {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: #f7f7f7;
}

@media screen and (max-width: 768px) {
  .fs-body-cart .fs-p-flexibleColumn {
    display: grid;
    grid-template-columns: 1fr;
  }

  .fs-body-cart .FS2_Recommend2_ranking_horizontal ol,
  .fs-body-cart .fs-c-coordinationCatalog__list {
    display: grid;
    grid-auto-columns: 46%;
    grid-auto-flow: column;
    grid-template-columns: none;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 12px;
  }
}



/* Unified cart support part and related product modal */
.fs-body-cart .fukuske-cart-support-part {
  display: contents;
}

.fs-body-cart .fukuske-cart-shipping__related {
  cursor: pointer;
}

.fs-body-cart.fukuske-cart-related-modal-open {
  overflow: hidden;
}

.fs-body-cart .fukuske-cart-related-modal[hidden] {
  display: none;
}

.fs-body-cart .fukuske-cart-related-modal {
  position: fixed;
  z-index: 10000;
  inset: 0;
}

.fs-body-cart .fukuske-cart-related-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.fs-body-cart .fukuske-cart-related-modal__dialog {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% - 32px);
  max-width: 520px;
  max-height: calc(100vh - 48px);
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  border-radius: 7px;
  background: #ffffff;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.2);
  color: #202020;
  outline: 0;
  height: 80%;
}

.fs-body-cart .fukuske-cart-related-modal__handle {
  width: 44px;
  height: 2px;
  margin: 8px auto 0;
  background: #cfcfcf;
}

.fs-body-cart .fukuske-cart-related-modal__header {
  display: flex !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  height: auto !important;
  flex: 0 0 auto !important;
  padding: 18px 24px !important;
  overflow: visible !important;
  border-bottom: 1px solid #dddddd !important;
}

.fs-body-cart .fukuske-cart-related-modal__header h2 {
  margin: 0;
  color: #202020;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}

.fs-body-cart .fukuske-cart-related-modal__header p {
  margin: 2px 0 0;
  color: #666666;
  font-size: 11px;
  line-height: 1.5;
}

.fs-body-cart .fukuske-cart-related-modal__close {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #202020;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}

.fs-body-cart .fukuske-cart-related-modal__body {
  overflow-y: auto;
  padding: 16px 18px 0;
}

.fs-body-cart .fukuske-cart-related-modal__list .fukuske-recommend-card {
  display: grid;
  grid-template-columns: 104px 1fr;
  gap: 14px;
  padding: 0 0 16px;
  margin: 0 0 16px;
  border-bottom: 1px solid #dddddd;
}

.fs-body-cart .fukuske-cart-related-modal__list .fukuske-recommend-card img {
  display: block;
  width: 104px;
  height: 104px;
  object-fit: cover;
  background: #f7f7f7;
}

.fs-body-cart .fukuske-cart-related-modal__list .fr3-item__productName,
.fs-body-cart .fukuske-cart-related-modal__list .fr3-item__productName a,
.fs-body-cart .fukuske-cart-related-modal__list .ProductName,
.fs-body-cart .fukuske-cart-related-modal__list a[href*="/c/"] {
  color: #202020;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
}

.fs-body-cart .fukuske-cart-related-modal__list .fr3-item__productPrice,
.fs-body-cart .fukuske-cart-related-modal__list .ProductPrice,
.fs-body-cart .fukuske-cart-related-modal__list .fs-c-price {
  margin-top: 6px;
  color: #202020;
  font-size: 16px;
  font-weight: 700;
  text-align: left;
}

.fs-body-cart .fukuske-cart-related-modal__list .fukuske-recommend-variant__button {
  height: 44px;
}

.fs-body-cart .fukuske-cart-related-modal__empty {
  margin: 0 0 16px;
  color: #666666;
  font-size: 13px;
  line-height: 1.7;
}

.fs-body-cart .fukuske-cart-related-modal__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 18px;
  border-top: 1px solid #dddddd;
  background: #ffffff;
}

.fs-body-cart .fukuske-cart-related-modal__footer span {
  color: #202020;
  font-size: 11px;
  line-height: 1.35;
}

.fs-body-cart .fukuske-cart-related-modal__footer strong {
  color: #202020;
  font-size: 14px;
  font-weight: 700;
}

.fs-body-cart .fukuske-cart-related-modal__footer button {
  height: 42px;
  padding: 0 18px;
  border: 1px solid #e52418;
  border-radius: 5px;
  background: #e52418;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .fs-body-cart .fukuske-cart-related-modal__dialog {
    width: calc(100% - 24px);
    max-height: calc(100vh - 24px);
  }

  .fs-body-cart .fukuske-cart-related-modal__header,
  .fs-body-cart .fukuske-cart-related-modal__body,
  .fs-body-cart .fukuske-cart-related-modal__footer {
    padding-left: 14px;
    padding-right: 14px;
  }

  .fs-body-cart .fukuske-cart-related-modal__list .fukuske-recommend-card {
    grid-template-columns: 88px 1fr;
    gap: 12px;
  }

  .fs-body-cart .fukuske-cart-related-modal__list .fukuske-recommend-card img {
    width: 88px;
    height: 88px;
  }
}


/* AI Recommend source inside the related modal */
.fs-body-cart .fukuske-cart-related-modal .add_product {
  margin: 0;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .flywheel-recommend__frame {
  margin: 0;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-productListCarousel__slides,
.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-productListCarousel__track,
.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-productListCarousel__list {
  display: block;
  overflow: visible;
  padding: 0;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-productListCarousel__slide,
.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item,
.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-recommend-card {
  display: grid;
  grid-template-columns: 104px 1fr;
  gap: 14px;
  width: 100%;
  padding: 0 0 16px;
  margin: 0 0 16px;
  border-bottom: 1px solid #dddddd;
  box-sizing: border-box;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item img,
.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-recommend-card img {
  display: block;
  width: 104px;
  height: 104px;
  object-fit: cover;
  background: #f7f7f7;
}

@media screen and (max-width: 768px) {
  .fs-body-cart .fukuske-cart-related-modal .add_product .fr3-productListCarousel__slide,
  .fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item,
  .fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-recommend-card {
    grid-template-columns: 88px 1fr;
    gap: 12px;
  }

  .fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item img,
  .fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-recommend-card img {
    width: 88px;
    height: 88px;
  }
}


/* Demo-aligned cart item rows and modal refinements */
.fs-body-cart .fs-c-cartTable table,
.fs-body-cart .fs-c-cartTable tbody {
  display: block;
}

.fs-body-cart .fs-c-cartTable thead {
  display: none;
}

.fs-body-cart .fs-c-cartTable tr.fukuske-cart-item-row {
  display: grid;
  grid-template-columns: 148px 1fr 64px;
  gap: 0 14px;
  align-items: start;
  width: 100%;
  padding: 16px 0 26px;
  border-bottom: 1px solid #dddddd;
  box-sizing: border-box;
}

.fs-body-cart .fs-c-cartTable tr.fukuske-cart-item-row > th,
.fs-body-cart .fs-c-cartTable tr.fukuske-cart-item-row > td {
  display: block;
  padding: 0;
  border-bottom: 0;
  box-sizing: border-box;
}

.fs-body-cart .fukuske-cart-item-row__mergedCell {
  display: none !important;
}

.fs-body-cart .fukuske-cart-item-row__image {
  grid-column: 1;
  grid-row: 1 / span 6;
}

.fs-body-cart .fukuske-cart-item-row__image img,
.fs-body-cart .fs-c-cartTable tr.fukuske-cart-item-row > td:first-child img {
  width: 148px;
  height: 148px;
  object-fit: cover;
}

.fs-body-cart .fukuske-cart-item-row__detail {
  grid-column: 2;
  grid-row: 1;
  margin-bottom: 8px;
}

.fs-body-cart .fukuske-cart-item-row__name {
  display: inline-block;
  color: #202020;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
  text-decoration: none;
}

.fs-body-cart .fukuske-cart-item-row__variant,
.fs-body-cart .fukuske-cart-item-row__variantGroup {
  grid-column: 2;
  grid-row: 2;
  display: grid !important;
  grid-template-columns: 1fr 200px;
  gap: 10px;
  margin-bottom: 6px;
}

.fs-body-cart .fukuske-cart-item-row__variant label,
.fs-body-cart .fukuske-cart-item-row__variantGroup label {
  display: block;
  color: #666666;
  font-size: 10px;
  line-height: 1.4;
}

.fs-body-cart .fukuske-cart-item-row__variant select,
.fs-body-cart .fukuske-cart-item-row__variantGroup select,
.fs-body-cart .fs-c-cartTable tr.fukuske-cart-item-row select {
  width: 100%;
  height: 38px;
  margin-top: 3px;
  padding: 0 28px 0 10px;
  border: 1px solid #b9b9b9;
  border-radius: 3px;
  background: #ffffff;
  color: #202020;
  font-size: 13px;
}

.fs-body-cart .fukuske-cart-item-row__price {
  grid-column: 2;
  grid-row: 3;
  margin: 2px 0 10px;
  color: #202020;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.fs-body-cart .fukuske-cart-item-row__price small,
.fs-body-cart .fukuske-cart-item-row__price .fs-c-productPrice__addon,
.fs-body-cart .fukuske-cart-item-row__price [class*='tax'] {
  display: block;
  color: #666666;
  font-size: 10px;
  font-weight: 400;
}

.fs-body-cart .fukuske-cart-item-row__quantity {
  grid-column: 2;
  grid-row: 4;
}

.fs-body-cart .fukuske-cart-item-row__remove {
  grid-column: 3;
  grid-row: 4;
  align-self: center;
  justify-self: end;
}

.fs-body-cart .fukuske-cart-item-row__remove a,
.fs-body-cart .fukuske-cart-item-row__remove button {
  padding: 0;
  border: 0;
  color: #1478b8;
  background: transparent;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.fs-body-cart .fukuske-cart-shipping__related {
  display: block !important;
}

.fs-body-cart .fukuske-cart-related-modal__handle {
  height: 2px;
  margin-top: 8px;
  border-radius: 0;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-productListCarousel__slide,
.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item,
.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-recommend-card {
  grid-template-columns: 104px 1fr;
  gap: 14px;
  padding-bottom: 16px;
  margin-bottom: 16px;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item__productPrice,
.fs-body-cart .fukuske-cart-related-modal .add_product .fs-c-price {
  margin-top: 6px;
  text-align: left;
}

.fs-body-cart .fukuske-cart-related-modal .fukuske-recommend-variant__fields {
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.fs-body-cart .fukuske-cart-related-modal .fukuske-recommend-variant__button {
  height: 44px;
  border-radius: 4px;
  background: #e52418;
}

@media screen and (max-width: 768px) {
  .fs-body-cart .fs-c-cartTable tr.fukuske-cart-item-row {
    grid-template-columns: 104px 1fr 44px;
    gap: 0 12px;
    padding-bottom: 20px;
  }

  .fs-body-cart .fukuske-cart-item-row__image img,
  .fs-body-cart .fs-c-cartTable tr.fukuske-cart-item-row > td:first-child img {
    width: 104px;
    height: 104px;
  }

  .fs-body-cart .fukuske-cart-item-row__variant,
  .fs-body-cart .fukuske-cart-item-row__variantGroup,
  .fs-body-cart .fukuske-cart-related-modal .fukuske-recommend-variant__fields {
    grid-template-columns: 1fr;
  }
}

/* Hide native FutureShop postage discount notice */
.fs-body-cart .fs-c-cartDiscountInfo.fs-c-cartDiscountInfo--postage,
.fs-body-cart .fs-c-cartDiscountInfo--postage {
  display: none !important;
}






/* Collapse the native cart product image column */
.fs-body-cart .fs-c-cartTable__product {
  display: grid !important;
  grid-template-columns: 0px 1fr !important;
}

/* Hide native FutureShop cart image cell after JS rebuilds the cart item layout */
.fs-body-cart .fs-c-cartTable__productImage.fs-c-productImage,
.fs-body-cart .fs-c-cartTable__productImage {
  display: none !important;
}

/* Current FutureShop cart DOM normalization */
.fs-body-cart .fs-c-cartTable tr.fukuske-cart-item-row {
  grid-template-columns: 1fr 64px;
  gap: 0 16px;
}

.fs-body-cart .fukuske-cart-item-row__productCell {
  grid-column: 1;
  grid-row: 1 / span 5;
  display: grid !important;
  grid-template-columns: 148px 1fr;
  gap: 14px;
  align-items: start;
}

.fs-body-cart .fukuske-cart-item-row__image,
.fs-body-cart .fukuske-cart-item-row__detail,
.fs-body-cart .fukuske-cart-item-row__variant,
.fs-body-cart .fukuske-cart-item-row__variantGroup,
.fs-body-cart .fukuske-cart-item-row__price {
  grid-column: auto;
  grid-row: auto;
}

.fs-body-cart .fukuske-cart-item-row__imageArea {
  grid-column: 1;
  grid-row: 1;
  background: #ffffff;
}

.fs-body-cart .fukuske-cart-item-row__imageArea a,
.fs-body-cart .fukuske-cart-item-row__imageArea picture {
  display: block;
}

.fs-body-cart .fukuske-cart-item-row__imageArea img {
  display: block;
  width: 148px;
  height: 148px;
  object-fit: contain;
  background: #f7f7f7;
}

.fs-body-cart .fukuske-cart-item-row__infoArea {
  grid-column: 2;
  grid-row: 1;
}

.fs-body-cart .fukuske-cart-item-row__infoArea .fukuske-cart-item-row__name,
.fs-body-cart .fukuske-cart-item-row__infoArea a[href*="/c/"] {
  display: inline;
  color: #202020;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
  text-decoration: none;
}



.fs-body-cart .fs-c-listedProductName__variation {
  font-size: 14px;
}
.fs-body-cart .fukuske-cart-item-row__variantHost {
  display: grid;
  grid-template-columns: 1fr 200px;
  gap: 10px;
  margin: 8px 0 6px;
}

.fs-body-cart .fukuske-cart-item-row__variantField {
  display: block;
  color: #666666;
  font-size: 10px;
  line-height: 1.4;
}

.fs-body-cart .fukuske-cart-item-row__variantField select {
  width: 100%;
  height: 38px;
  margin-top: 3px;
  padding: 0 28px 0 10px;
  border: 1px solid #b9b9b9;
  border-radius: 3px;
  background: #ffffff;
  color: #202020;
  font-size: 13px;
}

.fs-body-cart .fukuske-cart-item-row__productCell .fs-c-price,
.fs-body-cart .fukuske-cart-item-row__productCell [class*='Price'],
.fs-body-cart .fukuske-cart-item-row__productCell [class*='price'] {
  margin-top: 6px;
  color: #202020;
  font-size: 14px;
  font-weight: 700;
  text-align: left;
}

.fs-body-cart .fukuske-cart-item-row__quantity {
  grid-column: 1;
  grid-row: 2;
  margin-left: 162px;
  margin-top: 10px;
}

.fs-body-cart .fukuske-cart-item-row__remove {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  justify-self: end;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item__rankContainer {
  display: none !important;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-productListCarousel__slide {
  display: block;
  width: 100%;
  padding: 0 0 16px;
  margin: 0 0 16px;
  border-bottom: 1px solid #dddddd;
  box-sizing: border-box;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-productListCarousel__slide > .fr3-item,
.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item.fukuske-recommend-card {
  display: grid;
  grid-template-columns: 104px 1fr;
  gap: 14px;
  width: 100%;
  padding: 0;
  margin: 0;
  border-bottom: 0;
  box-sizing: border-box;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item__productImage,
.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item__imageContainer,
.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item > a:has(img),
.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item > img {
  grid-column: 1;
  grid-row: 1 / span 6;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item img {
  width: 104px;
  height: 104px;
  object-fit: cover;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item__productName,
.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item__productPrice,
.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-recommend-variant,
.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item > :not(.fr3-item__productImage):not(.fr3-item__imageContainer):not(a:has(img)):not(img) {
  grid-column: 2;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fr3-item__productName {
  color: #202020;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

@media screen and (max-width: 768px) {
  .fs-body-cart .fukuske-cart-item-row__productCell {
    grid-template-columns: 104px 1fr;
    gap: 12px;
  }

  .fs-body-cart .fukuske-cart-item-row__imageArea img {
    width: 104px;
    height: 104px;
  }

  .fs-body-cart .fukuske-cart-item-row__variantHost {
    grid-template-columns: 1fr;
  }

  .fs-body-cart .fukuske-cart-item-row__quantity {
    margin-left: 116px;
  }
}




/* Cart line price: show quantity x unit price, then unit price below */
.fs-body-cart .fukuske-cart-line-price {
  display: block;
  margin-top: 8px;
  color: #202020;
  font-weight: 700;
  text-align: left;
}

.fs-body-cart .fukuske-cart-line-price__total {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  color: #202020;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  white-space: nowrap;
}

.fs-body-cart .fukuske-cart-line-price__tax {
  display: inline;
  margin-left: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.fs-body-cart .fukuske-cart-line-price__unit {
  display: block;
  margin-top: 2px;
  color: #666666;
  font-size: 14px;
  font-weight: 400 !important;
  line-height: 1.4;
}

.fs-body-cart .fukuske-cart-item-row__lineSubtotalHidden,
.fs-body-cart .fukuske-cart-native-price-hidden {
  display: none !important;
}

/* Cart row border cleanup, variant display, and select quantity stepper */
.fs-body-cart .fs-c-cartTable,
.fs-body-cart .fs-c-cartTable table {
  border-top: 0 !important;
}

.fs-body-cart .fs-c-cartTable tr.fukuske-cart-item-row {
  border-top: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
}

.fs-body-cart .fs-c-cartTable tr.fukuske-cart-item-row > th,
.fs-body-cart .fs-c-cartTable tr.fukuske-cart-item-row > td,
.fs-body-cart .fukuske-cart-item-row__productCell,
.fs-body-cart .fukuske-cart-item-row__infoArea,
.fs-body-cart .fukuske-cart-item-row__quantity {
  border: 0 !important;
}

.fs-body-cart .fukuske-cart-item-row__productCell {
  padding: 0 !important;
}

.fs-body-cart .fukuske-cart-item-row__variantHost {
  grid-template-columns: 1fr 200px;
  margin: 8px 0 6px;
}

.fs-body-cart .fukuske-cart-item-row__variantField {
  display: block;
}

.fs-body-cart .fukuske-cart-item-row__variantField span {
  display: block;
  margin-bottom: 3px;
  color: #666666;
  font-size: 10px;
  line-height: 1.4;
}

.fs-body-cart .fukuske-cart-item-row__variantValue {
  display: block;
  color: #202020;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
}

.fs-body-cart .fukuske-cart-item-row__hiddenSelect,
.fs-body-cart .fukuske-cart-quantity select.fukuske-cart-quantity__input {
  display: none !important;
}

.fs-body-cart .fukuske-cart-quantity {
  grid-template-columns: 36px 44px 36px;
  width: 116px;
}

.fs-body-cart .fukuske-cart-quantity__value {
  display: grid;
  padding: 8px 0;
  place-items: center;
  border-left: 1px solid #d8d8d8;
  background: #ffffff;
  color: #202020;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.fs-body-cart .fukuske-cart-quantity__value + .fukuske-cart-quantity__button {
  border-left: 1px solid #d8d8d8;
}

@media screen and (max-width: 768px) {
  .fs-body-cart .fukuske-cart-item-row__variantHost {
    grid-template-columns: 1fr;
  }
}


/* Recommend variation availability */
.fs-body-cart .fukuske-recommend-variant__field option:disabled {
  color: #999999;
}

.fs-body-cart .fukuske-recommend-variant__button:disabled {
  border-color: #b9b9b9;
  background: #b9b9b9;
  color: #ffffff;
  cursor: not-allowed;
}

.fs-body-cart .fukuske-recommend-variant__message:empty {
  display: none;
}


/* Reduce cart system-part flicker before JS normalization completes */
body:not(.fs-cart-ready) .fs-c-cartTable,
body:not(.fs-cart-ready) .fs-c-totalAndActions,
body:not(.fs-cart-ready) .fukuske-cart-shipping {
  opacity: 0;
  animation: fukuskeCartAutoReveal 1ms linear 900ms forwards;
}

body.fs-cart-ready .fs-c-cartTable,
body.fs-cart-ready .fs-c-totalAndActions,
body.fs-cart-ready .fukuske-cart-shipping {
  opacity: 1;
  animation: none;
}

body.fs-cart-ready.fs-cart-visual-enhanced .fs-c-cartTable:not(.fukuske-cart-table) {
  opacity: 0;
  animation: fukuskeCartAutoReveal 1ms linear 900ms forwards;
}

@keyframes fukuskeCartFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes fukuskeCartAutoReveal {
  to { opacity: 1; }
}


/* Order summary and checkout method modal */
.fs-body-cart .fs-c-totalAndActions,
.fs-body-cart .fs-c-totalAndActions.fs-l-cart__sideColumn {
  padding: 20px 18px;
  background: #f6f6f6;
}

.fs-body-cart .fukuske-cart-summary__heading {
  align-items: center;
  padding-bottom: 18px;
  font-size: 18px;
}

.fs-body-cart .fukuske-cart-summary__heading::after {
  content: attr(data-cart-count);
}

.fs-body-cart .fs-c-totalAndActions tr,
.fs-body-cart .fs-c-totalAndActions dl,
.fs-body-cart .fs-c-totalAndActions li,
.fs-body-cart .fs-c-totalAndActions__row {
  border-bottom: 1px solid #dddddd;
}

.fs-body-cart .fs-c-totalAndActions th,
.fs-body-cart .fs-c-totalAndActions td,
.fs-body-cart .fs-c-totalAndActions dt,
.fs-body-cart .fs-c-totalAndActions dd,
.fs-body-cart .fs-c-totalAndActions li,
.fs-body-cart .fs-c-totalAndActions__row {
  padding: 14px 0;
}


/* Seasonal recommendations use view buttons only */
.fs-body-cart .fukuske-seasonal-recommend-card .fukuske-recommend-variant,
.fs-body-cart .fukuske-seasonal-recommend-card .fukuske-recommend-variant__fields,
.fs-body-cart .fukuske-seasonal-recommend-card .fukuske-recommend-variant__button {
  display: none !important;
}

.fs-body-cart .fukuske-seasonal-view-button {
  display: grid;
  width: 100%;
  height: 38px;
  margin-top: 10px;
  place-items: center;
  border: 1px solid #202020;
  border-radius: 4px;
  background: #ffffff;
  color: #202020 !important;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}


/* Keep line total and unit price at separate font sizes */
.fs-body-cart .fukuske-cart-item-row__productCell .fukuske-cart-line-price__total {
  font-size: 16px;
  font-weight: 700;
}

.fs-body-cart .fukuske-cart-item-row__productCell .fukuske-cart-line-price__tax {
  font-size: 14px;
  font-weight: 700;
}

.fs-body-cart .fukuske-cart-item-row__productCell .fukuske-cart-line-price__unit {
  font-size: 14px;
  font-weight: 400 !important;
}


/* Checkout side column: order summary, stock note, and purchase CTA */
.fs-body-cart .fs-c-totalAndActions,
.fs-body-cart .fs-c-totalAndActions.fs-l-cart__sideColumn {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.fs-body-cart .fukuske-cart-summary__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 24px 18px 18px;
  border-bottom: 1px solid #dddddd;
  background: #f6f6f6;
  color: #202020;
  font-size: 18px;
  font-weight: 700;
}

.fs-body-cart .fs-c-totalAndActions table,
.fs-body-cart .fs-c-totalAndActions dl,
.fs-body-cart .fs-c-totalAndActions ul {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0 18px 18px;
  background: #f6f6f6;
}

.fs-body-cart .fs-c-totalAndActions tr,
.fs-body-cart .fs-c-totalAndActions dl,
.fs-body-cart .fs-c-totalAndActions li,
.fs-body-cart .fs-c-totalAndActions__row {
  border-bottom: 1px solid #dddddd;
}

.fs-body-cart .fs-c-totalAndActions th,
.fs-body-cart .fs-c-totalAndActions td,
.fs-body-cart .fs-c-totalAndActions dt,
.fs-body-cart .fs-c-totalAndActions dd,
.fs-body-cart .fs-c-totalAndActions li,
.fs-body-cart .fs-c-totalAndActions__row {
  padding: 13px 0;
  font-size: 14px;
}

.fs-body-cart .fs-c-totalAndActions__total,
.fs-body-cart .fs-c-totalAndActions__totalPrice,
.fs-body-cart .fs-c-totalAndActions__grandTotal,
.fs-body-cart .fs-c-totalAndActions .fs-c-price__value {
  font-size: 18px;
  font-weight: 700;
}

.fs-body-cart .fs-c-cartNotice,
.fs-body-cart .fs-c-cartNote,
.fs-body-cart .fs-c-cartAlert,
.fs-body-cart .fs-c-alert,
.fs-body-cart .fs-c-notice,
.fs-body-cart .fs-c-totalAndActions [class*="Notice"],
.fs-body-cart .fs-c-totalAndActions [class*="notice"],
.fs-body-cart .fs-c-totalAndActions [class*="Alert"],
.fs-body-cart .fs-c-totalAndActions [class*="alert"] {
  box-sizing: border-box;
  margin: 16px 0 0;
  padding: 12px 14px;
  border: 0;
  background: #f6f6f6;
  color: #666666;
  font-size: 12px;
  line-height: 1.6;
}

.fs-body-cart .fukuske-cart-checkout-action,
.fs-body-cart .fs-c-totalAndActions__button,
.fs-body-cart .fs-c-totalAndActions__action,
.fs-body-cart .fs-c-totalAndActions .fs-c-buttonContainer {
  display: grid !important;
  grid-template-columns: 1fr 1.6fr;
  gap: 14px;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  margin: 16px 0 0 !important;
  padding: 14px 12px !important;
  border: 1px solid #dddddd;
  background: #ffffff;
}

.fs-body-cart .fukuske-cart-checkout-summary {
  display: block;
  color: #666666;
  font-size: 12px;
  line-height: 1.45;
}

.fs-body-cart .fukuske-cart-checkout-summary strong {
  display: block;
  color: #202020;
  font-size: 18px;
  font-weight: 700;
}

.fs-body-cart .fukuske-cart-checkout-button,
.fs-body-cart .fs-c-totalAndActions .fukuske-cart-checkout-button {
  width: 100% !important;
  height: 52px;
  margin: 0 !important;
  border-color: #e52418 !important;
  background: #e52418 !important;
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 700;
}



.fs-body-cart .fukuske-cart-summary__heading {
  padding: 20px 18px 16px;
}

.fs-body-cart .fs-c-totalAndActions table,
.fs-body-cart .fs-c-totalAndActions dl,
.fs-body-cart .fs-c-totalAndActions ul {
  padding-right: 18px;
  padding-bottom: 10px;
  padding-left: 18px;
}

.fs-body-cart .fs-c-totalAndActions th,
.fs-body-cart .fs-c-totalAndActions td,
.fs-body-cart .fs-c-totalAndActions dt,
.fs-body-cart .fs-c-totalAndActions dd,
.fs-body-cart .fs-c-totalAndActions li,
.fs-body-cart .fs-c-totalAndActions__row {
  padding-top: 11px;
  padding-bottom: 11px;
}

.fs-body-cart .fs-c-totalAndActions > p,
.fs-body-cart .fs-c-totalAndActions .fs-c-cartPayment {
  margin-top: 12px;
}

.fs-body-cart .fukuske-cart-checkout-action,
.fs-body-cart .fs-c-totalAndActions__button,
.fs-body-cart .fs-c-totalAndActions__action,
.fs-body-cart .fs-c-totalAndActions .fs-c-buttonContainer {
  gap: 12px;
  padding: 12px !important;
}


/* Replaced checkout side panel matching the design comp */
.fs-body-cart .fukuske-cart-summary-replaced {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.fs-body-cart .fukuske-cart-summary-replaced > :not(.fukuske-custom-checkout) {
  display: none !important;
}

.fs-body-cart .fukuske-custom-checkout {
  display: block;
}

.fs-body-cart .fukuske-custom-order {
  padding: 0;
  background: #f6f6f6;
}

.fs-body-cart .fukuske-custom-order__heading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px;
  border-bottom: 0;
  color: #202020;
}

.fs-body-cart .fukuske-custom-order__heading::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 0;
  left: 18px;
  border-bottom: 1px solid #dddddd;
}

.fs-body-cart .fukuske-custom-order__heading strong,
.fs-body-cart .fukuske-custom-order__heading b {
  font-size: 18px;
  font-weight: 700;
}

.fs-body-cart .fukuske-custom-order__rows {
  margin: 0;
  padding: 0 18px;
  border-bottom: 0 !important;
}

.fs-body-cart .fukuske-custom-order__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid #dddddd;
  color: #202020;
  font-size: 14px;
  line-height: 1.5;
}

.fs-body-cart .fukuske-custom-order__row[hidden] {
  display: none !important;
}

.fs-body-cart .fukuske-custom-order__row dt,
.fs-body-cart .fukuske-custom-order__row dd {
  margin: 0;
  padding: 0;
  font-weight: 400;
}

.fs-body-cart .fukuske-custom-order__row--total {
  padding: 14px 0;
  border-bottom: 0;
}

.fs-body-cart .fukuske-custom-order__row--total dt,
.fs-body-cart .fukuske-custom-order__row--total dd {
  font-size: 18px;
  font-weight: 700;
}

.fs-body-cart .fukuske-custom-order__tax-label {
  margin-left: 4px;
  font-size: 14px;
  font-weight: 700;
}


.fs-body-cart .fukuske-custom-stock-note {
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 16px 0 0;
  padding: 12px 14px;
  background: #f6f6f6;
  color: #666666;
  font-size: 12px;
  line-height: 1.6;
}

.fs-body-cart .fukuske-custom-stock-note span {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 1px solid #b9b9b9;
  border-radius: 50%;
  color: #666666;
  font-size: 12px;
  line-height: 1;
  flex: 0 0 auto;
}

.fs-body-cart .fukuske-custom-cta {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 14px;
  align-items: center;
  margin: 16px 0 0;
  padding: 14px 12px;
  border: 1px solid #dddddd;
  background: #ffffff;
}

.fs-body-cart .fukuske-custom-cta__summary {
  color: #666666;
  font-size: 12px;
  line-height: 1.45;
}

.fs-body-cart .fukuske-custom-cta__summary strong {
  display: block;
  color: #202020;
  font-size: 18px;
  font-weight: 700;
}

.fs-body-cart .fukuske-custom-cta__button {
  display: grid;
  width: 100%;
  height: 56px;
  place-items: center;
  border: 1px solid #e52418;
  border-radius: 5px;
  background: #e52418;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  cursor: pointer;
}


/* Custom checkout panel refinement: one CTA only */
.fs-body-cart .fukuske-custom-cta .fs-c-button,
.fs-body-cart .fukuske-custom-cta .fs-c-buttonContainer,
.fs-body-cart .fukuske-custom-cta .fs-c-cartPayment__button,
.fs-body-cart .fukuske-custom-cta .fukuske-cart-checkout-button:not(.fukuske-custom-cta__button) {
  display: none !important;
}

.fs-body-cart .fukuske-custom-cta {
  grid-template-columns: 1fr 1.45fr;
}

.fs-body-cart .fukuske-custom-cta__button {
  align-self: center;
}


/* Prevent duplicated checkout totals inside the custom CTA */
.fs-body-cart .fukuske-custom-checkout .fukuske-cart-checkout-summary {
  display: none !important;
}



/* Seasonal recommendations: disable carousel scrolling and align rows. */
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__slides,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__track,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__list {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px 16px !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
}

.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__slide,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item,
.fs-body-cart .fukuske-seasonal-recommend-list .fukuske-seasonal-recommend-card {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
}

.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__slide {
  flex: none !important;
}

.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__prev,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__next,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__pagination,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__scrollbar {
  display: none !important;
}

.fs-body-cart .fukuske-seasonal-recommend-list .fukuske-seasonal-view-button {
  margin-top: auto;
}

@media screen and (max-width: 768px) {
  .fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__slides,
  .fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__track,
  .fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px 12px !important;
    overflow: visible !important;
  }
}


/* Seasonal recommendations on cart page: remove visible scroll affordances. */
.fs-body-cart .fukuske-seasonal-recommend-list,
.fs-body-cart .fukuske-seasonal-recommend-list .flywheel-recommend__frame,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__viewport,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__slides,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__track,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__list,
.fs-body-cart .FS2_Recommend2_ranking_horizontal.fukuske-seasonal-recommend-list .x-scroll,
.fs-body-cart .FS2_Recommend2_ranking_horizontal .x-scroll.fukuske-seasonal-recommend-scroll {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.fs-body-cart .fukuske-seasonal-recommend-list::-webkit-scrollbar,
.fs-body-cart .fukuske-seasonal-recommend-list .flywheel-recommend__frame::-webkit-scrollbar,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel::-webkit-scrollbar,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__viewport::-webkit-scrollbar,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__slides::-webkit-scrollbar,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__track::-webkit-scrollbar,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__list::-webkit-scrollbar,
.fs-body-cart .FS2_Recommend2_ranking_horizontal.fukuske-seasonal-recommend-list .x-scroll::-webkit-scrollbar,
.fs-body-cart .FS2_Recommend2_ranking_horizontal .x-scroll.fukuske-seasonal-recommend-scroll::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.fs-body-cart .fukuske-seasonal-recommend-list .fr3-productListCarousel__scrollbar,
.fs-body-cart .fukuske-seasonal-recommend-list .swiper-scrollbar,
.fs-body-cart .fukuske-seasonal-recommend-list [class*="scrollbar"],
.fs-body-cart .fukuske-seasonal-recommend-list [class*="Scrollbar"] {
  display: none !important;
}


/* Seasonal recommendations: smaller left-aligned price and red view button. */
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice,
.fs-body-cart .fukuske-seasonal-recommend-list [class*="productPrice"],
.fs-body-cart .fukuske-seasonal-recommend-list [class*="ProductPrice"],
.fs-body-cart .fukuske-seasonal-recommend-list [class*="price"],
.fs-body-cart .fukuske-seasonal-recommend-list [class*="Price"] {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice .fs-c-price,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice .fs-c-price__currencyMark,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice .fs-c-price__value,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice [class*="currency"],
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice [class*="Currency"],
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice [class*="value"],
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice [class*="Value"] {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice,
.fs-body-cart .fukuske-seasonal-recommend-list .ProductPriceArea,
.fs-body-cart .fukuske-seasonal-recommend-list .ProductPrice {
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 2px !important;
  flex-wrap: nowrap !important;
}

.fs-body-cart .fukuske-seasonal-recommend-list .ProductPriceArea {
  margin: 10px 0 !important;
}

.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice > *,
.fs-body-cart .fukuske-seasonal-recommend-list .ProductPriceArea > *,
.fs-body-cart .fukuske-seasonal-recommend-list .ProductPrice > * {
  display: inline !important;
  width: auto !important;
}

.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice small,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice em,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice .fs-c-productPrice__addon,
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice [class*="tax"],
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice [class*="Tax"],
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice [class*="addon"],
.fs-body-cart .fukuske-seasonal-recommend-list .fr3-item__productPrice [class*="Addon"] {
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

.fs-body-cart .fukuske-seasonal-recommend-list .fukuske-seasonal-view-button {
  border-color: #e52418 !important;
  color: #e52418 !important;
}

/* Related modal: consolidated layout. */
.fs-body-cart .fukuske-cart-related-modal__dialog,
.fs-body-cart .fukuske-cart-related-modal__dialog * {
  box-sizing: border-box;
}

.fs-body-cart .fukuske-cart-related-modal__dialog {
  max-width: 620px !important;
  overflow: hidden !important;
}

.fs-body-cart .fukuske-cart-related-modal__handle {
  display: none !important;
}

.fs-body-cart .fukuske-cart-related-modal__header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  height: auto !important;
  flex: 0 0 auto !important;
  padding: 18px 24px 14px !important;
  overflow: visible !important;
  border-bottom: 1px solid #dddddd !important;
}

.fs-body-cart .fukuske-cart-related-modal__header > div {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding: 0 !important;
}

.fs-body-cart .fukuske-cart-related-modal__header h2 {
  display: block !important;
  margin: 0 0 4px !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
}

.fs-body-cart .fukuske-cart-related-modal__header p {
  display: block !important;
  margin: 0 !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

.fs-body-cart .fukuske-cart-related-modal__close {
  display: grid !important;
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  place-items: center !important;
  border: 0 !important;
  background: #ffffff !important;
  color: #202020 !important;
  font-size: 34px !important;
  line-height: 1 !important;
}

.fs-body-cart .fukuske-cart-related-modal__body {
  width: 100% !important;
  flex: 1 1 auto !important;
  padding: 16px 24px 0 !important;
}

.fs-body-cart .fukuske-cart-related-modal__footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  flex: 0 0 auto !important;
  padding: 10px 24px !important;
  border-top: 1px solid #dddddd !important;
}

.fs-body-cart .fukuske-cart-related-modal__footer span {
  flex: 1 1 auto !important;
}

.fs-body-cart .fukuske-cart-related-modal__footer button {
  flex: 0 0 120px !important;
  width: 120px !important;
  height: 44px !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-slide {
  display: block !important;
  width: 100% !important;
  padding: 0 0 16px !important;
  margin: 0 0 16px !important;
  border-bottom: 1px solid #dddddd !important;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-card {
  display: grid !important;
  grid-template-columns: 104px 1fr !important;
  gap: 14px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-image {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-image img,
.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-card > img {
  display: block !important;
  width: 104px !important;
  height: 104px !important;
  object-fit: cover !important;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-info {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-name {
  order: 1 !important;
  margin: 0 0 6px !important;
  color: #202020 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-name a {
  color: inherit !important;
  font: inherit !important;
  text-decoration: none !important;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-price {
  order: 2 !important;
  margin: 0 0 10px !important;
  color: #202020 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-price * {
  font-size: inherit !important;
  line-height: inherit !important;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-price small,
.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-price em,
.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-price [class*="tax"],
.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-price [class*="Tax"],
.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-price [class*="addon"],
.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-price [class*="Addon"] {
  font-size: 11px !important;
  font-weight: 400 !important;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-panel {
  order: 3 !important;
  width: 100% !important;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-recommend-variant__fields {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  width: 100% !important;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-recommend-variant__button {
  width: 100% !important;
}

@media screen and (max-width: 768px) {
  .fs-body-cart .fukuske-cart-related-modal__dialog {
    width: calc(100% - 20px) !important;
  }

  .fs-body-cart .fukuske-cart-related-modal__header,
  .fs-body-cart .fukuske-cart-related-modal__body,
  .fs-body-cart .fukuske-cart-related-modal__footer {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .fs-body-cart .fukuske-cart-related-modal__footer button {
    flex-basis: 112px !important;
    width: 112px !important;
  }

  .fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-card {
    grid-template-columns: 88px 1fr !important;
    gap: 12px !important;
  }

  .fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-image img,
  .fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-card > img {
    width: 88px !important;
    height: 88px !important;
  }
}

/* Related modal: keep price notation left aligned. */
.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-price {
  align-self: flex-start !important;
  display: block !important;
  width: auto !important;
  text-align: left !important;
}

.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-price *,
.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-price .fs-c-price,
.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-price [class*="price"],
.fs-body-cart .fukuske-cart-related-modal .add_product .fukuske-related-recommend-price [class*="Price"] {
  text-align: left !important;
}


/* Cart coordination section: remove title underline only. */
.fs-body-cart .fs-c-coordinationCatalog__title,
.fs-body-cart .fukuske-cart-coordinate-heading {
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.fs-body-cart .fs-c-coordinationCatalog__title::after,
.fs-body-cart .fukuske-cart-coordinate-heading::after {
  display: none !important;
}

/* Default fallback when the FutureShop cart markup is no longer compatible. */
body.fukuske-cart-default-fallback .fukuske-cart-shipping,
body.fukuske-cart-default-fallback .fukuske-cart-service,
body.fukuske-cart-default-fallback .fukuske-cart-related-modal,
body.fukuske-cart-default-fallback .fukuske-custom-checkout,
body.fukuske-cart-default-fallback .fukuske-cart-line-price,
body.fukuske-cart-default-fallback .fukuske-cart-quantity,
body.fukuske-cart-default-fallback .fukuske-recommend-variant {
  display: none !important;
}

body.fukuske-cart-default-fallback .fs-c-cartTable,
body.fukuske-cart-default-fallback .fs-c-totalAndActions {
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
}


/* Inline checkout methods under the order summary. */
.fs-body-cart .fukuske-custom-pay {
  display: grid;
  gap: 10px;
  margin: 16px 0 0;
}

.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__button {
  display: flex !important;
  justify-content: center;
  align-items: center;
  width: 100% !important;
  padding: 15px 0 18px!important;
  place-items: center !important;
  border: 1px solid #e52418 !important;
  border-radius: 5px !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
  color: #e52418 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__button[hidden] {
  display: none !important;
}

.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__button--primary {
  background: #e52418 !important;
  color: #ffffff !important;
}

.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__button--guest {
  background: #ffffff !important;
  color: #e52418 !important;
}


.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__amazon {
  display: block;
}

.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__amazon[hidden] {
  display: none;
}

.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__amazon-default,
.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__amazon-default > *,
.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__amazon-fallback {
  width: 100% !important;
}

.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__amazon-default {
  display: block;
  margin: 0;
}

.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__amazon-default button,
.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__amazon-default input[type="submit"],
.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__amazon-default input[type="button"],
.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__amazon-default input[type="image"],
.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__amazon-default a {
  cursor: pointer;
}

.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__amazon-fallback {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  padding: 15px 0 !important;
  place-items: center !important;
  border: 1px solid #c99625 !important;
  border-radius: 5px !important;
  background: linear-gradient(#ffe28a, #f6c653) !important;
  box-sizing: border-box !important;
  color: #111111 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: lowercase !important;
  cursor: pointer !important;
}

.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__amazon-logo {
  display: block;
  width: 142px !important;
  justify-self: center !important;
}

.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__amazon-text {
  justify-self: center !important;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}

.fs-body-cart .fs-c-totalAndActions .fukuske-custom-pay__amazon-fallback b {
  position: absolute !important;
  top: 50% !important;
  right: 22px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  font-size: 30px;
  line-height: 1;
}

/* Cart item row: match demo variant and quantity layout. */
.fs-body-cart .fs-c-cartTable tr.fukuske-cart-item-row {
  grid-template-columns: 1fr 64px !important;
  gap: 0 16px !important;
}

.fs-body-cart .fukuske-cart-item-row__productCell {
  grid-template-columns: 148px 1fr !important;
  gap: 14px !important;
  align-items: start !important;
}

.fs-body-cart .fukuske-cart-item-row__variantHost {
  display: grid !important;
  grid-template-columns: auto !important;
  gap: 3px !important;
  margin: 8px 0 8px !important;
}

.fs-body-cart .fukuske-cart-item-row__variantField {
  display: grid !important;
  grid-template-columns: 52px auto !important;
  column-gap: 12px !important;
  align-items: baseline !important;
  color: #202020 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.fs-body-cart .fukuske-cart-item-row__variantField span {
  display: block !important;
  margin: 0 !important;
  color: #666666 !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: inherit !important;
}

.fs-body-cart .fukuske-cart-item-row__variantValue {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #202020 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: inherit !important;
}

.fs-body-cart .fukuske-cart-line-price {
  margin-top: 8px !important;
}

.fs-body-cart .fukuske-cart-line-price__total {
  font-size: 16px !important;
}

.fs-body-cart .fukuske-cart-line-price__tax {
  font-size: 12px !important;
  font-weight: 400 !important;
}

.fs-body-cart .fukuske-cart-line-price__unit {
  color: #777777 !important;
  font-size: 11px !important;
  font-weight: 400 !important;
}

.fs-body-cart .fukuske-cart-item-row__quantityInline {
  margin-top: 6px !important;
}

.fs-body-cart .fukuske-cart-item-row__quantity {
  grid-column: 1 !important;
  grid-row: 2 !important;
  margin-top: 12px !important;
  margin-left: 162px !important;
}

.fs-body-cart .fukuske-cart-item-row__remove {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: end !important;
  justify-self: end !important;
}

.fs-body-cart .fukuske-cart-quantity {
  width: 108px !important;
  grid-template-columns: 36px 36px 36px !important;
}

@media screen and (max-width: 768px) {
  .fs-body-cart .fukuske-cart-item-row__productCell {
    grid-template-columns: 104px 1fr !important;
    gap: 12px !important;
  }

  .fs-body-cart .fukuske-cart-item-row__quantity {
    margin-left: 116px !important;
  }
}



/* Cart table container border */
.fs-body-cart .fs-c-cartTableContainer {
  border: 0 !important;
}

/* Hide native quantity data label */
.fs-body-cart .fs-c-cartTable__dataCell--quantity::before {
  content: none !important;
  display: none !important;
}


@media screen and (max-width: 768px) {
  .fs-body-cart .fs-c-continueShopping {
    width: 100%;
  }
}

/* Hide FutureShop save-for-later button in cart rows */
.fs-body-cart .fukuske-cart-save-later-hidden {
  display: none !important;
}

/* Cart row point moved below line price */
.fs-body-cart .fukuske-cart-line-price__point {
  display: block;
  margin-top: 2px;
  color: #666666;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
}

.fs-body-cart .fukuske-cart-row-point-hidden {
  display: none !important;
}

/* Remove FutureShop buy-it-later action container */
.fs-body-cart .fs-c-cartTable__actionButton__container--buyItLater {
  display: none !important;
}


/* Hide cart chat widget */
.fs-body-cart #chatplusview,
.fs-body-cart #chatplusview_closed,
.fs-body-cart [id*="chatplus" i],
.fs-body-cart [class*="chatplus" i],
.fs-body-cart [id*="chatbot" i],
.fs-body-cart [class*="chatbot" i],
.fs-body-cart [id*="chamo" i],
.fs-body-cart [class*="chamo" i],
.fs-body-cart [id*="sinclo" i],
.fs-body-cart [class*="sinclo" i],
.fs-body-cart [id*="zopim" i],
.fs-body-cart [class*="zopim" i],
.fs-body-cart [id*="intercom" i],
.fs-body-cart [class*="intercom" i] {
  display: none !important;
}

.fs-body-cart .fs-c-cartTable__dataCell--point {
  display: none !important;
}

.fs-body-cart .fs-c-cartBundleInfo,
.fs-body-cart #synalio-iframe {
  display: none !important;
}

/* Cart wishlist product block: match CrossHead and product CTA styling. */
.fs-body-cart .fs-c-wishlistProduct__title {
  margin: 32px 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  color: #202020 !important;
  background: transparent !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

.fs-body-cart .fs-c-wishlistProduct .fs-c-productListItem__control.fs-c-buttonContainer {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 10px;
  margin-top: 16px;
}

.fs-body-cart .fs-c-wishlistProduct .fs-c-productListItem__control form {
  display: block;
  min-width: 0;
  margin: 0;
}

.fs-body-cart .fs-c-wishlistProduct .fs-c-button--addToCart--list {
  display: grid !important;
  width: 100% !important;
  padding: 10px !important;
  place-items: center;
  border: 1px solid #e71a19 !important;
  border-radius: 4px !important;
  color: #ffffff !important;
  background: #e71a19 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

.fs-body-cart .fs-c-wishlistProduct .fs-c-button--addToCart--list .fs-c-button__label {
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
}

.fs-body-cart .fs-c-wishlistProduct .fs-c-button--addToCart--list::before,
.fs-body-cart .fs-c-wishlistProduct .fs-c-button--addToCart--list::after,
.fs-body-cart .fs-c-wishlistProduct .fs-c-button--addToCart--list [class*="icon"],
.fs-body-cart .fs-c-wishlistProduct .fs-c-button--addToCart--list [class*="Icon"] {
  display: none !important;
  content: none !important;
}

.fs-body-cart .fs-c-wishlistProduct .fs-c-button--removeFromWishList--icon {
  position: relative;
  box-sizing: border-box;
  display: grid !important;
  width: auto !important;
  aspect-ratio: auto;
  padding: 10px !important;
  place-items: center;
  border: 1px solid #d7d7d7 !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  color: transparent !important;
  overflow: hidden;
}

.fs-body-cart .fs-c-wishlistProduct .fs-c-button--removeFromWishList--icon::before {
  content: "\2665";
  color: #c97991;
  font-size: 12px;
  line-height: 1;
  pointer-events: none;
}

.fs-body-cart .fs-c-wishlistProduct .fs-c-button--removeFromWishList--icon .fs-c-button__label {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  overflow: hidden !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

