/* ============================================
   Dakzhou Theme - Checkout Page
   结账页面样式
   ============================================ */

/* ===== 页面基础 ===== */
.woocommerce-checkout .section{
  padding:32px 0;
}
.woocommerce-checkout .entry-content{
  max-width:100%;
  margin:0 auto;
}

/* ===== 两栏式布局 ===== */
.checkout-two-column{
  display:grid;
  grid-template-columns:1fr 380px;
  gap:32px;
  align-items:start;
}
.woocommerce-checkout form.checkout{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
}

/* ===== 表单输入框 ===== */
.woocommerce-checkout .input-text,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout select,
.woocommerce-checkout textarea{
  width:100% !important;
  padding:12px 16px !important;
  border:1px solid #d1d5db !important;
  border-radius:12px !important;
  font-size:0.95rem !important;
  transition:all 0.2s ease !important;
  background:#fff !important;
  box-sizing:border-box;
}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout input[type="text"]:focus,
.woocommerce-checkout input[type="email"]:focus,
.woocommerce-checkout input[type="tel"]:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus{
  outline:none !important;
  border-color:#f97316 !important;
  box-shadow:0 0 0 3px rgba(249,115,22,0.1) !important;
}

/* ===== 表单标签 ===== */
.woocommerce-checkout label{
  font-weight:600 !important;
  color:#374151 !important;
  margin-bottom:6px !important;
  display:block !important;
  font-size:.9rem;
}
.woocommerce-checkout .required{
  color:#ef4444 !important;
}

/* ===== 表单行 ===== */
.woocommerce-checkout .form-row{
  margin-bottom:16px;
}
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last{
  width:48%;
}
.woocommerce-checkout .form-row-first{
  float:left;
  margin-right:4%;
}
.woocommerce-checkout .form-row-last{
  float:right;
}
.woocommerce-checkout .form-row-wide{
  clear:both;
  width:100%;
}

/* 旧电话输入组件（.phone-input-wrapper / .phone-country-*）已删除：
   实际渲染的是 functions.php 的 .dz-phone-input-wrapper 组件，
   样式在 style.css「International Phone Input」区块。原规则匹配不到任何元素。 */

/* ===== 订单摘要 =====
   说明：.checkout-summary / .checkout-summary-title 两个容器类在模板、
   插件、JS 中均无引用（订单摘要实际由 review-order.php 输出），已删除。
   下面的 .summary-* 行样式仍在使用，保留。 */

/* 摘要行 */
.summary-rows{
  margin-bottom:4px;
}
.summary-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:8px 0;
  font-size:.9rem;
}
.summary-row .summary-label{
  color:var(--slate);
  font-weight:500;
}
.summary-row .summary-value{
  color:var(--ink);
  font-weight:600;
}
.summary-row.shipping-row .summary-value{
  color:var(--emerald);
  font-weight:700;
}
.free-shipping{
  color:var(--emerald);
  font-weight:700;
}
.summary-divider{
  border:none;
  border-top:1px solid var(--border);
  margin:12px 0;
}

/* 总计 */
.summary-total-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding:12px 0 18px;
}
.summary-total-row .total-label{
  font-size:1rem;
  font-weight:700;
  color:var(--ink);
}
.summary-total-row .total-value{
  font-size:1.5rem;
  font-weight:800;
  color:var(--emerald);
  letter-spacing:-.02em;
}

/* ===== 结账按钮 ===== */
.checkout-button-main{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  height:50px;
  background:linear-gradient(135deg,var(--orange) 0%,var(--orange-deep) 100%);
  color:#fff;
  border:none;
  border-radius:var(--radius-lg);
  font-size:1rem;
  font-weight:700;
  cursor:pointer;
  transition:transform .15s,box-shadow .2s,opacity .2s;
  box-shadow:0 4px 14px rgba(249,115,22,.3);
  margin-bottom:12px;
  letter-spacing:.02em;
  text-decoration:none;
}
.checkout-button-main:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(249,115,22,.4);
  opacity:.95;
  color:#fff;
}
.checkout-button-main:active{
  transform:translateY(0);
}
.checkout-icon{
  font-size:1rem;
}

/* WooCommerce 下单按钮 */
.woocommerce-checkout #place_order{
  width:100% !important;
  padding:16px 24px !important;
  background:linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important;
  color:#fff !important;
  border:none !important;
  border-radius:12px !important;
  font-size:1.1rem !important;
  font-weight:700 !important;
  cursor:pointer !important;
  transition:all .2s !important;
}
.woocommerce-checkout #place_order:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(249,115,22,.4);
}

/* ===== 其他国家提示 ===== */
.other-countries-notice{
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:16px;
  margin-bottom:20px;
  text-align:center;
}
.other-countries-notice p{
  margin:0 0 8px;
  color:var(--ink-2);
  font-size:.9rem;
}
.other-countries-notice a{
  color:var(--emerald);
  font-weight:600;
  text-decoration:none;
}
.other-countries-notice a:hover{
  text-decoration:underline;
}

/* ===== 批发徽章 ===== */
.checkout-wholesale-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:linear-gradient(135deg,var(--orange),var(--orange-deep));
  color:#fff;
  padding:6px 12px;
  border-radius:999px;
  font-size:.75rem;
  font-weight:700;
  margin-bottom:12px;
}
.checkout-wholesale-badge .wholesale-tag{
  text-transform:uppercase;
  letter-spacing:.5px;
}
.checkout-wholesale-badge .wholesale-save{
  background:rgba(255,255,255,.2);
  padding:2px 8px;
  border-radius:999px;
  font-size:.7rem;
}

