/* ==========================================================================
   LEAFERRY CHECKOUTWC SHOPIFY CLEAN ARCHITECTURE (对标 Shopify 极简清爽体验)
   Connected to Blocksy Pro Customizer Design Tokens & Global Palette
   All legacy override locks eradicated.
   ========================================================================== */

#cfw, 
#cfw-checkout-container,
.cfw-checkout {
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  color: #333333;
}

/* 章节标题：现代利落无衬线排印 (对标 Shopify Contact / Delivery / Shipping method) */
#cfw h1,
#cfw h2,
#cfw h3,
#cfw h4,
#cfw .cfw-panel-heading,
#cfw .cfw-shipping-methods-heading,
#cfw .cfw-billing-address-heading,
#cfw #cfw-customer-info-heading,
#cfw #cfw-shipping-address-heading {
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: #111111 !important;
  letter-spacing: -0.01em !important;
  margin-top: 24px;
  margin-bottom: 14px;
  line-height: 1.3;
}

/* Contact Section: Right-Aligned Login Link (对标 Shopify Contact 标题行右侧 Login 链接) */
#cfw #cfw-account-details {
  position: relative;
}
#cfw #cfw-account-details .cfw-have-acc-text:not(.account-exists-text) {
  position: absolute;
  top: -36px;
  right: 0;
  margin: 0;
  line-height: 22px;
  font-size: 14px;
  text-align: right;
  z-index: 2;
}
#cfw #cfw-account-details .cfw-have-acc-text #cfw-login-modal-trigger {
  color: var(--theme-palette-color-1, #005441);
  font-size: 14px;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.15s ease;
}
#cfw #cfw-account-details .cfw-have-acc-text #cfw-login-modal-trigger:hover {
  color: #1A3326;
}

/* CheckoutWC 登录与找回密码弹窗重塑 (Quiet Luxury / 对标 Shopify 极简居中设计) */
.react-responsive-modal-overlay.cfw-modal-overlay {
  background-color: rgba(18, 30, 25, 0.45) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  transition: opacity 0.25s ease !important;
}

.react-responsive-modal-modal.cfw-modal {
  max-width: 440px !important;
  width: 92% !important;
  border-radius: 16px !important;
  padding: 40px 32px 32px !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.18), 0 8px 16px -4px rgba(0, 0, 0, 0.06) !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.react-responsive-modal-closeButton {
  top: 16px !important;
  right: 16px !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  color: #707070 !important;
  transition: all 0.15s ease !important;
}

.react-responsive-modal-closeButton:hover {
  background-color: #f3f4f6 !important;
  color: #111111 !important;
}

.react-responsive-modal-closeButton svg {
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
}

#cfw_login_modal_form,
#cfw_lost_password_form {
  margin: 0 !important;
}

#cfw_login_modal_form h3 {
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: #111111 !important;
  text-align: center !important;
  margin: 0 0 6px 0 !important;
  letter-spacing: -0.01em !important;
}

#cfw_login_modal_form p.cfw-mb {
  text-align: center !important;
  color: #707070 !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  margin: 0 0 22px 0 !important;
}

#cfw_lost_password_form::before {
  content: "Reset password";
  display: block;
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 22px;
  font-weight: 600;
  color: #111111;
  text-align: center;
  margin: 0 0 8px 0;
  letter-spacing: -0.01em;
}

#cfw_lost_password_form > p {
  text-align: center !important;
  color: #707070 !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  margin: 0 0 20px 0 !important;
}

#cfw_login_modal_form .cfw-input-wrap,
#cfw_lost_password_form .cfw-input-wrap {
  margin-bottom: 14px !important;
}

#cfw_login_modal_form .input-text,
#cfw_lost_password_form .input-text {
  height: 46px !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  color: #111111 !important;
  background-color: #ffffff !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  box-sizing: border-box !important;
}

#cfw_login_modal_form .input-text:focus,
#cfw_lost_password_form .input-text:focus {
  border-color: var(--theme-palette-color-1, #005441) !important;
  box-shadow: 0 0 0 1px var(--theme-palette-color-1, #005441) !important;
  outline: none !important;
}

#cfw_login_modal_form .cfw-login-modal-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 10px !important;
  margin-bottom: 22px !important;
  padding: 0 2px !important;
}

#cfw_login_modal_form .cfw-login-modal-footer .form-row,
#cfw_login_modal_form .cfw-login-modal-footer .lost_password {
  margin: 0 !important;
  padding: 0 !important;
}

