| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- .spinWrap {
- :global {
- .n-spin-container {
- min-height: 280px;
- }
- }
- }
- .vipPurchaseModal {
- padding: 0 40px 32px;
- min-height: 280px;
- .subtitle {
- margin-top: 16px;
- padding: 12px 20px;
- font-size: 20px;
- color: #e6392b;
- text-align: center;
- line-height: 30px;
- font-weight: 600;
- background: linear-gradient(135deg, #fff5f5 0%, #ffe8e8 100%);
- border-radius: 12px;
- border: 1px solid rgba(230, 57, 43, 0.15);
- }
- .packageList {
- margin-top: 28px;
- display: flex;
- flex-wrap: wrap;
- gap: 24px;
- margin-bottom: 32px;
- justify-content: center;
- }
- .packageItem {
- min-width: 280px;
- padding: 40px 32px;
- background: linear-gradient(180deg, #f8f9fc 0%, #f0f2f5 100%);
- border-radius: 20px;
- text-align: center;
- cursor: pointer;
- transition: all 0.25s ease;
- border: 3px solid transparent;
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
- position: relative;
- overflow: hidden;
- &:hover {
- background: linear-gradient(180deg, #eaf5ff 0%, #d6eaff 100%);
- transform: translateY(-4px);
- box-shadow: 0 8px 24px rgba(25, 140, 254, 0.2);
- }
- &.selected {
- background: linear-gradient(135deg, #eaf5ff 0%, #c8e4ff 100%);
- border-color: #198cfe;
- box-shadow: 0 8px 32px rgba(25, 140, 254, 0.3);
- .packageName {
- color: #198cfe;
- }
- .priceAmount {
- color: #e6392b;
- }
- }
- }
- .packageName {
- font-size: 24px;
- color: #333;
- margin-bottom: 12px;
- font-weight: 600;
- letter-spacing: 0.5px;
- }
- .freeText {
- font-size: 14px;
- color: #ff6b00;
- background: linear-gradient(135deg, #fff7e6 0%, #ffedcc 100%);
- padding: 6px 14px;
- border-radius: 8px;
- margin-bottom: 16px;
- font-weight: 500;
- display: inline-block;
- min-height: 28px;
- visibility: visible;
- &:empty {
- visibility: hidden;
- background: transparent;
- }
- }
- .packagePrice {
- display: flex;
- flex-direction: row;
- align-items: baseline;
- gap: 8px;
- justify-content: center;
- }
- .originalPrice {
- font-size: 18px;
- color: #999;
- font-weight: 400;
- }
- .priceAmount {
- font-size: 36px;
- color: #ea4132;
- font-weight: 700;
- line-height: 1;
- display: inline-flex;
- align-items: baseline;
- &::before {
- content: '¥';
- font-size: 20px;
- font-weight: 600;
- margin-right: 2px;
- }
- }
- .btnGroup {
- padding-top: 16px;
- display: flex;
- justify-content: center;
- gap: 24px;
- :global {
- .n-button {
- height: 64px;
- width: 38%;
- font-size: 20px;
- font-weight: 600;
- border-radius: 32px;
- padding: 0 40px;
- &.n-button--default-type {
- background: #f5f6fa;
- color: #666;
- border: none;
- &:hover {
- background: #e8e9ed;
- color: #333;
- }
- }
- &.n-button--primary-type {
- background: linear-gradient(135deg, #198cfe 0%, #0d6efd 100%);
- box-shadow: 0 6px 20px rgba(25, 140, 254, 0.35);
- border: none;
- &:hover {
- background: linear-gradient(135deg, #1a9ffe 0%, #0b5ed7 100%);
- box-shadow: 0 8px 24px rgba(25, 140, 254, 0.45);
- }
- }
- }
- }
- }
- .qrCodeSection {
- padding-top: 12px;
- }
- .qrCodeTitle {
- font-size: 22px;
- font-weight: 600;
- color: #131415;
- text-align: center;
- margin-bottom: 24px;
- }
- .qrCodeWrap {
- display: flex;
- flex-direction: column;
- align-items: center;
- padding: 32px 24px;
- background: linear-gradient(180deg, #f8f9fc 0%, #eef0f5 100%);
- border-radius: 20px;
- margin-bottom: 28px;
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
- border: 1px solid rgba(0, 0, 0, 0.04);
- }
- .payTip {
- font-size: 18px;
- color: #333;
- margin-top: 20px;
- text-align: center;
- font-weight: 500;
- }
- .orderInfo {
- font-size: 15px;
- color: #888;
- margin-top: 12px;
- padding: 10px 16px;
- background: rgba(255, 255, 255, 0.8);
- border-radius: 8px;
- border: 1px solid rgba(0, 0, 0, 0.06);
- }
- }
|