/* --------------------------------------------------------------------------
 * CraftArt Flow Cart Styles v1.5.4
 * Split from craftart-flow.css in v1.5.4. Keep load order from functions.php.
 * -------------------------------------------------------------------------- */

body.casf-cart-page .casf-cart-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 24px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto 44px !important;
  box-sizing: border-box !important;
}

body.casf-cart-page .casf-cart-main,
body.casf-cart-page .cart-collaterals,
body.casf-cart-page .cart_totals {
  background: var(--casf-card) !important;
  border: 1px solid var(--casf-border) !important;
  border-radius: var(--casf-radius) !important;
  box-shadow: var(--casf-shadow) !important;
  box-sizing: border-box !important;
}

body.casf-cart-page .casf-cart-main {
  padding: 0 !important;
  overflow: hidden !important;
}

body.casf-cart-page .shop_table.cart {
  width: 100% !important;
  border: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border-collapse: collapse !important;
}

body.casf-cart-page .shop_table.cart thead th {
  background: #F9FCFA !important;
  color: var(--casf-muted) !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  font-weight: 900 !important;
  border-bottom: 1px solid var(--casf-border) !important;
  padding: 14px 12px !important;
}

body.casf-cart-page .shop_table.cart td {
  border-bottom: 1px solid #edf2f7 !important;
  padding: 16px 12px !important;
  vertical-align: middle !important;
}

body.casf-cart-page .product-thumbnail img {
  width: 54px !important;
  height: 54px !important;
  object-fit: cover !important;
  border-radius: 14px !important;
  border: 1px solid var(--casf-border) !important;
  background: #fff !important;
}