#cfw_login_modal_form .cfw-login-modal-footer label {
  font-size: 13px !important;
  color: #555555 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
}

#cfw_login_modal_form .cfw-login-modal-footer input[type="checkbox"] {
  accent-color: var(--theme-palette-color-1, #005441) !important;
  margin: 0 !important;
}

#cfw_login_modal_form .cfw-login-modal-footer .lost_password a {
  font-size: 13px !important;
  color: #707070 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transition: color 0.15s ease !important;
}

#cfw_login_modal_form .cfw-login-modal-footer .lost_password a:hover {
  color: var(--theme-palette-color-1, #005441) !important;
}

#cfw_login_modal_form .cfw-login-modal-navigation {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin: 0 0 8px 0 !important;
}

#cfw_login_modal_form #cfw-login-btn,
#cfw_lost_password_form .cfw-primary-btn {
  width: 100% !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: var(--theme-palette-color-1, #005441) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  border-radius: 8px !important;
  border: none !important;
  box-shadow: 0 2px 4px rgba(0, 84, 65, 0.12) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

#cfw_login_modal_form #cfw-login-btn:hover,
#cfw_lost_password_form .cfw-primary-btn:hover {
  background-color: #1A3326 !important;
  box-shadow: 0 4px 10px rgba(0, 84, 65, 0.2) !important;
}

#cfw_login_modal_form #cfw_login_modal_close {
  text-align: center !important;
  color: #707070 !important;
  font-size: 13px !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transition: color 0.15s ease !important;
}

#cfw_login_modal_form #cfw_login_modal_close:hover {
  color: #111111 !important;
}

#cfw_login_modal_form #nsl-custom-login-form-1 {
  margin-top: 6px !important;
}

#cfw_login_modal_form #nsl-custom-login-form-1 .nsl-separator {
  margin: 18px 0 16px !important;
  color: #888888 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
}

#cfw_login_modal_form #nsl-custom-login-form-1 .nsl-separator::before,
#cfw_login_modal_form #nsl-custom-login-form-1 .nsl-separator::after {
  background: rgba(0, 0, 0, 0.12) !important;
}

#cfw_login_modal_form .nsl-button-google {
  height: 46px !important;
  border-radius: 8px !important;
  border: 1px solid #d9d9d9 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
}

#cfw_login_modal_form .nsl-button-google:hover {
  border-color: #bbbbbb !important;
  background-color: #fafafa !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08) !important;
}

#cfw_login_modal_form .nsl-button-google .nsl-button-label-container {
  font-size: 14px !important;
  color: #333333 !important;
  font-weight: 500 !important;
}

/* 左右双色分栏架构 (左纯白专注填写，右淡温润青瓷底) */
#cfw #cfw-cart-summary-container,
#cfw #cfw-cart-summary,
.cfw-cart-summary-container,
.cfw-cart-summary {
  background-color: var(--theme-palette-color-7, #FAFBF9);
  border-left: 1px solid rgba(0, 84, 65, 0.08);
}

/* 面包屑与导航层级微调 */
#cfw .cfw-breadcrumbs,
#cfw ul.cfw-breadcrumbs {
  margin-top: 14px;
  margin-bottom: 24px;
  font-size: 13px;
  letter-spacing: 0.02em;
}
#cfw .cfw-breadcrumb-item,
#cfw .cfw-breadcrumb-item a {
  color: #707070;
  text-decoration: none;
}
#cfw .cfw-breadcrumb-item.active,
#cfw .cfw-breadcrumb-item.active a {
  color: var(--theme-palette-color-1, #005441);
  font-weight: 600;
}

/* 彻底拆除快捷支付灰色外框、fieldset边框及冗余内边距 (对标 Shopify 极简浮层) */
#cfw #cfw-payment-request-buttons,
#cfw #wc-stripe-payment-request-wrapper,
#cfw .cfw-payment-request-buttons,
#cfw fieldset.cfw-express-checkout,
#cfw #cfw-express-checkout,
#cfw .cfw-express-checkout,
#cfw .cfw-express-checkout-container {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin-top: 4px !important;
  margin-bottom: 20px !important;
  box-shadow: none !important;
}
#cfw #cfw-payment-request-buttons legend,
#cfw .cfw-express-checkout legend,
#cfw #cfw-payment-request-buttons h2,
#cfw .cfw-express-checkout h2 {
  text-align: center !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #707070 !important;
  border: none !important;
  padding: 0 8px !important;
  margin: 0 auto 12px auto !important;
  float: none !important;
  width: auto !important;
  display: block !important;
}
#cfw-express-checkout button,
#cfw-express-checkout iframe,
#cfw-payment-request-buttons iframe,
.stripe-express-checkout-button,
#cfw-express-checkout .cfw-express-checkout-buttons > * {
  border-radius: 8px !important;
  box-shadow: none !important;
}

