.price,
.theme-price {
    color: var(--dujiao-primary);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: clamp(34px, 4vw, 42px);
    letter-spacing: -.04em;
    font-weight: 900;
}

.price .currency {
    margin-left: 8px;
    color: var(--dujiao-primary);
    font-size: .86em;
    font-weight: 900;
}

.abacus {
    display: block !important;
    margin: 18px 0 24px !important;
}

.abacus::before {
    content: "价格";
    display: block;
    margin-bottom: 8px;
    color: var(--dujiao-muted);
    font-family: initial;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
}

.theme-form .qty-group {
    display: inline-flex;
    width: 138px;
    height: 42px;
    gap: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #d9dce3;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
}

.theme-form .qty-group > button {
    width: 42px;
    height: 40px;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: #6e6e73;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    box-shadow: none;
}

.theme-form .qty-group > button:hover {
    background: #f5f5f7;
    color: var(--dujiao-text);
    filter: none;
}

.theme-form .qty-group > input[type="number"] {
    width: 54px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    border: 0;
    border-right: 1px solid #d9dce3;
    border-left: 1px solid #d9dce3;
    border-radius: 0;
    background: #fff;
    color: var(--dujiao-text);
    font-size: 15px;
    font-weight: 700;
    box-shadow: none;
}

.theme-form .qty-group > input[type="number"]:focus {
    background: #fff;
    box-shadow: none;
}

.theme-form .cash-pay {
    padding: 14px !important;
    border: 1px solid var(--dujiao-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: none;
}

.theme-form .cash-pay .form-label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    color: var(--dujiao-text);
    font-size: 14px;
    font-weight: 800;
}

.theme-form .cash-pay .form-label i {
    width: 22px;
    height: 22px;
    border-radius: 7px;
    background: var(--dujiao-primary-soft);
    color: var(--dujiao-primary);
    box-shadow: none;
}

.theme-form .cash-pay .pay-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--dujiao-border);
}

.theme-form .pay-list .pay {
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid var(--dujiao-border);
    border-radius: 999px;
    background: #fff;
    color: var(--dujiao-text);
    box-shadow: none;
}

.theme-form .pay-list .pay span {
    color: var(--dujiao-text);
    font-weight: 700;
}

.theme-form .pay-list .pay img {
    width: 20px;
    height: 20px;
    border-radius: 6px;
    box-shadow: none;
}

.theme-form .pay-list .pay.active,
.theme-form .pay-list .pay.is-primary,
.theme-form .pay-list .pay.selected {
    border-color: var(--dujiao-primary);
    background: var(--dujiao-primary-soft);
    color: var(--dujiao-primary);
    box-shadow: none;
}

.theme-form .pay-list .pay.active span,
.theme-form .pay-list .pay.is-primary span,
.theme-form .pay-list .pay.selected span {
    color: var(--dujiao-primary);
}

.theme-form .pay-submit {
    width: 100%;
}