/* ===== 支付方式 ===== */
.woocommerce-checkout .payment_methods{
  list-style:none;
  padding:0;
  margin:0 0 16px;
}
.woocommerce-checkout .payment_methods li{
  margin-bottom:8px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  transition:border-color .2s;
}
.woocommerce-checkout .payment_methods li:hover{
  border-color:var(--emerald);
}
.woocommerce-checkout .payment_methods label{
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  margin-bottom:0 !important;
}
.woocommerce-checkout .payment_box{
  background:var(--bg-soft);
  padding:16px;
  border-radius:var(--radius);
  margin-top:12px;
  font-size:.88rem;
  color:var(--ink-2);
}

/* ===== 响应式 ===== */
@media (max-width:1024px){
  .checkout-two-column{
    grid-template-columns:1fr;
  }
}
@media (max-width:768px){
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last{
    width:100%;
    float:none;
    margin-right:0;
  }
}


/* ===== 支付方式卡片美化（标准钩子渲染后） ===== */
.payment-methods{
  margin:16px 0;
}
.payment-method{
  border:1.5px solid #e5e7eb;
  border-radius:12px;
  padding:14px 16px;
  margin-bottom:10px;
  transition:all .2s ease;
  background:#fff;
  position:relative;
}
.payment-method:hover{
  border-color:#f97316;
}
.payment-method.selected{
  border-color:#f97316;
  background:#fff7ed;
  box-shadow:0 0 0 3px rgba(249,115,22,.08);
}
.payment-method input[type="radio"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.payment-method-label-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  margin:0 !important;
}
.payment-method-label{
  font-weight:600;
  color:#1f2937;
  font-size:.95rem;
}
.payment-method.selected .payment-method-label{
  color:#ea580c;
}
.payment-method-icon{
  display:flex;
  align-items:center;
  gap:6px;
}
.card-icons{
  display:flex;
  gap:4px;
  align-items:center;
}
.card-icon{
  width:36px;
  height:24px;
  border-radius:4px;
}

/* 支付字段容器（信用卡输入框区域） */
.payment_box{
  margin-top:14px;
  padding:16px;
  background:#f9fafb;
  border-radius:10px;
  border:1px solid #f3f4f6;
}
.payment_box p{
  margin:0 0 12px;
  color:#6b7280;
  font-size:.88rem;
  line-height:1.5;
}
.payment_box .form-row{
  margin-bottom:12px;
}
.payment_box label{
  font-size:.85rem !important;
  font-weight:600 !important;
  color:#374151 !important;
  margin-bottom:4px !important;
}
.payment_box input.input-text,
.payment_box input[type="text"],
.payment_box input[type="tel"],
.payment_box .input-text{
  width:100% !important;
  padding:10px 14px !important;
  border:1px solid #d1d5db !important;
  border-radius:8px !important;
  font-size:.9rem !important;
  background:#fff !important;
  box-sizing:border-box;
  transition:border-color .2s, box-shadow .2s;
}
.payment_box input.input-text:focus,
.payment_box input[type="text"]:focus,
.payment_box input[type="tel"]:focus{
  outline:none !important;
  border-color:#f97316 !important;
  box-shadow:0 0 0 3px rgba(249,115,22,.1) !important;
}

/* PayPal Hosted Fields iframe 容器 */
.payment_box .hosted-field,
.payment_box .ppcp-hosted-field{
  min-height:42px;
  border:1px solid #d1d5db;
  border-radius:8px;
  background:#fff;
  margin-bottom:8px;
  overflow:hidden;
}

/* 两列布局：有效期+CVV */
.payment_box .form-row-first,
.payment_box .form-row-last{
  width:48%;
  float:none;
  display:inline-block;
  vertical-align:top;
}
.payment_box .form-row-first{
  margin-right:3%;
}

/* ===== 错误通知美化 ===== */
.woocommerce-NoticeGroup{
  margin-bottom:16px;
}
.woocommerce-error,
.woocommerce-message{
  list-style:none;
  border:1px solid #fecaca;
  border-left:4px solid #ef4444;
  background:#fef2f2;
  color:#991b1b;
  padding:14px 18px;
  border-radius:10px;
  margin:0 0 16px;
  font-size:.9rem;
}
.woocommerce-message{
  border-color:#bbf7d0;
  border-left-color:#22c55e;
  background:#f0fdf4;
  color:#166534;
}
.woocommerce-error::before,
.woocommerce-message::before{
  content:"";
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  margin-right:8px;
  vertical-align:middle;
}
.woocommerce-error::before{ background:#ef4444; }
.woocommerce-message::before{ background:#22c55e; }
.woocommerce-error li,
.woocommerce-message li{
  margin:0;
  padding:0;
}

/* ===== 下单按钮区域 ===== */
.place-order-btn{
  position:relative;
}
.place-order-btn.loading::after{
  content:"";
  display:inline-block;
  width:16px;
  height:16px;
  border:2px solid rgba(255,255,255,.3);
  border-top-color:#fff;
  border-radius:50%;
  animation:spin .6s linear infinite;
  margin-left:8px;
  vertical-align:middle;
}
@keyframes spin{
  to{ transform:rotate(360deg); }
}

/* 安全提示 */
.security-badge{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #f3f4f6;
  color:#6b7280;
  font-size:.82rem;
}
.security-badge svg{
  width:14px;
  height:14px;
}

/* ============================================
   标准WooCommerce订单审查美化（方案A - 标准钩子渲染）
   作用于 #order_review 内的标准表格与 #payment
   ============================================ */

/* ===== 订单审查容器 ===== */
#order_review.woocommerce-checkout-review-order{
  margin-top:4px;
}

/* ============================================
   订单摘要头部：件数 + 编辑购物车
   （选择器前缀 .order-summary-card 是为了压过
     form-checkout.php 内联 <style> 里的 .order-summary-title）
   ============================================ */
.order-summary-card .order-summary-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;              /* 窄卡片时允许「件数 + 编辑购物车」掉到第二行 */
  gap:10px;
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid #f1f5f9;
}
.order-summary-card .order-summary-title{
  margin:0;
  padding:0;
  border:none;
  font-size:1.15rem;
  min-width:0;
}
.order-summary-head-right{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}
.order-summary-count{
  font-size:.72rem;
  font-weight:700;
  color:#047857;
  background:#ecfdf5;
  border:1px solid #a7f3d0;
  border-radius:999px;
  padding:2px 9px;
  white-space:nowrap;
}
.order-summary-edit{
  font-size:.78rem;
  font-weight:600;
  color:#64748b;
  text-decoration:none;
  border-bottom:1px dashed #cbd5e1;
}
.order-summary-edit:hover{ color:var(--emerald); border-bottom-color:var(--emerald); }

