:root{--wx-primary:#07C160;--wx-primary-dark:#06AD56;--wx-text:#1A1A1A;--wx-text-light:#888;--wx-border:#E5E5E5;--wx-bg:#F7F7F7;--wx-price:#FF4D4F}
        /* 购买弹窗样式 */
        .wx-buy-popup-overlay {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: rgba(0, 0, 0, 0.5);
            display: flex;
            align-items: flex-end;
            z-index: 1000;
        }
        
        .wx-buy-popup {
            background-color: white;
            width: 100%;
            max-width: 750px;
            margin: 0 auto;
            border-radius: 16px 16px 0 0;
            max-height: 80vh;
            overflow-y: auto;
        }
        
        .wx-buy-popup-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 16px 20px;
            border-bottom: 1px solid var(--wx-border);
        }
        
        .wx-buy-popup-title {
            font-size: 16px;
            font-weight: 600;
            color: var(--wx-text);
        }
        
        .wx-buy-popup-close {
            font-size: 24px;
            color: var(--wx-text-light);
            cursor: pointer;
            width: 24px;
            height: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .wx-buy-popup-content {
            padding: 20px;
        }
        
        .wx-section-title {
            font-size: 14px;
            font-weight: 600;
            color: var(--wx-text);
            margin-bottom: 12px;
        }
        
        /* 地址部分 */
        .wx-address-section {
            margin-bottom: 20px;
        }
        
        .wx-address-info {
            background-color: var(--wx-bg);
            border-radius: 8px;
            padding: 16px;
            cursor: pointer;
        }
        
        .wx-add-address-text {
            color: var(--wx-primary);
            font-size: 14px;
        }
        
        .wx-address-user {
            font-size: 14px;
            color: var(--wx-text);
            margin-bottom: 4px;
        }
        
        .wx-address-detail {
            font-size: 13px;
            color: var(--wx-text-light);
        }
        
        /* 规格部分 */
        .wx-spec-section {
            margin-bottom: 20px;
        }
        
        .wx-spec-items {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }
        
        .wx-spec-item {
            padding: 8px 12px;
            border: 1px solid var(--wx-border);
            border-radius: 6px;
            font-size: 13px;
            color: var(--wx-text);
            cursor: pointer;
            transition: all 0.2s;
        }
        
        .wx-spec-item[data-selected="true"] {
            background-color: var(--wx-primary);
            color: white;
            border-color: var(--wx-primary);
        }
        
        /* 数量部分 */
        .wx-quantity-section {
            margin-bottom: 20px;
        }
        
        .wx-number-input {
            display: flex;
            align-items: center;
            border: 1px solid var(--wx-border);
            border-radius: 6px;
            width: fit-content;
        }
        
        .wx-minus, .wx-plus {
            width: 36px;
            height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            font-size: 18px;
            color: var(--wx-text);
            background-color: var(--wx-bg);
        }
        
        .wx-number-input input {
            width: 60px;
            height: 36px;
            border: none;
            text-align: center;
            font-size: 14px;
        }
        
        /* 底部 */
        .wx-buy-popup-footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 16px 20px;
            border-top: 1px solid var(--wx-border);
            background-color: white;
        }
        
        .wx-total-price {
            font-size: 16px;
            font-weight: 600;
            color: var(--wx-price);
        }
        
        .wx-confirm-btn {
            background-color: #FF4D4F;
            color: white;
            border: none;
            padding: 12px 24px;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: background-color 0.2s;
        }
        .wx-confirm-btn:hover {
            background-color: #FF7875;
        }
        
        /* 地址表单弹窗 */
        .wx-address-popup-overlay {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: rgba(0, 0, 0, 0.5);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 1001;
        }
        
        .wx-address-popup {
            background-color: white;
            width: 90%;
            max-width: 400px;
            border-radius: 12px;
            max-height: 80vh;
            overflow-y: auto;
        }
        
        .wx-address-popup-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 16px 20px;
            border-bottom: 1px solid var(--wx-border);
        }
        
        .wx-address-popup-title {
            font-size: 16px;
            font-weight: 600;
            color: var(--wx-text);
        }
        
        .wx-address-popup-close {
            font-size: 24px;
            color: var(--wx-text-light);
            cursor: pointer;
        }
        
        .wx-address-popup-content {
            padding: 20px;
        }
        
        .wx-address-form {
            margin-bottom: 20px;
        }
        
        .wx-form-item {
            margin-bottom: 16px;
        }
        
        .wx-form-item label {
            display: block;
            font-size: 14px;
            color: var(--wx-text);
            margin-bottom: 8px;
        }
        
        .wx-form-item input,
        .wx-form-item textarea {
            width: 100%;
            padding: 12px;
            border: 1px solid var(--wx-border);
            border-radius: 6px;
            font-size: 14px;
            box-sizing: border-box;
        }
        
        .wx-form-item textarea {
            height: 80px;
            resize: none;
        }
        
        .wx-save-address-btn {
            background-color: var(--wx-primary);
            color: white;
            text-align: center;
            padding: 12px;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
        }
        
        /* 地区选择器样式 */
        .wx-region-selector {
            position: relative;
            display: flex;
            align-items: center;
            border: 1px solid var(--wx-border);
            border-radius: 6px;
            background-color: white;
            cursor: pointer;
        }
        
        .wx-region-selector input {
            flex: 1;
            border: none;
            padding: 12px;
            font-size: 14px;
            background: transparent;
            cursor: pointer;
        }
        
        .wx-region-arrow {
            padding: 0 12px;
            color: var(--wx-text-light);
            font-size: 12px;
        }
        
        /* 地区选择器弹窗 */
        .wx-region-picker-overlay {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: rgba(0, 0, 0, 0.5);
            display: flex;
            align-items: flex-end;
            z-index: 1002;
        }
        
        .wx-region-picker {
            background-color: white;
            width: 100%;
            border-radius: 16px 16px 0 0;
            max-height: 60vh;
            overflow: hidden;
        }
        
        .wx-region-picker-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 16px 20px;
            border-bottom: 1px solid var(--wx-border);
        }
        
        .wx-region-picker-cancel,
        .wx-region-picker-confirm {
            font-size: 14px;
            color: var(--wx-primary);
            cursor: pointer;
        }
        
        .wx-region-picker-title {
            font-size: 16px;
            font-weight: 600;
            color: var(--wx-text);
        }
        
        .wx-region-picker-content {
            height: 400px;
            overflow-y: auto;
        }
        
        .wx-region-list {
            padding: 0;
        }
        
        .wx-region-item {
            padding: 16px 20px;
            border-bottom: 1px solid var(--wx-border);
            font-size: 16px;
            color: var(--wx-text);
            cursor: pointer;
            transition: background-color 0.2s;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        
        .wx-region-item:hover {
            background-color: var(--wx-bg);
        }
        
        .wx-region-item.selected {
            color: var(--wx-primary);
            font-weight: 600;
        }
        
        .wx-region-item .wx-region-arrow {
            color: var(--wx-text-light);
            font-size: 14px;
        }
        
        .wx-region-picker-back {
            font-size: 14px;
            color: var(--wx-primary);
            cursor: pointer;
        }

/* Shared mobile controls: no focus zoom or horizontal overflow. */
.wx-buy-popup-overlay,.wx-address-popup-overlay,.wx-region-picker-overlay{top:var(--checkout-top,0);bottom:auto;height:var(--checkout-height,100dvh);overscroll-behavior:contain}
.wx-buy-popup,.wx-address-popup,.wx-region-picker{box-sizing:border-box;min-width:0;display:flex;flex-direction:column;max-height:calc(var(--checkout-height,100dvh) - 24px);overflow:hidden;font-family:"PingFang SC","Microsoft YaHei UI",-apple-system,sans-serif;font-size:14px;line-height:1.5;color:var(--wx-text)}
.wx-buy-popup{max-height:min(80dvh,calc(var(--checkout-height,100dvh) - 16px))}
.wx-address-popup{max-height:min(90dvh,calc(var(--checkout-height,100dvh) - 24px))}
.wx-region-picker{max-width:750px;margin:0 auto;max-height:min(70dvh,calc(var(--checkout-height,100dvh) - 16px))}
.wx-buy-popup-header,.wx-buy-popup-footer,.wx-address-popup-header,.wx-region-picker-header{flex-shrink:0}
.wx-buy-popup-content,.wx-address-popup-content,.wx-region-picker-content{overflow-y:auto;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.wx-form-item input,.wx-form-item textarea,.wx-region-selector input,.wx-number-input input{font-size:16px;line-height:1.4;min-width:0;max-width:100%;box-sizing:border-box}
.wx-form-item input,.wx-form-item textarea{width:100%;color:var(--wx-text);background:white}
.wx-form-item input:focus,.wx-form-item textarea:focus{outline:2px solid var(--wx-primary);outline-offset:1px}
.wx-region-selector input{width:0;flex:1 1 0}
.wx-region-item{display:flex;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--wx-border);border-radius:0}
.wx-spec-item[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.wx-address-detail{overflow-wrap:anywhere}
.wx-save-address-btn,.wx-confirm-btn{font-size:16px;line-height:1.5;font-family:inherit}
.wx-buy-popup-footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}
#toast{z-index:1100}