body.casf-cart-page .product-name a {
  color: var(--casf-primary-deep) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.casf-cart-page .product-remove a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 999px !important;
  color: #DC2626 !important;
  background: #FEF2F2 !important;
  border: 1px solid #FECACA !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

body.casf-cart-page .quantity .qty {
  width: 56px !important;
  min-height: 40px !important;
  border-radius: 12px !important;
  border: 1px solid var(--casf-border) !important;
  text-align: center !important;
}

body.casf-cart-page .shop_table.cart .actions {
  background: #F9FCFA !important;
  padding: 16px !important;
}

body.casf-cart-page .shop_table.cart .coupon {
  display: inline-flex !important;
  gap: 10px !important;
  align-items: center !important;
  max-width: 540px !important;
}

body.casf-cart-page .shop_table.cart .coupon .input-text {
  min-width: 220px !important;
  min-height: 44px !important;
  border: 1px solid var(--casf-border) !important;
  border-radius: 14px !important;
  padding: 0 14px !important;
}

body.casf-cart-page .cart-collaterals {
  padding: 0 !important;
  overflow: hidden !important;
}

body.casf-cart-page .cart_totals {
  border: 0 !important;
  box-shadow: none !important;
  padding: 18px !important;
}

body.casf-cart-page .cart_totals h2 {
  margin: -18px -18px 14px !important;
  padding: 18px !important;
  background: #F9FCFA !important;
  border-bottom: 1px solid var(--casf-border) !important;
  color: var(--casf-text) !important;
  font-size: 22px !important;
  font-weight: 900 !important;
}

body.casf-cart-page .cart_totals table {
  width: 100% !important;
  border: 0 !important;
  margin: 0 0 16px !important;
}

body.casf-cart-page .cart_totals th,
body.casf-cart-page .cart_totals td {
  border-bottom: 1px solid #edf2f7 !important;
  padding: 12px 0 !important;
}

body.casf-cart-page .cart_totals td {
  text-align: right !important;
}

body.casf-cart-page .woocommerce-message,
body.casf-cart-page .woocommerce-info,
body.casf-cart-page .woocommerce-error,
body.casf-cart-page .woocommerce-cart-notice,
body.casf-cart-page .free-shipping-notice,
body.casf-cart-page .woocommerce-free-shipping-notice {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 14px !important;
  border: 1px solid var(--casf-border) !important;
  border-left: 4px solid var(--casf-primary) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(15,23,42,.04) !important;
  padding: 12px 14px !important;
}

@media (max-width: 921px) {
  body.casf-woo-flow .entry-content > .woocommerce,
  body.casf-woo-flow article .woocommerce,
  body.casf-woo-flow .site-main > .woocommerce,
  body.casf-woo-flow main .woocommerce {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }

  body.casf-cart-page .casf-cart-shell {
    grid-template-columns: 1fr !important;
  }

  body.casf-cart-page .shop_table.cart .coupon {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.casf-woo-flow .casf-flow-main {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  body.casf-woo-flow .casf-flow-meta {
    justify-content: flex-start !important;
  }

  body.casf-woo-flow .casf-flow-steps ol {
    grid-template-columns: 1fr !important;
    border-radius: 18px !important;
  }
}

/* v1.0.9 — cart totals width and express buttons containment */
body.casf-cart-page .entry-content > .woocommerce,
body.casf-cart-page article .woocommerce,
body.casf-cart-page .site-main > .woocommerce,
body.casf-cart-page main .woocommerce {
  max-width: 1160px !important;
  width: calc(100% - 48px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.casf-cart-page .casf-cart-shell {
  grid-template-columns: minmax(0, 1fr) 390px !important;
  gap: 28px !important;
  align-items: start !important;
}

body.casf-cart-page .cart-collaterals,
body.casf-cart-page .cart_totals {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 390px !important;
}

body.casf-cart-page .cart_totals {
  padding: 20px !important;
  overflow: hidden !important;
}

body.casf-cart-page .cart_totals h2 {
  margin: -20px -20px 18px !important;
  padding: 20px !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

body.casf-cart-page .cart_totals table,
body.casf-cart-page .cart_totals tbody,
body.casf-cart-page .cart_totals tr,
body.casf-cart-page .cart_totals th,
body.casf-cart-page .cart_totals td {
  box-sizing: border-box !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

body.casf-cart-page .cart_totals th {
  width: 45% !important;
  min-width: 112px !important;
  white-space: nowrap !important;
  color: var(--casf-text) !important;
}

body.casf-cart-page .cart_totals td {
  width: 55% !important;
  text-align: right !important;
  white-space: normal !important;
}

body.casf-cart-page .cart_totals .paypal-button,
body.casf-cart-page .cart_totals .paypal-buttons,
body.casf-cart-page .cart_totals .ppc-button-wrapper,
body.casf-cart-page .cart_totals .ppc-button-wrapper * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 921px) {
  body.casf-cart-page .casf-cart-shell {
    grid-template-columns: 1fr !important;
  }
  body.casf-cart-page .cart-collaterals,
  body.casf-cart-page .cart_totals {
    max-width: 100% !important;
  }
}

body.casf-cart-page .casf-cart-axis .casf-cart-shell {
  grid-template-columns: minmax(0, 1fr) 390px !important;
  gap: 28px !important;
  align-items: start !important;
}

body.casf-cart-page .casf-cart-axis .casf-cart-main,
body.casf-cart-page .casf-cart-axis .cart-collaterals,
body.casf-cart-page .casf-cart-axis .cart_totals {
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

body.casf-cart-page .casf-cart-axis .cart-collaterals,
body.casf-cart-page .casf-cart-axis .cart_totals {
  max-width: 390px !important;
  width: 100% !important;
}

@media (max-width: 921px) {
  body.casf-cart-page .casf-cart-axis .casf-cart-shell {
    grid-template-columns: 1fr !important;
  }
  body.casf-cart-page .casf-cart-axis .cart-collaterals,
  body.casf-cart-page .casf-cart-axis .cart_totals {
    max-width: 100% !important;
  }
}

/* v1.0.27 — empty cart premium state */
body.casf-cart-page .casf-cart-empty-axis {
  width: min(1200px, calc(100vw - 48px)) !important;
  max-width: min(1200px, calc(100vw - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  gap: 22px !important;
  box-sizing: border-box !important;
}

body.casf-cart-page .casf-cart-empty-axis .cart-empty,
body.casf-cart-page .casf-cart-empty-axis .return-to-shop {
  display: none !important;
}

body.casf-cart-page .casf-empty-notices:empty {
  display: none !important;
}

body.casf-cart-page .casf-empty-cart-hero {
  background: radial-gradient(circle at top right, rgba(27,156,133,.14), transparent 34%), linear-gradient(135deg, #FFFFFF 0%, #F9FCFA 100%) !important;
  border: 1px solid rgba(27, 156, 133, .18) !important;
  border-radius: 30px !important;
  box-shadow: var(--casf-shadow, 0 14px 34px rgba(15,23,42,.08)) !important;
  padding: 34px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 330px !important;
  gap: 28px !important;
  align-items: center !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.casf-cart-page .casf-empty-copy {
  display: flex !important;
  align-items: flex-start !important;
  gap: 20px !important;
}

body.casf-cart-page .casf-empty-icon {
  width: 68px !important;
  height: 68px !important;
  min-width: 68px !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, var(--casf-primary, #1B9C85), var(--casf-primary-dark, #147A69)) !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  font-size: 32px !important;
  box-shadow: 0 18px 34px rgba(27,156,133,.25) !important;
}

body.casf-cart-page .casf-empty-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: 999px !important;
  background: #ECFDF5 !important;
  color: var(--casf-primary-deep, #0F5F53) !important;
  border: 1px solid #BDEBE3 !important;
  padding: 7px 12px !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  margin-bottom: 12px !important;
}

body.casf-cart-page .casf-empty-cart-hero h1 {
  margin: 0 !important;
  color: var(--casf-text, #111827) !important;
  font-size: clamp(34px, 4vw, 48px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.065em !important;
}

body.casf-cart-page .casf-empty-cart-hero p {
  margin: 12px 0 0 !important;
  color: var(--casf-muted, #6B7280) !important;
  line-height: 1.6 !important;
  font-size: 15px !important;
  max-width: 640px !important;
}

body.casf-cart-page .casf-empty-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 24px !important;
}

body.casf-cart-page .casf-button {
  min-height: 50px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 13px 22px !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  line-height: 1.2 !important;
}

body.casf-cart-page .casf-button-primary {
  color: #fff !important;
  background: linear-gradient(135deg, var(--casf-primary, #1B9C85), var(--casf-primary-dark, #147A69)) !important;
  box-shadow: 0 14px 28px rgba(27,156,133,.22) !important;
}

body.casf-cart-page .casf-button-secondary {
  background: #fff !important;
  color: var(--casf-primary-deep, #0F5F53) !important;
  border: 1px solid #BDEBE3 !important;
}

body.casf-cart-page .casf-empty-illustration {
  background: #fff !important;
  border: 1px solid var(--casf-border, #E5E7EB) !important;
  border-radius: 26px !important;
  padding: 20px !important;
  min-height: 270px !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.06) !important;
}

body.casf-cart-page .casf-bag-graphic {
  width: 210px !important;
  height: 210px !important;
  border-radius: 42px !important;
  background: radial-gradient(circle at 70% 22%, rgba(245,158,11,.18), transparent 18%), linear-gradient(135deg, #ECFDF5, #FFFFFF) !important;
  border: 1px solid #D8F3EC !important;
  display: grid !important;
  place-items: center !important;
  position: relative !important;
}

body.casf-cart-page .casf-bag-graphic::before {
  content: "" !important;
  width: 112px !important;
  height: 130px !important;
  border-radius: 22px 22px 28px 28px !important;
  background: linear-gradient(135deg, var(--casf-primary, #1B9C85), var(--casf-primary-dark, #147A69)) !important;
  box-shadow: 0 18px 30px rgba(27,156,133,.24) !important;
}

body.casf-cart-page .casf-bag-graphic::after {
  content: "0" !important;
  position: absolute !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--casf-primary-deep, #0F5F53) !important;
  display: grid !important;
  place-items: center !important;
  font-size: 22px !important;
  font-weight: 950 !important;
  border: 1px solid #BDEBE3 !important;
  box-shadow: 0 10px 20px rgba(15,23,42,.08) !important;
}

body.casf-cart-page .casf-empty-suggestion-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 22px !important;
  align-items: start !important;
}

body.casf-cart-page .casf-card,
body.casf-cart-page .casf-recent-strip {
  background: #fff !important;
  border: 1px solid var(--casf-border, #E5E7EB) !important;
  border-radius: var(--casf-radius-lg, 24px) !important;
  box-shadow: var(--casf-shadow, 0 14px 34px rgba(15,23,42,.08)) !important;
  overflow: hidden !important;
}

body.casf-cart-page .casf-card-header,
body.casf-cart-page .casf-recent-head {
  padding: 20px 22px !important;
  border-bottom: 1px solid var(--casf-border, #E5E7EB) !important;
  background: var(--casf-card-soft, #F9FCFA) !important;
}

body.casf-cart-page .casf-card-header h2,
body.casf-cart-page .casf-recent-head h2 {
  margin: 0 !important;
  color: var(--casf-text, #111827) !important;
  font-size: 22px !important;
  letter-spacing: -.04em !important;
  line-height: 1.15 !important;
}

body.casf-cart-page .casf-card-body {
  padding: 22px !important;
}

body.casf-cart-page .casf-category-list,
body.casf-cart-page .casf-trust-list {
  display: grid !important;
  gap: 12px !important;
}

body.casf-cart-page .casf-category-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 15px !important;
  border: 1px solid var(--casf-border, #E5E7EB) !important;
  border-radius: 17px !important;
  background: #fff !important;
  text-decoration: none !important;
  color: var(--casf-text, #111827) !important;
  transition: .18s ease !important;
}

body.casf-cart-page .casf-category-link:hover {
  border-color: rgba(27,156,133,.35) !important;
  background: #FBFEFC !important;
  transform: translateY(-1px) !important;
}

body.casf-cart-page .casf-category-left {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

body.casf-cart-page .casf-category-icon {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  border-radius: 14px !important;
  display: grid !important;
  place-items: center !important;
  background: #ECFDF5 !important;
  color: var(--casf-primary-deep, #0F5F53) !important;
  border: 1px solid #BDEBE3 !important;
  font-size: 20px !important;
}

body.casf-cart-page .casf-category-link strong,
body.casf-cart-page .casf-trust-item strong {
  display: block !important;
  color: var(--casf-text, #111827) !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}

body.casf-cart-page .casf-category-link span span,
body.casf-cart-page .casf-trust-item span span {
  display: block !important;
  color: var(--casf-muted, #6B7280) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  margin-top: 2px !important;
}

body.casf-cart-page .casf-arrow {
  color: var(--casf-primary-deep, #0F5F53) !important;
  font-weight: 950 !important;
  font-size: 18px !important;
}

body.casf-cart-page .casf-trust-item {
  display: flex !important;
  gap: 12px !important;
  align-items: flex-start !important;
  padding: 15px !important;
  background: var(--casf-card-soft, #F9FCFA) !important;
  border: 1px solid var(--casf-border, #E5E7EB) !important;
  border-radius: 17px !important;
}

body.casf-cart-page .casf-trust-check {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border-radius: 999px !important;
  background: #ECFDF5 !important;
  color: var(--casf-primary-deep, #0F5F53) !important;
  border: 1px solid #BDEBE3 !important;
  display: grid !important;
  place-items: center !important;
  font-size: 14px !important;
  font-weight: 950 !important;
}

body.casf-cart-page .casf-recent-strip {
  padding: 0 !important;
}

body.casf-cart-page .casf-recent-head {
  display: flex !important;
  justify-content: space-between !important;
  gap: 16px !important;
  align-items: center !important;
}

body.casf-cart-page .casf-recent-head a {
  color: var(--casf-primary-deep, #0F5F53) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 950 !important;
}

body.casf-cart-page .casf-product-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  padding: 22px !important;
}

body.casf-cart-page .casf-product-card {
  border: 1px solid var(--casf-border, #E5E7EB) !important;
  border-radius: 18px !important;
  background: var(--casf-card-soft, #F9FCFA) !important;
  padding: 14px !important;
  min-height: 190px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}

body.casf-cart-page .casf-product-thumb {
  height: 96px !important;
  border-radius: 15px !important;
  background: linear-gradient(135deg, #ECFDF5, #FFFFFF) !important;
  border: 1px solid #D8F3EC !important;
  margin-bottom: 12px !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}

body.casf-cart-page .casf-product-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

body.casf-cart-page .casf-product-title {
  color: var(--casf-text, #111827) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 850 !important;
}

body.casf-cart-page .casf-product-price {
  color: var(--casf-primary-deep, #0F5F53) !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  margin-top: 5px !important;
}

@media (max-width: 900px) {
  body.casf-cart-page .casf-cart-empty-axis {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }

  body.casf-cart-page .casf-empty-cart-hero,
  body.casf-cart-page .casf-empty-suggestion-grid {
    grid-template-columns: 1fr !important;
  }

  body.casf-cart-page .casf-empty-copy {
    display: grid !important;
  }

  body.casf-cart-page .casf-empty-illustration {
    min-height: 220px !important;
  }

  body.casf-cart-page .casf-bag-graphic {
    width: 170px !important;
    height: 170px !important;
  }

  body.casf-cart-page .casf-product-row {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 560px) {
  body.casf-cart-page .casf-empty-cart-hero {
    padding: 24px !important;
  }

  body.casf-cart-page .casf-empty-actions {
    display: grid !important;
  }

  body.casf-cart-page .casf-product-row {
    grid-template-columns: 1fr !important;
  }

  body.casf-cart-page .casf-recent-head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

/* v1.0.29 — show square product thumbnails complete in empty-cart recommendations */
body.casf-cart-page .casf-cart-empty-axis .casf-product-row {
  align-items: stretch !important;
}

body.casf-cart-page .casf-cart-empty-axis .casf-product-card {
  min-height: 0 !important;
  justify-content: flex-start !important;
}

body.casf-cart-page .casf-cart-empty-axis .casf-product-thumb {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  padding: 12px !important;
  background: #FFFFFF !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.casf-cart-page .casf-cart-empty-axis .casf-product-thumb img,
body.casf-cart-page .casf-cart-empty-axis .casf-product-card img,
body.casf-cart-page .casf-cart-empty-axis .casf-product-thumb .attachment-woocommerce_thumbnail,
body.casf-cart-page .casf-cart-empty-axis .casf-product-thumb .woocommerce-placeholder {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  border-radius: 12px !important;
}

body.casf-cart-page .casf-cart-empty-axis .casf-product-title {
  margin-top: 2px !important;
}

/* v1.5.5 — mobile cart totals and shipping QA polish */
@media (max-width: 640px) {
  body.casf-cart-page .cart_totals {
    padding: 18px !important;
  }

  body.casf-cart-page .cart_totals table.shop_table_responsive,
  body.casf-cart-page .cart_totals table.shop_table_responsive tbody,
  body.casf-cart-page .cart_totals table.shop_table_responsive tr,
  body.casf-cart-page .cart_totals table.shop_table_responsive th,
  body.casf-cart-page .cart_totals table.shop_table_responsive td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.casf-cart-page .cart_totals table.shop_table_responsive tr {
    padding: 14px 0 !important;
    border-bottom: 1px solid #DCEEE8 !important;
  }

  body.casf-cart-page .cart_totals table.shop_table_responsive th,
  body.casf-cart-page .cart_totals table.shop_table_responsive td {
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  body.casf-cart-page .cart_totals table.shop_table_responsive td::before {
    content: none !important;
    display: none !important;
  }

  body.casf-cart-page .cart_totals table.shop_table_responsive th {
    margin-bottom: 8px !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
  }

  body.casf-cart-page .cart_totals table.shop_table_responsive td {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  body.casf-cart-page .cart_totals ul#shipping_method,
  body.casf-cart-page .cart_totals .woocommerce-shipping-methods {
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.casf-cart-page .cart_totals ul#shipping_method li,
  body.casf-cart-page .cart_totals .woocommerce-shipping-methods li {
    position: relative !important;
    display: block !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border: 1px solid #DCEEE8 !important;
    border-radius: 16px !important;
    background: #FFFFFF !important;
    overflow: visible !important;
  }

  body.casf-cart-page .cart_totals ul#shipping_method li input[type="radio"],
  body.casf-cart-page .cart_totals .woocommerce-shipping-methods li input[type="radio"] {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    opacity: 1 !important;
    z-index: 2 !important;
  }

  body.casf-cart-page .cart_totals ul#shipping_method li label,
  body.casf-cart-page .cart_totals .woocommerce-shipping-methods li label {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 10px !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 12px 14px 12px 42px !important;
    color: #0F172A !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.casf-cart-page .cart_totals ul#shipping_method li label::before,
  body.casf-cart-page .cart_totals ul#shipping_method li label::after,
  body.casf-cart-page .cart_totals .woocommerce-shipping-methods li label::before,
  body.casf-cart-page .cart_totals .woocommerce-shipping-methods li label::after {
    content: none !important;
    display: none !important;
  }

  body.casf-cart-page .cart_totals ul#shipping_method li label .amount,
  body.casf-cart-page .cart_totals .woocommerce-shipping-methods li label .amount,
  body.casf-cart-page .cart_totals ul#shipping_method li label bdi,
  body.casf-cart-page .cart_totals .woocommerce-shipping-methods li label bdi {
    justify-self: end !important;
    margin-left: auto !important;
    white-space: nowrap !important;
    text-align: right !important;
  }

  body.casf-cart-page .cart_totals .woocommerce-shipping-destination {
    margin-top: 10px !important;
    text-align: left !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
  }
}

/* v1.5.8 — stable cart shipping rows across desktop and mobile */
body.casf-cart-page .cart_totals ul#shipping_method,
body.casf-cart-page .cart_totals .woocommerce-shipping-methods {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.casf-cart-page .cart_totals ul#shipping_method li,
body.casf-cart-page .cart_totals .woocommerce-shipping-methods li {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 10px !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  list-style: none !important;
  border: 1px solid #DCEEE8 !important;
  border-radius: 16px !important;
  background: #FFFFFF !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.casf-cart-page .cart_totals ul#shipping_method li input[type="radio"],
body.casf-cart-page .cart_totals .woocommerce-shipping-methods li input[type="radio"] {
  position: static !important;
  grid-column: 1 !important;
  justify-self: center !important;
  align-self: center !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  z-index: 2 !important;
}

body.casf-cart-page .cart_totals ul#shipping_method li label,
body.casf-cart-page .cart_totals .woocommerce-shipping-methods li label {
  grid-column: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #0F172A !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

body.casf-cart-page .cart_totals ul#shipping_method li label::before,
body.casf-cart-page .cart_totals ul#shipping_method li label::after,
body.casf-cart-page .cart_totals .woocommerce-shipping-methods li label::before,
body.casf-cart-page .cart_totals .woocommerce-shipping-methods li label::after {
  content: none !important;
  display: none !important;
}

body.casf-cart-page .cart_totals ul#shipping_method li label .amount,
body.casf-cart-page .cart_totals .woocommerce-shipping-methods li label .amount,
body.casf-cart-page .cart_totals ul#shipping_method li label bdi,
body.casf-cart-page .cart_totals .woocommerce-shipping-methods li label bdi {
  justify-self: end !important;
  margin-left: auto !important;
  white-space: nowrap !important;
  text-align: right !important;
}

body.casf-cart-page .cart_totals .woocommerce-shipping-destination,
body.casf-cart-page .cart_totals .woocommerce-shipping-calculator {
  text-align: left !important;
  overflow-wrap: anywhere !important;
}

body.casf-cart-page .cart_totals .order-total td,
body.casf-cart-page .cart_totals .order-total .amount,
body.casf-cart-page .cart_totals .order-total small {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* v1.5.13 — exact Woo cart totals shipping row fix */
body.woocommerce-cart .cart_totals table,
body.casf-cart-page .cart_totals table {
  table-layout: auto !important;
}

body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping,
body.woocommerce-cart .cart_totals tr.shipping,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping,
body.casf-cart-page .cart_totals tr.shipping {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid #DCEEE8 !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping th,
body.woocommerce-cart .cart_totals tr.shipping th,
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping td,
body.woocommerce-cart .cart_totals tr.shipping td,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping th,
body.casf-cart-page .cart_totals tr.shipping th,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping td,
body.casf-cart-page .cart_totals tr.shipping td {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
  white-space: normal !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping th,
body.woocommerce-cart .cart_totals tr.shipping th,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping th,
body.casf-cart-page .cart_totals tr.shipping th {
  margin: 0 0 10px !important;
}

body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping td::before,
body.woocommerce-cart .cart_totals tr.shipping td::before,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping td::before,
body.casf-cart-page .cart_totals tr.shipping td::before {
  content: none !important;
  display: none !important;
}

body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping #shipping_method,
body.woocommerce-cart .cart_totals tr.shipping #shipping_method,
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods,
body.woocommerce-cart .cart_totals tr.shipping .woocommerce-shipping-methods,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping #shipping_method,
body.casf-cart-page .cart_totals tr.shipping #shipping_method,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods,
body.casf-cart-page .cart_totals tr.shipping .woocommerce-shipping-methods {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping #shipping_method > li,
body.woocommerce-cart .cart_totals tr.shipping #shipping_method > li,
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods > li,
body.woocommerce-cart .cart_totals tr.shipping .woocommerce-shipping-methods > li,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping #shipping_method > li,
body.casf-cart-page .cart_totals tr.shipping #shipping_method > li,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods > li,
body.casf-cart-page .cart_totals tr.shipping .woocommerce-shipping-methods > li {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  list-style: none !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping #shipping_method > li > input.shipping_method,
body.woocommerce-cart .cart_totals tr.shipping #shipping_method > li > input.shipping_method,
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods > li > input.shipping_method,
body.woocommerce-cart .cart_totals tr.shipping .woocommerce-shipping-methods > li > input.shipping_method,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping #shipping_method > li > input.shipping_method,
body.casf-cart-page .cart_totals tr.shipping #shipping_method > li > input.shipping_method,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods > li > input.shipping_method,
body.casf-cart-page .cart_totals tr.shipping .woocommerce-shipping-methods > li > input.shipping_method {
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  opacity: 1 !important;
  z-index: 3 !important;
  appearance: auto !important;
  -webkit-appearance: radio !important;
  float: none !important;
}

body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping #shipping_method > li > label,
body.woocommerce-cart .cart_totals tr.shipping #shipping_method > li > label,
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods > li > label,
body.woocommerce-cart .cart_totals tr.shipping .woocommerce-shipping-methods > li > label,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping #shipping_method > li > label,
body.casf-cart-page .cart_totals tr.shipping #shipping_method > li > label,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods > li > label,
body.casf-cart-page .cart_totals tr.shipping .woocommerce-shipping-methods > li > label {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 12px 14px 12px 44px !important;
  border: 1px solid #DCEEE8 !important;
  border-radius: 16px !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
  color: #0F172A !important;
  line-height: 1.25 !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping #shipping_method > li > label::before,
body.woocommerce-cart .cart_totals tr.shipping #shipping_method > li > label::before,
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods > li > label::before,
body.woocommerce-cart .cart_totals tr.shipping .woocommerce-shipping-methods > li > label::before,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping #shipping_method > li > label::before,
body.casf-cart-page .cart_totals tr.shipping #shipping_method > li > label::before,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods > li > label::before,
body.casf-cart-page .cart_totals tr.shipping .woocommerce-shipping-methods > li > label::before,
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping #shipping_method > li > label::after,
body.woocommerce-cart .cart_totals tr.shipping #shipping_method > li > label::after,
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods > li > label::after,
body.woocommerce-cart .cart_totals tr.shipping .woocommerce-shipping-methods > li > label::after,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping #shipping_method > li > label::after,
body.casf-cart-page .cart_totals tr.shipping #shipping_method > li > label::after,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods > li > label::after,
body.casf-cart-page .cart_totals tr.shipping .woocommerce-shipping-methods > li > label::after {
  content: none !important;
  display: none !important;
}

body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping #shipping_method > li > label .amount,
body.woocommerce-cart .cart_totals tr.shipping #shipping_method > li > label .amount,
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods > li > label .amount,
body.woocommerce-cart .cart_totals tr.shipping .woocommerce-shipping-methods > li > label .amount,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping #shipping_method > li > label .amount,
body.casf-cart-page .cart_totals tr.shipping #shipping_method > li > label .amount,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-methods > li > label .amount,
body.casf-cart-page .cart_totals tr.shipping .woocommerce-shipping-methods > li > label .amount {
  justify-self: end !important;
  margin-left: auto !important;
  white-space: nowrap !important;
  text-align: right !important;
  font-weight: 950 !important;
}

body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-destination,
body.woocommerce-cart .cart_totals tr.shipping .woocommerce-shipping-destination,
body.casf-cart-page .cart_totals tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-destination,
body.casf-cart-page .cart_totals tr.shipping .woocommerce-shipping-destination {
  margin-top: 10px !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
}