/* 对标 Shopify 极简细线 "OR" 分隔条 */
#cfw .cfw-or-separator,
#cfw .cfw-separator,
#cfw #cfw-payment-request-buttons + .cfw-separator {
  display: flex !important;
  align-items: center !important;
  text-align: center !important;
  color: #707070 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin: 20px 0 24px 0 !important;
  border: none !important;
}
#cfw .cfw-or-separator::before,
#cfw .cfw-or-separator::after,
#cfw .cfw-separator::before,
#cfw .cfw-separator::after {
  content: "" !important;
  flex: 1 !important;
  border-bottom: 1px solid #e1e3e5 !important;
}
#cfw .cfw-or-separator:not(:empty)::before,
#cfw .cfw-separator:not(:empty)::before {
  margin-right: 14px !important;
}
#cfw .cfw-or-separator:not(:empty)::after,
#cfw .cfw-separator:not(:empty)::after {
  margin-left: 14px !important;
}

/* 品牌静奢辅助链接 */
#cfw a:not(.cfw-primary-btn):not(.cfw-secondary-btn),
#cfw .cfw-login-link,
#cfw a#cfw-promo-code-btn,
#cfw .cfw-promo-code-btn {
  color: var(--theme-palette-color-1, #005441);
  text-decoration: underline;
  text-decoration-color: rgba(0, 84, 65, 0.35);
  text-underline-offset: 3px;
  transition: all 0.2s ease;
}
#cfw a:not(.cfw-primary-btn):not(.cfw-secondary-btn):hover,
#cfw .cfw-login-link:hover,
#cfw a#cfw-promo-code-btn:hover {
  color: var(--theme-palette-color-2, #006851);
  text-decoration-color: var(--theme-palette-color-2, #006851);
}

/* 表单输入框 Shopify 清爽标准 (8px 圆角、干净轻盈中性浅灰边框 #d9d9d9、深灰文字) */
#cfw input[type="text"],
#cfw input[type="email"],
#cfw input[type="tel"],
#cfw input[type="password"],
#cfw select,
#cfw textarea,
#cfw .cfw-input-wrap input:not([type="checkbox"]):not([type="radio"]),
#cfw .cfw-input-wrap select,
#cfw .select2-container--default .select2-selection--single {
  border-radius: 8px !important;
  border: 1px solid #d9d9d9 !important;
  background-color: #FFFFFF !important;
  color: #333333 !important;
  font-family: inherit;
  font-size: 14px;
  padding-left: 12px;
  padding-right: 12px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* 确保表单行容器本身纯净透明、绝无双层嵌套边框 */
#cfw .cfw-input-wrap,
#cfw .form-row.cfw-input-wrap,
#cfw .cfw-check-input {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* 当输入框处于激活/已填写浮动状态时，赋予精准垂直间距，标签与文字层次分明、绝不重叠 */
#cfw .form-row.cfw-label-is-floated input[type="text"],
#cfw .form-row.cfw-label-is-floated input[type="email"],
#cfw .form-row.cfw-label-is-floated input[type="tel"],
#cfw .form-row.cfw-label-is-floated input[type="password"],
#cfw .form-row.cfw-label-is-floated select {
  padding-top: 1.35em;
  padding-bottom: 0.35em;
}

/* 未浮动/空状态下的自然舒适呼吸感内边距 */
#cfw .form-row:not(.cfw-label-is-floated) input[type="text"],
#cfw .form-row:not(.cfw-label-is-floated) input[type="email"],
#cfw .form-row:not(.cfw-label-is-floated) input[type="tel"],
#cfw .form-row:not(.cfw-label-is-floated) input[type="password"],
#cfw .form-row:not(.cfw-label-is-floated) select {
  padding-top: 0.85em;
  padding-bottom: 0.85em;
}