/* ============================================
   订单行：缩略图 + 名称 + 数量/批发标识
   ============================================ */
.woocommerce-checkout-review-order-table .ck-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.woocommerce-checkout-review-order-table .ck-item-thumb{
  flex:0 0 52px;
  width:52px;
  height:52px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.woocommerce-checkout-review-order-table .ck-item-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  margin:0;
  border-radius:0;
}
.woocommerce-checkout-review-order-table .ck-item-body{
  min-width:0;
  flex:1 1 auto;
}
.woocommerce-checkout-review-order-table .ck-item-name{
  display:block;
  font-size:.85rem;
  font-weight:600;
  line-height:1.4;
  color:#334155;
  text-decoration:none;
}
.woocommerce-checkout-review-order-table a.ck-item-name:hover{
  color:var(--emerald);
  text-decoration:underline;
}
.woocommerce-checkout-review-order-table .ck-item-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin-top:6px;
}
/* 数量徽章（替换原来挤在商品名末尾的 ×N） */
.woocommerce-checkout-review-order-table .product-quantity{
  display:inline-flex;
  align-items:center;
  font-size:.75rem;
  font-weight:700;
  color:#475569;
  background:#f1f5f9;
  border-radius:6px;
  padding:2px 8px;
  white-space:nowrap;
}
.woocommerce-checkout-review-order-table .checkout-wholesale-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin:0;
}

/* ============================================
   订单行：数量步进器 + 删除按钮
   （结账页可直接改数量/删商品，无需跳去购物车）
   ============================================ */
