/* ================= 神券页 ================= */
/* rem 基准与其他页保持一致（随屏宽自适应，手机约 7.5px；原先写死 10px 会导致进神券页整页放大） */
:root { font-size: min(calc(100vw / 53), 10px); }
* { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html, body { background:#fff; }
body {
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue","Microsoft YaHei",sans-serif;
  display:flex; justify-content:center;
}
#page {
  width:100%; max-width:53rem; min-height:100vh; background:#fff;
  position:relative; padding-bottom:6rem;
}

/* ===== 红色渐变头部 ===== */
.q-hd {
  background:linear-gradient(180deg,#fe0046 0%,#fe0046 31%,#fe656c 55%,#fe9a98 68%,#ffc1c2 82%,#fee6e5 94%,#fff 100%);
  padding:calc(env(safe-area-inset-top) + 1.8rem) 1.4rem 0;
}
.q-title-row { display:flex; align-items:center; padding:1rem 0.6rem 1.6rem; }
.q-logo {
  font-size:3.1rem; font-weight:900; color:#fff; font-style:italic;
  letter-spacing:0.2rem; line-height:1;
  text-shadow:0.2rem 0.3rem 0 rgba(180,0,40,.25);
}
.q-count { display:flex; align-items:center; margin-left:1.6rem; color:#fff; font-size:1.7rem; }
.q-count b { color:#ffd83d; font-size:2.4rem; font-weight:800; margin:0 0.4rem; font-style:italic; }
.q-count svg { width:0.9rem; height:1.5rem; margin-left:0.5rem; }
.q-more { margin-left:auto; display:flex; gap:0.6rem; }
.q-more i { width:0.7rem; height:0.7rem; border-radius:50%; background:#fff; }

/* ===== 神券天天膨 卡片 ===== */
.q-expand-card {
  background:#fff; border-radius:1.6rem;
  padding:1.6rem 1.4rem 1.8rem;
  box-shadow:0 0.6rem 1.6rem rgba(180,0,40,.10);
}
.qec-head { display:flex; align-items:center; justify-content:space-between; }
.qec-head .t { font-size:2rem; font-weight:800; color:#111; }
.qec-head .rule { display:flex; align-items:center; font-size:1.5rem; color:#666; cursor:pointer; }
.qec-head .rule svg { width:0.8rem; height:1.3rem; margin-left:0.3rem; }
/* 天天膨卡片内容图（裁剪自美团原截图，透明底） */
.qec-img { display:block; width:100%; height:auto; margin-top:0.4rem; cursor:pointer; }
.qec-img:active { opacity:.85; }

.qec-tiles { display:flex; align-items:flex-end; gap:1rem; margin-top:2.6rem; }
.tile {
  position:relative; flex:1 1 0; background:#fdeeee; border-radius:1rem;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:7.4rem; padding:1.2rem 0.2rem 1rem; cursor:pointer;
}
.tile .tag {
  position:absolute; top:-1.9rem; left:50%; transform:translateX(-50%);
  background:#fce4e4; color:#fe5a5a; font-size:1.25rem; font-weight:600;
  padding:0.2rem 0.9rem; border-radius:1rem; white-space:nowrap;
}
.tile .price {
  color:#fe2c2c; font-weight:900; font-size:3rem; line-height:1.1;
  display:flex; align-items:flex-start;
}
.tile .price i { font-style:normal; font-size:1.8rem; font-weight:800; margin-top:0.4rem; }
.tile .price em {
  font-style:normal; font-size:1.1rem; font-weight:700; line-height:1.15;
  border:1px solid #fe2c2c; border-radius:0.3rem; padding:0.1rem 0.25rem;
  margin-left:0.4rem; margin-top:0.9rem; text-align:center;
}
.tile .lb { margin-top:0.7rem; color:#fe2c2c; font-size:1.55rem; font-weight:700; }
.tile.t-first { flex:0 0 6.6rem; min-height:7rem; }
.tile.t-first .price { font-size:2.9rem; }
.arrow { flex:0 0 2.6rem; display:flex; align-items:center; justify-content:center; align-self:center; }
.arrow svg { width:2.2rem; height:2rem; }
.tile.t-gift { flex:0 0 7.9rem; }
.tile.t-gift .env { width:4.4rem; height:auto; }
.tile.t-gift .lb { margin-top:0.9rem; }

.qec-btn {
  position:relative; display:block; width:82%; margin:2rem auto 0;
  border:none; cursor:pointer;
  background:linear-gradient(90deg,#fe002b 0%,#fe2c63 55%,#fe438a 100%);
  border-radius:4.4rem; padding:0.9rem 0 1.1rem;
  color:#fff; text-align:center;
}
.qec-btn .big { display:block; font-size:1.9rem; font-weight:800; letter-spacing:0.1rem; }
.qec-btn .sub { display:block; font-size:1.4rem; margin-top:0.2rem; opacity:.95; }
.qec-btn .spark { position:absolute; right:1.6rem; top:50%; transform:translateY(-58%); }
.qec-btn .spark svg { width:2.6rem; height:2.6rem; }

/* ===== 神券包说明行 ===== */
.q-pack {
  display:flex; align-items:center; flex-wrap:nowrap; overflow:hidden;
  padding:1.8rem 1.4rem 0.4rem;
}
.q-pack .t { font-size:2.1rem; font-weight:800; color:#111; margin-right:1rem; flex-shrink:0; }
.q-pack .chip {
  display:flex; align-items:center; flex-shrink:0;
  border:1px solid #eee; border-radius:0.6rem;
  padding:0.1rem 0.5rem; font-size:1.35rem; color:#333; background:#fff;
  box-shadow:0 0.2rem 0.6rem rgba(0,0,0,.05);
}
.q-pack .chip .emoji { font-size:1.5rem; }
/* 神券包后的「外卖」小胶囊：裁剪图替代（含 emoji，跨平台显示一致） */
.q-pack .q-pack-chip { height:3rem; width:auto; flex-shrink:0; display:block; }
.q-pack .meta { color:#666; font-size:1.45rem; margin-left:0.9rem; white-space:nowrap; display:flex; align-items:center; }
.q-pack .meta .info { width:1.5rem; height:1.5rem; margin-left:0.2rem; }
.q-pack .sep { color:#ddd; margin:0 0.8rem; font-size:1.4rem; }
.q-pack .look { display:flex; align-items:center; }
.q-pack .look svg { width:1.3rem; height:0.8rem; margin-left:0.3rem; }

/* ===== 用券下单 ===== */
.q-order { display:flex; align-items:center; padding:1.6rem 1.4rem 1.4rem; }
.q-order .t { font-size:2.1rem; font-weight:800; color:#111; margin-right:1.2rem; }
.q-order .loc { display:flex; align-items:center; color:#999; font-size:1.55rem; }
.q-order .pin { width:1.6rem; height:1.6rem; margin-right:0.3rem; }
.q-order .arr { width:0.8rem; height:1.3rem; margin-left:0.6rem; }

/* ===== 券横滑列表 ===== */
.q-coupons {
  display:flex; gap:1rem; overflow-x:auto; padding:0 1.4rem 0.6rem;
  scrollbar-width:none;
}
.q-coupons::-webkit-scrollbar { display:none; }
.cp {
  position:relative; flex:0 0 auto; width:20rem;
  background:#fdeeee; border-radius:1.2rem; padding:2rem 1.3rem 1.3rem;
  cursor:pointer;
}
.cp .exp {
  position:absolute; top:0; left:0;
  background:#fbdada; color:#fe2c2c; font-size:1.25rem;
  padding:0.25rem 1rem; border-radius:1.2rem 0 1.2rem 0;
}
.cp .row { display:flex; align-items:center; }
.cp .amt { color:#fe2c2c; font-weight:900; font-size:3rem; line-height:1; display:flex; align-items:flex-start; }
.cp .amt i { font-style:normal; font-size:1.8rem; font-weight:800; margin-top:0.3rem; }
.cp .col { margin-left:1.1rem; display:flex; flex-direction:column; }
.cp .col b { color:#fe2c2c; font-size:1.6rem; font-weight:700; white-space:nowrap; }
.cp .col em { font-style:normal; color:#fc9a9a; font-size:1.35rem; margin-top:0.5rem; }

/* ===== 筛选行 ===== */
.q-filter { display:flex; align-items:center; gap:1rem; padding:1.4rem 1.4rem 0.6rem; }
.q-filter .chip {
  flex:1; display:flex; align-items:center; justify-content:center;
  background:#f5f5f5; border-radius:3.2rem;
  font-size:1.5rem; color:#333; padding:0.9rem 0; cursor:pointer;
  white-space:nowrap;
}
.q-filter .chip svg { width:1.2rem; height:0.75rem; margin-left:0.4rem; }
.q-filter .chip.on { font-weight:600; }
.q-filter .funnel { width:1.6rem; height:1.6rem; }

/* ===== 商家列表 ===== */
.q-shops { padding:0.8rem 1.4rem 0; }
.shop { display:flex; padding:1.6rem 0; border-bottom:1px solid #f5f5f5; cursor:pointer; }
.shop:last-child { border-bottom:none; }
.shop .ava { width:9rem; height:9rem; border-radius:1rem; object-fit:cover; flex-shrink:0; background:#f0f0f0; }
.shop .mid { flex:1; min-width:0; margin-left:1.2rem; }
.shop .name {
  font-size:1.85rem; font-weight:700; color:#000;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.shop .row1 { display:flex; align-items:center; margin-top:0.9rem; }
.shop .sc { color:#fe4b33; font-size:1.7rem; font-weight:800; }
.shop .sc i { font-style:normal; font-size:1.3rem; font-weight:600; }
.shop .sale, .shop .avg { color:#333; font-size:1.45rem; margin-left:1.2rem; }
.shop .mt {
  margin-left:auto; flex-shrink:0;
  background:linear-gradient(90deg,#ffe9c2,#ffd9a8); color:#8a5a22;
  font-size:1.25rem; padding:0.25rem 0.7rem; border-radius:0.4rem 0 0.4rem 0.4rem;
}
.shop .row2 { display:flex; margin-top:0.9rem; color:#808080; font-size:1.45rem; }
.shop .row2 .r { margin-left:auto; }
.shop .row3 { display:flex; align-items:center; margin-top:1rem; overflow:hidden; }
.tg-green {
  display:flex; align-items:center; flex-shrink:0;
  border:1px solid #bfe3b4; color:#2aa515; font-size:1.3rem; font-weight:600;
  padding:0.2rem 0.7rem; border-radius:0.6rem 0 0.6rem 0.6rem;
}
.tg-green .ic { width:1.6rem; height:1.6rem; margin-right:0.2rem; }
.tg-green .arr { width:0.7rem; height:1.1rem; margin-left:0.15rem; }
.tg-quote {
  flex-shrink:0; background:#fdf6e3; color:#c8862a; font-size:1.3rem;
  padding:0.35rem 0.8rem; border-radius:0.6rem 0 0.6rem 0.6rem; margin-left:0.8rem;
}
.tg-pink {
  flex-shrink:0; background:#fdeaea; color:#fe2c2c; font-size:1.3rem;
  padding:0.35rem 0.8rem; border-radius:0.6rem 0 0.6rem 0.6rem; margin-left:0.8rem;
}

/* 菜品横滑 */
.dishes { display:flex; gap:0.85rem; margin-top:1.2rem; overflow-x:auto; scrollbar-width:none; }
.dishes::-webkit-scrollbar { display:none; }
.dish { flex:0 0 auto; width:9.2rem; }
.dish img { width:9.2rem; height:9.3rem; object-fit:cover; border-radius:0.8rem; display:block; background:#f0f0f0; }
.dish .dn { margin-top:0.7rem; font-size:1.5rem; color:#111; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dish .dp { margin-top:0.5rem; display:flex; align-items:baseline; color:#fe2c2c; }
.dish .dp b { font-size:1.7rem; font-weight:800; }
.dish .dp span { font-size:1.25rem; margin-left:0.3rem; }