/* 尊重国际电话组件 intl-tel-input 国旗位置，不挤压国旗图标 */
.iti input[type="tel"],
#cfw .iti input[type="tel"] {
  padding-left: 52px;
}

#cfw input[type="text"]:focus,
#cfw input[type="email"]:focus,
#cfw input[type="tel"]:focus,
#cfw input[type="password"]:focus,
#cfw select:focus,
#cfw textarea:focus,
.cfw-input-wrap input:focus,
.cfw-input-wrap select:focus {
  border-color: #111111;
  box-shadow: 0 0 0 1px #111111;
  outline: none;
}

#cfw .cfw-floating-label,
#cfw .cfw-floatable-label {
  color: #707070;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
  padding-left: 12px;
}

#cfw input[type="checkbox"],
#cfw input[type="radio"] {
  accent-color: var(--theme-palette-color-1, #005441);
}

#cfw input[type="checkbox"] {
  border-radius: 4px;
  width: 18px !important;
  height: 18px !important;
  cursor: pointer !important;
  margin: 0 8px 0 0 !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}

#cfw .cfw-check-input {
  display: flex;
  align-items: center;
  margin-top: 10px;
  margin-bottom: 16px;
}
#cfw .cfw-check-input label {
  font-size: 13.5px !important;
  color: #333333 !important;
  cursor: pointer !important;
  margin: 0 !important;
}

/* 账号创建行：默认情况不显示，仅当前面的复选框可用（未注册新邮箱、JS 激活 display: flex）时才显示 */
#cfw #cfw-account-details .cfw-check-input {
  display: none !important;
}
#cfw #cfw-account-details .cfw-check-input[style*="display: flex"]:not(:has(#createaccount:disabled)) {
  display: flex !important;
  align-items: center !important;
  margin-top: 10px !important;
  margin-bottom: 16px !important;
}
#cfw #cfw-account-details .cfw-check-input[style*="display: none"],
#cfw #cfw-account-details .cfw-check-input:has(#createaccount:disabled),
body.cfw-account-does-exist #cfw #cfw-account-details .cfw-check-input {
  display: none !important;
}

/* 确保 Address Line 2 始终正常呈现为独立输入框，移除折叠链接与隐藏类 */
#cfw #shipping_address_2_field.cfw-hidden,
#cfw #billing_address_2_field.cfw-hidden,
#cfw #shipping_address_2_field,
#cfw #billing_address_2_field {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
#cfw .cfw-add-field {
  display: none !important;
}

/* 隐藏电话字段标签内多余的 (optional)，对标 Shopify 纯净 Phone 标签 */
#cfw #shipping_phone_field label .optional,
#cfw #billing_phone_field label .optional {
  display: none !important;
}

/* 隐藏冗余的提示脚注 */
#cfw .cfw-slot-after-shipping-address,
#cfw [data-slot-id="9eb021fe-4c4d-4b71-b26e-9aae726f7944"] {
  display: none !important;
}

/* 对齐 Shopify 桌面端地址栅格排版 (City / State / ZIP 3列并排) */
@media (min-width: 768px) {
  #cfw #shipping_city_field,
  #cfw #billing_city_field,
  #cfw #shipping_state_field,
  #cfw #billing_state_field,
  #cfw #shipping_postcode_field,
  #cfw #billing_postcode_field {
    width: 33.333333% !important;
    max-width: 33.333333% !important;
    flex: 0 0 33.333333% !important;
    display: inline-block !important;
    float: left !important;
  }
  #cfw #shipping_country_field,
  #cfw #billing_country_field,
  #cfw #shipping_address_1_field,
  #cfw #billing_address_1_field,
  #cfw #shipping_address_2_field,
  #cfw #billing_address_2_field,
  #cfw #shipping_phone_field,
  #cfw #billing_phone_field {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  #cfw #shipping_first_name_field,
  #cfw #billing_first_name_field,
  #cfw #shipping_last_name_field,
  #cfw #billing_last_name_field {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
  }
}

/* 彻底清除 Payment / Billing 外层容器生硬边框与多余背景 (消除包裹层外框) */
#cfw #cfw-billing-methods,
#cfw .cfw-payment-methods-container,
#cfw #cfw-payment-methods,
#cfw #cfw-payment-method,
#cfw .cfw-payment-methods-wrap,
#cfw #payment.woocommerce-checkout-payment,
#cfw #cfw-shipping-same-billing {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin-top: 0 !important;
}

