/* 外卖平台下载中心 - 前台样式（数据驱动版） */
:root{
  --ink:#1b2a3a; --ink-2:#42536a; --muted:#8492a5; --line:#e8edf3;
  --bg:#f5f7fa; --card:#fff; --brand:#2c6ecb;
  --mt:#f5b800; --ele:#ff7700; --jd:#e1251b;
  --shadow:0 3px 16px rgba(27,42,58,.06); --shadow-h:0 12px 30px rgba(27,42,58,.12);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit;font-size:inherit;cursor:pointer}
.icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}

/* ---------- 顶栏 ---------- */
.wm-top{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line)}
.wm-top-in{display:flex;align-items:center;gap:12px;min-height:62px}
.wm-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.06rem;white-space:nowrap}
.wm-logo-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,#2c3e50,#3f6d9c);font-size:1rem}
.wm-nav{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}
.wm-nav a{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:9px;
  font-size:.84rem;font-weight:700;white-space:nowrap;transition:.18s}
.wm-nav a.buy{background:#fff3e6;color:#c4550a;border:1px solid #ffd9b0}
.wm-nav a.buy:hover{background:#ffe6cd}

/* ---------- Hero ---------- */
.wm-hero{position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(118deg,#1e2f45 0%,#2b4a6d 60%,#35618e 100%)}
.wm-hero:before{content:"";position:absolute;width:540px;height:540px;border-radius:50%;right:-170px;top:-280px;
  background:radial-gradient(circle,rgba(255,255,255,.12),rgba(255,255,255,0) 70%)}
.wm-hero:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;left:-150px;bottom:-200px;
  background:radial-gradient(circle,rgba(255,255,255,.08),rgba(255,255,255,0) 70%)}
.wm-hero-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:26px;
  padding:50px 0 84px}
.wm-hero-kicker{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.2em;
  color:rgba(255,255,255,.72);margin-bottom:12px}
.wm-hero h1{font-size:2.1rem;font-weight:800;letter-spacing:.5px;line-height:1.3;margin-bottom:10px}
.wm-hero p{font-size:.94rem;color:rgba(255,255,255,.86);max-width:520px}
.wm-hero-art{display:flex;align-items:center;gap:12px;flex:none}
.wm-hero-art i{display:block;width:46px;height:46px;border-radius:14px;transform:rotate(-8deg);
  box-shadow:0 14px 28px rgba(0,0,0,.2)}
.wm-hero-art i:nth-child(1){background:var(--mt);transform:rotate(-10deg) translateY(8px)}
.wm-hero-art i:nth-child(2){background:var(--ele);transform:rotate(4deg)}
.wm-hero-art i:nth-child(3){background:var(--jd);transform:rotate(12deg) translateY(-8px)}
.wm-hero-curve{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:56px;display:block}

/* ---------- 公告 ---------- */
.wm-notice{background:#fff8ec;border:1px solid #ffe0b8;color:#8a5312;border-radius:11px;
  padding:11px 16px;margin:22px 0 0;font-size:.86rem;display:flex;gap:9px;align-items:center}

/* ---------- 筛选 ---------- */
.wm-filters{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin:26px 0 20px}
.wm-filter{padding:8px 18px;border:1px solid var(--line);background:#fff;border-radius:100px;
  font-size:.85rem;font-weight:700;color:var(--ink-2);transition:.18s}
.wm-filter:hover{border-color:var(--brand);color:var(--brand)}
.wm-filter.active{background:#1e2f45;color:#fff;border-color:#1e2f45}
.wm-count{text-align:center;color:var(--muted);font-size:.78rem;margin:-8px 0 18px}

/* ---------- 平台卡片 ---------- */
.wm-section{background:var(--card);border:1px solid var(--line);border-radius:15px;
  box-shadow:var(--shadow);margin-bottom:20px;overflow:hidden;position:relative}
.wm-section:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--tone,#2c6ecb)}
.wm-section.meituan{--tone:var(--mt)}
.wm-section.eleme{--tone:var(--ele)}
.wm-section.jd{--tone:var(--jd)}
.wm-section-head{display:flex;align-items:center;gap:11px;padding:18px 24px 14px;border-bottom:1px dashed var(--line)}
.wm-section-head h2{font-size:1.08rem;font-weight:800}
.wm-platform-tag{font-size:.7rem;font-weight:800;padding:3px 10px;border-radius:100px;color:#fff;background:var(--tone,#2c6ecb)}
.wm-section-head .wm-sec-count{margin-left:auto;font-size:.76rem;color:var(--muted)}
.wm-item{display:flex;align-items:center;gap:18px;padding:20px 24px;flex-wrap:wrap}
.wm-item+.wm-item{border-top:1px solid var(--line)}
.wm-icon{width:52px;height:52px;border-radius:13px;background:#f7f9fc;border:1px solid var(--line);
  padding:7px;object-fit:contain;flex:none}
.wm-info{flex:1;min-width:210px}
.wm-name{font-size:1rem;font-weight:800;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.wm-tag{font-size:.7rem;font-weight:700;padding:2px 9px;border-radius:100px;
  background:color-mix(in srgb,var(--tone,#2c6ecb) 14%,#fff);color:var(--tone,#2c6ecb);
  border:1px solid color-mix(in srgb,var(--tone,#2c6ecb) 30%,#fff)}
.wm-desc{font-size:.84rem;color:var(--muted);margin-top:5px}
.wm-buttons{display:flex;gap:9px;flex-wrap:wrap}
.wm-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;
  border-radius:9px;font-size:.85rem;font-weight:700;color:#fff;white-space:nowrap;transition:.18s}
.wm-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(27,42,58,.18)}
.wm-btn .icon{font-size:1rem}
.wm-btn .hint{font-weight:500;font-size:.7rem;opacity:.8}
.wm-btn.primary{background:#2ecc71}
.wm-btn.blue{background:#3498db}
.wm-btn.dark{background:#34495e}
.wm-btn.orange{background:#e67e22}
.wm-btn.ghost{background:#fff;color:var(--ink-2);border:1px solid var(--line)}
.wm-empty{text-align:center;padding:60px 20px;color:var(--muted)}
.wm-empty .icon{font-size:2rem;color:#c4cdd8;margin-bottom:10px}

/* ---------- 页脚 ---------- */
.wm-footer{background:#fff;border-top:1px solid var(--line);padding:26px 0;margin-top:36px;
  color:var(--muted);font-size:.8rem}
.wm-footer-in{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.wm-footer p{font-size:.82rem}
.wm-footer-right{display:flex;align-items:center;gap:14px;font-size:.76rem;color:#aab3bf;white-space:nowrap}
.wm-admin-link{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;color:#aeb8c4;
  border:1px solid var(--line);padding:5px 12px;border-radius:100px;transition:.2s}
.wm-admin-link .icon{font-size:.9rem}
.wm-admin-link:hover{color:var(--brand);border-color:#c9dcf5;background:#f0f6ff}

/* ---------- 其它 ---------- */
.wm-offline{background:none;color:#aab3bf;text-align:center;font-size:.72rem;line-height:1.6;padding:18px 0 2px}
.wm-loading{text-align:center;padding:60px 20px;color:var(--muted)}
.wm-loading .spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--brand);
  border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}
@keyframes spin{to{transform:rotate(360deg)}}
.wm-jserr{display:none;position:fixed;left:0;right:0;top:0;z-index:99;padding:10px 16px;
  background:#fdeceb;border-bottom:1px solid #f3c9c6;color:#b3403c;font-size:.84rem;text-align:center}
.wm-totop{position:fixed;right:22px;bottom:22px;width:42px;height:42px;border:0;border-radius:50%;
  background:#1e2f45;color:#fff;box-shadow:0 8px 20px rgba(30,47,69,.3);display:none;
  align-items:center;justify-content:center;font-size:1.1rem;z-index:30}
.wm-totop.show{display:flex}

@media(max-width:768px){
  .wrap{padding:0 16px}
  .wm-top-in{min-height:auto;padding:11px 0;flex-wrap:wrap;gap:10px}
  .wm-nav{width:100%;margin-left:0}
  .wm-hero-in{padding:34px 0 64px}.wm-hero h1{font-size:1.55rem}.wm-hero p{font-size:.86rem}
  .wm-hero-art i{width:34px;height:34px;border-radius:10px}
  .wm-hero-curve{height:38px}
  .wm-item{padding:18px 16px;gap:13px}
  .wm-section-head{padding:16px 16px 13px}
  .wm-buttons{width:100%}
  .wm-btn{flex:1;padding:9px 12px;font-size:.8rem}
  .wm-footer-in{flex-direction:column;align-items:flex-start;gap:14px}
}
