.fst-commerce-page {
  background: #fff;
  color: var(--fst-text, #343b47);
}

.fst-commerce-shell {
  width: min(calc(100% - 48px), var(--fst-container, 1240px));
  margin: 0 auto;
  padding: 48px 0 76px;
}

.fst-commerce-heading {
  max-width: 720px;
  margin-bottom: 34px;
}

.fst-commerce-eyebrow {
  margin: 0 0 8px;
  color: var(--fst-green-dark, #3d8500);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.fst-commerce-heading h1 {
  margin: 0;
  color: var(--fst-ink, #202633);
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.fst-commerce-heading > p:last-child {
  margin: 12px 0 0;
  color: var(--fst-muted, #68717d);
  font-size: .96rem;
  line-height: 1.65;
}

.fst-commerce-page .woocommerce {
  font-family: inherit;
}

.fst-commerce-page .woocommerce a {
  color: var(--fst-blue-dark, #005a84);
}

.fst-commerce-page .woocommerce button.button,
.fst-commerce-page .woocommerce a.button,
.fst-commerce-page .woocommerce input.button,
.fst-commerce-page .woocommerce #respond input#submit {
  min-height: 44px;
  margin: 0;
  padding: 10px 18px !important;
  border: 1px solid var(--fst-blue-dark, #005a84) !important;
  border-radius: 7px !important;
  background: var(--fst-blue-dark, #005a84) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-family: inherit;
  font-size: .82rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

.fst-commerce-page .woocommerce button.button:hover,
.fst-commerce-page .woocommerce button.button:focus,
.fst-commerce-page .woocommerce a.button:hover,
.fst-commerce-page .woocommerce a.button:focus,
.fst-commerce-page .woocommerce input.button:hover,
.fst-commerce-page .woocommerce input.button:focus {
  border-color: #004a6d !important;
  background: #004a6d !important;
  color: #fff !important;
}

.fst-commerce-page .woocommerce button.button:disabled,
.fst-commerce-page .woocommerce button.button:disabled[disabled] {
  opacity: .48;
  cursor: not-allowed;
}

.fst-commerce-page .woocommerce input.input-text,
.fst-commerce-page .woocommerce textarea,
.fst-commerce-page .woocommerce select,
.fst-commerce-page .select2-container--default .select2-selection--single,
.fst-commerce-page .select2-container--default .select2-selection--multiple {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--fst-border, #dce3e7) !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: var(--fst-text, #343b47) !important;
  box-shadow: none !important;
  font-family: inherit;
}

.fst-commerce-page .woocommerce input.input-text,
.fst-commerce-page .woocommerce textarea,
.fst-commerce-page .woocommerce select {
  padding: 10px 12px;
}

.fst-commerce-page .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 44px;
  padding-left: 12px;
  color: var(--fst-text, #343b47);
}

.fst-commerce-page .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px;
}

.fst-commerce-page .woocommerce input.input-text:focus,
.fst-commerce-page .woocommerce textarea:focus,
.fst-commerce-page .woocommerce select:focus,
.fst-commerce-page .select2-container--focus .select2-selection {
  border-color: var(--fst-blue-dark, #005a84) !important;
  outline: 2px solid rgba(0, 90, 132, .11);
  outline-offset: 1px;
}

.fst-commerce-page .woocommerce form .form-row label {
  margin-bottom: 7px;
  color: var(--fst-ink, #202633);
  font-size: .78rem;
  font-weight: 750;
}

.fst-commerce-page .woocommerce form .form-row .required {
  color: #9c3535;
}

/* Cart */
.fst-cart-page .woocommerce {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr);
  gap: 34px;
  align-items: start;
}

.fst-cart-page .woocommerce > .woocommerce-notices-wrapper,
.fst-cart-page .woocommerce > .woocommerce-message,
.fst-cart-page .woocommerce > .woocommerce-error,
.fst-cart-page .woocommerce > .woocommerce-info {
  grid-column: 1 / -1;
}

.fst-cart-page .woocommerce-cart-form {
  min-width: 0;
  grid-column: 1;
}

.fst-cart-page .cart-collaterals {
  min-width: 0;
  grid-column: 2;
}

.fst-cart-page table.shop_table {
  width: 100%;
  margin: 0 !important;
  border: 1px solid var(--fst-border, #dce3e7) !important;
  border-collapse: separate !important;
  border-spacing: 0;
  border-radius: 10px !important;
  overflow: hidden;
  background: #fff;
}

.fst-cart-page table.shop_table thead th {
  padding: 13px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--fst-border, #dce3e7) !important;
  background: var(--fst-surface-alt, #f5f8f9);
  color: var(--fst-muted, #68717d);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.fst-cart-page table.shop_table td {
  padding: 16px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1f3 !important;
  color: var(--fst-text, #343b47);
  vertical-align: middle;
}

.fst-cart-page table.shop_table tr:last-child td,
.fst-cart-page table.shop_table tbody tr:last-child td {
  border-bottom: 0 !important;
}

.fst-cart-page .product-thumbnail {
  width: 92px;
}

.fst-cart-page .product-thumbnail img {
  display: block;
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
  border: 1px solid #edf1f3;
  border-radius: 7px;
  background: #fff;
  padding: 5px;
}

.fst-cart-page .product-name a {
  color: var(--fst-ink, #202633) !important;
  font-weight: 750;
  text-decoration: none;
}

.fst-cart-page .product-name a:hover {
  color: var(--fst-blue-dark, #005a84) !important;
}

.fst-cart-page .product-price,
.fst-cart-page .product-subtotal {
  color: var(--fst-ink, #202633);
  font-weight: 750;
}

.fst-cart-page .quantity .qty {
  width: 74px !important;
  min-height: 42px;
  padding: 8px !important;
  text-align: center;
}

.fst-cart-page .product-remove a.remove {
  display: grid !important;
  place-items: center;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #7b858d !important;
  font-size: 19px !important;
  line-height: 1 !important;
}

.fst-cart-page .product-remove a.remove:hover,
.fst-cart-page .product-remove a.remove:focus {
  background: #f8eeee !important;
  color: #8d3030 !important;
}

.fst-cart-page .woocommerce-cart-form__contents td.actions {
  padding: 14px !important;
  background: #fbfcfc;
}

.fst-cart-page .woocommerce-cart-form__contents td.actions .coupon {
  display: flex;
  gap: 8px;
}

.fst-cart-page .woocommerce-cart-form__contents td.actions .coupon .input-text {
  width: min(230px, 100%) !important;
  min-height: 44px;
  margin: 0 !important;
}

.fst-cart-page .cart-collaterals .cart_totals {
  float: none !important;
  width: 100% !important;
  padding: 24px;
  border: 1px solid var(--fst-border, #dce3e7);
  border-radius: 10px;
  background: #fff;
}

.fst-cart-page .cart_totals h2 {
  margin: 0 0 18px;
  color: var(--fst-ink, #202633);
  font-size: 1.25rem;
  letter-spacing: -.02em;
}

.fst-cart-page .cart_totals table.shop_table {
  border: 0 !important;
  border-radius: 0 !important;
}

.fst-cart-page .cart_totals table.shop_table th,
.fst-cart-page .cart_totals table.shop_table td {
  padding: 12px 0 !important;
  border-bottom: 1px solid #edf1f3 !important;
  background: transparent !important;
  font-size: .88rem;
}

.fst-cart-page .cart_totals table.shop_table th {
  color: var(--fst-muted, #68717d);
  font-weight: 650;
}

.fst-cart-page .cart_totals table.shop_table td {
  text-align: right;
  color: var(--fst-ink, #202633);
  font-weight: 750;
}

.fst-cart-page .cart_totals .order-total th,
.fst-cart-page .cart_totals .order-total td {
  padding-top: 18px !important;
  border-bottom: 0 !important;
  color: var(--fst-ink, #202633);
  font-size: 1.04rem;
  font-weight: 800;
}

.fst-cart-page .wc-proceed-to-checkout {
  padding: 20px 0 0 !important;
}

.fst-cart-page .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  font-size: .9rem !important;
}

.fst-cart-page .woocommerce-shipping-destination,
.fst-cart-page .woocommerce-shipping-calculator {
  font-size: .78rem;
  line-height: 1.5;
}

.fst-cart-page .return-to-shop {
  grid-column: 1 / -1;
}

.fst-cart-page .cart-empty {
  grid-column: 1 / -1;
  margin: 0 !important;
}

/* Checkout */
.fst-checkout-page form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(330px, .7fr);
  grid-template-rows: auto auto;
  gap: 0 38px;
  align-items: start;
}

.fst-checkout-page form.checkout > .col2-set {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 100% !important;
}

.fst-checkout-page form.checkout > #order_review_heading {
  grid-column: 2;
  grid-row: 1;
  margin: 0 !important;
  padding: 0 0 14px;
  color: var(--fst-ink, #202633);
  font-size: 1.25rem;
  letter-spacing: -.02em;
}

.fst-checkout-page form.checkout > #order_review {
  grid-column: 2;
  grid-row: 2;
}

.fst-checkout-page .col2-set .col-1,
.fst-checkout-page .col2-set .col-2 {
  float: none !important;
  width: 100% !important;
}

.fst-checkout-page .col2-set .col-2 {
  margin-top: 30px;
}

.fst-checkout-page .woocommerce-billing-fields,
.fst-checkout-page .woocommerce-shipping-fields,
.fst-checkout-page .woocommerce-additional-fields {
  padding: 26px;
  border: 1px solid var(--fst-border, #dce3e7);
  border-radius: 10px;
  background: #fff;
}

.fst-checkout-page .woocommerce-shipping-fields,
.fst-checkout-page .woocommerce-additional-fields {
  margin-top: 18px;
}

.fst-checkout-page .woocommerce-billing-fields > h3,
.fst-checkout-page .woocommerce-shipping-fields > h3,
.fst-checkout-page .woocommerce-additional-fields > h3 {
  margin: 0 0 20px;
  color: var(--fst-ink, #202633);
  font-size: 1.25rem;
  letter-spacing: -.02em;
}

.fst-checkout-page .woocommerce form .form-row-first,
.fst-checkout-page .woocommerce form .form-row-last {
  width: calc(50% - 7px) !important;
}

.fst-checkout-page .woocommerce form .form-row-first {
  margin-right: 14px;
}

.fst-checkout-page #order_review {
  padding: 24px;
  border: 1px solid var(--fst-border, #dce3e7);
  border-radius: 10px;
  background: #fff;
}

.fst-checkout-page #order_review table.shop_table {
  margin: 0 0 20px !important;
  border: 0 !important;
  border-collapse: collapse !important;
}

.fst-checkout-page #order_review table.shop_table th,
.fst-checkout-page #order_review table.shop_table td {
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1f3 !important;
  background: transparent !important;
  font-size: .84rem;
  vertical-align: top;
}

.fst-checkout-page #order_review table.shop_table thead th {
  color: var(--fst-muted, #68717d);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.fst-checkout-page #order_review table.shop_table .product-name {
  padding-right: 18px !important;
  color: var(--fst-text, #343b47);
  font-weight: 650;
}

.fst-checkout-page #order_review table.shop_table .product-total,
.fst-checkout-page #order_review table.shop_table tfoot td {
  text-align: right;
  color: var(--fst-ink, #202633);
  font-weight: 750;
}

.fst-checkout-page #order_review table.shop_table tfoot th {
  color: var(--fst-muted, #68717d);
  font-weight: 650;
}

.fst-checkout-page #order_review table.shop_table .order-total th,
.fst-checkout-page #order_review table.shop_table .order-total td {
  padding-top: 17px !important;
  border-bottom: 0 !important;
  color: var(--fst-ink, #202633);
  font-size: 1rem;
  font-weight: 800;
}

.fst-checkout-page #payment {
  margin-top: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.fst-checkout-page #payment ul.payment_methods {
  padding: 0 !important;
  border-bottom: 1px solid var(--fst-border, #dce3e7) !important;
}

.fst-checkout-page #payment ul.payment_methods li {
  margin: 0 0 14px;
}

.fst-checkout-page #payment ul.payment_methods li label {
  color: var(--fst-ink, #202633);
  font-size: .84rem;
  font-weight: 750;
}

.fst-checkout-page #payment div.payment_box {
  margin: 10px 0 4px !important;
  padding: 14px !important;
  border-radius: 6px !important;
  background: var(--fst-surface-alt, #f5f8f9) !important;
  color: var(--fst-muted, #68717d) !important;
  font-size: .78rem;
  line-height: 1.55;
}

.fst-checkout-page #payment div.payment_box::before {
  display: none !important;
}

.fst-checkout-page #payment .place-order {
  padding: 20px 0 0 !important;
}

.fst-checkout-page #place_order {
  width: 100% !important;
  min-height: 48px;
}

.fst-checkout-page .woocommerce-privacy-policy-text,
.fst-checkout-page .woocommerce-terms-and-conditions-wrapper {
  color: var(--fst-muted, #68717d);
  font-size: .76rem;
  line-height: 1.55;
}

.fst-checkout-page .woocommerce-form-coupon-toggle,
.fst-checkout-page .woocommerce-form-login-toggle {
  margin-bottom: 14px;
}

.fst-checkout-page form.checkout_coupon,
.fst-checkout-page form.login {
  margin: 0 0 22px !important;
  padding: 20px !important;
  border: 1px solid var(--fst-border, #dce3e7) !important;
  border-radius: 8px !important;
  background: #fff;
}

@media (max-width: 960px) {
  .fst-cart-page .woocommerce,
  .fst-checkout-page form.checkout {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .fst-cart-page .woocommerce-cart-form,
  .fst-cart-page .cart-collaterals,
  .fst-checkout-page form.checkout > .col2-set,
  .fst-checkout-page form.checkout > #order_review_heading,
  .fst-checkout-page form.checkout > #order_review {
    grid-column: 1;
    grid-row: auto;
  }

  .fst-checkout-page form.checkout > #order_review_heading {
    margin-top: 8px !important;
  }
}

@media (max-width: 767px) {
  .fst-commerce-shell {
    width: min(calc(100% - 28px), var(--fst-container, 1240px));
    padding: 34px 0 54px;
  }

  .fst-commerce-heading {
    margin-bottom: 24px;
  }

  .fst-cart-page .woocommerce-cart-form {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .fst-cart-page table.shop_table_responsive tr td {
    padding: 12px 12px !important;
  }

  .fst-cart-page .woocommerce-cart-form__contents td.actions .coupon {
    display: grid;
    grid-template-columns: 1fr auto;
    width: 100%;
  }

  .fst-cart-page .woocommerce-cart-form__contents td.actions .coupon .input-text {
    width: 100% !important;
  }

  .fst-cart-page .woocommerce-cart-form__contents td.actions > button.button {
    width: 100%;
    margin-top: 9px;
  }

  .fst-cart-page .cart-collaterals .cart_totals,
  .fst-checkout-page .woocommerce-billing-fields,
  .fst-checkout-page .woocommerce-shipping-fields,
  .fst-checkout-page .woocommerce-additional-fields,
  .fst-checkout-page #order_review {
    padding: 18px;
  }

  .fst-checkout-page .woocommerce form .form-row-first,
  .fst-checkout-page .woocommerce form .form-row-last {
    float: none !important;
    width: 100% !important;
    margin-right: 0 !important;
  }
}


/* v0.8.3 cart-page rebuild: product list + order summary + cross-sells below. */
.fst-cart-page .fst-commerce-shell {
  width: min(calc(100% - 48px), 1180px);
  padding-top: 38px;
}

.fst-cart-page .fst-cart-heading {
  max-width: none;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 28px;
}

.fst-cart-page .fst-cart-heading h1 {
  font-size: clamp(2rem, 3.4vw, 2.8rem);
}

.fst-cart-page .fst-cart-heading > div > p {
  margin: 9px 0 0;
  color: var(--fst-muted, #68717d);
  font-size: .9rem;
  line-height: 1.55;
}

.fst-cart-heading__continue {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding-bottom: 4px;
  color: var(--fst-blue-dark, #005a84) !important;
  border-bottom: 1px solid #a9c8d6;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none !important;
}

.fst-cart-heading__continue:hover,
.fst-cart-heading__continue:focus {
  color: var(--fst-green-dark, #3d8500) !important;
  border-bottom-color: var(--fst-green-dark, #3d8500);
}

.fst-cart-page .woocommerce {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 28px 32px;
  align-items: start;
}

.fst-cart-page .woocommerce-cart-form {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}

.fst-cart-page .cart-collaterals {
  display: contents;
}

.fst-cart-page .cart-collaterals .cart_totals {
  grid-column: 2;
  grid-row: 1;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 22px;
  border: 1px solid var(--fst-border, #dce3e7);
  border-radius: 12px;
  background: #fff;
}

.fst-cart-page .cart_totals h2 {
  margin: 0 0 10px;
  color: var(--fst-green-dark, #3d8500);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.fst-cart-page .woocommerce-cart-form table.shop_table {
  border: 0 !important;
  border-top: 1px solid var(--fst-border, #dce3e7) !important;
  border-bottom: 1px solid var(--fst-border, #dce3e7) !important;
  border-radius: 0 !important;
  background: #fff;
}

.fst-cart-page .woocommerce-cart-form table.shop_table thead th {
  padding: 11px 12px !important;
  background: transparent !important;
  border-bottom: 1px solid var(--fst-border, #dce3e7) !important;
  color: #87919a;
  font-size: .62rem;
  letter-spacing: .08em;
}

.fst-cart-page .woocommerce-cart-form table.shop_table tr.cart_item,
.fst-cart-page .woocommerce-cart-form table.shop_table tr.cart_item:nth-child(odd),
.fst-cart-page .woocommerce-cart-form table.shop_table tr.cart_item:nth-child(even),
.fst-cart-page .woocommerce-cart-form table.shop_table tr.cart_item td {
  background: #fff !important;
}

.fst-cart-page .woocommerce-cart-form table.shop_table td {
  padding: 18px 12px !important;
  border-bottom: 1px solid #edf1f3 !important;
}

.fst-cart-page .woocommerce-cart-form .product-thumbnail {
  width: 84px;
}

.fst-cart-page .woocommerce-cart-form .product-thumbnail img {
  width: 64px !important;
  height: 64px !important;
  border: 0;
  border-radius: 6px;
  background: var(--fst-surface-alt, #f5f8f9);
  padding: 4px;
}

.fst-cart-page .woocommerce-cart-form .product-name a {
  font-size: .84rem;
  line-height: 1.35;
}

.fst-cart-page .woocommerce-cart-form .product-price,
.fst-cart-page .woocommerce-cart-form .product-subtotal {
  font-size: .82rem;
}

.fst-cart-page .woocommerce-cart-form .quantity .qty {
  width: 68px !important;
  min-height: 40px;
}

.fst-cart-page .woocommerce-cart-form .product-remove a.remove {
  width: 28px !important;
  height: 28px !important;
  font-size: 17px !important;
}

.fst-cart-page .woocommerce-cart-form__contents td.actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 0 0 !important;
  border-bottom: 0 !important;
  background: #fff !important;
}

.fst-cart-page .woocommerce-cart-form__contents td.actions .coupon {
  display: flex;
  gap: 8px;
  margin: 0;
}

.fst-cart-page .woocommerce-cart-form__contents td.actions .coupon .input-text {
  width: 190px !important;
}

.fst-cart-page .cart_totals table.shop_table {
  margin: 0 !important;
}

.fst-cart-page .cart_totals table.shop_table th,
.fst-cart-page .cart_totals table.shop_table td {
  padding: 11px 0 !important;
  font-size: .82rem;
}

.fst-cart-page .cart_totals .order-total th,
.fst-cart-page .cart_totals .order-total td {
  padding-top: 16px !important;
  font-size: .98rem;
}

.fst-cart-page .wc-proceed-to-checkout {
  padding-top: 16px !important;
}

.fst-cart-page .wc-proceed-to-checkout a.checkout-button {
  min-height: 48px;
}

.fst-cart-page .cart_totals::after {
  content: "Delivery and assembly details are confirmed during checkout.";
  display: block;
  margin-top: 12px;
  color: var(--fst-muted, #68717d);
  font-size: .68rem;
  line-height: 1.5;
  text-align: center;
}

/* Native WooCommerce cross-sells belong below the cart, not inside the summary column. */
.fst-cart-page .cart-collaterals .cross-sells {
  grid-column: 1 / -1;
  grid-row: 2;
  width: 100% !important;
  margin: 30px 0 0 !important;
  padding: 34px 0 0;
  border-top: 1px solid var(--fst-border, #dce3e7);
}

.fst-cart-page .cross-sells > h2 {
  margin: 0 0 20px !important;
  color: var(--fst-ink, #202633);
  font-size: 1.35rem !important;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.fst-cart-page .cross-sells ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0 !important;
  padding: 0 !important;
}

.fst-cart-page .cross-sells ul.products::before,
.fst-cart-page .cross-sells ul.products::after {
  display: none !important;
}

.fst-cart-page .cross-sells ul.products li.product {
  float: none !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 0 14px !important;
  border: 1px solid var(--fst-border, #dce3e7);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.fst-cart-page .cross-sells ul.products li.product a img {
  display: block;
  width: 100% !important;
  aspect-ratio: 1 / 1;
  margin: 0 0 12px !important;
  padding: 10px;
  object-fit: contain;
  background: #fff;
  border-bottom: 1px solid #edf1f3;
}

.fst-cart-page .cross-sells ul.products li.product .woocommerce-loop-product__title,
.fst-cart-page .cross-sells ul.products li.product .price,
.fst-cart-page .cross-sells ul.products li.product .button {
  margin-left: 12px !important;
  margin-right: 12px !important;
}

.fst-cart-page .cross-sells ul.products li.product .woocommerce-loop-product__title {
  padding: 0 !important;
  color: var(--fst-ink, #202633);
  font-size: .82rem !important;
  line-height: 1.35;
}

.fst-cart-page .cross-sells ul.products li.product .price {
  display: block;
  margin-top: 8px !important;
  color: var(--fst-ink, #202633) !important;
  font-size: .82rem !important;
  font-weight: 800;
}

.fst-cart-page .cross-sells ul.products li.product .button {
  min-height: 38px;
  margin-top: 10px !important;
  padding: 8px 12px !important;
  font-size: .72rem !important;
}

.fst-cart-page .cross-sells .onsale {
  top: 8px !important;
  right: 8px !important;
  left: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 5px 7px !important;
  border-radius: 4px !important;
  background: var(--fst-green-dark, #3d8500) !important;
  color: #fff !important;
  font-size: .62rem !important;
  line-height: 1 !important;
}

@media (max-width: 960px) {
  .fst-cart-page .woocommerce {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .fst-cart-page .woocommerce-cart-form,
  .fst-cart-page .cart-collaterals .cart_totals,
  .fst-cart-page .cart-collaterals .cross-sells {
    grid-column: 1;
    grid-row: auto;
  }

  .fst-cart-page .cart-collaterals .cross-sells {
    margin-top: 12px !important;
  }

  .fst-cart-page .cross-sells ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .fst-cart-page .fst-cart-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .fst-cart-page .woocommerce-cart-form__contents td.actions {
    display: block;
  }

  .fst-cart-page .woocommerce-cart-form__contents td.actions .coupon {
    display: grid;
    grid-template-columns: 1fr auto;
  }

  .fst-cart-page .woocommerce-cart-form__contents td.actions .coupon .input-text {
    width: 100% !important;
  }

  .fst-cart-page .woocommerce-cart-form__contents td.actions > button.button {
    width: 100%;
    margin-top: 9px;
  }

  .fst-cart-page .cross-sells ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}


/* v0.8.4 cart column hotfix.
 * Prevent WooCommerce/theme table sizing from collapsing product thumbnails
 * and starving the product-name column.
 */
.fst-cart-page .fst-commerce-shell {
  width: min(calc(100% - 48px), 1220px);
}

.fst-cart-page .woocommerce {
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 30px;
}

.fst-cart-page .woocommerce-cart-form table.shop_table {
  table-layout: fixed !important;
  width: 100% !important;
}

.fst-cart-page .woocommerce-cart-form table.shop_table th.product-remove,
.fst-cart-page .woocommerce-cart-form table.shop_table td.product-remove {
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  padding-left: 2px !important;
  padding-right: 6px !important;
}

.fst-cart-page .woocommerce-cart-form table.shop_table th.product-thumbnail,
.fst-cart-page .woocommerce-cart-form table.shop_table td.product-thumbnail {
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  padding-left: 4px !important;
  padding-right: 10px !important;
}

.fst-cart-page .woocommerce-cart-form table.shop_table th.product-price,
.fst-cart-page .woocommerce-cart-form table.shop_table td.product-price {
  width: 104px !important;
  min-width: 104px !important;
}

.fst-cart-page .woocommerce-cart-form table.shop_table th.product-quantity,
.fst-cart-page .woocommerce-cart-form table.shop_table td.product-quantity {
  width: 92px !important;
  min-width: 92px !important;
}

.fst-cart-page .woocommerce-cart-form table.shop_table th.product-subtotal,
.fst-cart-page .woocommerce-cart-form table.shop_table td.product-subtotal {
  width: 112px !important;
  min-width: 112px !important;
}

.fst-cart-page .woocommerce-cart-form table.shop_table th.product-name,
.fst-cart-page .woocommerce-cart-form table.shop_table td.product-name {
  width: auto !important;
  min-width: 0 !important;
}

.fst-cart-page .woocommerce-cart-form .product-thumbnail a {
  display: block;
  width: 68px;
  height: 68px;
}

.fst-cart-page .woocommerce-cart-form .product-thumbnail img {
  display: block !important;
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.fst-cart-page .woocommerce-cart-form .product-name {
  padding-left: 8px !important;
  padding-right: 14px !important;
}

.fst-cart-page .woocommerce-cart-form .product-name a {
  display: inline-block;
  max-width: 100%;
  font-size: .84rem;
  line-height: 1.42;
  word-break: normal !important;
  overflow-wrap: break-word;
  hyphens: none;
}

.fst-cart-page .woocommerce-cart-form .product-price,
.fst-cart-page .woocommerce-cart-form .product-subtotal {
  white-space: nowrap;
}

.fst-cart-page .woocommerce-cart-form .quantity {
  display: flex;
  justify-content: flex-start;
}

@media (max-width: 1080px) and (min-width: 961px) {
  .fst-cart-page .woocommerce {
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 22px;
  }

  .fst-cart-page .woocommerce-cart-form table.shop_table th.product-price,
  .fst-cart-page .woocommerce-cart-form table.shop_table td.product-price {
    width: 92px !important;
    min-width: 92px !important;
  }

  .fst-cart-page .woocommerce-cart-form table.shop_table th.product-subtotal,
  .fst-cart-page .woocommerce-cart-form table.shop_table td.product-subtotal {
    width: 100px !important;
    min-width: 100px !important;
  }
}

@media (max-width: 960px) {
  .fst-cart-page .woocommerce-cart-form table.shop_table {
    table-layout: auto !important;
  }
}



/* v0.9.0 checkout SelectWoo dropdown.
 * SelectWoo appends its open dropdown to <body>, so the open list needs
 * explicit Furstatec styling outside the checkout wrapper too.
 */
.fst-checkout-page .select2-container--default .select2-selection--single {
  height: 46px !important;
  min-height: 46px !important;
  border: 1px solid var(--fst-border, #dce3e7) !important;
  border-radius: 7px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.fst-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered {
  height: 44px !important;
  line-height: 44px !important;
  padding: 0 40px 0 12px !important;
  color: var(--fst-text, #343b47) !important;
  font-size: .86rem !important;
}

.fst-checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 0 !important;
  right: 8px !important;
  width: 28px !important;
  height: 44px !important;
}

.fst-checkout-page .select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--fst-blue-dark, #005a84) !important;
}

body.woocommerce-checkout .select2-container--open .select2-dropdown {
  overflow: hidden;
  margin-top: 5px;
  border: 1px solid #c9d7de !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 16px 36px rgba(22, 35, 44, .14) !important;
  font-family: inherit !important;
}

body.woocommerce-checkout .select2-search--dropdown {
  padding: 9px !important;
  border-bottom: 1px solid #edf1f3;
  background: #fff !important;
}

body.woocommerce-checkout .select2-search--dropdown .select2-search__field {
  width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  border: 1px solid var(--fst-border, #dce3e7) !important;
  border-radius: 6px !important;
  outline: 0 !important;
  background: #fff !important;
  color: var(--fst-text, #343b47) !important;
  box-shadow: none !important;
  font: inherit !important;
  font-size: .83rem !important;
}

body.woocommerce-checkout .select2-search--dropdown .select2-search__field:focus {
  border-color: var(--fst-blue-dark, #005a84) !important;
  box-shadow: 0 0 0 2px rgba(0, 90, 132, .10) !important;
}

body.woocommerce-checkout .select2-results__options {
  max-height: 260px !important;
  padding: 4px 0 !important;
  scrollbar-width: thin;
  scrollbar-color: #aebdc4 transparent;
}

body.woocommerce-checkout .select2-results__option {
  min-height: 36px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  color: var(--fst-text, #343b47) !important;
  background: #fff !important;
  font-size: .83rem !important;
  line-height: 1.4 !important;
}

body.woocommerce-checkout .select2-results__option[aria-selected="true"] {
  background: var(--fst-blue-soft, #eef7fa) !important;
  color: var(--fst-blue-dark, #005a84) !important;
  font-weight: 700;
}

body.woocommerce-checkout .select2-results__option--highlighted[aria-selected] {
  background: var(--fst-blue-dark, #005a84) !important;
  color: #fff !important;
}

body.woocommerce-checkout .select2-results__message {
  padding: 11px 12px !important;
  color: var(--fst-muted, #68717d) !important;
  background: #fff !important;
  font-size: .8rem !important;
}

@media (max-width: 767px) {
  body.woocommerce-checkout .select2-results__options {
    max-height: 220px !important;
  }
}