/* 模块标题与副标题 Shopify 标准排版 (副标题取消加粗，保持 400 细体与中性灰) */
#cfw #cfw-billing-methods > h3,
#cfw .cfw-billing-address-heading,
#cfw #cfw-shipping-packages-container .cfw-shipping-methods-heading,
#cfw .cfw-shipping-methods-heading {
  font-size: 17px !important;
  font-weight: 600 !important;
  color: #111111 !important;
  letter-spacing: -0.01em !important;
  margin: 28px 0 4px 0 !important;
  padding: 0 !important;
}
#cfw #cfw-shipping-packages-container .cfw-shipping-methods-heading,
#cfw .cfw-shipping-methods-heading {
  margin-top: 20px !important;
}

#cfw .secure-notice,
#cfw .cfw-payment-method-information-wrap .secure-notice,
#cfw h4.secure-notice,
#cfw .cfw-billing-address-description,
#cfw h4.cfw-billing-address-description {
  font-weight: 400 !important;
  font-size: 13.5px !important;
  color: #707070 !important;
  line-height: 1.4 !important;
  margin-top: 4px !important;
  margin-bottom: 14px !important;
}

/* 彻底清除 Shipping 外层包裹容器生硬边框与多余背景 (消除包裹层外框与底部留白) */
#cfw #cfw-shipping-packages-container .cfw-module,
#cfw .cfw-shipping-methods-container,
#cfw #cfw-shipping-packages-container,
#cfw #cfw-shipping-method {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* 配送方式 (Shipping method) Shopify 规范卡片 (8px 圆角、选中浅蓝底、高亮蓝单选钮、右对齐加粗金额) */
#cfw ul#shipping_method.cfw-shipping-methods-list {
  border: 1px solid #d9d9d9 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #FFFFFF !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
  list-style: none !important;
}
#cfw ul#shipping_method.cfw-shipping-methods-list li {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #ebebeb !important;
  list-style: none !important;
}
#cfw ul#shipping_method.cfw-shipping-methods-list li:last-child {
  border-bottom: none !important;
}
#cfw ul#shipping_method.cfw-shipping-methods-list .cfw-shipping-method-inner {
  padding: 14px 16px !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease !important;
}
#cfw ul#shipping_method.cfw-shipping-methods-list li:has(input[type="radio"]:checked) .cfw-shipping-method-inner,
#cfw ul#shipping_method.cfw-shipping-methods-list li.selected .cfw-shipping-method-inner {
  background-color: #f0f5ff !important;
}
#cfw ul#shipping_method.cfw-shipping-methods-list input[type="radio"] {
  accent-color: #2c6ecb !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 12px 0 0 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}
#cfw ul#shipping_method.cfw-shipping-methods-list label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #111111 !important;
  cursor: pointer !important;
  margin: 0 !important;
}
#cfw ul#shipping_method.cfw-shipping-methods-list .amount {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #111111 !important;
  margin-left: auto !important;
}

/* 支付方式 (Payment) Shopify 交互卡片 (8px 圆角、选中浅蓝底、#f7f8f9 卡号输入画布、右对齐卡标) */
#cfw ul.wc_payment_methods.payment_methods {
  border: 1px solid #d9d9d9 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #FFFFFF !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
  list-style: none !important;
}
#cfw ul.wc_payment_methods.payment_methods > li {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #ebebeb !important;
  list-style: none !important;
}
#cfw ul.wc_payment_methods.payment_methods > li:last-child {
  border-bottom: none !important;
}
#cfw .payment_method_title_wrap {
  padding: 14px 16px !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease !important;
  margin: 0 !important;
}
#cfw ul.wc_payment_methods.payment_methods > li.cfw-active .payment_method_title_wrap,
#cfw ul.wc_payment_methods.payment_methods > li:has(input[type="radio"]:checked) .payment_method_title_wrap {
  background-color: #f0f5ff !important;
}
#cfw .payment_method_title_wrap input[type="radio"] {
  accent-color: #2c6ecb !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 12px 0 0 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}
#cfw .payment_method_label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #111111 !important;
  cursor: pointer !important;
  margin: 0 !important;
}

#cfw .payment_method_label > div {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
}

#cfw .payment_method_title {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #111111 !important;
}

#cfw .payment_box.payment_method_stripe {
  background: #f7f8f9 !important;
  border-top: 1px solid #d9d9d9 !important;
  padding: 18px 16px !important;
  margin: 0 !important;
}

