*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue","Microsoft YaHei",sans-serif;color:#1f2937;background:#f8fafc;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}
input,select,textarea,button{font-family:inherit;font-size:inherit;outline:none;-webkit-appearance:none}
a{color:inherit;text-decoration:none}

/* ---------- 顶部 Header 深灰黑 ---------- */
.header-bg{background:linear-gradient(135deg,#07c160 0%,#10b981 100%);border-radius:0 0 24px 24px;padding-bottom:24px;position:relative;overflow:hidden}
.header-inner{max-width:960px;margin:0 auto;padding:22px 20px 0;position:relative;z-index:1}
.logo-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.logo{display:flex;align-items:center;gap:14px}
.logo-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#07c160,#10b981);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(7,193,96,.35);position:relative}
.logo-icon::before{content:'';width:26px;height:26px;border:3px solid #fff;border-radius:4px;position:relative;transform:rotate(45deg)}
.logo-icon::after{content:'';width:10px;height:10px;background:#fff;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.logo-text h1{color:#fff;font-size:20px;font-weight:800;letter-spacing:.5px;line-height:1.2}
.logo-text p{color:rgba(255,255,255,.65);font-size:11px;margin-top:3px;letter-spacing:1.5px}
.badge-hot{background:rgba(255,255,255,.22);padding:7px 14px;border-radius:20px;color:#fff;font-size:12.5px;font-weight:600;border:1px solid rgba(255,255,255,.35);white-space:nowrap}

/* ---------- 幻灯片 ---------- */
.banner-section{max-width:960px;margin:-12px auto 0;padding:0 20px;position:relative;z-index:5}
.banner-swiper{position:relative;aspect-ratio:16/9;min-height:180px;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.18)}
@supports not (aspect-ratio: 16/9){
  .banner-swiper{padding-top:56.25%;height:0;min-height:0}
  .banner-swiper > *{position:absolute;inset:0}
}
.banner-track{display:flex;height:100%;transition:transform .55s cubic-bezier(.22,.9,.3,1)}
.banner-slide{flex:0 0 100%;width:100%;height:100%;position:relative;background:#e2e8f0 no-repeat center center / cover}
.banner-slide a{display:block;width:100%;height:100%}
.banner-slide .bn-title{position:absolute;left:0;right:0;bottom:0;padding:22px 20px 14px;background:linear-gradient(180deg,transparent,rgba(15,23,42,.82));color:#fff;font-size:15px;font-weight:600;letter-spacing:.4px}
.banner-dots{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:6px;z-index:3}
.banner-dots i{display:block;width:7px;height:7px;border-radius:10px;background:rgba(255,255,255,.45);transition:all .3s;cursor:pointer}
.banner-dots i.active{width:22px;background:#10b981}
.banner-prev,.banner-next{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:none;background:rgba(15,23,42,.4);color:#fff;font-size:22px;line-height:30px;z-index:4;cursor:pointer;display:none;transition:all .2s}
.banner-prev{left:12px}.banner-next{right:12px}
.banner-swiper:hover .banner-prev,.banner-swiper:hover .banner-next{display:block}

/* ---------- 特色 4 标签 ---------- */
.features-section{max-width:960px;margin:20px auto 0;padding:0 20px}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.feature-item{background:#fff;padding:18px 10px;border-radius:14px;text-align:center;border:1px solid #e2e8f0;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .2s}
.feature-item:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(15,23,42,.08);border-color:#cbd5e1}
.f-icon{width:40px;height:40px;border-radius:12px;background:#1e3a8a;display:flex;align-items:center;justify-content:center;position:relative}
.f-icon::after{content:'';position:absolute;inset:7px;border:2px solid #fff;border-radius:6px}
.f-txt b{display:block;color:#111827;font-size:13.5px;margin-bottom:2px;font-weight:700}
.f-txt small{color:#64748b;font-size:11.5px}

/* ---------- 表单卡片 ---------- */
.form-section{max-width:960px;margin:22px auto 40px;padding:0 20px}
.form-card{background:#fff;border-radius:18px;padding:24px 22px 30px;box-shadow:0 4px 24px rgba(15,23,42,.06);border:1px solid #e2e8f0}
.form-title{display:flex;align-items:center;gap:12px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px dashed #cbd5e1}
.form-title h2{font-size:19px;color:#111827;font-weight:800;flex:1}
.title-tag{background:linear-gradient(135deg,#07c160,#10b981);color:#fff;font-size:11px;padding:5px 12px;border-radius:20px;font-weight:600;letter-spacing:.5px}
.form-group{margin-bottom:17px}
.form-label{display:block;font-size:13.5px;color:#334155;font-weight:600;margin-bottom:8px}
.req{color:#dc2626;margin-right:3px;font-weight:700}

/* 运营商点选卡片 */
.operator-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.op-card{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;padding:14px 12px;cursor:pointer;transition:all .25s;position:relative;overflow:hidden}
.op-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(15,23,42,.07);border-color:#cbd5e1}
.op-card.selected{border-color:#10b981;background:#ecfdf5;box-shadow:0 6px 18px rgba(16,185,129,.2)}
.op-row{display:flex;align-items:center;gap:8px;justify-content:flex-start}
.op-dot{flex:0 0 18px;width:18px;height:18px;border:2px solid #cbd5e1;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .25s;flex-shrink:0}
.op-dot i{display:block;width:8px;height:8px;border-radius:50%;background:transparent;transition:all .25s}
.op-card.selected .op-dot{border-color:#10b981;background:#fff}
.op-card.selected .op-dot i{background:#10b981}
.op-n{color:#111827;font-weight:700;font-size:14px;flex:1;line-height:1.3;text-align:left}
.op-card.selected .op-n{color:#047857}

/* 下拉框 & 输入框 */
.region-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.region-select{padding-right:30px;background-position:calc(100% - 14px) 50%,calc(100% - 8px) 50%}
.readonly-province{background:#e5e7eb!important;color:#6b7280!important;border-color:#d1d5db!important;cursor:not-allowed!important;opacity:.85}
.form-select{width:100%;height:50px;padding:0 16px;border:1.5px solid #cbd5e1;border-radius:12px;background:#f8fafc;font-size:15px;cursor:pointer;color:#1f2937;transition:all .2s;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px}
.form-select:focus{border-color:#1e3a8a;background-color:#fff;box-shadow:0 0 0 4px rgba(30,58,138,.1)}

.input-wrap{position:relative}
/* ✅ 彻底去掉prefix文字块（左侧竖线+文字的占位86px），HTML里DOM也删了双保险 */
.prefix{display:none !important;width:0;height:0;padding:0;margin:0;visibility:hidden;overflow:hidden;position:absolute;left:0;top:0}
/* ✅ 左padding改成16px标准（不再留86px prefix位，之前那一大块空就是这里）*/
.input-wrap input{width:100%;height:52px;padding:0 16px 0 16px;border:1.5px solid #cbd5e1;border-radius:12px;font-size:15px;transition:all .25s;background:#f8fafc;color:#1f2937}
.input-wrap input:focus{border-color:#1e3a8a;background:#fff;box-shadow:0 0 0 4px rgba(30,58,138,.1)}
.input-wrap input::placeholder{color:#94a3b8}

/* 短信验证码 */
.sms-wrap{display:flex;gap:10px}
.sms-wrap input{flex:1;padding-right:16px}
.sms-btn{flex:0 0 124px;height:52px;border:none;border-radius:12px;background:#334155;color:#fff;font-weight:700;font-size:13.5px;cursor:pointer;transition:all .2s;letter-spacing:.3px}
.sms-btn:hover{background:#1e293b;transform:translateY(-1px)}
.sms-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}

/* 费用卡片 */
.fee-card{background:#f1f5f9;border:1.5px dashed #cbd5e1;border-radius:12px;padding:14px 16px;margin:18px 0 4px}
.fee-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-size:14.5px;color:#475569}
.fee-row b{color:#1e3a8a;font-weight:700;font-size:15px}
.fee-row.total{border-top:1px dashed #cbd5e1;padding-top:12px;margin-top:4px}
.fee-row.total span{font-weight:700;color:#111827;font-size:15px}
.fee-row.total big{font-size:22px;color:#dc2626;font-weight:800;letter-spacing:.5px}

/* 安全提示 */
.safe-tip{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:12px;margin:14px 0 18px;font-size:12.5px;color:#334155;line-height:1.7;position:relative}
.safe-tip::before{content:'';flex:0 0 22px;height:22px;border-radius:50%;background:#1e3a8a;position:relative;margin-top:1px}
.safe-tip .lock-mark{position:absolute;width:2px;height:9px;background:#fff;margin:6px 10px 0;border-radius:2px;box-shadow:0 4px 0 -1px #fff}
.safe-tip b{color:#1e3a8a}

/* 提交按钮 */
.submit-btn{width:100%;height:56px;border:none;border-radius:12px;background:#1e3a8a;color:#fff;font-size:17px;font-weight:700;cursor:pointer;letter-spacing:3px;box-shadow:0 8px 20px rgba(30,58,138,.3);transition:all .25s}
.submit-btn:hover{background:#1e40af;transform:translateY(-2px);box-shadow:0 12px 26px rgba(30,58,138,.38)}
.submit-btn:active{transform:translateY(0)}
.submit-btn:disabled{opacity:.75;cursor:not-allowed;transform:none}
.form-foot{text-align:center;margin-top:16px;font-size:11.5px;color:#94a3b8;line-height:1.7}

/* ---------- 底部 ---------- */
.footer-bg{background:#fff;padding:28px 20px 34px;margin-top:10px;border-top:1px solid #e2e8f0}
.footer-inner{max-width:960px;margin:0 auto;text-align:center}
.f-logo{font-size:16px;color:#111827;font-weight:700;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:10px}
.f-logo::before{content:'';display:inline-block;width:22px;height:22px;border-radius:6px;background:#1e3a8a}
.f-desc{color:#64748b;font-size:13px;margin-bottom:10px}
.f-copy{color:#94a3b8;font-size:11.5px;line-height:1.8}

/* ---------- 成功弹窗 ---------- */
.modal-mask{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}
.success-card{width:100%;max-width:380px;background:#fff;border-radius:20px;padding:34px 26px 28px;text-align:center;box-shadow:0 30px 80px rgba(15,23,42,.35);animation:pop .28s ease-out}
@keyframes pop{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}
.s-ic{width:76px;height:76px;margin:0 auto 16px;border-radius:50%;background:#1e3a8a;box-shadow:0 10px 24px rgba(30,58,138,.35);animation:tick .55s ease-out;position:relative}
.s-ic::before{content:'';position:absolute;top:50%;left:50%;width:20px;height:10px;border:solid #fff;border-width:0 0 3px 3px;transform:translate(-50%,-65%) rotate(-45deg)}
@keyframes tick{0%{transform:scale(.5)}60%{transform:scale(1.1)}100%{transform:scale(1)}}
.success-card h3{color:#111827;font-size:20px;margin-bottom:10px;font-weight:800}
.success-card > p{color:#475563;font-size:14px;line-height:1.7;margin-bottom:16px}
.success-card > p b{color:#1e3a8a}
.s-tip{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;color:#334155;font-size:13px;text-align:left;line-height:1.8;margin-bottom:20px}
.s-tip b{display:block;margin-top:6px;color:#1e3a8a}
.s-btn{width:100%;height:50px;border:none;border-radius:12px;background:#1e3a8a;color:#fff;font-size:15px;font-weight:700;cursor:pointer;letter-spacing:1px;box-shadow:0 6px 16px rgba(30,58,138,.3)}

/* ---------- 悬浮客服按钮 ---------- */
.float-cs{position:fixed;right:14px;bottom:90px;z-index:8888;display:flex;flex-direction:column;gap:12px}
.float-btn{width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;position:relative;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:all .25s ease;display:flex;align-items:center;justify-content:center;padding:0;text-decoration:none;color:#fff}
.float-btn:hover{transform:scale(1.08);box-shadow:0 12px 32px rgba(0,0,0,.25)}
.float-btn:active{transform:scale(.96)}
.float-phone{background:linear-gradient(135deg,#22c55e,#16a34a)}
.float-phone::before{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(34,197,94,.45);animation:wave 2s ease-out infinite}
@keyframes wave{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.4);opacity:0}}
.float-wechat{background:linear-gradient(135deg,#07c160,#10b981)}
.fb-icon{display:flex;align-items:center;justify-content:center;position:relative;z-index:2}
.fb-tip{position:absolute;right:72px;top:50%;transform:translateY(-50%) translateX(10px);background:rgba(15,23,42,.9);color:#fff;font-size:13px;font-weight:600;padding:8px 14px;border-radius:10px;white-space:nowrap;opacity:0;pointer-events:none;transition:all .25s ease;letter-spacing:.5px}
.fb-tip::after{content:'';position:absolute;right:-5px;top:50%;transform:translateY(-50%) rotate(45deg);width:8px;height:8px;background:rgba(15,23,42,.9)}
.float-btn:hover .fb-tip{opacity:1;transform:translateY(-50%) translateX(0)}

/* ---------- 微信二维码弹窗 ---------- */
.wechat-card{width:100%;max-width:340px;background:#fff;border-radius:22px;padding:30px 24px 26px;text-align:center;box-shadow:0 30px 80px rgba(15,23,42,.35);animation:pop .28s ease-out;position:relative}
.wc-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border:none;border-radius:50%;background:#f1f5f9;color:#64748b;font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}
.wc-close:hover{background:#e2e8f0;color:#111827;transform:rotate(90deg)}
.wc-icon{width:66px;height:66px;margin:0 auto 14px;border-radius:18px;background:linear-gradient(135deg,#07c160,#10b981);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(7,193,96,.35)}
.wechat-card h3{color:#111827;font-size:20px;margin-bottom:6px;font-weight:800}
.wc-sub{color:#64748b;font-size:13px;margin-bottom:18px}
.wc-qrbox{width:220px;height:220px;margin:0 auto 16px;border-radius:16px;border:1.5px solid #e2e8f0;padding:10px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 2px 8px rgba(0,0,0,.04)}
.wc-qrbox img{width:100%;height:100%;object-fit:contain;display:block}
.wc-qr-placeholder{color:#94a3b8;font-size:13px;text-align:center;line-height:1.7}
.wc-qr-placeholder b{display:block;color:#07c160;font-size:36px;margin-bottom:8px}
.wc-row{display:flex;gap:10px;margin-top:4px}
.wc-row input{flex:1;height:44px;padding:0 14px;border:1.5px solid #cbd5e1;border-radius:12px;background:#f8fafc;font-size:14px;font-weight:600;color:#1e3a8a;letter-spacing:.3px;cursor:text;user-select:all}
.wc-copy{flex:0 0 100px;height:44px;border:none;border-radius:12px;background:linear-gradient(135deg,#07c160,#10b981);color:#fff;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px rgba(7,193,96,.3)}
.wc-copy:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(7,193,96,.4)}
.wc-copy:active{transform:translateY(0)}
.wc-copy.copied{background:linear-gradient(135deg,#1e3a8a,#3f76eb)}

/* ---------- 响应式 ---------- */
@media(max-width:640px){
  .float-cs{right:12px;bottom:70px;gap:10px}
  .float-btn{width:52px;height:52px}
  .fb-tip{display:none}
  .wc-qrbox{width:200px;height:200px}
  .wechat-card{padding:26px 20px 22px}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .region-row{grid-template-columns:repeat(3,1fr);gap:6px}
  .region-select{font-size:13px;padding:0 22px 0 10px;height:46px}
  .operator-list{grid-template-columns:repeat(3,1fr);gap:6px}
  .op-card{padding:12px 8px;border-radius:10px}
  .op-card.selected{background:linear-gradient(135deg,#07c160 0%,#10b981 100%);border-color:#10b981;box-shadow:0 6px 16px rgba(16,185,129,.32)}
  .op-card.selected .op-n{color:#fff}
  .op-card.selected .op-dot{border-color:#fff;background:rgba(255,255,255,.18)}
  .op-card.selected .op-dot i{background:#fff}
  .op-row{gap:6px;justify-content:flex-start}
  .op-dot{width:16px;height:16px;flex:0 0 16px}
  .op-dot i{width:6px;height:6px}
  .op-n{font-size:12px;text-align:left}
  .logo-text h1{font-size:17px}
  .logo-text p{display:none}
  .logo-icon{width:46px;height:46px;border-radius:14px}
  .header-bg{border-radius:0 0 20px 20px}
  .sms-btn{flex:0 0 108px;font-size:12.5px}
}