.woocommerce-checkout-review-order-table .ck-qty{
  display:inline-flex;
  align-items:stretch;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
  /* 不参与压缩：超窄屏（≤320px）下 .ck-item-meta 会把步进器压到比内容还窄，
     而 overflow:hidden 会把「+」按钮切掉。宁可让整行换行，也不切按钮。 */
  flex:0 0 auto;
}
.woocommerce-checkout-review-order-table .ck-qty-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:#475569;
  font-size:.9rem;
  font-weight:700;
  line-height:1;
  padding:0 7px;
  min-width:28px;
  min-height:26px;
  cursor:pointer;
  transition:background .15s, color .15s;
}
.woocommerce-checkout-review-order-table .ck-qty-btn:hover{
  background:#f1f5f9;
  color:var(--emerald);
}
.woocommerce-checkout-review-order-table .ck-qty-btn:active{
  background:#e2e8f0;
}
/* 步进器里的数量：去掉旧的灰底药丸外观，改为纯数字 */
.woocommerce-checkout-review-order-table .ck-qty .product-quantity{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:26px;
  padding:0 2px;
  background:transparent;
  border-radius:0;
  border-left:1px solid #e2e8f0;
  border-right:1px solid #e2e8f0;
  font-size:.78rem;
  color:#0f172a;
}
.woocommerce-checkout-review-order-table .ck-item-remove{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin-left:auto;      /* 推到该行最右 */
  font-size:.72rem;
  font-weight:600;
  color:#94a3b8;
  text-decoration:none;
  border-bottom:1px dashed #cbd5e1;
  cursor:pointer;
  transition:color .15s, border-color .15s;
}
.woocommerce-checkout-review-order-table .ck-item-remove:hover{
  color:#dc2626;
  border-bottom-color:#fca5a5;
}
/* 窄屏只留 ×：否则「Remove」会被挤到第二行，行高被拉长 */
@media (max-width:480px){
  /* 固定顺序 = [步进器] [×] [批发标识]：不加 order 时 × 会被挤到
     批发标识后面单独占一行，视觉上找不到归属 */
  .woocommerce-checkout-review-order-table .ck-item-meta > .ck-qty{ order:1; }
  .woocommerce-checkout-review-order-table .ck-item-remove{ order:2; }
  .woocommerce-checkout-review-order-table .ck-item-flag{ order:3; }
  .woocommerce-checkout-review-order-table .ck-item-remove{
    margin-left:0;
    border-bottom:0;
    font-size:1rem;
    line-height:1;
    padding:0 4px;
    color:#cbd5e1;
  }
  .woocommerce-checkout-review-order-table .ck-item-remove-txt{ display:none; }
}
/* AJAX 进行中：整张摘要表变淡并禁用交互，避免重复点击 */
.order-summary-card.is-updating .woocommerce-checkout-review-order-table{
  opacity:.55;
  pointer-events:none;
  transition:opacity .15s;
}
.order-summary-card .order-summary-msg{
  display:none;
  margin:0 0 10px;
  padding:8px 10px;
  border-radius:8px;
  font-size:.8rem;
  background:#fef2f2;
  color:#b91c1c;
  border:1px solid #fecaca;
}
.order-summary-card .order-summary-msg.is-visible{ display:block; }
/* 批发标识：紧凑版，与数量徽章同一行并排 */
.woocommerce-checkout-review-order-table .ck-item-flag{
  display:inline-flex;
  align-items:center;
  /* 允许在极窄屏（≤390px）内部折行，否则 nowrap + overflow:hidden
     会把「Save 10%」裁掉看不见 */
  flex-wrap:wrap;
  min-width:0;
  max-width:100%;
  /* 与 .ck-qty 同理：不参与压缩。被 .ck-item-meta 压窄时，「WHOLESALE」
     标签本身就会超出 overflow:hidden 的边界被切掉。 */
  flex:0 0 auto;
  border-radius:6px;
  overflow:hidden;
  white-space:nowrap;
}
.woocommerce-checkout-review-order-table .ck-item-flag-tag{
  background:#059669;
  color:#fff;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.04em;
  padding:2px 6px;
}
.woocommerce-checkout-review-order-table .ck-item-flag-save{
  background:#d1fae5;
  color:#065f46;
  font-size:.68rem;
  font-weight:700;
  padding:2px 6px;
}
/* 阶梯优惠明细：压成一行小字，不再占两行 */
.woocommerce-checkout-review-order-table .ck-item-body dl.variation{
  display:block;
  margin:6px 0 0;
  padding:0;
}
.woocommerce-checkout-review-order-table .ck-item-body dl.variation dt,
.woocommerce-checkout-review-order-table .ck-item-body dl.variation dd{
  display:inline;
  font-size:.75rem;
  font-weight:400;
  color:#94a3b8;
  margin:0;
}
.woocommerce-checkout-review-order-table .ck-item-body dl.variation dd p{
  display:inline;
  margin:0;
  font-size:inherit;
  color:inherit;
}
.woocommerce-checkout-review-order-table .ck-item-body dl.variation dd::after{
  content:"";
}
/* 极长商品名截断到 4 行，避免个别商品把整张卡撑高（完整名在 title 里） */
.woocommerce-checkout-review-order-table .ck-item-name{
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* ===== 订单表格 ===== */
.woocommerce-checkout table.woocommerce-checkout-review-order-table{
  width:100%;
  border-collapse:collapse;
  margin:0 0 4px;
  font-size:.88rem;
  border:none;
  /* 固定布局：订单行的最小内容宽度（缩略图 + 商品名 + 批发标识）
     在 360px 窄屏下会把卡片顶宽、撑出屏幕。固定布局让表格严格
     跟随容器，两列宽度由第一行的 .product-total 决定。 */
  table-layout:fixed;
}
.woocommerce-checkout-review-order-table thead th.product-total{
  /* Round 9：84 → 96px。Total 条里的金额改成 1.3rem 后需要约 68px 内容宽度，
     原来 84px 一列减去内边距放不下，金额会溢出深色圆角条。 */
  width:96px;
}
/* 所有金额单元格统一 12px 右内边距：商品行小计与 Total 金额右边缘对齐，
   并且都从卡片边缘内缩 12px，不再贴着圆角。 */
.woocommerce-checkout-review-order-table thead th.product-total,
.woocommerce-checkout-review-order-table tbody td.product-total,
.woocommerce-checkout-review-order-table tfoot td{
  padding-right:12px !important;
}
.woocommerce-checkout-review-order-table thead th{
  font-size:.75rem;
  font-weight:600;
  color:#94a3b8;
  text-transform:uppercase;
  letter-spacing:.05em;
  text-align:left;
  padding:0 0 10px;
  border:none;
}
.woocommerce-checkout-review-order-table thead th.product-total{
  text-align:right;
}
.woocommerce-checkout-review-order-table tbody td{
  padding:14px 0;
  border:none;
  vertical-align:top;
}
/* 商品行之间加细分隔线，视觉分组更清晰（首行不画） */
.woocommerce-checkout-review-order-table tbody tr + tr td{
  border-top:1px solid #f1f5f9;
}
.woocommerce-checkout-review-order-table tbody tr:first-child td{
  padding-top:6px;
}
.woocommerce-checkout-review-order-table .product-name{
  color:#334155;
  line-height:1.45;
  padding-right:12px;
}
.woocommerce-checkout-review-order-table .product-total{
  text-align:right;
  white-space:nowrap;
  font-weight:600;
  color:#1f2937;
}
/* 阶梯优惠/批发信息弱化 */
.woocommerce-checkout-review-order-table .product-name dl{
  margin:6px 0 0;
  padding:0;
}
.woocommerce-checkout-review-order-table .product-name dt,
.woocommerce-checkout-review-order-table .product-name dd{
  font-size:.78rem;
  font-weight:400;
  color:#94a3b8;
  line-height:1.5;
  margin:0;
}
.woocommerce-checkout-review-order-table .product-name dd{
  display:inline;
  margin-right:8px;
}
/* tfoot 行 */
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td{
  padding:7px 0;
  border:none;
  font-size:.88rem;
}
.woocommerce-checkout-review-order-table tfoot th{
  text-align:left;
  font-weight:500;
  color:#64748b;
}
.woocommerce-checkout-review-order-table tfoot td{
  text-align:right;
  font-weight:600;
  color:#1f2937;
}
.woocommerce-checkout-review-order-table .cart-subtotal th,
.woocommerce-checkout-review-order-table .cart-subtotal td{
  padding-top:14px;
  border-top:1px solid #e2e8f0;
}
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td{
  padding-top:12px;
  border-top:1px solid #e2e8f0;
}
.woocommerce-checkout-review-order-table .order-total th{
  font-size:1rem;
  font-weight:700;
  color:#0f172a;
}
.woocommerce-checkout-review-order-table .order-total td .amount{
  font-size:1.22rem;
  font-weight:800;
  color:#f97316;
}
/* 运费行 */
.woocommerce-checkout-review-order-table .shipping ul#shipping_method{
  margin:0;
  padding:0;
  list-style:none;
}
.woocommerce-checkout-review-order-table .shipping label{
  color:#059669;
  font-weight:600;
  display:inline;
}