/* 账单地址 (Billing address) Shopify 双选卡片 (8px 圆角、选中浅蓝底、#f7f8f9 展开表单) */
#cfw #cfw-shipping-same-billing .cfw-radio-reveal-group {
  border: 1px solid #d9d9d9 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #FFFFFF !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
  list-style: none !important;
}
#cfw #cfw-shipping-same-billing .cfw-radio-reveal-li {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #ebebeb !important;
  list-style: none !important;
}
#cfw #cfw-shipping-same-billing .cfw-radio-reveal-li:last-child {
  border-bottom: none !important;
}
#cfw #cfw-shipping-same-billing .cfw-radio-reveal-title-wrap {
  padding: 14px 16px !important;
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease !important;
  margin: 0 !important;
}
#cfw #cfw-shipping-same-billing .cfw-radio-reveal-li.cfw-active .cfw-radio-reveal-title-wrap,
#cfw #cfw-shipping-same-billing .cfw-radio-reveal-li:has(input[type="radio"]:checked) .cfw-radio-reveal-title-wrap {
  background-color: #f0f5ff !important;
}
#cfw #cfw-shipping-same-billing input[type="radio"] {
  accent-color: #2c6ecb !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 12px 0 0 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}
#cfw #cfw-shipping-same-billing .cfw-radio-reveal-label {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #111111 !important;
  cursor: pointer !important;
  margin: 0 !important;
}
#cfw #cfw-shipping-same-billing .cfw-radio-reveal-title {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #111111 !important;
}
#cfw #cfw-billing-fields-container {
  background: #f7f8f9 !important;
  border-top: 1px solid #d9d9d9 !important;
  padding: 16px !important;
}

/* 提示条与信息回顾卡片 8px 圆角 */
#cfw .cfw-review-pane,
#cfw .woocommerce-error,
#cfw .woocommerce-message,
#cfw .woocommerce-info,
#cfw .cfw-alert {
  border-radius: 8px !important;
}

/* 右侧订单摘要微质感精修 (告别999px粗糙浮雕条) */
#cfw .cfw-free-shipping-progress-bar,
#cfw .cfw-progress-bar {
  background-color: rgba(0, 84, 65, 0.08);
  border-radius: 3px;
  height: 5px;
  margin-top: 10px;
  margin-bottom: 24px;
}
#cfw .cfw-free-shipping-progress-bar-fill,
#cfw .cfw-progress-bar-fill {
  background: linear-gradient(90deg, #005441 0%, #007A5E 100%);
  border-radius: 3px;
}

/* 彻底修复商品缩略图 td 撑高产生的白色空耳问题 (对齐 Shopify 64x64 独立方卡) */
#cfw .cfw-cart-table td.cfw-cart-item-image,
#cfw td.cfw-cart-item-image {
  background: transparent;
  box-shadow: none;
  border: none;
  border-radius: 0;
  padding: 14px 16px 14px 0;
  vertical-align: middle;
  width: 64px;
}

#cfw .cfw-cart-item-image-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  background: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.10);
  border-radius: 8px;
  position: relative;
  overflow: visible;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  margin: 0;
}

#cfw .cfw-cart-item-image-wrap img {
  width: 100%;
  height: 100%;
  max-width: 58px;
  max-height: 58px;
  object-fit: contain;
  border-radius: 6px;
  border: none;
}

/* Shopify 标志性悬浮数量角标 (位于缩略图右上角) */
#cfw .cfw-cart-item-quantity-bubble,
.cfw-cart-item-quantity-bubble {
  background: var(--theme-palette-color-1, #005441);
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 600;
  height: 21px;
  min-width: 21px;
  line-height: 21px;
  border-radius: 11px;
  padding: 0 6px;
  position: absolute;
  top: -8px;
  right: -8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.20);
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 彻底隐藏结账侧边栏内笨重的数量加减步进器 (对齐 Shopify 极致纯粹摘要体验) */
#cfw .cfw-edit-item-quantity-control-wrap {
  display: none;
}

