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

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

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

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

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

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

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

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

.cfk-commerce-page .woocommerce button.button,
.cfk-commerce-page .woocommerce a.button,
.cfk-commerce-page .woocommerce input.button,
.cfk-commerce-page .woocommerce #respond input#submit {
  min-height: 44px;
  margin: 0;
  padding: 10px 18px !important;
  border: 1px solid var(--cfk-blue-dark, #005a84) !important;
  border-radius: 7px !important;
  background: var(--cfk-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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.cfk-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;
}

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

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

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

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

.cfk-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;
}

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

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

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

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

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

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

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

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

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

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

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

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

.cfk-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;
}

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

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

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

/* Checkout */
.cfk-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;
}

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

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

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

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

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

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

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

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

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

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

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

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

.cfk-checkout-page #order_review table.shop_table th,
.cfk-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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .cfk-checkout-page .woocommerce form .form-row-first,
  .cfk-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. */
.cfk-cart-page .cfk-commerce-shell {
  width: min(calc(100% - 48px), 1180px);
  padding-top: 38px;
}

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

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

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

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

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

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

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

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

.cfk-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(--cfk-border, #dce3e7);
  border-radius: 12px;
  background: #fff;
}

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

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

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

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

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

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

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

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

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

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

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

.cfk-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;
}

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

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

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

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

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

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

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

.cfk-cart-page .cart_totals::after {
  content: "Delivery and assembly details are confirmed during checkout.";
  display: block;
  margin-top: 12px;
  color: var(--cfk-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. */
.cfk-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(--cfk-border, #dce3e7);
}

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

.cfk-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;
}

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

.cfk-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(--cfk-border, #dce3e7);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.cfk-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;
}

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

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

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

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

.cfk-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(--cfk-green-dark, #3d8500) !important;
  color: #fff !important;
  font-size: .62rem !important;
  line-height: 1 !important;
}

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

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

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

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

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

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

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

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

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

  .cfk-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.
 */
.cfk-cart-page .cfk-commerce-shell {
  width: min(calc(100% - 48px), 1220px);
}

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

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

.cfk-cart-page .woocommerce-cart-form table.shop_table th.product-remove,
.cfk-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;
}

.cfk-cart-page .woocommerce-cart-form table.shop_table th.product-thumbnail,
.cfk-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;
}

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

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

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

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

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

.cfk-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;
}

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

.cfk-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;
}

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

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

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

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

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