/* ===== 支付区域 #payment ===== */
#payment.woocommerce-checkout-payment{
  background:transparent;
  border:none;
  padding:0;
  margin:18px 0 0;
}
#payment ul.payment_methods{
  list-style:none;
  padding:0;
  margin:0;
  border:none;
}
#payment ul.payment_methods li.wc_payment_method{
  list-style:none;
  border:1.5px solid #e5e7eb;
  border-radius:14px;
  padding:14px 16px;
  margin:0 0 10px;
  background:#fff;
  transition:border-color .2s, box-shadow .2s, background .2s;
}
#payment ul.payment_methods li.wc_payment_method:hover{
  border-color:#fdba74;
}
/* 选中状态（现代浏览器 :has） */
#payment ul.payment_methods li.wc_payment_method:has(input:checked){
  border-color:#f97316;
  background:#fff7ed;
  box-shadow:0 0 0 3px rgba(249,115,22,.09);
}
#payment ul.payment_methods li input.input-radio{
  width:18px !important;
  height:18px !important;
  margin:2px 10px 0 0 !important;
  accent-color:#f97316;
  float:left;
  padding:0 !important;
}
#payment ul.payment_methods li > label{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  cursor:pointer;
  margin:0 !important;
  padding:0;
  font-size:.92rem;
  font-weight:600;
  color:#1f2937;
}
#payment ul.payment_methods li:has(input:checked) > label{
  color:#ea580c;
}
#payment ul.payment_methods li label img{
  max-height:26px;
  width:auto;
  display:inline-block;
}
/* 支付字段容器（信用卡hosted fields） */
#payment .payment_box{
  margin-top:12px;
  padding:16px;
  background:#f9fafb;
  border:1px solid #f3f4f6;
  border-radius:12px;
  clear:both;
  font-size:.85rem;
  color:#4b5563;
}
#payment .payment_box p{
  margin:0 0 10px;
  font-size:.82rem;
  color:#6b7280;
}
#payment .payment_box iframe{
  width:100%;
  min-height:42px;
  border:1px solid #d1d5db;
  border-radius:8px;
  background:#fff;
  margin-bottom:8px;
}
#payment .payment_box .form-row{
  margin-bottom:10px;
}
/* 有效期 + CVV 并排 */
#payment .payment_box .form-row-first,
#payment .payment_box .form-row-last{
  width:48% !important;
  float:none;
  display:inline-block;
  vertical-align:top;
}
#payment .payment_box .form-row-first{
  margin-right:3% !important;
}

/* ===== 条款同意 ===== */
#payment p.wc-terms-and-conditions{
  margin:14px 0 6px !important;
  padding:0;
  display:flex;
  align-items:flex-start;
  gap:9px;
}
#payment p.wc-terms-and-conditions input.input-checkbox{
  width:16px !important;
  height:16px !important;
  margin:2px 0 0 !important;
  flex-shrink:0;
  float:none;
  padding:0 !important;
}
#payment p.wc-terms-and-conditions label{
  display:inline !important;
  font-size:.82rem !important;
  font-weight:400 !important;
  color:#4b5563 !important;
  line-height:1.5;
  margin:0 !important;
}

/* ===== 下单按钮（标准钩子内） ===== */
#payment .form-row.place-order{
  margin:0;
  padding:0;
  text-align:left;
}
#payment .form-row.place-order #place_order{
  width:100% !important;
  margin:6px 0 0 !important;
  float:none;
  border-radius:14px !important;
}

/* ===== 移动端适配 ===== */
@media (max-width:768px){
  #payment ul.payment_methods li.wc_payment_method{
    padding:13px 14px;
  }
}

/* 超窄屏（≤480px）：订单摘要卡片内边距收紧、缩略图略小，
   给商品名与批发标识留出足够宽度，避免撑破卡片 */
@media (max-width:480px){
  .woocommerce-checkout-review-order-table .ck-item{
    gap:10px;
  }
  .woocommerce-checkout-review-order-table .ck-item-thumb{
    flex:0 0 46px;
    width:46px;
    height:46px;
    border-radius:8px;
  }
  .woocommerce-checkout-review-order-table .ck-item-flag-tag,
  .woocommerce-checkout-review-order-table .ck-item-flag-save{
    padding-left:5px;
    padding-right:5px;
  }
}


/* ============================================================
   Round 7 修复（2026-09-25）—— checkout 支付区
   线上实测（dakzhoustore.com/checkout/，1440×1400）：
   ============================================================ */