/* 列表行对齐与微弱分割线 (Shopify 标准) */
#cfw .cfw-cart-table th.cfw-cart-item-description {
  padding: 14px 16px;
  vertical-align: middle;
  width: auto;
}
#cfw .cfw-cart-item-title,
#cfw .cfw-cart-item-title span,
#cfw .cfw-cart-item-title a {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--theme-palette-color-4, #1A3326);
  line-height: 1.4;
  text-decoration: none;
}
#cfw .cfw-cart-item-subtotal {
  vertical-align: middle;
  padding: 14px 0 14px 16px;
  text-align: right;
}
#cfw .cfw-cart-item-subtotal .amount {
  font-size: 14px;
  font-weight: 600;
  color: var(--theme-palette-color-4, #1A3326);
  font-feature-settings: "tnum";
}
#cfw .cfw-cart-table tr.cart-item-row {
  border-bottom: 1px solid rgba(0, 84, 65, 0.06);
}

/* 金额排版：等宽数字与深绿 Total */
#cfw .cfw-total-line {
  padding: 8px 0;
  font-size: 14px;
  color: var(--theme-palette-color-3, #3E5448);
}
#cfw .cfw-total-line-total {
  border-top: 1px solid rgba(0, 84, 65, 0.12);
  padding-top: 16px;
  margin-top: 12px;
}
#cfw .cfw-total-line-total .cfw-total-line-label {
  font-size: 17px;
  font-weight: 600;
  color: var(--theme-palette-color-4, #1A3326);
}
#cfw .cfw-total-line-total .amount,
#cfw .cfw-total-line-total .cfw-total-amount {
  font-size: 22px;
  font-weight: 700;
  color: var(--theme-palette-color-1, #005441);
  font-feature-settings: "tnum";
}

/* Reset Complete Order wrapper div (彻底消除父级容器背景与内边距，根治双层框嵌套 Bug) */
#cfw #cfw-place-order,
#cfw .place-order {
  background: transparent;
  background-color: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin: 0;
  border-radius: 0;
}

/* 核心行动按钮 (CTA: Continue to shipping / Complete Order) — 对齐 Shopify 标准：8px 圆角、无内凹杂边、单层纯粹按键
 *
 * 注意：这一组里原来还有
 *     #cfw #cfw-promo-code-wrap input[type="text"]
 *     #cfw #cfw-promo-code-wrap button
 * 两条，已于 2026-10-22 删除。CheckoutWC 的优惠码模块真实容器是 .cfw-coupon-wrap /
 * .cfw-promo-row（见插件 assets 里的 React 模板），**不存在** cfw-promo-code-wrap 这个 id，
 * 两条都是空选择器。删掉不影响任何渲染 —— 输入框本身由上面 #cfw input[type="text"] 覆盖，
 * Apply 按钮由 .cfw-promo-code-btn 覆盖。
 *
 * 加选择器之前先确认它真的命中：这个文件里有一批名字对不上的死规则（见文件末尾清单）。
 */
#cfw a.cfw-primary-btn,
#cfw button.cfw-primary-btn,
#cfw input[type="submit"].cfw-primary-btn,
#cfw #place_order,
#cfw .cfw-bottom-controls .cfw-primary-btn,
#cfw .cfw-secondary-btn,
#cfw button#cfw-promo-code-btn,
#cfw input#cfw-promo-code-btn,
#cfw .cfw-promo-code-btn {
  background-color: var(--theme-palette-color-1, #005441);
  color: #FFFFFF;
  border-radius: 8px !important;
  border: none;
  outline: none;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 16px 32px;
  line-height: 1.2;
  box-shadow: 0 2px 8px rgba(0, 84, 65, 0.16);
  transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
}
#cfw a.cfw-primary-btn:hover,
#cfw button.cfw-primary-btn:hover,
#cfw input[type="submit"].cfw-primary-btn:hover,
#cfw #place_order:hover,
#cfw .cfw-bottom-controls .cfw-primary-btn:hover {
  background-color: var(--theme-palette-color-2, #006851);
  color: #FFFFFF;
  box-shadow: 0 4px 14px rgba(0, 84, 65, 0.26);
  transform: translateY(-1px);
}
#cfw a.cfw-primary-btn:active,
#cfw button.cfw-primary-btn:active,
#cfw #place_order:active {
  transform: translateY(0);
  box-shadow: 0 1px 4px rgba(0, 84, 65, 0.20);
}

/* 页脚合规与版权链接 */
#cfw .cfw-footer,
#cfw .cfw-footer-nav a,
#cfw .cfw-footer-copyright {
  color: #707070;
  font-size: 12px;
}
#cfw .cfw-footer-nav a:hover {
  color: var(--theme-palette-color-1, #005441);
}

