.coupon-popup { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 1000; display: flex; flex-direction: column; justify-content: flex-end; pointer-events: none; &.show { pointer-events: auto; } .coupon-mask { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4); z-index: 1; } .coupon-popup-content { position: relative; z-index: 2; background: #ffffff; border-radius: 60px 60px 0 0; width: 100%; height: 80vh; display: flex; flex-direction: column; transform: translateY(100%); } .coupon-detail-popup { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 20; .coupon-detail-mask { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); } .coupon-detail-content { position: absolute; left: 0; right: 0; bottom: 0; background: #ffffff; border-radius: 24px 24px 0 0; padding: 40px 32px 112px; transform: translateY(100%); box-sizing: border-box; } .coupon-detail-header { display: flex; align-items: center; justify-content: flex-end; margin-bottom: 66px; .coupon-detail-title { width: 540px; height: 48px; font-size: 32px; font-weight: 700; line-height: 48px; color: rgba(0, 0, 0, 0.9); text-align: center; margin-right: 32px; } .coupon-detail-close { width: 40px; height: 40px; } } .coupon-detail-row { display: flex; margin-bottom: 28px; .coupon-detail-label { width: 112px; margin-right: 24px; flex-shrink: 0; font-size: 28px; line-height: 44px; color: rgba(0, 0, 0, 0.4); } .coupon-detail-value { font-size: 28px; line-height: 44px; color: rgba(0, 0, 0, 0.9); } } } .coupon-header { height: 112px; padding-top: 48px; display: flex; justify-content: center; position: relative; flex-shrink: 0; .coupon-title { font-family: PingFang SC; font-size: 32px; font-weight: 500; line-height: 48px; color: #141E27; } .close-icon { position: absolute; top: 32px; right: 32px; width: 40px; height: 40px; } } .coupon-list-head { display: flex; justify-content: space-between; align-items: center; padding-left: 32px; padding-right: 32px; .coupon-list-head-item { font-family: PingFang SC; font-size: 32px; font-weight: normal; line-height: 48px; display: flex; align-items: center; letter-spacing: normal; /* 文字色/重要字 */ color: #141E27; } .my-coupon-item { font-family: PingFang SC; font-size: 28px; font-weight: normal; // line-height: 44px; height: 44px; text-align: right; letter-spacing: normal; /* 文字色/黑色/次要文字 60% */ color: rgba(0, 0, 0, 0.6); display: flex; align-items: center; .arrow-icon { width: 28px; height: 28px; } } } .coupon-list-wrap { flex: 1; position: relative; overflow: hidden; margin-top: 24px; display: flex; flex-direction: column; .coupon-list { height: 100%; padding: 0 41px; padding-top: 32px; height: 100%; flex: 1; overflow-y: auto; padding-bottom: constant(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom); .empty-tip { text-align: center; padding: 60px 0; font-size: 28px; color: rgba(0, 0, 0, 0.4); } .unavailable-section { margin-top: 12px; } .unavailable-toggle { height: 52px; display: flex; align-items: center; justify-content: center; } .unavailable-toggle-text { font-size: 24px; color: rgba(20, 30, 39, 0.4); } .unavailable-toggle-arrow { width: 24px; height: 24px; margin-left: 8px; transform: rotate(90deg); transition: transform 0.2s ease; } .unavailable-toggle-arrow.expanded { transform: rotate(270deg); } .unavailable-list { margin-top: 8px; } .coupon-item-wrap { margin-bottom: 24px; } .coupon-inline-detail { margin-top: -12px; margin-bottom: 8px; padding: 24px 28px; border-radius: 0 0 24px 24px; background: #ffffff; border: 1px dashed rgba(0, 0, 0, 0.1); border-top: none; box-shadow: 0px 12px 40px 0px rgba(0, 0, 0, 0.05); } .coupon-inline-detail-text { font-size: 24px; line-height: 40px; color: rgba(0, 0, 0, 0.45); white-space: pre-wrap; } } /* 自定义滚动条轨道 */ .custom-scrollbar-track { position: absolute; right: 12px; top: 0; bottom: 24px; width: 6px; background-color: rgba(0, 0, 0, 0.05); border-radius: 4px; z-index: 10; } /* 自定义滚动条滑块 */ .custom-scrollbar-thumb { position: absolute; right: 0; top: 0; width: 6px; background-color: rgba(0, 0, 0, 0.25); border-radius: 4px; z-index: 11; } } .coupon-item { position: relative; width: 100%; min-height: 190px; background: url("https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/v2/coupon-item-bg-0713.png") center center / 100% 100% no-repeat; padding-left: 28px; padding-right: 24px; margin-bottom: 0; display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; .coupon-content { display: flex; align-items: center; width: 146px; flex: 1; min-width: 0; } .coupon-price-box { flex-shrink: 0; width: 140px; display: flex; flex-direction: column; align-items: center; justify-content: center; } .coupon-price { display: flex; justify-content: center; align-items: center; flex-shrink: 0; } .price { font-size: 48px; line-height: 64px; font-weight: 500; color: #A68042; } .unit { display: block; font-size: 24px; font-weight: 500; line-height: 24px; color: #A68042; margin-left: 4px; margin-top: 14px; } .no-threshold { font-family: PingFang SC; font-size: 20px; font-weight: normal; line-height: 36px; letter-spacing: normal; color: #A68042; text-align: center; } .coupon-info-box { flex: 1; min-width: 0; margin-left: 34px; display: flex; justify-content: space-between; align-items: center; } .coupon-info { .name { font-size: 32px; font-weight: 500; line-height: 48px; color: #A68042; margin-bottom: 4px; } .time { font-size: 24px; font-weight: normal; line-height: 40px; display: flex; align-items: center; letter-spacing: normal; color: #A68042; } .more { display: flex; align-items: center; margin-top: 4px; height: 40px; .more-detail { font-size: 24px; font-weight: normal; display: flex; align-items: center; letter-spacing: normal; color: rgba(20, 30, 39, 0.4); } .more-img { width: 24px; height: 24px; margin-left: 4px; transform: rotate(0deg); transition: transform 0.2s ease; } .more-img.expanded { transform: rotate(180deg); } } } .select-box { flex-shrink: 0; width: 40px; height: 40px; .select-img { width: 40px; height: 40px; } } .receive { flex-shrink: 0; width: 128px; height: 56px; display: flex; justify-content: center; align-items: center; border-radius: 110px; background: #f58900; font-size: 24px; font-weight: 500; line-height: 56px; text-align: center; color: #ffffff; } .status-img { width: 132px; height: 132px; position: absolute; right: 16px; bottom: 16px; } } }