/* ---- 1. 下单按钮去重（功能性关键） --------------------------
   PPCP 开启 ACDC 后会自己渲染 .ppcp-dcc-order-button，并给 WooCommerce
   标准的 #place_order 加上 .ppcp-hidden 让位。
   但 style.css 里
     `.woocommerce-checkout .order-summary-card #place_order{display:block!important}`
   （特异性 1-2-0）压过了 PPCP 的 `#place_order.ppcp-hidden{display:none!important}`
   （特异性 1-1-0），于是两个「Place order」按钮同时可见。
   实测点击行为：
     · 点上面那个（标准按钮）→ 直接 POST /?wc-ajax=checkout，
       即使卡号/有效期/CVV 全部留空也照常提交，完全跳过 PayPal 卡号校验；
     · 点下面那个（PPCP DCC 按钮）→ 不发任何请求，弹出
       “Unfortunately, your credit card details are not valid.”，
       证明它才是真正接上 PayPal 卡字段校验 / 令牌化的按钮。
   Round 9（2026-09-25）更新：快捷支付按钮（Express Checkout）已开启并挪到
   订单摘要与支付方式之间，PPCP 渲染出智能按钮时会自己给 #place_order 加
   .ppcp-hidden 让位。因此这里不再限定「信用卡网关」，让 .ppcp-hidden 全局生效 ——
   否则会出现「PPCP 智能按钮 + 主题橙色 Proceed to PayPal」两个 PayPal 按钮。 */
.form-row.place-order #place_order.ppcp-hidden{
  display:none !important;
}

/* ---- 2. fieldset 复位 -------------------------------------
   #wc-ppcp-credit-card-gateway-cc-form 是浏览器默认 fieldset：
   自带 2px 边框（卡片区外面多出一个灰框），且 min-width:min-content
   把可用宽度从 240px 压到 236px。 */
#payment .payment_box fieldset,
#payment .payment_box .wc-credit-card-form{
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  min-width:0 !important;
}

/* ---- 3. 卡字段 grid 两列 + 标签单行，消除有效期 / CVV 错位 ----
   原来 .form-row-first / .form-row-last 各 48%（113px），而
   "Expiry (MM/YY) *" 单行实测需要 119px → 标签换成两行（高 39px），
   CVV 标签只有一行（17px），两个输入框上下错开 22px。
   收紧嵌套内边距（payment_box 16px → 12px）后每列 118px，
   标签字号降到 13px 时单行约 107px，实测两个输入框 Y 坐标差值 = 0。
   卡号输入框同时从 236px 变宽到 248px。 */
#payment .payment_box{
  padding:14px 12px;
}
#payment .payment_box .wc-credit-card-form{
  display:grid !important;
  grid-template-columns:1fr 1fr;
  column-gap:12px;
  align-items:start;
}
#payment .payment_box .wc-credit-card-form > .form-row{
  margin:0 0 10px !important;
  float:none !important;
  width:auto !important;
  display:block !important;
  min-width:0 !important;
}
#payment .payment_box .wc-credit-card-form > .form-row-wide,
#payment .payment_box .wc-credit-card-form > .clear{
  grid-column:1 / -1;
}
#payment .payment_box .wc-credit-card-form > .clear{
  display:none !important;
}
#payment .payment_box .wc-credit-card-form > .form-row-first,
#payment .payment_box .wc-credit-card-form > .form-row-last{
  width:auto !important;
  float:none !important;
  margin:0 !important;
}
#payment .payment_box .wc-credit-card-form label{
  display:block !important;
  font-size:13px !important;
  white-space:nowrap;
  margin:0 0 4px !important;
}


/* ============================================================
   Round 9（2026-09-25）—— 结账页三处设计优化
   1) Express Checkout 区块（标题 + 分隔线 + 容器）
   2) Total 区块（金额视觉主角 + 说明行）
   3) 隐私长文案 → 紧凑信任行
   另附：标题区取消后的顶部留白收紧。
   ============================================================ */

/* ---- 0. 顶部留白收紧：H1/副标题已移除（设计语言统一） ----
   面包屑的 padding 由 form-checkout.php 的内联 <style> 给出（同特异性、内联后加载），
   这里只负责把 .checkout-preview-wrapper 的 6px 顶部内边距清零。 */
.woocommerce-checkout .checkout-preview-wrapper{
  padding-top:0 !important;
}

/* ---- 1. Express Checkout（PPCP 智能按钮） ----
   渲染结构：.ppc-button-wrapper > .dz-express-head + #ppc-button-ppcp-gateway
   PPCP 的 JS 是异步注入按钮的，因此默认不显示标题与分隔线，
   等 .dz-express-ready 由 theme.js 打上后再显示，避免出现「有分隔线没按钮」。 */
#order_review > .ppc-button-wrapper{
  margin:0;
  padding:0;
  border:none;
}
#order_review > .ppc-button-wrapper .dz-express-head{
  display:none;
  flex-direction:column;
  gap:3px;
  margin:0 0 12px;
}
#order_review > .ppc-button-wrapper.dz-express-ready{
  padding:16px 0 28px;
  margin-bottom:22px !important;
  border-bottom:1px solid #e2e8f0;
  position:relative;
}
/* 特异性必须压过上面那条 `#order_review > .ppc-button-wrapper .dz-express-head{display:none}`
   （1-2-0），否则标题永远不显示。 */