/* ==========================================================================
   选择器存活清单（2026-10-22 核对，方法见下）

   核对方法：在服务器上对 checkout-for-woocommerce 插件目录 grep 字面量，
   统计命中的文件数（`grep -rl <token> .`）。命中 0 = 这个类名/ID 在插件里
   根本不存在，对应规则永远不会生效。

   局限：如果类名是 JS 里拼接出来的（"cfw-" + xxx），整串 grep 会漏。
   所以下面「已确认失效」是可靠的，而「需复核」那几条要用渲染后的 DOM 做终审
   （Playwright 打开结账页，逐个 evaluate 一次 document.querySelector）。

   【已确认失效】整串 0 命中：
     #cfw-cart-summary-container  .cfw-cart-summary-container
        真实容器是 .cfw-cart-summary（命中 203 个文件）
     .cfw-breadcrumbs  .cfw-breadcrumb-item
        真实是单数 .cfw-breadcrumb（98）/ .cfw-breadcrumb-container
     .cfw-total-line  .cfw-total-line-total  .cfw-total-line-label  .cfw-total-amount
        真实容器是 .cfw-totals-list（159）—— 注意 functions.php 的侧边车 JS
        用的是正确名字 tr.order-total，写错的是 CSS 这一侧
     .cfw-progress-bar  .cfw-progress-bar-fill  .cfw-free-shipping-progress-bar-fill
        真实是 .cfw-free-shipping-progress-bar（2）
     .cfw-floating-label  .cfw-floatable-label
        真实是 .cfw-label-is-floated（10）—— 本文件下面那一组用了对的名字
     .cfw-login-link  .cfw-footer-nav  .cfw-footer-copyright
     .cfw-payment-methods-container  .cfw-shipping-methods-container
     .cfw-slot-after-shipping-address
        该 slot 靠 [data-slot-id="9eb021fe-..."] 那条规则命中，id 名靠不住
     .cfw-promo-code-wrap（优惠码模块真实容器是 .cfw-coupon-wrap / .cfw-promo-row）

   【已确认有效】命中数 > 0：
     .cfw-cart-summary  .cfw-totals-list  .cfw-free-shipping-progress-bar
     .cfw-coupon-wrap  .cfw-promo-row  .cfw-promo-code-btn  .cfw-input-wrap-row
     .cfw-primary-btn(17)  .cfw-secondary-btn(13)
     .cfw-check-input(7)  .cfw-review-pane(5)  .cfw-bottom-controls(5)
     .cfw-add-field(8)  .cfw-edit-item-quantity-control-wrap(8)
     .cfw-hidden(13)  .cfw-label-is-floated(10)
     .cfw-panel-heading  .cfw-shipping-methods-list  .cfw-shipping-method-inner
     .cfw-module  .cfw-radio-reveal-*  .wc_payment_methods
     .payment_method_title_wrap  .payment_box

   【需以渲染后 DOM 复核】有同源片段、但整串未命中：
     .cfw-express-checkout / -buttons / -container（"express-checkout" 命中 7）
     .cfw-or-separator  .cfw-separator（"or-separator" 命中 3，但都不是 cfw- 前缀）

   【不要删】本文件 258-268 行那两条 ——
       #cfw #shipping_address_2_field.cfw-hidden { display: block !important }
       #cfw .cfw-add-field { display: none !important }
   是**承重的**，不是死规则。

   2026-10-22 实站 DOM 实测（结账页）：
       #shipping_address_2_field 的 class =
         "form-row col-lg-12 cfw-hidden cfw-text-input cfw-input-wrap address-field"
       document.querySelectorAll('.cfw-add-field').length = 2

   也就是插件确实给 address_2 加了 cfw-hidden、也确实渲染了两个
   「+ Add Address Line 2」链接。上面那两条就是「让两个地址行保持可见、
   同时把折叠链接藏掉」的全部实现。删掉它们，两个地址行会消失、
   两个折叠链接会冒出来。

   注意：曾根据插件源码推断「此功能受 _cfw_hide_optional_address_fields_behind_link
   门控，该 option 已是 no，故这两条冗余」—— 实测证明这个推断是错的
   （option 为 no 时类名依然被加上）。要判断这类规则死活，以渲染后的 DOM 为准，
   不要只看源码门控。
   ========================================================================== */