@media (max-width: 960px) {
  .cfk-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 Corporate Furniture Kenya styling outside the checkout wrapper too.
 */
.cfk-checkout-page .select2-container--default .select2-selection--single {
  height: 46px !important;
  min-height: 46px !important;
  border: 1px solid var(--cfk-border, #dce3e7) !important;
  border-radius: 7px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.cfk-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(--cfk-text, #343b47) !important;
  font-size: .86rem !important;
}

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

.cfk-checkout-page .select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--cfk-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(--cfk-border, #dce3e7) !important;
  border-radius: 6px !important;
  outline: 0 !important;
  background: #fff !important;
  color: var(--cfk-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(--cfk-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(--cfk-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(--cfk-blue-soft, #eef7fa) !important;
  color: var(--cfk-blue-dark, #005a84) !important;
  font-weight: 700;
}

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

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

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


/* ---------- v2.0.4 compact checkout billing fields ---------- */

/* Checkout only: reduce the oversized WooCommerce/Elementor form rhythm without
 * shrinking every form across the site.
 */
.cfk-checkout-page .woocommerce-billing-fields,
.cfk-checkout-page .woocommerce-shipping-fields,
.cfk-checkout-page .woocommerce-additional-fields {
  padding: 22px !important;
}

.cfk-checkout-page .woocommerce-billing-fields > h3,
.cfk-checkout-page .woocommerce-shipping-fields > h3,
.cfk-checkout-page .woocommerce-additional-fields > h3 {
  margin-bottom: 16px !important;
  font-size: 1.14rem !important;
  line-height: 1.2 !important;
}

/* WooCommerce form rows carry their own margins. Lock the checkout rhythm. */
.cfk-checkout-page .woocommerce form .form-row {
  margin: 0 0 12px !important;
  padding: 0 !important;
}

.cfk-checkout-page .woocommerce form .form-row:last-child {
  margin-bottom: 0 !important;
}

.cfk-checkout-page .woocommerce form .form-row label {
  margin: 0 0 5px !important;
  font-size: .72rem !important;
  line-height: 1.25 !important;
}

/* Text, telephone, email and postcode fields. */
.cfk-checkout-page .woocommerce form.checkout input.input-text,
.cfk-checkout-page .woocommerce form.checkout input[type="text"],
.cfk-checkout-page .woocommerce form.checkout input[type="email"],
.cfk-checkout-page .woocommerce form.checkout input[type="tel"],
.cfk-checkout-page .woocommerce form.checkout input[type="number"],
.cfk-checkout-page .woocommerce form.checkout input[type="password"] {
  box-sizing: border-box !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 0 10px !important;
  border-radius: 6px !important;
  font-size: .86rem !important;
  line-height: 42px !important;
}

/* Native selects. */
.cfk-checkout-page .woocommerce form.checkout select {
  box-sizing: border-box !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 0 34px 0 10px !important;
  border-radius: 6px !important;
  font-size: .84rem !important;
  line-height: 42px !important;
}

/* WooCommerce Select2 country/state controls. */
.cfk-checkout-page .select2-container {
  min-height: 42px !important;
}

.cfk-checkout-page .select2-container--default .select2-selection--single {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  border-radius: 6px !important;
}

.cfk-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered {
  height: 40px !important;
  padding: 0 34px 0 10px !important;
  line-height: 40px !important;
  font-size: .84rem !important;
}

.cfk-checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow {
  width: 30px !important;
  height: 40px !important;
}

/* WooCommerce may render a locked country as plain strong text instead of a
 * select. Present it as simple value text, not a large faux field.
 */
.cfk-checkout-page .woocommerce form.checkout .woocommerce-input-wrapper > strong {
  display: inline-flex !important;
  min-height: 34px !important;
  align-items: center !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--cfk-text, #343b47) !important;
  box-shadow: none !important;
  font-size: .84rem !important;
  font-weight: 700 !important;
}

/* Additional order notes can remain larger, but not excessive. */
.cfk-checkout-page .woocommerce form.checkout textarea {
  min-height: 92px !important;
  padding: 9px 10px !important;
  border-radius: 6px !important;
  font-size: .84rem !important;
  line-height: 1.5 !important;
}

/* Slightly reduce the split-field gutter so name fields feel like one row. */
.cfk-checkout-page .woocommerce form .form-row-first,
.cfk-checkout-page .woocommerce form .form-row-last {
  width: calc(50% - 6px) !important;
}

.cfk-checkout-page .woocommerce form .form-row-first {
  margin-right: 12px !important;
}

/* Compact the order summary in parallel so the two columns remain visually
 * balanced after reducing the billing form.
 */
.cfk-checkout-page #order_review {
  padding: 20px !important;
}

.cfk-checkout-page form.checkout > #order_review_heading {
  padding-bottom: 10px !important;
  font-size: 1.16rem !important;
}

.cfk-checkout-page #order_review table.shop_table {
  margin-bottom: 16px !important;
}

.cfk-checkout-page #order_review table.shop_table th,
.cfk-checkout-page #order_review table.shop_table td {
  padding: 9px 0 !important;
}

.cfk-checkout-page #payment ul.payment_methods li {
  margin-bottom: 10px !important;
}

.cfk-checkout-page #payment .place-order {
  padding-top: 15px !important;
}

/* Preserve a touch-friendly minimum on phones even though desktop is denser. */
@media (max-width: 767px) {
  .cfk-checkout-page .woocommerce-billing-fields,
  .cfk-checkout-page .woocommerce-shipping-fields,
  .cfk-checkout-page .woocommerce-additional-fields,
  .cfk-checkout-page #order_review {
    padding: 16px !important;
  }

  .cfk-checkout-page .woocommerce form .form-row {
    margin-bottom: 11px !important;
  }

  .cfk-checkout-page .woocommerce form.checkout input.input-text,
  .cfk-checkout-page .woocommerce form.checkout input[type="text"],
  .cfk-checkout-page .woocommerce form.checkout input[type="email"],
  .cfk-checkout-page .woocommerce form.checkout input[type="tel"],
  .cfk-checkout-page .woocommerce form.checkout input[type="number"],
  .cfk-checkout-page .woocommerce form.checkout input[type="password"],
  .cfk-checkout-page .woocommerce form.checkout select,
  .cfk-checkout-page .select2-container,
  .cfk-checkout-page .select2-container--default .select2-selection--single {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }

  .cfk-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered,
  .cfk-checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 42px !important;
    line-height: 42px !important;
  }

  .cfk-checkout-page .woocommerce form.checkout input.input-text,
  .cfk-checkout-page .woocommerce form.checkout input[type="text"],
  .cfk-checkout-page .woocommerce form.checkout input[type="email"],
  .cfk-checkout-page .woocommerce form.checkout input[type="tel"],
  .cfk-checkout-page .woocommerce form.checkout input[type="number"],
  .cfk-checkout-page .woocommerce form.checkout input[type="password"] {
    line-height: 44px !important;
  }

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


/* ---------- v2.0.5 conversion-focused 3-field checkout ---------- */

/* The checkout now intentionally asks for only:
 * 1. Delivery location
 * 2. Phone number
 * 3. Email address
 * Country remains an internal hidden KE value.
 */
.cfk-checkout-page .woocommerce-billing-fields {
  padding: 22px !important;
}

.cfk-checkout-page .woocommerce-billing-fields > h3 {
  margin: 0 0 17px !important;
}

/* WooCommerce may still print the shipping column shell even though the field
 * array is empty. Remove that dead section entirely.
 */
.cfk-checkout-page .col2-set .col-2,
.cfk-checkout-page #ship-to-different-address,
.cfk-checkout-page .woocommerce-shipping-fields,
.cfk-checkout-page .woocommerce-additional-fields {
  display: none !important;
}

.cfk-checkout-page .woocommerce form.checkout .cfk-checkout-location,
.cfk-checkout-page .woocommerce form.checkout .cfk-checkout-phone,
.cfk-checkout-page .woocommerce form.checkout .cfk-checkout-email {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 0 0 13px !important;
  padding: 0 !important;
}

.cfk-checkout-page .woocommerce form.checkout .cfk-checkout-email {
  margin-bottom: 0 !important;
}

/* Three fields should read as a short sequence rather than a postal form. */
.cfk-checkout-page .woocommerce form.checkout .cfk-checkout-location label,
.cfk-checkout-page .woocommerce form.checkout .cfk-checkout-phone label,
.cfk-checkout-page .woocommerce form.checkout .cfk-checkout-email label {
  margin-bottom: 5px !important;
  font-size: .73rem !important;
  font-weight: 780 !important;
}

/* Keep the checkout visually balanced now that the left column is much shorter. */
.cfk-checkout-page form.checkout {
  grid-template-columns: minmax(0, 1fr) minmax(330px, .78fr) !important;
  gap: 0 34px !important;
}

.cfk-checkout-page form.checkout > .col2-set {
  grid-row: 1 / span 2 !important;
}

@media (max-width: 960px) {
  .cfk-checkout-page form.checkout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

@media (max-width: 767px) {
  .cfk-checkout-page .woocommerce-billing-fields {
    padding: 16px !important;
  }

  .cfk-checkout-page .woocommerce form.checkout .cfk-checkout-location,
  .cfk-checkout-page .woocommerce form.checkout .cfk-checkout-phone,
  .cfk-checkout-page .woocommerce form.checkout .cfk-checkout-email {
    margin-bottom: 12px !important;
  }

  .cfk-checkout-page .woocommerce form.checkout .cfk-checkout-email {
    margin-bottom: 0 !important;
  }
}


/* v1.1.0 Corporate cart/checkout styling */
.cfk-commerce-heading {
  border-bottom-color: #D8E0DD !important;
}
.cfk-commerce-eyebrow {
  color: #00994F !important;
}
.cfk-commerce-page .woocommerce table.shop_table,
.cfk-commerce-page .woocommerce-cart-form,
.cfk-checkout-page .woocommerce-billing-fields,
.cfk-checkout-page #order_review,
.cfk-commerce-page .cart_totals {
  border-radius: 2px !important;
}
.cfk-commerce-page .button,
.cfk-checkout-page #place_order {
  border-radius: 2px !important;
}
.cfk-checkout-page #place_order {
  border-color: #00BF63 !important;
  background: #00BF63 !important;
  color: #10251A !important;
}
.cfk-checkout-page #place_order:hover {
  border-color: #00994F !important;
  background: #00994F !important;
  color: #fff !important;
}