#order_review > .ppc-button-wrapper.dz-express-ready .dz-express-head{
  display:flex;
}
.dz-express-title{
  font-size:.95rem;
  font-weight:800;
  color:#0f172a;
  letter-spacing:-.01em;
}
.dz-express-hint{
  font-size:.78rem;
  color:#94a3b8;
  line-height:1.35;
}
/* 「— or pay another way —」分隔标签压在边框上 */
#order_review > .ppc-button-wrapper.dz-express-ready::after{
  content:"or pay another way";
  position:absolute;
  left:50%;
  bottom:-9px;
  transform:translateX(-50%);
  padding:0 12px;
  background:#fff;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#94a3b8;
  white-space:nowrap;
}
.price + .ppc-button-wrapper,
#order_review > .ppc-button-wrapper + #payment{
  /* 支付方式列表与分隔线之间留出呼吸感 */
  margin-top:22px;
}
#order_review > .ppc-button-wrapper > div[id^="ppc-button-"]{
  width:100% !important;
  max-width:100% !important;
}
#order_review .ppc-button-wrapper .paypal-buttons,
#order_review .ppc-button-wrapper iframe{
  width:100% !important;
  max-width:100% !important;
  border-radius:10px !important;
}
/* 未渲染出按钮时（如浏览器不支持 Apple/Google Pay）不占位 */
#order_review .ppc-button-wrapper:not(.dz-express-ready){
  min-height:0;
}
#order_review .ppc-button-wrapper > div[id^="ppc-button-"]:empty{
  display:none;
}

/* ---- 2. Total 区块 ---- */
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td{
  padding:15px 16px !important;
  background:#0f172a;
  border-top:none !important;
  vertical-align:middle;
}
/* width:1% + nowrap 让金额列收缩到内容宽度（table-layout:auto 下会按比例分配，
   结果 td 只有 84px 而金额需要 77px + 内边距 → 金额溢出深色条）。 */
.woocommerce-checkout-review-order-table tfoot .order-total td{
  padding:15px 12px 15px 4px !important;
  white-space:nowrap;
}
.woocommerce-checkout-review-order-table tfoot .order-total th{
  border-radius:12px 0 0 12px;
  color:#fff !important;
  font-size:.95rem !important;
  font-weight:700 !important;
  line-height:1.3;
}
.woocommerce-checkout-review-order-table tfoot .order-total td{
  border-radius:0 12px 12px 0;
}
.woocommerce-checkout-review-order-table .dz-total-label{
  display:block;
  color:#fff;
  font-size:1rem;
  font-weight:800;
  letter-spacing:-.01em;
}
.woocommerce-checkout-review-order-table .dz-total-note{
  display:block;
  margin-top:2px;
  color:rgba(255,255,255,.62);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:0;
}
.woocommerce-checkout-review-order-table .order-total td .amount{
  color:#fff !important;
  font-size:1.3rem !important;
  font-weight:800 !important;
  letter-spacing:-.02em;
  white-space:nowrap;
}
.woocommerce-checkout-review-order-table .order-total td .woocommerce-Price-currencySymbol{
  font-size:1.05rem;
  font-weight:700;
  margin-right:1px;
}
/* Total 里的毛重/折扣等附加文案弱化 */
.woocommerce-checkout-review-order-table .order-total td small,
.woocommerce-checkout-review-order-table .order-total td .includes_tax{
  display:block;
  margin-top:2px;
  color:rgba(255,255,255,.62) !important;
  font-size:.72rem !important;
  font-weight:500;
}
/* 明细行与 Total 之间留白 */
.woocommerce-checkout-review-order-table tfoot tr:last-child td,
.woocommerce-checkout-review-order-table tfoot tr:last-child th{
  padding-bottom:0;
}
.woocommerce-checkout-review-order-table tfoot .order-total{
  position:relative;
}

/* ---- 3. 隐私提示 → 紧凑信任行 ---- */
.woocommerce-privacy-policy-text{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:14px 0 10px !important;
  padding:10px 12px;
  background:#f8fafc;
  border:1px solid #eef2f7;
  border-radius:10px;
  font-size:.78rem !important;
  line-height:1.5 !important;
  color:#64748b !important;
}
.woocommerce-privacy-policy-text::before{
  content:"";
  flex:0 0 14px;
  width:14px;
  height:14px;
  margin-top:2px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
}
.woocommerce-privacy-policy-text a{
  color:#0f766e;
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid rgba(15,118,110,.35);
}
.woocommerce-privacy-policy-text a:hover{
  color:#065f46;
  border-bottom-color:#065f46;
}
/* 条款勾选行同样收紧 */
#payment p.wc-terms-and-conditions{
  margin:10px 0 0 !important;
  font-size:.8rem !important;
  color:#475569 !important;
  line-height:1.5;
}

/* Total 更新时的轻微高亮（form-checkout.php 的 updated_checkout 会加这个类） */
.woocommerce-checkout-review-order-table .order-total.dz-total-pulse th,
.woocommerce-checkout-review-order-table .order-total.dz-total-pulse td{
  animation:dzTotalPulse .9s var(--ease, ease);
}
@keyframes dzTotalPulse{
  0%{ background:#0f172a; }
  35%{ background:#134e4a; }
  100%{ background:#0f172a; }
}

/* Round 9：Express Checkout 开启后，PayPal 网关的「Pay via PayPal.」说明文案
   变成多余的灰色大盒子（上方已经有 PayPal 快捷按钮与「or pay another way」）。
   这里把该说明收成一行淡色小字，仅在快捷按钮不可用时作为兜底提示；
   真正需要表单的网关（信用卡）不受影响。 */
#payment .payment_box.payment_method_ppcp-gateway{
  margin-top:8px;
  padding:0;
  background:transparent;
  border:none;
  border-radius:0;
}
#payment .payment_box.payment_method_ppcp-gateway p{
  margin:0;
  font-size:.78rem;
  color:#94a3b8;
}
/* 选中 PayPal 时这一行与上面的快捷按钮重复，隐藏；未渲染快捷按钮时由 JS 加回 */
#payment .payment_box.payment_method_ppcp-gateway p.dz-express-covered{
  display:none;
}
/* ============================================================
   Round 10（2026-09-27）—— 结账页「付款方式」整块优化
   覆盖：选项卡片 / 单选按钮 / 卡片字段容器 / 卡品牌提示 /
         信任微文案 / 下单按钮 / 焦点与校验态
   ============================================================ */

