.dg-cart-wrapper { position: relative; transition: opacity 0.3s; }
.dg-cart-wrapper.loading { opacity: 0.5; pointer-events: none; }
.dg-cart-wrapper.loading::after {
    content: "";
    position: absolute;
    top: 50%; left: 50%;
    width: 30px; height: 30px;
    margin: -15px 0 0 -15px;
    border: 3px solid rgba(214,0,0,0.3);
    border-top-color: #d60000;
    border-radius: 50%;
    animation: dg_spin 0.8s linear infinite;
    z-index: 10;
}
@keyframes dg_spin { to { transform: rotate(360deg); } }

/* 基础样式 */
.dg-cart-wrapper{font-family:"Open Sans", sans-serif;}
.dg-cart-steps{display:flex;justify-content:center;align-items:center;gap:12px;font-size:18px;font-weight:600;margin-bottom:35px;}
.dg-cart-steps a{color:#888;text-decoration:none;transition:0.3s;}
.dg-cart-steps a:hover{color:#d60000;}
.dg-cart-steps .active{color:#d60000;}
.dg-step-divider{color:#aaa;}
.dg-step-disabled{color:#bbb;}
.dg-cart-wrapper{display:grid;grid-template-columns:2fr 1fr;gap:40px;max-width:1200px;margin:auto;padding:20px;}
.dg-cart-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;padding:15px 0;border-bottom:2px solid #eee;font-weight:600;}
.dg-cart-item{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;align-items:center;padding:20px 0;border-bottom:1px solid #eee;}
.dg-product-info{display:flex;gap:15px;align-items:center;position:relative;}
.dg-product-info img{width:80px;}
.dg-remove{position:absolute;top:-6px;left:-6px;width:22px;height:22px;background:#fff;border:1px solid #ddd;border-radius:50%;text-align:center;line-height:20px;font-size:14px;font-weight:bold;color:#000;text-decoration:none;}
.dg-remove:hover{background:#353a40;color:#fff;}
.dg-product-title a{color:#000;text-decoration:none;font-weight:600;}
.dg-product-title a:hover{color:#d60000;}

/* --- 核心修改部分：数量选择器居中 --- */
.dg-qty{display:flex;align-items:center;border:1px solid #ddd;border-radius:6px;overflow:hidden;width:max-content;font-size:16px;user-select:none;}
.dg-qty button{
    width:36px;
    height:36px;
    border:none;
    background:#fff;
    cursor:pointer;
    color:#000;
    border-right:1px solid #ddd;
    border-left:1px solid #ddd;
    transition: color 0.3s, background-color 0.3s;
    font-weight:700;
    font-family: "Open Sans", sans-serif;
    /* 新增居中逻辑 */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
}
.dg-qty button:last-child{border-right:none;}
.dg-qty button:hover{color:#da2128;background:#fff;}
.dg-qty input{width:50px;height:36px;border:none;text-align:center;font-size:16px;outline:none;background:#fff;font-weight:700;font-family: "Open Sans", sans-serif;-moz-appearance: textfield;appearance: textfield;caret-color: #da2128;transition: none !important;}
.dg-cart-wrapper .dg-qty button:active,
.dg-cart-wrapper .dg-qty button:focus,
.dg-cart-wrapper .dg-qty button:focus-visible {
    background-color: #da2128 !important; 
    color: #fff !important; 
    border-color: transparent #ddd transparent #ddd !important;
    box-shadow: none !important;
    outline: none !important;
}
/* --- 核心修改结束 --- */

.dg-qty input::-webkit-outer-spin-button, .dg-qty input::-webkit-inner-spin-button {-webkit-appearance: none;margin: 0;}
.dg-qty input:focus {background: #fff !important;box-shadow: none !important;outline: none !important;}
.dg-cart-actions {display: flex;justify-content: space-between;align-items: center;margin-top: 25px;width: 100%;}

/* --- 这里是修改过后的 Coupon CSS --- */
.dg-coupon-group {display: flex;align-items: center; gap: 12px;} /* 加了 gap 拉开距离 */
.dg-coupon-group input {padding: 12px 15px;border: 1px solid #ddd;outline: none;width: 200px;font-family: "Open Sans", sans-serif; border-radius: 4px;} /* 删除了 border-right: none，并加了点圆角 */
.dg-coupon-group button {background: #f4f4f4;color: #222529;border: none;padding: 12px 20px;cursor: pointer;transition: 0.3s;font-weight: 700;text-transform: uppercase;border-radius: 4px;font-family: "Open Sans", sans-serif;} /* 加了对应圆角 */
.dg-coupon-group button:hover {background: #f1f1f1;color: #222529;}
.dg-update-cart {background: #f4f4f4;color: #222529;border: none;padding: 12px 24px;cursor: pointer;transition: 0.3s;font-weight: 700;text-transform: uppercase;border-radius: 4px;font-family: "Open Sans", sans-serif;} /* 同步给 Update Cart 也加了圆角保持统一 */
/* --- Coupon CSS 修改结束 --- */

.dg-update-cart:hover {background: #f1f1f1;color: #222529;}
.dg-cart-summary{background:#fff;padding:30px;border-radius:6px;height:fit-content;border: 1px solid #ddd;}
.dg-cart-summary h3 {margin-top: 0;margin-bottom: 25px;font-weight: 700;}
.dg-summary-row{display:flex;justify-content:space-between;margin-bottom:15px;}
.dg-shipping-prompt {color: #666;font-size: 14px;padding-bottom: 15px;border-bottom: 1px dashed #eee;margin-bottom: 15px;line-height: 1.5;}
.dg-total{font-weight:bold;font-size:18px;border-top: 1px solid #eee;padding-top: 15px;margin-top: 15px;}
.dg-shipping-calculator {margin-bottom: 15px;}
.dg-shipping-calculator .form-row {margin-bottom: 12px;}
.dg-shipping-calculator select,.dg-shipping-calculator input.input-text {width: 100%;padding: 12px 15px;border: 1px solid #ddd;border-radius: 4px;font-family: "Open Sans", sans-serif;font-size: 13px;color: #555;outline: none;box-sizing: border-box;}
.dg-shipping-calculator select:focus,.dg-shipping-calculator input.input-text:focus {border-color: #aaa;}
.dg-shipping-calculator select {-webkit-appearance: none;-moz-appearance: none;appearance: none;background-color: #fff;background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat: no-repeat;background-position: right 15px center;background-size: 15px;cursor: pointer;}
.dg-shipping-calculator button[name="calc_shipping"] {width: 100%;background: #f4f4f4;color: #222529;border: none;padding: 12px;border-radius: 4px;font-weight: 700;text-transform: uppercase;font-size: 13px;cursor: pointer;transition: 0.3s;margin-top: 5px;font-family: "Open Sans", sans-serif;}
.dg-shipping-calculator button[name="calc_shipping"]:hover {background: #e4e4e4;}
.dg-checkout-btn{display:block;background:#111;color:#fff;text-align:center;padding:15px;margin-top:20px;text-decoration:none;font-weight:600;transition:0.3s; border-radius:4px;}
.dg-checkout-btn:hover{background:#353a40;color:#fff;text-decoration:none;}
.dg-empty-cart{text-align:center;margin-top:80px;color:#444;}
.dg-empty-cart .porto-icon-bag-2 {font-size: 64px;color: #d60000;margin-bottom: 15px;display: inline-block;}
.dg-empty-cart h2{font-size:24px;margin-bottom:20px;}
.dg-empty-cart a{display:inline-block;background:#111;color:#fff;text-decoration:none;padding:12px 25px;border-radius:6px;font-weight:600;transition:0.3s;}
.dg-empty-cart a:hover{background:#353a40;color:#fff;}

/* 响应式媒体查询保持不变... */
@media(max-width:1024px){
  .dg-cart-wrapper{grid-template-columns:1fr;gap:30px;}
  .dg-cart-summary{order:2;}
  .dg-cart-products{order:1;}
  .dg-cart-header { display: grid; }
  .dg-cart-item { text-align: left; padding: 20px 0; border: none; border-bottom: 1px solid #eee; border-radius: 0; margin-bottom: 0; }
  .dg-product-info { flex-direction: row; justify-content: flex-start; margin-bottom: 0; }
  .dg-product-info img { width: 80px; }
  .dg-remove { left: -6px; top: -6px; right: auto; z-index: 5; }
  .dg-cart-item > div:nth-child(2) { margin-top: 0; font-weight: normal; }
  .dg-qty { margin: 0; }
  .dg-cart-item > div:last-child { margin-top: 0; font-weight: normal; font-size: inherit; }
  .dg-cart-actions { flex-direction: row; gap: 0; justify-content: space-between; }
  .dg-coupon-group { width: auto; display: flex; }
  .dg-coupon-group input { flex: none; width: 200px; }
  .dg-update-cart { width: auto; padding: 12px 24px; }
  .dg-cart-steps { flex-direction: row; gap: 12px; }
  .dg-shipping-calculator button[name="calc_shipping"] { width: auto; padding: 12px 24px; display: block; }
}

@media(max-width:768px){
  .dg-cart-steps { flex-direction: row; flex-wrap: wrap; gap: 8px; font-size: 14px; text-align: center; justify-content: center; }
  .dg-cart-header{display: grid; text-align: center; }
  .dg-cart-item { text-align: center; padding: 30px 15px; border: 1px solid #eee; border-top: 4px solid #d60000; border-radius: 0; margin-bottom: 20px; }
  .dg-product-info { flex-direction: column; align-items: center; justify-content: center; gap: 10px; }
  .dg-product-info img { width: 110px; }
  .dg-remove { top: 10px; right: 10px; left: auto; }
  .dg-cart-item > div:nth-child(2) { margin-top: 10px; font-weight: 500; }
  .dg-qty { margin: 15px auto; }
  .dg-cart-item > div:last-child { margin-top: 10px; font-weight: 600; font-size: 16px; }
  .dg-cart-actions { flex-direction: column; gap: 15px; }
  .dg-coupon-group { width: 100%; display: flex; flex-direction: column; gap: 10px; }
  .dg-coupon-group input { width: 100%; border-right: 1px solid #ddd; }
  .dg-coupon-group button { width: 100%; }
  .dg-update-cart { width: 100%; }
  .dg-shipping-calculator button[name="calc_shipping"] { width: 100%; }
}

@media(max-width:425px){
  .dg-cart-steps { flex-direction: row; flex-wrap: wrap; gap: 8px; font-size: 14px; text-align: center; justify-content: center; }
  .dg-cart-header{display:none;}
  .dg-cart-item { grid-template-columns: 1fr; text-align: center; padding: 30px 15px; border: 1px solid #eee; border-top: 4px solid #d60000; border-radius: 0; margin-bottom: 20px; }
  .dg-product-info { flex-direction: column; align-items: center; justify-content: center; gap: 10px; }
  .dg-product-info img { width: 110px; }
  .dg-remove { top: 10px; right: 10px; left: auto; }
  .dg-cart-item > div:nth-child(2) { margin-top: 10px; font-weight: 500; }
  .dg-qty { margin: 15px auto; }
  .dg-cart-item > div:last-child { margin-top: 10px; font-weight: 600; font-size: 16px; }
  .dg-cart-actions { flex-direction: column; gap: 15px; }
  .dg-coupon-group { width: 100%; display: flex; flex-direction: column; gap: 10px; }
  .dg-coupon-group input { width: 100%; border-right: 1px solid #ddd; }
  .dg-coupon-group button { width: 100%; }
  .dg-update-cart { width: 100%; }
  .dg-shipping-calculator button[name="calc_shipping"] { width: 100%; }
}