/* =========== 基础页面样式 =========== */ .order-confirm-page { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; background-color: #f5f6f8; min-height: 100vh; position: relative; overflow-x: hidden; } /* =========== 顶部导航 =========== */ .top-nav-left-icon { position: fixed; left: 12px; top: 44px; display: flex; align-items: center; z-index: 9999; } .back-icon { width: 32px; height: 32px; background-color: rgba(255, 255, 255, 0.9); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; color: #333; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); } /* =========== Header Banner =========== */ .order-header-banner { background: radial-gradient(ellipse at 20% 80%, rgba(120, 80, 255, 0.15) 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, rgba(255, 0, 127, 0.1) 0%, transparent 40%), linear-gradient(160deg, #1a1625 0%, #2d2840 50%, #1f1b2e 100%); padding: 54px 20px 24px 20px; display: flex; align-items: flex-start; color: #fff; position: relative; min-height: 260px; box-sizing: border-box; } .poster { flex-shrink: 0; width: 105px; height: 140px; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); } .poster-img { width: 100%; height: 100%; } .header-info { margin-left: 16px; display: flex; flex-direction: column; align-items: flex-start; flex: 1; min-width: 0; height: 140px; } /* 场馆信息两行布局 */ .venue-info-block { display: flex; flex-direction: column; margin-top: 10px; } .venue-row { display: flex; align-items: center; margin-bottom: 4px; } .venue-name { font-size: 13px; color: rgba(255, 255, 255, 0.8); font-weight: 500; margin-left: 8px; } .venue-address { font-size: 12px; color: rgba(255, 255, 255, 0.7); line-height: 1.4; padding-left: 36rpx; box-sizing: border-box; } .header-info .title { font-size: 18px; font-weight: bold; line-height: 1.4; margin: 0; margin-top: 4px; } .header-info .tag { font-size: 12px; color: #d0cdd8; margin-top: 8px; text-align: left; } .info-row { display: flex; align-items: center; margin-top: 10px; } .info-text { font-size: 13px; color: rgba(255, 255, 255, 0.8); margin-left: 8px; } /* =========== Main Content - 白色背景卡片(顶部圆角) =========== */ .main-content { background-color: #f5f6f8; padding: 16px 20px; padding-bottom: 100px; border-radius: 24px 24px 0 0; margin-top: -24px; position: relative; z-index: 10; } /* =========== Section Card - 复用 goods-vr-ticket.css 样式 =========== */ .section-card { background-color: #fff; border-radius: 16px; padding: 20px; margin-bottom: 16px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02); } .section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; } .section-title { font-size: 17px; font-weight: bold; color: #111; } .card-subtitle { font-size: 13px; color: #999; } /* =========== 座位信息卡片 =========== */ .seat-list { display: flex; flex-direction: column; gap: 12px; } /* 场次信息摘要 */ .session-summary { display: flex; align-items: center; flex-wrap: wrap; padding: 8px 12px; background-color: #fff5f5; border-radius: 8px; border: 1rpx solid rgba(255, 64, 79, 0.15); margin-bottom: 8px; } .session-text { font-size: 13px; color: #666; } .separator { font-size: 13px; color: #d8d8d8; margin: 0 8px; } .seat-item { display: flex; align-items: center; padding: 12px 14px; background-color: #fafafa; border-radius: 8px; } .seat-badge { font-size: 12px; color: #ff404f; background: rgba(255, 64, 79, 0.1); padding: 2px 10px; border-radius: 4px; margin-right: 14px; } .seat-name { flex: 1; font-size: 14px; color: #333; } .seat-price { font-size: 14px; color: #333; font-weight: 500; } .seat-total { display: flex; justify-content: flex-end; align-items: center; margin-top: 16px; padding-top: 16px; border-top: 1rpx solid #f0f0f0; } .total-label { font-size: 14px; color: #666; margin-right: 8px; } .total-price { font-size: 18px; font-weight: bold; color: #ff404f; } /* =========== 购票须知卡片 =========== */ .expand-btn { display: flex; align-items: center; font-size: 13px; color: #999; } .notice-list { display: flex; flex-direction: column; gap: 16px; } .notice-list.collapsed { display: none; } .notice-item { display: flex; align-items: flex-start; } .notice-dot { width: 4px; height: 4px; background-color: #d8d8d8; border-radius: 50%; margin-top: 7px; margin-right: 10px; flex-shrink: 0; } .notice-content { flex: 1; display: flex; flex-direction: column; gap: 4px; } .notice-title { font-size: 14px; color: #333; font-weight: 500; } .notice-desc { font-size: 12px; color: #999; line-height: 1.5; } /* =========== 服务说明卡片 =========== */ .service-list { display: flex; flex-direction: column; gap: 16px; } .service-item { display: flex; align-items: flex-start; } .icon-success, .icon-warning { width: 16px; height: 16px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; color: #fff; margin-right: 10px; margin-top: 2px; flex-shrink: 0; } .icon-success { background-color: #2ac55a; } .icon-warning { background-color: transparent; color: #ff404f; border: 1px solid #ff404f; } .service-text { flex: 1; display: flex; flex-direction: column; gap: 4px; } .service-title { font-size: 14px; color: #333; font-weight: 500; } .service-desc { font-size: 12px; color: #999; line-height: 1.5; } /* =========== 底部固定操作栏 =========== */ .bottom-bar { position: fixed; bottom: 0; left: 0; right: 0; margin: 0 auto; max-width: 1600rpx; background-color: #fff; display: flex; align-items: center; justify-content: space-between; padding: 12px 20px; padding-bottom: calc(12px + env(safe-area-inset-bottom)); padding-bottom: calc(12px + constant(safe-area-inset-bottom)); box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.03); z-index: 100; } .price-section { display: flex; flex-direction: column; justify-content: center; } .price-label { font-size: 12px; color: #666; margin-bottom: 2px; } .price-wrap { display: flex; align-items: baseline; } .currency { font-size: 14px; color: #ff404f; font-weight: 600; } .price-amount { font-size: 24px; font-weight: bold; color: #ff404f; margin-left: 2px; } .submit-btn { flex: 1; max-width: 200px; margin: 0; margin-left: 20px; height: 44px; line-height: 44px; background: linear-gradient(90deg, #ff6b81, #ff404f); color: #fff; font-size: 16px; font-weight: bold; border-radius: 22px; border: none; } .submit-btn::after { border: none; } .submit-btn[disabled] { background: #ccc; color: #888; } /* =========== 底部占位 =========== */ .bottom-placeholder { height: 20px; } /* =========== 通用工具类 =========== */ .pf { position: fixed; } .round { border-radius: 50%; } .cp { cursor: pointer; }