/* Plan Ahead 团购定制（2026-10-11）：planAhead.html / gbBatch.html / planAheadTerms.html 共用。
   颜色沿用全站：橙 #fa8600 / 深橙 #a34f00；底座蓝 #2a68ad；表层紫 #7350b0。 */
.pa { width: calc(100% - 32px); max-width: 1160px; margin: 28px auto 64px; box-sizing: border-box; color: #1d1d1f; }
.pa * { box-sizing: border-box; }
.pa h1 { font-size: 34px; font-weight: 800; line-height: 1.25; margin: 6px 0 10px; }
.pa h2 { font-size: 22px; font-weight: 700; margin: 0 0 12px; }
.pa h3 { font-size: 17px; font-weight: 700; margin: 0; }
.pa p { margin: 0; line-height: 1.7; }
.pa .eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #fa8600; }
.pa .lede { font-size: 17px; color: #3d3d42; max-width: 760px; }
.pa .muted { color: #6b6b72; }
.pa .small { font-size: 13px; }
.pa a { color: #c25e00; }
.pa .btn { display: inline-block; border: 1.5px solid #fa8600; color: #a34f00; background: #fff; border-radius: 10px; padding: 9px 18px; font-size: 15px; font-weight: 600; cursor: pointer; text-decoration: none; line-height: 1.3; }
.pa .btn:hover { background: #fff6ec; }
.pa .btn.primary { background: linear-gradient(135deg, #ff9a00, #fa6400); color: #fff; border-color: transparent; }
.pa .btn.primary:hover { filter: brightness(1.05); }
.pa .btn[disabled] { opacity: .5; cursor: not-allowed; }
.pa .msg { font-size: 14px; margin-left: 10px; }
.pa .msg.err { color: #a12b2b; }

/* 首页：怎么运作 */
.pa-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 22px 0 8px; }
.pa-step { background: #fff8ef; border: 1px solid #ffd9b0; border-radius: 12px; padding: 14px 16px; }
.pa-step b { display: block; font-size: 15px; margin-bottom: 4px; }
.pa-step span { font-size: 14px; color: #55555b; line-height: 1.6; }
.pa-step i { font-style: normal; font-weight: 800; color: #fa8600; margin-right: 6px; }

/* 品类格子 */
.pa-cats { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 18px; }
.pa-cat { border: 1.5px solid #e2e2e6; background: #fff; border-radius: 999px; padding: 8px 16px; font-size: 14px; cursor: pointer; color: #1d1d1f; }
.pa-cat b { color: #fa8600; margin-left: 6px; font-weight: 700; }
.pa-cat.on { border-color: #fa8600; background: #fff3e4; }
.pa-cat .soon { color: #9a9aa0; margin-left: 6px; font-size: 12px; }

/* 批次卡片 */
.pa-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.pa-card { background: #fff; border: 1px solid #e6e6ea; border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.pa-card:hover { border-color: #fa8600; box-shadow: 0 8px 24px rgba(250, 134, 0, .10); }
.pa-card .img { aspect-ratio: 16 / 9; max-width: 100%; background: #f4f1ec center / cover no-repeat; display: flex; align-items: center; justify-content: center; color: #c9b9a5; font-size: 13px; }
.pa-card .body { padding: 14px 16px 16px; display: grid; gap: 8px; }
.pa-card .cat { font-size: 12px; color: #6b6b72; }
.pa-card .spec { font-size: 13.5px; color: #55555b; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pa-card .price { font-size: 15px; }
.pa-card .price b { font-size: 21px; color: #a34f00; font-weight: 800; }
.pa-card .meta { font-size: 13px; color: #6b6b72; display: flex; flex-wrap: wrap; gap: 4px 12px; }
.pa-empty { background: #fff; border: 1px dashed #d6d6dc; border-radius: 14px; padding: 28px; text-align: center; color: #6b6b72; }

/* 进度条 */
.pa-prog { display: grid; gap: 5px; }
.pa-prog .bar { height: 10px; border-radius: 6px; background: #f1ece6; overflow: hidden; }
.pa-prog .bar i { display: block; height: 100%; border-radius: 6px; background: linear-gradient(90deg, #ffb24d, #fa6400); }
.pa-prog .lab { font-size: 13px; color: #55555b; }

/* 批次页 */
.pa-crumb { font-size: 13px; color: #6b6b72; margin-bottom: 6px; }
.pa-crumb a { color: #6b6b72; }
.pa-two { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 22px; align-items: start; margin-top: 18px; }
.pa-box { background: #fff; border: 1px solid #e6e6ea; border-radius: 14px; padding: 18px 20px; display: grid; gap: 12px; min-width: 0; }
.pa-box + .pa-box { margin-top: 16px; }
.pa-order { position: sticky; top: 16px; border: 2px solid #fa8600; }
.pa-base { border-left: 4px solid #2a68ad; padding-left: 12px; }
.pa-base b { color: #2a68ad; }
.pa-ladder { display: grid; gap: 7px; }
.pa-rung { display: grid; grid-template-columns: 120px minmax(0, 1fr) 84px; gap: 10px; align-items: center; font-size: 14px; }
.pa-rung .bar { height: 12px; border-radius: 6px; background: #eef2f8; overflow: hidden; }
.pa-rung .bar i { display: block; height: 100%; background: #2a68ad; }
.pa-rung .p { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
.pa-rung.hit .p { color: #18806f; }
.pa-rung.hit span:first-child::after { content: " ✓"; color: #18806f; }
.pa-dates { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pa-dates div { background: #faf8f5; border-radius: 10px; padding: 10px 12px; }
.pa-dates small { display: block; color: #6b6b72; font-size: 12px; }
.pa-dates b { font-size: 15px; }
.pa-rules { margin: 0; padding-left: 1.15em; display: grid; gap: 5px; font-size: 14px; color: #3d3d42; line-height: 1.6; }
.pa-field { display: grid; gap: 6px; }
.pa-field > label, .pa-field > .lab { font-size: 13px; font-weight: 700; color: #3d3d42; }
.pa-qty { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; }
.pa-qty label { display: grid; gap: 3px; font-size: 13px; color: #55555b; }
.pa input[type=number], .pa input[type=text], .pa textarea { width: 100%; border: 1.5px solid #d6d6dc; border-radius: 9px; padding: 8px 10px; font-size: 15px; font-family: inherit; background: #fff; }
.pa input:focus, .pa textarea:focus { outline: none; border-color: #fa8600; }
.pa-layer { display: grid; gap: 6px; }
.pa-layer label { display: flex; gap: 10px; align-items: flex-start; border: 1.5px solid #e2e2e6; border-radius: 10px; padding: 9px 12px; cursor: pointer; font-size: 14px; }
.pa-layer label.on { border-color: #7350b0; background: #f6f2fc; }
.pa-layer label small { display: block; color: #6b6b72; font-size: 12.5px; }
.pa-calc { background: #faf8f5; border-radius: 10px; padding: 12px 14px; font-size: 14px; display: grid; gap: 4px; }
.pa-calc .row { display: flex; justify-content: space-between; gap: 10px; }
.pa-calc .row span:last-child { font-variant-numeric: tabular-nums; white-space: nowrap; }
.pa-calc .tot { border-top: 1px solid #e6dfd6; padding-top: 6px; margin-top: 4px; font-weight: 700; }
.pa-calc .dep { color: #a34f00; font-weight: 800; font-size: 16px; }
.pa-agree { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; }
.pa-pay { background: #fff8ef; border: 1px solid #ffd3a6; border-radius: 10px; padding: 12px 14px; display: grid; gap: 4px; font-size: 14px; }
.pa-pay .k { color: #6b6b72; display: inline-block; min-width: 140px; margin-right: 6px; }
.pa-pill { display: inline-block; font-size: 12.5px; font-weight: 700; border-radius: 999px; padding: 2px 10px; }
.pa-pill.wait { background: #fff1dc; color: #8a4b00; }
.pa-pill.ok { background: #e3f4ef; color: #13664f; }
.pa-pill.off { background: #f1f1ef; color: #55555b; }
.pa-pill.bad { background: #fbe8e8; color: #a12b2b; }

/* 条款页 */
.pa-terms { max-width: 860px; }
.pa-terms section { margin: 22px 0; }
.pa-terms h2 { font-size: 19px; margin-bottom: 8px; }
.pa-terms ol, .pa-terms ul { padding-left: 1.3em; display: grid; gap: 6px; line-height: 1.7; margin: 0; }
.pa-terms .zh { color: #55555b; font-size: 14px; margin-top: 6px; }

@media (max-width: 860px) {
    .pa-two { grid-template-columns: 1fr; }
    .pa-order { position: static; }
    .pa-steps { grid-template-columns: 1fr; }
    .pa h1 { font-size: 27px; }
}
@media (max-width: 480px) {
    .pa-dates { grid-template-columns: 1fr; }
    .pa-rung { grid-template-columns: 92px minmax(0, 1fr) 70px; font-size: 13px; }
}

/* 2026-10-11 品类页改「下拉框选配」 */
.pa-howline { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; margin: 14px 0 0; font-size: 14px; color: #3d3d42; }
.pa-howline > span { display: inline-flex; gap: 6px; align-items: center; }
.pa-howline i { font-style: normal; font-weight: 800; color: #fa8600; }
.pa-catcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; margin: 24px 0 16px; }
.pa-catcard { display: grid; justify-items: start; gap: 4px; text-align: left; background: #fff; border: 1.5px solid #e2e2e6; border-radius: 14px; padding: 12px 16px; cursor: pointer; color: #6b6b72; font-family: inherit; }
.pa-catcard b { font-size: 16px; color: #1d1d1f; }
.pa-catcard span { font-size: 13px; }
.pa-catcard:hover { border-color: #ffb46b; }
.pa-catcard.on { border: 2px solid #fa8600; background: #fff8ef; color: #c25e00; }
.pa-cfg h2 { margin-bottom: 4px; }
.pa-cfgcols { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 18px; align-items: start; margin-top: 6px; }
.pa-cfgform { display: grid; gap: 10px; min-width: 0; }
.pa-cfgform label, .pa-small-l { display: grid; gap: 4px; font-size: 13px; font-weight: 700; color: #3d3d42; min-width: 0; }
.pa select { width: 100%; border: 1.5px solid #d6d6dc; border-radius: 9px; padding: 8px 10px; font-size: 15px; font-family: inherit; background: #fff; color: #1d1d1f; }
.pa select:focus { outline: none; border-color: #fa8600; }
.pa select:disabled { background: #f4f4f5; color: #9a9aa0; }
.pa-line { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto; gap: 8px; align-items: end; }
.pa-line:not(:has(.pa-x)) { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.pa-x { border: 1.5px solid #e2e2e6; background: #fff; border-radius: 9px; width: 38px; height: 38px; font-size: 18px; cursor: pointer; color: #6b6b72; }
.pa-add { font-size: 13.5px; font-weight: 600; text-decoration: none; }
.pa-pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.pa-note { font-size: 13.5px; color: #55555b; background: #f6f2fc; border-left: 3px solid #7350b0; padding: 8px 12px; border-radius: 0; }
.pa-cfgside { background: #faf8f5; border-radius: 12px; padding: 14px 16px; display: grid; gap: 8px; min-width: 0; }
.pa-cfgside .lab { font-size: 13px; font-weight: 700; color: #3d3d42; }
.pa-choice { font-size: 14px; line-height: 1.7; }
.pa-sep { border-top: 1px solid #e6dfd6; }
.pa-bt { font-size: 15px; }
.pa-more { margin-top: 6px; }
.pa-more summary { cursor: pointer; font-weight: 600; color: #c25e00; font-size: 14px; }
.pa-spec { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: 14px; }
.pa-spec th { text-align: left; vertical-align: top; color: #6b6b72; font-weight: 600; width: 150px; padding: 7px 10px 7px 0; border-bottom: 1px solid #f0eeea; }
.pa-spec td { padding: 7px 0; border-bottom: 1px solid #f0eeea; line-height: 1.6; }
@media (max-width: 860px) { .pa-cfgcols { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .pa-spec th { width: 100px; } }

/* 2026-10-11 团购页改成唯品会特卖样式（无顶部横幅；页签 + 正在拼单(倒计时) + 大卡片 + 即将开团） */
.pa-shop { margin-top: 18px; }
.pa-tabs { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 5; background: #fff; display: flex; gap: 26px; overflow-x: auto; border-bottom: 1px solid #ececef; padding: 10px 4px 0; margin-bottom: 18px; scrollbar-width: none; }
.pa-tabs::-webkit-scrollbar { display: none; }
.pa-tabs button { flex: none; border: 0; background: none; font-family: inherit; font-size: 16px; color: #55555b; padding: 6px 2px 10px; cursor: pointer; border-bottom: 3px solid transparent; }
.pa-tabs button:hover { color: #fa6400; }
.pa-tabs button.on { color: #fa6400; font-weight: 700; border-bottom-color: #fa6400; }
.pa-sec-h { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; margin: 6px 0 12px; }
.pa-sec-h h2 { margin: 0; font-size: 21px; }
.pa-cd { font-size: 13px; color: #55555b; }
.pa-cd b { display: inline-block; background: #1d1d1f; color: #fff; border-radius: 5px; padding: 1px 6px; font-variant-numeric: tabular-nums; font-weight: 600; }
.pa-deals { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; margin-bottom: 30px; }
.pa-deal { display: flex; flex-direction: column; background: #fff; border: 1px solid #ececef; border-radius: 14px; overflow: hidden; text-decoration: none; color: #1d1d1f; transition: box-shadow .15s, transform .15s; }
.pa-deal:hover { box-shadow: 0 10px 26px rgba(0, 0, 0, .08); transform: translateY(-2px); }
.pa-deal .img { position: relative; aspect-ratio: 5 / 4; max-width: 100%; display: flex; align-items: center; justify-content: center; background: #fff1e0 center / cover no-repeat; color: #d9700f; }
.pa-deal .img.ic-bag { background-color: #eaf1fb; color: #2a68ad; }
.pa-deal .img.ic-shirt { background-color: #f1ecfa; color: #7350b0; }
.pa-deal .badge { position: absolute; top: 10px; left: 10px; background: #e5262f; color: #fff; font-size: 13px; font-weight: 700; padding: 3px 9px; border-radius: 6px; }
.pa-deal .ovl { position: absolute; left: 0; right: 0; bottom: 0; background: rgba(20, 20, 22, .78); color: #fff; font-size: 13px; padding: 6px 10px; }
.pa-deal .body { padding: 12px 14px 14px; display: grid; gap: 6px; }
.pa-deal h3 { font-size: 15.5px; line-height: 1.4; margin: 0; }
.pa-deal .spec { font-size: 13px; color: #6b6b72; line-height: 1.5; }
.pa-deal .price { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.pa-deal .price b { font-size: 26px; color: #e5262f; font-weight: 800; font-variant-numeric: tabular-nums; }
.pa-deal .price span { font-size: 13px; color: #6b6b72; }
.pa-deal .bar { height: 7px; border-radius: 4px; background: #fde4e5; overflow: hidden; }
.pa-deal .bar i { display: block; height: 100%; border-radius: 4px; background: #e5262f; }
.pa-deal .hint { font-size: 12.5px; color: #8a2a2f; }
.pa-deal .go { margin-top: 4px; text-align: center; background: linear-gradient(135deg, #ff9a00, #fa6400); color: #fff; font-weight: 700; font-size: 15px; border-radius: 10px; padding: 9px 12px; }
.pa-soon { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; margin-bottom: 26px; }
.pa-soon-item { display: flex; gap: 14px; align-items: center; background: #fff; border: 1.5px dashed #d6d6dc; border-radius: 14px; padding: 12px 14px; }
.pa-soon-item .ic { flex: none; width: 64px; height: 64px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: #f4f4f5; color: #9a9aa0; }
.pa-soon-item .ic svg { width: 38px; height: 38px; }
.pa-soon-item .txt { flex: 1; min-width: 0; display: grid; gap: 2px; }
.pa-soon-item .txt b { font-size: 15px; }
.pa-soon-item .txt span { font-size: 13px; color: #6b6b72; line-height: 1.5; }
.pa-soon-item em { flex: none; font-style: normal; font-size: 13px; color: #9a9aa0; }
.pa-foot { margin-top: 8px; }
@media (max-width: 560px) { .pa-deals { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .pa-deal .price b { font-size: 21px; } .pa-deal .body { padding: 10px; } .pa-tabs { gap: 18px; } .pa-soon { grid-template-columns: 1fr; } }

/* ===== 2026-10-11 欧式设计（参考 Veepee / Packhelp / La Ruche qui dit Oui !）：团购页 + 下单页 =====
   衬线标题用系统字体栈（不加载 Google 字体：中国大陆打不开会拖慢页面） */
.pa-eu { --eu-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", "Songti SC", "STSong", SimSun, serif; --eu-ink: #1d1d1f; --eu-line: #e4e1dc; --eu-soft: #f6f3ee; }
.pa-eu .eu-chips { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 6px 0 26px; }
.pa-eu .eu-chips button { font-family: inherit; font-size: 14px; color: #55555b; background: #fff; border: 1px solid #d9d6d0; border-radius: 999px; padding: 8px 18px; cursor: pointer; }
.pa-eu .eu-chips button:hover { border-color: var(--eu-ink); color: var(--eu-ink); }
.pa-eu .eu-chips button.on { border-color: var(--eu-ink); color: var(--eu-ink); box-shadow: inset 0 0 0 1px var(--eu-ink); }
.pa-eu .eu-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 22px; }
.pa-eu .eu-tile { display: grid; gap: 10px; text-decoration: none; color: var(--eu-ink); }
.pa-eu .eu-tile .ph { position: relative; aspect-ratio: 16 / 10; max-width: 100%; border-radius: 12px; overflow: hidden; background: #f3e6d6 center / cover no-repeat; display: flex; align-items: center; justify-content: center; color: #b06a24; transition: transform .25s; }
.pa-eu .eu-tile .ph.ic-bag { background-color: #e3ebf3; color: #3d6a96; }
.pa-eu .eu-tile .ph.ic-shirt { background-color: #ebe5f2; color: #6d5a93; }
.pa-eu a.eu-tile:hover .ph { transform: scale(1.01); }
.pa-eu .eu-tile .tag { position: absolute; top: 12px; right: 12px; background: rgba(255, 255, 255, .94); color: var(--eu-ink); font-size: 12.5px; border-radius: 6px; padding: 3px 10px; }
.pa-eu .eu-tile .ttl { position: absolute; left: 18px; bottom: 14px; right: 18px; font-family: var(--eu-serif); font-size: 26px; line-height: 1.2; color: inherit; }
.pa-eu .eu-tile .ttl.on-photo { color: #fff; text-shadow: 0 1px 12px rgba(0, 0, 0, .35); }
.pa-eu .eu-tile .cap { font-size: 14px; color: #55555b; padding: 0 2px; }
.pa-eu .eu-tile.soon .ph { filter: grayscale(.85); opacity: .7; }
.pa-eu .eu-tile.soon .cap { color: #8a8a90; }
.pa-eu .eu-foot { text-align: center; font-size: 13px; color: #8a8a90; margin-top: 34px; }
.pa-eu .eu-foot a { color: #55555b; }

/* 下单页 */
.eu-order .eu-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; align-items: start; margin-top: 10px; }
.eu-order .eu-gallery { position: sticky; top: 16px; aspect-ratio: 1; max-width: 100%; border-radius: 14px; background: #f3e6d6 center / cover no-repeat; display: flex; align-items: center; justify-content: center; color: #b06a24; }
.eu-order .eu-gallery.ic-bag { background-color: #e3ebf3; color: #3d6a96; }
.eu-order .eu-gallery.ic-shirt { background-color: #ebe5f2; color: #6d5a93; }
.eu-order .eu-right { display: grid; gap: 14px; min-width: 0; }
.eu-order .eu-h1 { font-family: var(--eu-serif); font-size: 34px; font-weight: 600; line-height: 1.2; margin: 0; }
.eu-order .eu-subline { font-size: 15px; color: #55555b; }
.eu-order .eu-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.eu-order .eu-tags span { font-size: 12.5px; background: var(--eu-soft); border-radius: 6px; padding: 4px 10px; color: #3d3d42; }
.eu-order .eu-intro { color: #3d3d42; line-height: 1.7; }
.eu-order .eu-grp { display: grid; gap: 8px; }
.eu-order .eu-lab { font-size: 13px; font-weight: 700; color: #3d3d42; }
.eu-order .eu-tilerow { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 8px; }
.eu-order .eu-opt { font-family: inherit; text-align: left; background: #fff; border: 1px solid #d9d6d0; border-radius: 10px; padding: 10px 12px; cursor: pointer; display: grid; gap: 2px; color: var(--eu-ink); min-height: 46px; }
.eu-order .eu-opt span { font-size: 14px; line-height: 1.35; }
.eu-order .eu-opt small { font-size: 12.5px; color: #6b6b72; font-variant-numeric: tabular-nums; }
.eu-order .eu-opt:hover { border-color: #8a8a90; }
.eu-order .eu-opt.on { border-color: var(--eu-ink); box-shadow: inset 0 0 0 1px var(--eu-ink); }
.eu-order .eu-opt:focus-visible { outline: 2px solid #fa8600; outline-offset: 2px; }
.eu-order .eu-note { font-size: 13.5px; color: #55555b; background: var(--eu-soft); border-radius: 8px; padding: 9px 12px; margin: 0; line-height: 1.6; }
.eu-order .eu-extra { display: grid; gap: 8px; }
.eu-order .eu-notebox summary { cursor: pointer; font-size: 14px; color: #55555b; }
.eu-order .eu-notebox textarea { margin-top: 8px; }
.eu-order .eu-notebox .pa-calc { margin-top: 8px; }
.eu-order .eu-mine { display: grid; gap: 10px; border: 1px solid var(--eu-line); border-radius: 12px; padding: 16px; }
.eu-order .eu-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.eu-order .eu-below { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 40px; margin-top: 44px; border-top: 1px solid var(--eu-line); padding-top: 30px; }
.eu-order .eu-below section { min-width: 0; display: grid; gap: 12px; align-content: start; }
.eu-order .eu-below h2 { font-family: var(--eu-serif); font-size: 22px; font-weight: 600; margin: 0; }
.eu-order .eu-desc { white-space: pre-line; color: #3d3d42; }
.eu-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; background: rgba(255, 255, 255, .97); border-top: 1px solid var(--eu-line, #e4e1dc); box-shadow: 0 -6px 20px rgba(0, 0, 0, .05); padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); }
.eu-bar .in { max-width: 1160px; margin: 0 auto; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.eu-bar .sum { flex: 1; min-width: 200px; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.eu-bar .sum span { font-size: 14px; color: #55555b; }
.eu-bar .sum b { font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif; font-size: 24px; color: #1d1d1f; font-variant-numeric: tabular-nums; }
.eu-bar .sum em { font-style: normal; font-size: 14px; color: #a34f00; font-weight: 600; }
.eu-bar .agree { display: flex; align-items: center; gap: 6px; font-size: 13.5px; color: #3d3d42; }
.eu-bar .eu-join { font-family: inherit; background: #1d1d1f; color: #fff; border: 0; border-radius: 10px; padding: 12px 26px; font-size: 15px; font-weight: 600; cursor: pointer; }
.eu-bar .eu-join:hover { background: #3a3a3f; }
.eu-bar .eu-join[disabled] { opacity: .5; cursor: wait; }
.eu-bar .msg { font-size: 13px; }
body.has-eu-bar #site-footer { padding-bottom: 92px; }
@media (max-width: 860px) {
    .pa-eu .eu-tiles { grid-template-columns: 1fr; }
    .eu-order .eu-top { grid-template-columns: 1fr; gap: 20px; }
    .eu-order .eu-gallery { position: static; aspect-ratio: 4 / 3; }
    .eu-order .eu-below { grid-template-columns: 1fr; }
    .eu-order .eu-h1 { font-size: 27px; }
    .eu-bar .in { gap: 10px; }
    .eu-bar .eu-join { flex: 1; }
    body.has-eu-bar #site-footer { padding-bottom: 150px; }
}
.eu-order #panel { display: grid; gap: 18px; }
.eu-order .eu-tilerow[data-g="d"] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.eu-order .eu-tilerow[data-g="d"] .eu-opt { text-align: center; min-height: 40px; padding: 8px; }

/* ===== 2026-10-11 团购列表页 Veepee 风格（用户：团购页采用 veepee.fr 的风格） =====
   窄居中栏 · 胶囊品类 · 分区粗标题+一句副题 · 两列横幅大图（约 2.4:1，左侧大字名、右上白胶囊角标）。
   注意 style.css 有全局 * { color: #333 }，所以每个文字元素都显式写颜色。 */
.pa.pa-vp { max-width: 1000px; }
.pa-vp .vp-chips { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 4px 0 8px; }
.pa-vp .vp-chips button { font-family: inherit; font-size: 15px; color: #3d3d42; background: #fff; border: 1px solid #d6d6dc; border-radius: 999px; padding: 9px 22px; cursor: pointer; transition: border-color .15s; }
.pa-vp .vp-chips button:hover { border-color: #1d1d1f; }
.pa-vp .vp-chips button.on { color: #1d1d1f; border: 2px solid #1d1d1f; padding: 8px 21px; }
.pa-vp .vp-sec { margin-top: 30px; }
.pa-vp .vp-h { font-size: 26px; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; color: #1d1d1f; margin: 0; }
.pa-vp .vp-s { font-size: 15px; color: #55555b; margin: 2px 0 14px; }
.pa-vp .vp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pa-vp .vp-tile { display: block; text-decoration: none; }
.pa-vp .vp-tile.soon { cursor: default; }
.pa-vp .vp-ph { position: relative; display: block; aspect-ratio: 2.4 / 1; border-radius: 4px; overflow: hidden; background: #ececec center / cover no-repeat; transition: filter .2s; }
.pa-vp .vp-ph::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .58) 0%, rgba(0, 0, 0, .28) 42%, rgba(0, 0, 0, 0) 72%); }
.pa-vp a.vp-tile[href]:hover .vp-ph { filter: brightness(1.06); }
.pa-vp .vp-badge { position: absolute; top: 10px; right: 10px; z-index: 1; background: #fff; color: #1d1d1f; font-size: 12px; line-height: 1.4; border-radius: 999px; padding: 3px 11px; }
.pa-vp .vp-badge b { color: #fa8600; font-weight: 700; font-size: inherit; }
.pa-vp .vp-txt { position: absolute; left: 24px; top: 50%; transform: translateY(-50%); z-index: 1; max-width: 70%; display: grid; gap: 6px; }
.pa-vp .vp-name { font-size: 26px; font-weight: 800; line-height: 1.12; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; letter-spacing: -.01em; color: #fff; text-shadow: 0 1px 10px rgba(0, 0, 0, .25); }
.pa-vp .vp-sub { font-size: 14px; color: #fff; opacity: .95; }
.pa-vp .vp-foot { text-align: center; font-size: 13px; color: #8a8a90; margin-top: 34px; }
.pa-vp .vp-foot a { color: #55555b; }
@media (max-width: 700px) {
    .pa-vp .vp-grid { grid-template-columns: 1fr; }
    .pa-vp .vp-name { font-size: 24px; }
    .pa-vp .vp-h { font-size: 22px; }
}

/* ===== 2026-10-11 批次下单页 Veepee 风格（用户：下单页也改成 veepee 风格） =====
   顶部细条(品类+倒计时) · 左大图 · 右：品类小字/粗标题/大价格+-X%/进度/方块选项/内嵌购买框(合计+订金+条款+整宽按钮+三条保障) · 下方折叠说明。 */
.vp-order .pa-crumb, .vp-order .pa-crumb a { font-size: 13px; color: #8a8a90; }
.vp-order .vp-strip { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; border-bottom: 1px solid #e6e6ea; padding: 12px 0; margin: 6px 0 22px; }
.vp-order .vp-strip b { font-size: 17px; font-weight: 800; color: #1d1d1f; }
.vp-order .vp-strip span { font-size: 14px; color: #55555b; }
.vp-order .vp-strip em { font-style: normal; font-weight: 700; font-size: inherit; color: #fa8600; }
.vp-order .vp-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.vp-order .vp-photo { position: sticky; top: 16px; aspect-ratio: 1; border-radius: 4px; background: #f0f0f2 center / cover no-repeat; }
.vp-order .vp-right { display: grid; gap: 14px; min-width: 0; }
.vp-order .vp-cat { font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8a8a90; }
.vp-order .vp-title { font-size: 28px; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; color: #1d1d1f; margin: 0; }
.vp-order .vp-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 10px; }
.vp-order .vp-price b { font-size: 34px; font-weight: 800; color: #fa8600; font-variant-numeric: tabular-nums; line-height: 1; }
.vp-order .vp-price span { font-size: 14px; color: #55555b; }
.vp-order .vp-price .vp-off { font-style: normal; font-size: 13px; font-weight: 700; color: #fff; background: #fa8600; border-radius: 3px; padding: 2px 7px; align-self: center; }
.vp-order .vp-price em { font-style: normal; font-size: 14px; color: #3d3d42; }
.vp-order .vp-pnote { font-size: 13px; color: #8a8a90; margin-top: -8px; }
.vp-order .vp-intro { color: #3d3d42; line-height: 1.7; }
.vp-order #panel { border-top: 1px solid #e6e6ea; padding-top: 16px; }
.vp-order .eu-lab { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #1d1d1f; }
.vp-order .eu-opt { border-radius: 3px; border-color: #d6d6dc; }
.vp-order .eu-opt span { color: #1d1d1f; }
.vp-order .eu-opt.on { border-color: #1d1d1f; box-shadow: inset 0 0 0 1px #1d1d1f; }
.vp-order .vp-buy { display: grid; gap: 12px; border-top: 1px solid #e6e6ea; padding-top: 16px; }
.vp-order .vp-sum { display: grid; gap: 4px; }
.vp-order .vp-sum .row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.vp-order .vp-sum .row span { font-size: 14px; color: #55555b; }
.vp-order .vp-sum .row b { font-size: 22px; font-weight: 800; color: #1d1d1f; font-variant-numeric: tabular-nums; }
.vp-order .vp-sum .row.dep b { font-size: 16px; color: #a34f00; }
.vp-order .vp-agree { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #3d3d42; }
.vp-order .vp-agree span { color: #3d3d42; }
.vp-order .vp-join { width: 100%; font-family: inherit; background: #fa8600; color: #fff; border: 0; border-radius: 4px; padding: 15px 20px; font-size: 16px; font-weight: 700; letter-spacing: .02em; cursor: pointer; transition: background .15s; }
.vp-order .vp-join:hover { background: #e67800; }
.vp-order .vp-join[disabled] { opacity: .5; cursor: wait; }
.vp-order .vp-assure { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 8px; }
.vp-order .vp-assure li { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: #3d3d42; }
.vp-order .vp-assure li span { color: #3d3d42; }
.vp-order .vp-assure svg path { stroke: #18806f; }
.vp-order .vp-below { margin-top: 44px; border-top: 1px solid #e6e6ea; }
.vp-order .vp-acc { border-bottom: 1px solid #e6e6ea; }
.vp-order .vp-acc summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 18px 2px; font-size: 17px; font-weight: 800; color: #1d1d1f; }
.vp-order .vp-acc summary::-webkit-details-marker { display: none; }
.vp-order .vp-acc summary::after { content: "+"; font-size: 22px; font-weight: 400; color: #55555b; }
.vp-order .vp-acc[open] summary::after { content: "−"; }
.vp-order .vp-acc-b { padding: 0 2px 22px; display: grid; gap: 12px; }
@media (max-width: 860px) {
    .vp-order .vp-top { grid-template-columns: 1fr; gap: 20px; }
    .vp-order .vp-photo { position: static; aspect-ratio: 4 / 3; }
    .vp-order .vp-title { font-size: 24px; }
    .vp-order .vp-price b { font-size: 30px; }
}

/* ===== 2026-10-11 单独买下单页 orderAlone.html（和团购下单页同一套 .vp-order 样式） ===== */
.vp-order .al-group { display: grid; gap: 2px; text-decoration: none; background: #fff1ec; border: 1px solid #f6c2b5; border-radius: 6px; padding: 10px 14px; }
.vp-order .al-group b { font-size: 15px; font-weight: 800; color: #e02e24; }
.vp-order .al-group span { font-size: 13px; color: #a32a20; }
.vp-order .al-other { display: grid; gap: 2px; border: 1px solid #d6d6dc; border-radius: 3px; padding: 6px 10px; cursor: text; min-height: 46px; }
.vp-order .al-other span { font-size: 13px; color: #6b6b72; }
.vp-order .al-other input { border: 0; outline: none; padding: 0; font-size: 14px; font-family: inherit; width: 100%; background: transparent; color: #1d1d1f; }
.vp-order .al-other.on { border-color: #1d1d1f; box-shadow: inset 0 0 0 1px #1d1d1f; }
.vp-order #panel textarea { width: 100%; border: 1.5px solid #d6d6dc; border-radius: 6px; padding: 9px 10px; font-size: 14px; font-family: inherit; color: #1d1d1f; resize: vertical; }
.vp-order #panel textarea:focus { outline: none; border-color: #1d1d1f; }
.vp-order .pa-crumb span { font-size: 13px; color: #8a8a90; }