/* ---- 1. 选项卡片：去掉「橙色大色块」，改为白底 + 品牌绿描边 ---- */
#payment ul.payment_methods li.wc_payment_method{
  padding:15px 16px;
  border:1.5px solid #e2e8f0;
  border-radius:14px;
  margin:0 0 10px;
  background:#fff;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
#payment ul.payment_methods li.wc_payment_method:hover{
  border-color:#cbd5e1;
  box-shadow:0 2px 10px rgba(15,23,42,.05);
}
/* 选中态：绿色描边 + 极淡光晕（橙色只留给最终 CTA，避免抢焦点） */
#payment ul.payment_methods li.wc_payment_method:has(input.input-radio:checked){
  border-color:#047857;
  background:#fff;
  box-shadow:0 0 0 3px rgba(4,120,87,.10);
}
#payment ul.payment_methods li.wc_payment_method:has(input.input-radio:checked) > label{
  color:#0f172a;
}

/* ---- 2. 自定义单选按钮（原生 radio 太小、与文字基线不齐） ---- */
#payment ul.payment_methods li input.input-radio{
  -webkit-appearance:none;
  appearance:none;
  float:left;
  width:20px !important;
  height:20px !important;
  margin:1px 12px 0 0 !important;
  padding:0 !important;
  border:2px solid #cbd5e1 !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:none !important;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
  cursor:pointer;
}
#payment ul.payment_methods li input.input-radio:hover{
  border-color:#94a3b8 !important;
}
#payment ul.payment_methods li input.input-radio:checked{
  border-color:#047857 !important;
  background:#047857 !important;
  box-shadow:inset 0 0 0 3px #fff !important;
}
#payment ul.payment_methods li input.input-radio:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(4,120,87,.25) !important;
}
#payment ul.payment_methods li input.input-radio:checked:focus-visible{
  box-shadow:inset 0 0 0 3px #fff, 0 0 0 3px rgba(4,120,87,.25) !important;
}

/* ---- 3. 标签行 ---- */
#payment ul.payment_methods li > label{
  font-size:.95rem;
  font-weight:700;
  color:#0f172a;
  letter-spacing:-.005em;
}
#payment ul.payment_methods li label img{
  max-height:24px;
  vertical-align:middle;
}

/* ---- 4. 字段容器：去掉「框中框」，改用一条虚线分隔 ---- */
#payment .payment_box{
  margin:12px 0 0;
  padding:13px 0 0;
  background:transparent;
  border:0;
  border-top:1px dashed #e2e8f0;
  border-radius:0;
}
/* PayPal 网关的说明行本来就是一行小字，不要再加分隔线 */
#payment .payment_box.payment_method_ppcp-gateway{
  border-top:0;
  padding-top:0;
  margin-top:8px;
}
#payment .payment_box p{
  font-size:.8rem;
  color:#64748b;
}

/* ---- 5. 卡片字段：放宽 + 行距收紧 ---- */
#payment .payment_box .wc-credit-card-form{
  column-gap:14px;
}
#payment .payment_box .wc-credit-card-form > .form-row{
  margin:0 0 2px !important;
}
#payment .payment_box .wc-credit-card-form label{
  font-size:12.5px !important;
  font-weight:600;
  color:#475569;
  letter-spacing:.01em;
  margin:0 0 5px !important;
}
#payment .payment_box .wc-credit-card-form .required{
  color:#f97316;
  font-weight:700;
}
#payment .payment_box iframe{
  margin-bottom:0;
  border:0;
  border-radius:8px;
  background:transparent;
}

/* ---- 6. 卡字段下方的信任微文案 ---- */
.payment_method_ppcp-credit-card-gateway .payment_box::after{
  content:"Encrypted · we never store your card details";
  display:block;
  margin-top:2px;
  padding-left:20px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E") left 1px/14px 14px no-repeat;
  font-size:.72rem;
  line-height:1.5;
  color:#94a3b8;
}

/* ---- 7. 下单按钮：与卡片同宽同圆角，悬停微抬 ---- */
#payment .ppcp-dcc-order-button,
#payment #place_order{
  width:100% !important;
  height:52px !important;
  border-radius:12px !important;
  font-size:1rem !important;
  font-weight:700 !important;
  letter-spacing:.01em;
  box-shadow:0 6px 16px rgba(249,115,22,.22);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
#payment .ppcp-dcc-order-button:hover,
#payment #place_order:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(249,115,22,.28);
}
#payment .ppcp-dcc-order-button:disabled,
#payment #place_order:disabled{
  opacity:.62;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}
#payment .ppcp-dcc-order-button.ppcp-button-disabled{
  opacity:.62;
  cursor:not-allowed;
}

/* ---- 8. 校验失败态 ---- */
#payment .wc_payment_method.woocommerce-invalid,
#payment .payment_box.woocommerce-invalid{
  border-color:#dc2626;
}
#payment .wc_payment_method.woocommerce-invalid{
  box-shadow:0 0 0 3px rgba(220,38,38,.08);
}
#payment .payment_box .woocommerce-error,
#payment .payment_box .ppcp-form-error{
  margin:2px 0 0;
  padding:0;
  background:transparent;
  border:0;
  color:#dc2626;
  font-size:.78rem;
  line-height:1.4;
}
