/* === Commercial v2 SDK — 主题变量 === */
.cdv2-root{
  --ink:#101828;--muted:#667085;--line:#eaecf0;--bg:#f5f7fb;--card:#fff;
  --shadow:0 16px 48px rgba(16,24,40,.08);
  --pri:#176b4d;--pri2:#0f5138;--pri-soft:rgba(23,107,77,.08);
  --pri-grad:linear-gradient(135deg,#176b4d,#0f5138);
  --head-bg:linear-gradient(135deg,#09090b,#1a2e1a);
  --head-accent:linear-gradient(135deg,var(--pri),var(--pri2));
  --tag-ready:#dcfce7;--tag-ready-text:#166534;
  --tag-query:#fef3c7;--tag-query-text:#92400e;
}
.cdv2-root[data-theme="tech-blue"]{
  --pri:#165DFF;--pri2:#4F46E5;--pri-soft:rgba(22,93,255,.08);
  --pri-grad:linear-gradient(135deg,#165DFF,#4F46E5);
  --head-bg:linear-gradient(135deg,#0c1120,#1e293b);
}
.cdv2-root[data-theme="vibrant-orange"]{
  --pri:#F97316;--pri2:#EA580C;--pri-soft:rgba(249,115,22,.08);
  --pri-grad:linear-gradient(135deg,#F97316,#EA580C);
  --head-bg:linear-gradient(135deg,#1c0f0a,#2d1810);
}
.cdv2-root[data-theme="luxury-black"]{
  --pri:#D4AF37;--pri2:#B8961A;--pri-soft:rgba(212,175,55,.1);
  --pri-grad:linear-gradient(135deg,#D4AF37,#B8961A);
  --head-bg:linear-gradient(135deg,#0a0a0a,#1a1a1a);
}
.cdv2-root[data-theme="fresh-mint"]{
  --pri:#10B981;--pri2:#059669;--pri-soft:rgba(16,185,129,.08);
  --pri-grad:linear-gradient(135deg,#10B981,#059669);
  --head-bg:linear-gradient(135deg,#0a1a15,#0f2d24);
}

/* === 基础 === */
.cdv2-root,.cdv2-root *{box-sizing:border-box}.cdv2-root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--ink)}
.cdv2-shell{max-width:480px;min-height:720px;margin:0 auto;background:var(--bg);border:1px solid var(--line);border-radius:26px;overflow:hidden;position:relative;padding-bottom:112px}
.cdv2-shell main{position:relative;z-index:1}

/* === Header === */
.cdv2-head{background:var(--head-bg);color:#fff;padding:18px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.cdv2-brand{display:flex;gap:12px;align-items:center}
.cdv2-brand span{width:42px;height:42px;border-radius:15px;background:var(--head-accent);display:grid;place-items:center;font-weight:950;font-size:22px}
.cdv2-brand b{display:block;font-size:18px}
.cdv2-brand small{display:block;opacity:.75;font-size:12px;margin-top:3px}
.cdv2-city{display:flex;align-items:center;gap:4px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.1);color:#fff;border-radius:999px;padding:7px 12px;font-size:12px;white-space:nowrap;cursor:pointer}

/* === Hero === */
.cdv2-hero{margin:12px 14px 10px;padding:13px 15px;border-radius:18px;background:linear-gradient(135deg,#fff,var(--pri-soft));border:1px solid rgba(0,0,0,.04);box-shadow:0 8px 20px rgba(15,23,42,.045)}
.cdv2-hero h1{margin:0;font-size:20px;letter-spacing:-.4px}
.cdv2-hero p,.cdv2-muted{color:var(--muted);font-size:12px;line-height:1.55;margin:5px 0 0}

/* === 搜索框 === */
.cdv2-search{padding:0 14px 9px}
.cdv2-search input{width:100%;padding:10px 14px 10px 38px;border:1px solid var(--line);border-radius:14px;font-size:14px;outline:none;background:#fff;transition:border .2s}
.cdv2-search input:focus{border-color:var(--pri);box-shadow:0 0 0 3px var(--pri-soft)}
.cdv2-search-wrap{position:relative}.cdv2-search-wrap::before{content:"🔍";position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;pointer-events:none}

/* === 横向分类 Tabs === */
.cdv2-catTabs{display:flex;gap:7px;padding:3px 28px 12px 14px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;position:relative}
.cdv2-catTabs::-webkit-scrollbar{display:none}
.cdv2-catTab{padding:7px 13px;border-radius:999px;font-size:12px;font-weight:700;color:var(--muted);background:var(--card);border:1px solid var(--line);cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0;display:flex;align-items:center;gap:4px}
.cdv2-catTab.on,.cdv2-catTab:hover{background:var(--pri);color:#fff;border-color:var(--pri)}
.cdv2-catTab i{font-style:normal;font-size:16px}

.cdv2-catTabs::after{content:'';position:sticky;right:-28px;top:0;width:28px;align-self:stretch;flex:0 0 28px;margin-left:-28px;background:linear-gradient(90deg,rgba(245,247,251,0),var(--bg));pointer-events:none}

/* === 2列产品卡片网格 === */
.cdv2-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 14px 18px}
.cdv2-grid::after{content:'已经到底了';grid-column:1/-1;text-align:center;color:var(--muted);font-size:12px;padding:4px 0 8px}
.cdv2-card{border:1px solid var(--line);background:var(--card);border-radius:17px;padding:13px 10px 12px;text-align:center;cursor:pointer;transition:all .2s;position:relative;overflow:hidden;min-height:132px}
.cdv2-card:hover{border-color:var(--pri);box-shadow:0 8px 24px rgba(0,0,0,.06);transform:translateY(-1px)}
.cdv2-card i{font-style:normal;font-size:32px;display:block;margin-bottom:6px}
.cdv2-card img{width:50px;height:50px;object-fit:contain;display:block;margin:0 auto 7px;border-radius:15px}
.cdv2-card b{display:block;font-size:14px;font-weight:700;margin-bottom:2px;color:var(--ink)}
.cdv2-card span{font-size:12px;padding:7px 12px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;min-height:30px;box-sizing:border-box;margin-top:6px;min-width:82px;font-weight:800}
.cdv2-card .tag-ready{background:var(--tag-ready);color:var(--tag-ready-text)}
.cdv2-card .tag-query{background:var(--tag-query);color:var(--tag-query-text)}
.cdv2-card .tag-block{background:#f1f5f9;color:#64748b}
.cdv2-card.ready .cdv2-card-bar{background:var(--pri-grad)}.cdv2-card-bar{position:absolute;top:0;left:0;right:0;height:3px;background:var(--line);border-radius:0}

/* === 列表模式 === */
.cdv2-list{display:flex;flex-direction:column;gap:8px;padding:0 14px 20px}
.cdv2-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:all .2s;text-align:left;width:100%}
.cdv2-row:hover{border-color:var(--pri);box-shadow:0 4px 12px rgba(0,0,0,.04)}
.cdv2-row b{font-weight:700;font-size:14px;flex:1}
.cdv2-row span{color:var(--muted);font-size:12px;display:block;margin-top:2px}
.cdv2-row em{font-style:normal;font-weight:700;font-size:15px;color:var(--pri)}
.cdv2-row img{width:44px;height:44px;object-fit:contain;border-radius:12px;flex-shrink:0}

/* === Section === */
.cdv2-section{margin:14px;padding:14px;border:1px solid var(--line);background:var(--card);border-radius:20px;box-shadow:var(--shadow)}
.cdv2-section h2{margin:0 0 8px;font-size:21px}
.cdv2-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.cdv2-title b{font-size:16px}.cdv2-title span{font-size:12px;color:var(--muted)}

/* === 订单 Tabs === */

/* === 弹窗 / Modal === */
.cdv2-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:rgba(15,23,42,.6);backdrop-filter:blur(1px);
  --ink:#101828;--muted:#667085;--line:#eaecf0;--bg:#f5f7fb;--card:#fff;
  --pri:#176b4d;--pri2:#0f5138;--pri-soft:rgba(23,107,77,.08);
  --pri-grad:linear-gradient(135deg,#176b4d,#0f5138);
}z-index:99999;display:flex;align-items:flex-end;justify-content:center;animation:cdv2FadeIn .15s ease-out}
.cdv2-modal{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:480px;max-height:80vh;overflow-y:auto;animation:cdv2SlideUp .25s ease-out;box-shadow:0 -8px 40px rgba(0,0,0,.15)}
.cdv2-modal-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--card);z-index:1;border-radius:20px 20px 0 0}
.cdv2-modal-title{font-size:16px;font-weight:800}
.cdv2-modal-close{width:28px;height:28px;border-radius:50%;border:none;background:#f1f5f9;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;color:var(--muted)}
.cdv2-modal-body{padding:20px;background:var(--card)}
.cdv2-modal-footer{padding:16px 20px;border-top:1px solid var(--line);display:flex;gap:10px;position:sticky;bottom:0;background:var(--card);border-radius:0 0 20px 20px}

/* === 城市选择器 === */
.cdv2-city-hot{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.cdv2-city-hot button{padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap}
.cdv2-city-hot button:hover,.cdv2-city-hot button.on{border-color:var(--pri);background:var(--pri);color:#fff;font-weight:700}

/* === 通用组件 === */
.cdv2-back{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:8px 14px;font-size:13px;cursor:pointer;margin-bottom:10px;color:var(--ink);font-weight:600}
.cdv2-primary{display:block;width:100%;padding:14px;border:none;border-radius:14px;background:var(--pri-grad);color:#fff;font-weight:800;font-size:15px;cursor:pointer;transition:opacity .2s,transform .15s;margin-top:10px}
.cdv2-primary:active{transform:scale(.98)}.cdv2-primary:hover{opacity:.92}
.cdv2-primary:disabled{opacity:.45;cursor:not-allowed;transform:none}
.cdv2-secondary{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);font-weight:700;font-size:14px;cursor:pointer;margin-top:8px;text-align:center}
.cdv2-empty{text-align:center;padding:36px 16px;color:var(--muted);font-size:14px;line-height:1.7}
.cdv2-empty b{display:block;color:var(--ink);font-weight:800;margin-bottom:4px}
.cdv2-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 16px}.cdv2-loading div{width:36px;height:36px;border:3px solid var(--line);border-top-color:var(--pri);border-radius:50%;animation:cdv2Spin .6s linear infinite}.cdv2-loading p{color:var(--muted);font-size:13px;margin-top:14px}
.cdv2-error{text-align:center;padding:56px 16px;color:#dc2626}.cdv2-error b{display:block;font-size:16px;margin-bottom:6px}
.cdv2-toast{position:fixed;top:24px;left:50%;transform:translateX(-50%);background:#1e293b;color:#fff;padding:10px 20px;border-radius:999px;font-size:13px;font-weight:700;z-index:999999;animation:cdv2FadeIn .2s;box-shadow:0 8px 28px rgba(0,0,0,.2)}
.cdv2-solution{border:1px dashed var(--line);border-radius:14px;padding:14px;background:var(--bg);color:var(--muted);font-size:13px;line-height:1.7}
.cdv2-solution b{display:block;color:var(--ink);font-weight:700;margin-bottom:6px}
.cdv2-solution ul{margin:6px 0 0;padding-left:18px}

/* === 保留原有组件 === */
.cdv2-confirm>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.cdv2-confirm>div:last-child{border-bottom:none}
.cdv2-confirm span{color:var(--muted)}.cdv2-confirm b{font-weight:700}.cdv2-confirm b.price{color:var(--pri);font-size:18px}
.cdv2-paylink{display:block;text-align:center;padding:14px;margin:10px 0;border-radius:14px;background:var(--pri-grad);color:#fff;font-weight:800;font-size:15px;text-decoration:none;transition:opacity .2s}
.cdv2-field{display:block;margin:12px 0}.cdv2-field input, [data-mv-city-filter], [data-mv-cinema-filter]{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:14px;outline:none;transition:border .2s;background:#fff}.cdv2-field input:focus, [data-mv-city-filter]:focus, [data-mv-cinema-filter]:focus{border-color:var(--pri);box-shadow:0 0 0 3px var(--pri-soft)}
.cdv2-skus{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.cdv2-skus button{padding:8px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card);font-weight:700;font-size:14px;cursor:pointer;transition:all .15s}.cdv2-skus button.on{border-color:var(--pri);background:var(--pri-soft);color:var(--pri)}
.cdv2-hint{margin:-6px 0 12px;color:#64748b;font-size:12px;line-height:1.6}
.cdv2-note{margin-top:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px;color:#334155;font-size:13px;line-height:1.7}
.cdv2-note b{display:block;color:#0f172a;margin-bottom:4px}.cdv2-note p{margin:0;color:#475569}
.cdv2-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.cdv2-tabs button{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:10px 12px;font-weight:800;color:var(--muted);cursor:pointer}
.cdv2-tabs button.on{background:var(--pri);color:#fff;border-color:var(--pri)}
.cdv2-delivery{margin-top:14px;border:1px dashed var(--pri);background:var(--pri-soft);border-radius:16px;padding:14px;color:var(--ink);line-height:1.7}
.cdv2-delivery>b{display:block;font-size:15px;margin-bottom:8px;color:var(--pri)}
.cdv2-delivery-code{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center;font-size:18px;font-weight:900;letter-spacing:.08em;color:var(--ink);margin-bottom:8px}
.cdv2-delivery p{margin:0}.cdv2-delivery small{display:block;margin-top:6px;color:var(--muted)}
.cdv2-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.cdv2-timeline span{position:relative;text-align:center;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:12px;font-weight:800;padding:8px}.cdv2-timeline.processing span:nth-child(-n+2),.cdv2-timeline.done span{background:#dcfce7;color:#166534}.cdv2-timeline.done span:last-child{background:#16a34a;color:#fff}
.cdv2-appt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cdv2-field select,.cdv2-field input[type=date]{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 10px;font-size:14px;background:#fff;box-sizing:border-box}
.cdv2-mode{margin-top:10px;background:#fff7ed;color:#9a3412;border-radius:14px;padding:10px 12px;font-size:12px;line-height:1.6}
.cdv2-tab{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;position:absolute;left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));z-index:30;padding:7px;background:rgba(255,255,255,.9);border:1px solid rgba(226,232,240,.82);border-radius:20px;box-shadow:0 12px 30px rgba(15,23,42,.12),0 2px 8px rgba(15,23,42,.06);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.cdv2-tab::before{content:'';position:absolute;inset:0;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.86));pointer-events:none}.cdv2-nav-btn{min-height:52px;padding:7px 8px 6px;border:none;background:transparent;font-size:10px;font-weight:800;color:var(--muted);cursor:pointer;transition:all .18s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;position:relative;border-radius:14px;z-index:1}.cdv2-nav-btn i{font-style:normal;font-size:21px;line-height:1;transition:transform .18s}.cdv2-nav-btn span{font-size:11px;letter-spacing:.02em}.cdv2-nav-btn.on{color:var(--pri);background:linear-gradient(180deg,rgba(23,107,77,.075),rgba(23,107,77,.045));box-shadow:none}.cdv2-nav-btn.on i{transform:translateY(-1px) scale(1.06)}.cdv2-nav-btn::before{content:'';position:absolute;top:5px;left:50%;transform:translateX(-50%);width:0;height:3px;border-radius:999px;background:var(--pri);transition:width .18s}.cdv2-nav-btn.on::before{width:22px}.cdv2-tab button i{font-style:normal;font-size:18px}.cdv2-orderEmpty{padding:34px 18px 38px;text-align:center;color:var(--muted)}.cdv2-orderEmptyIcon{width:72px;height:72px;margin:2px auto 14px;border-radius:24px;background:linear-gradient(135deg,var(--pri-soft),rgba(23,107,77,.16));display:grid;place-items:center;font-size:34px;color:var(--pri);box-shadow:inset 0 0 0 1px rgba(23,107,77,.08)}.cdv2-orderEmpty b{display:block;color:var(--ink);font-size:17px;font-weight:900;margin-bottom:6px}.cdv2-orderEmpty p{margin:0 auto 18px;max-width:260px;font-size:13px;line-height:1.7}.cdv2-orderEmpty .cdv2-primary{display:inline-flex;align-items:center;justify-content:center;min-width:132px;text-decoration:none}.cdv2-orderTabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:16px;border-bottom:none;padding-bottom:0}.cdv2-orderTab{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 6px;font-size:12px;color:var(--muted);cursor:pointer;transition:all .15s;font-weight:800;white-space:nowrap}.cdv2-orderTab.on{color:var(--pri);border-color:rgba(23,107,77,.22);background:var(--pri-soft);box-shadow:0 4px 12px rgba(23,107,77,.08)}.cdv2-orderTab em{font-style:normal;background:rgba(15,23,42,.06);color:var(--muted);border-radius:999px;padding:1px 6px;font-size:10px;margin-left:2px}.cdv2-orderTab.on em{background:#fff;color:var(--pri)}@media(max-width:420px){.cdv2-shell{border-radius:0;border-left:none;border-right:none;padding-bottom:116px}.cdv2-tab{left:12px;right:12px}.cdv2-appt-grid{grid-template-columns:1fr}.cdv2-orderTab{font-size:11px;padding:8px 4px}}

/* === 动画 === */
@keyframes cdv2FadeIn{from{opacity:0}to{opacity:1}}
@keyframes cdv2SlideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes cdv2Spin{to{transform:rotate(360deg)}}

/* === 电影票流程（Modal内） === */
.cdv2-modal-wide{max-width:520px;max-height:85vh}
.cdv2-mv-steps{display:flex;gap:6px;align-items:center;overflow-x:auto;padding-bottom:4px;margin-bottom:12px}
.cdv2-mv-steps span{white-space:nowrap;font-size:12px;padding:6px 12px;border-radius:999px;background:var(--card);color:var(--muted);border:1px solid var(--line);min-width:44px;text-align:center;font-weight:600}
.cdv2-mv-steps span.on{background:var(--pri);color:#fff;font-weight:800;border-color:var(--pri);box-shadow:0 4px 12px rgba(0,0,0,.15);padding:7px 14px;font-size:12px}
.cdv2-mv-hot-title{font-size:12px;font-weight:700;color:var(--muted);margin:10px 0 6px;text-transform:uppercase;letter-spacing:.5px}
.cdv2-mv-hot{display:flex;flex-wrap:wrap;gap:6px}
.cdv2-chip{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap;font-weight:600;color:var(--ink)}
.cdv2-chip:hover,.cdv2-chip.active{border-color:var(--pri);background:var(--pri-grad);color:#fff;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.cdv2-mv-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:280px;overflow:auto}
.cdv2-mv-movies{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow:auto}
.cdv2-mv-movie{display:flex;gap:12px;padding:10px;border-radius:12px;border:1px solid var(--line);cursor:pointer;transition:all .15s;align-items:center}
.cdv2-mv-movie:hover{border-color:var(--pri);box-shadow:0 4px 12px rgba(0,0,0,.04)}
.cdv2-mv-movie img{width:64px;height:90px;object-fit:cover;border-radius:8px;flex-shrink:0}
.cdv2-mv-no-poster{width:64px;height:90px;border-radius:8px;background:var(--pri-soft);display:flex;align-items:center;justify-content:center;font-size:30px;flex-shrink:0}
.cdv2-mv-movie b{display:block;font-size:15px;font-weight:700;color:var(--ink)}
.cdv2-mv-movie span{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.cdv2-mv-movie em{display:inline-block;font-size:12px;color:var(--pri);font-weight:700;margin-top:4px}
.cdv2-mv-toolbar{display:flex;gap:6px;margin:8px 0}
.cdv2-mv-cinema-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow:auto}
.cdv2-mv-cinema{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--line);cursor:pointer;transition:all .15s;gap:10px}
.cdv2-mv-cinema:hover,.cdv2-mv-session:hover{border-color:var(--pri);box-shadow:0 4px 12px rgba(0,0,0,.06)}
.cdv2-mv-cinema-left{flex:1;min-width:0}
.cdv2-mv-cinema-left b{display:block;font-size:14px;font-weight:700;color:var(--ink)}
.cdv2-mv-cinema-left span{display:block;font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cdv2-mv-cinema-left small{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.cdv2-mv-cinema-right{text-align:right;flex-shrink:0}
.cdv2-mv-cinema-right em{display:block;font-size:18px;font-weight:800;color:var(--pri);font-style:normal}
.cdv2-mv-cinema-right em i{font-style:normal;font-size:12px;font-weight:400;color:var(--muted)}
.cdv2-mv-cinema-right small{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.cdv2-mv-sessions{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow:auto}
.cdv2-mv-session{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:12px;border:1px solid var(--line);cursor:pointer;transition:all .15s}
.cdv2-mv-session:hover{border-color:var(--pri);box-shadow:0 4px 12px rgba(0,0,0,.04)}
.cdv2-mv-session b{display:block;font-size:15px;font-weight:700;color:var(--ink)}
.cdv2-mv-session span{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.cdv2-mv-session em{font-size:20px;font-weight:800;color:var(--pri);font-style:normal}
.cdv2-sc-search{display:flex;gap:8px;align-items:center;margin:12px 0}
.cdv2-sc-search .cdv2-input{flex:1;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px;outline:none;background:var(--bg);color:var(--ink);transition:border .15s}
.cdv2-sc-search .cdv2-input:focus{border-color:var(--pri)}
.cdv2-sc-search .cdv2-btn-sm{padding:8px 14px;font-size:13px;border-radius:10px;flex-shrink:0}


/* === 2026-05-25 丝滑移动端体验覆盖：轻浮层底栏、统一图标、按压反馈、紧凑首屏 === */
.cdv2-shell{padding-bottom:104px;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
.cdv2-shell main{padding-bottom:8px}
.cdv2-head{padding:14px 16px 12px;align-items:center}
.cdv2-brand span{width:38px;height:38px;border-radius:14px;font-size:20px}
.cdv2-brand b{font-size:17px}.cdv2-city{padding:8px 12px;min-height:34px}
.cdv2-hero{margin:10px 14px 8px;padding:11px 13px;border-radius:17px;box-shadow:0 6px 18px rgba(15,23,42,.04)}
.cdv2-hero h1{font-size:18px}.cdv2-hero p,.cdv2-muted{font-size:12px;line-height:1.45}
.cdv2-search{padding:0 14px 8px}.cdv2-search input{height:42px;box-sizing:border-box;border-radius:15px}
.cdv2-catTabs{gap:6px;padding:2px 34px 10px 14px;scroll-snap-type:x proximity;mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 34px),transparent)}
.cdv2-catTabs::after{right:-34px;width:34px;flex-basis:34px;margin-left:-34px;background:linear-gradient(90deg,rgba(245,247,251,0),var(--bg) 78%)}
.cdv2-catTab{scroll-snap-align:start;min-height:34px;padding:7px 12px;box-shadow:0 2px 8px rgba(15,23,42,.025)}
.cdv2-catTab.on{background:linear-gradient(135deg,var(--pri),var(--pri2));box-shadow:0 6px 14px rgba(23,107,77,.16)}
.cdv2-grid{gap:9px;padding:0 14px 10px}.cdv2-grid::after{padding:8px 0 2px;color:#98a2b3;content:'— 已经到底了 —'}
.cdv2-card{min-height:126px;padding:12px 9px 11px;border-radius:18px;box-shadow:0 6px 18px rgba(15,23,42,.035);transform:translateZ(0);touch-action:manipulation}
.cdv2-card:hover{box-shadow:0 10px 24px rgba(15,23,42,.07)}
.cdv2-card:active{transform:scale(.985);box-shadow:0 4px 12px rgba(15,23,42,.05);background:#fbfdfc}
.cdv2-card.ready{border-color:rgba(23,107,77,.14)}.cdv2-card.query_only{opacity:.96}.cdv2-card.blocked{opacity:.82}
.cdv2-card-bar{display:none!important}
.cdv2-imgWrap{width:50px;height:50px;border-radius:18px;margin:0 auto 7px;display:grid;place-items:center;background:linear-gradient(135deg,#f8fafc,#eef7f2);box-shadow:inset 0 0 0 1px rgba(23,107,77,.06);position:relative;overflow:hidden}
.cdv2-imgWrap img{width:34px!important;height:34px!important;margin:0!important;border-radius:0!important;object-fit:contain}.cdv2-imgWrap em{display:none;font-style:normal;font-size:20px;font-weight:900;color:var(--pri)}.cdv2-imgWrap.is-fallback img{display:none}.cdv2-imgWrap.is-fallback em{display:block}
.cdv2-card b{font-size:14px;line-height:1.25;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdv2-card small{display:block;color:#98a2b3;font-size:10px;line-height:1.3;margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cdv2-card span{min-height:32px;min-width:88px;padding:7px 12px;font-size:12px;box-shadow:0 3px 9px rgba(15,23,42,.035)}
.cdv2-card .tag-ready{background:linear-gradient(135deg,rgba(23,107,77,.12),rgba(23,107,77,.06));color:var(--pri)}
.cdv2-card.ready .tag-ready::after{content:' ›';font-size:15px;line-height:0}.cdv2-card .tag-query{background:#fff7ed;color:#9a3412}.cdv2-card .tag-block{background:#f2f4f7;color:#667085}
.cdv2-tab{left:16px;right:16px;bottom:max(12px,env(safe-area-inset-bottom));padding:6px;border-radius:22px;gap:6px;background:rgba(255,255,255,.84);border-color:rgba(226,232,240,.78);box-shadow:0 10px 26px rgba(15,23,42,.11),0 2px 7px rgba(15,23,42,.05);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.cdv2-tab::before{border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,.55))}.cdv2-nav-btn{min-height:48px;border-radius:16px;gap:2px}.cdv2-nav-btn i{font-size:20px}.cdv2-tab button i{font-size:20px}.cdv2-nav-btn span{font-size:11px}.cdv2-nav-btn.on{background:rgba(23,107,77,.07)}.cdv2-nav-btn.on::before{width:24px;height:2px;top:6px}.cdv2-nav-btn:active{transform:scale(.97);background:rgba(23,107,77,.08)}
.cdv2-primary,.cdv2-secondary,.cdv2-orderTab,.cdv2-catTab{touch-action:manipulation}.cdv2-primary:active,.cdv2-secondary:active,.cdv2-orderTab:active,.cdv2-catTab:active{transform:scale(.97)}
@media(max-width:420px){.cdv2-shell{padding-bottom:104px}.cdv2-tab{left:12px;right:12px}.cdv2-card{min-height:122px}.cdv2-grid{gap:8px}.cdv2-head{padding-top:13px}}


/* === 2026-05-25 弹窗体验重构：居中卡片、内滚动、固定头尾、移动端底部抽屉 === */
.cdv2-overlay{z-index:99999!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px;background:rgba(15,23,42,.48)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-sizing:border-box}
.cdv2-modal{width:min(520px,100%)!important;max-width:520px!important;max-height:min(86vh,760px)!important;border-radius:26px!important;overflow:hidden!important;background:var(--card)!important;box-shadow:0 28px 80px rgba(15,23,42,.28),0 8px 22px rgba(15,23,42,.12)!important;display:flex;flex-direction:column;animation:cdv2ModalPop .18s ease-out!important}
.cdv2-modal-wide{max-width:560px!important;width:min(560px,100%)!important;max-height:min(88vh,780px)!important}
.cdv2-modal-head{flex:0 0 auto;padding:15px 16px!important;border-bottom:1px solid rgba(234,236,240,.86)!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:26px 26px 0 0!important;position:relative!important;top:auto!important;z-index:3!important}
.cdv2-modal-title{font-size:16px!important;font-weight:900!important;color:var(--ink);line-height:1.25;max-width:calc(100% - 42px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cdv2-modal-close{width:34px!important;height:34px!important;background:var(--bg)!important;color:var(--muted)!important;font-size:15px!important;transition:all .15s}.cdv2-modal-close:active{transform:scale(.92);background:var(--line)!important}
.cdv2-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto!important;-webkit-overflow-scrolling:touch;padding:14px 16px 18px!important;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)!important;overscroll-behavior:contain}
.cdv2-modal-footer{flex:0 0 auto;position:relative!important;bottom:auto!important;padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.96)!important;border-top:1px solid rgba(234,236,240,.92)!important;border-radius:0 0 26px 26px!important;box-shadow:0 -10px 28px rgba(15,23,42,.05);display:grid!important;grid-template-columns:1fr 1.45fr;gap:10px!important;z-index:4}.cdv2-modal-footer .cdv2-primary,.cdv2-modal-footer .cdv2-secondary{width:100%;min-height:44px;border-radius:15px;font-weight:900}.cdv2-modal-footer .cdv2-primary:disabled{opacity:.48;filter:grayscale(.1)}
.cdv2-mv-steps{position:sticky;top:0;z-index:2;margin:-2px -2px 12px;padding:4px 2px 9px;background:linear-gradient(180deg,#fff 72%,rgba(255,255,255,0));gap:5px;scrollbar-width:none}.cdv2-mv-steps::-webkit-scrollbar{display:none}.cdv2-mv-steps span{font-size:11px!important;padding:7px 10px!important;border-radius:999px!important;background:var(--bg)!important;color:var(--muted)!important;box-shadow:none!important;border-color:transparent!important;min-width:auto!important}.cdv2-mv-steps span.on{background:linear-gradient(135deg,var(--pri),var(--pri2))!important;color:#fff!important;box-shadow:0 6px 14px rgba(23,107,77,.18)!important}.cdv2-mv-steps.compact span{font-size:11px!important}
.cdv2-mv-hot-title{margin:12px 0 8px!important;color:#98a2b3!important}.cdv2-chip{min-height:34px;border-radius:14px!important;background:#fff!important;box-shadow:0 2px 8px rgba(15,23,42,.025)}.cdv2-chip:active,.cdv2-row:active{transform:scale(.985)}.cdv2-mv-chips{max-height:300px!important;padding-bottom:4px}.cdv2-mv-movies,.cdv2-mv-cinema-list{max-height:430px!important;overflow:auto!important;-webkit-overflow-scrolling:touch;padding-right:2px}
.cdv2-row{border-radius:16px!important;padding:13px 14px!important;box-shadow:0 3px 12px rgba(15,23,42,.028);background:#fff!important}.cdv2-row b{font-weight:850}.cdv2-row em{border-radius:999px;background:var(--pri-soft);padding:4px 9px;font-size:12px;white-space:nowrap}.cdv2-field input,.cdv2-field select,.cdv2-input{border-radius:14px!important;min-height:42px;box-sizing:border-box}.cdv2-field input:focus,.cdv2-field select:focus,.cdv2-input:focus{outline:none;border-color:var(--pri)!important;box-shadow:0 0 0 3px var(--pri-soft)}
.cdv2-flowHero{border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#fff,var(--pri-soft));padding:14px 15px;margin-bottom:12px}.cdv2-flowHero b{font-size:17px;color:var(--ink)}.cdv2-flowHero p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.modal-skus{margin:6px 0 12px}.modal-skus button{min-height:48px;border-radius:16px!important}.modal-skus button.on{background:var(--pri-grad)!important;color:#fff!important;border-color:var(--pri)!important;box-shadow:0 8px 18px rgba(23,107,77,.18)}
@keyframes cdv2ModalPop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:560px){.cdv2-overlay{align-items:flex-end!important;padding:0!important}.cdv2-modal,.cdv2-modal-wide{width:100%!important;max-width:100%!important;max-height:88vh!important;border-radius:24px 24px 0 0!important;animation:cdv2SlideUp .22s ease-out!important}.cdv2-modal-head{border-radius:24px 24px 0 0!important;padding:14px 16px!important}.cdv2-modal-body{padding:13px 14px 16px!important}.cdv2-modal-footer{border-radius:0!important}.cdv2-mv-steps span{padding:7px 9px!important}.cdv2-mv-movies,.cdv2-mv-cinema-list{max-height:48vh!important}}


/* === 2026-05-25 弹窗遮罩与滚动二次修正 === */
.cdv2-overlay{min-height:100vh!important;height:100dvh!important;inset:0!important;background:rgba(15,23,42,.56)!important}
.cdv2-modal-body{padding-bottom:28px!important}.cdv2-modal-body::after{content:'';display:block;height:10px;flex:0 0 auto}
@media(min-width:561px){.cdv2-modal{transform:translateY(-6px)}}
@media(max-width:560px){.cdv2-overlay{height:100dvh!important;min-height:100vh!important}.cdv2-modal-body{padding-bottom:32px!important}.cdv2-modal,.cdv2-modal-wide{max-height:90dvh!important}}


/* === 2026-05-25 继续优化：底部导航真浮层 + 首屏更轻 + 触控更丝滑 === */
.cdv2-shell{
  min-height:100dvh;
  padding-bottom:124px!important;
  overflow-y:auto;
  overscroll-behavior:contain;
  background:linear-gradient(180deg,#f8fafc 0%,#f4f7fb 100%);
}
.cdv2-shell main{padding-bottom:22px!important}
.cdv2-head{box-shadow:0 10px 28px rgba(15,23,42,.10)}
.cdv2-hero{border-color:rgba(23,107,77,.06);box-shadow:none;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(23,107,77,.055))}
.cdv2-hero p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cdv2-search{padding-bottom:10px!important}.cdv2-search input{box-shadow:0 4px 14px rgba(15,23,42,.035);border-color:rgba(234,236,240,.9)}
.cdv2-catTabs{padding-bottom:13px!important}.cdv2-catTab{border-color:rgba(234,236,240,.9);background:rgba(255,255,255,.9)}
.cdv2-grid{padding-bottom:24px!important}.cdv2-grid::after{padding:18px 0 20px!important;letter-spacing:.04em}
.cdv2-card{border-color:rgba(234,236,240,.88);box-shadow:0 8px 22px rgba(15,23,42,.045);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.cdv2-card.ready:hover,.cdv2-card.ready:active{border-color:rgba(23,107,77,.22)}
.cdv2-card .tag-query{background:#fff6e9;color:#a04b0a}.cdv2-card .tag-block{background:#f4f6f8;color:#667085}
.cdv2-tab{
  position:sticky!important;
  left:auto!important;
  right:auto!important;
  width:calc(100% - 28px)!important;
  margin:0 14px!important;
  bottom:max(14px,env(safe-area-inset-bottom))!important;
  transform:translateZ(0);
  padding:7px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 18px 44px rgba(15,23,42,.18),0 4px 14px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.85)!important;
  backdrop-filter:blur(22px) saturate(1.18)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.18)!important;
}
.cdv2-tab::before{border-radius:24px!important;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.38))!important}
.cdv2-nav-btn{min-height:50px!important;border-radius:18px!important}.cdv2-nav-btn.on{background:rgba(23,107,77,.09)!important;box-shadow:inset 0 0 0 1px rgba(23,107,77,.05)}
.cdv2-nav-btn.on::before{top:6px!important;width:26px!important}.cdv2-nav-btn i{font-size:21px!important}.cdv2-nav-btn span{font-weight:900!important}
.cdv2-section{box-shadow:0 12px 36px rgba(15,23,42,.075);border-color:rgba(234,236,240,.9)}
.cdv2-confirm>div{gap:14px}.cdv2-confirm b{text-align:right;word-break:break-word}
.cdv2-paylink,.cdv2-primary{box-shadow:0 8px 18px rgba(23,107,77,.16)}
.cdv2-row:active{transform:scale(.985)}
@media(max-width:420px){
  .cdv2-shell{padding-bottom:126px!important}
  .cdv2-tab{width:calc(100% - 24px)!important;margin:0 12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important}
  .cdv2-hero{margin-top:8px}.cdv2-grid::after{padding-bottom:22px!important}
}


/* === 2026-05-25 团油加油用户端体验优化：站点卡片 / 品牌筛选 / 油品金额 === */
.cdv2-gas-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border:1px solid rgba(15,23,42,.06);border-radius:22px;background:linear-gradient(135deg,rgba(255,247,237,.95),rgba(255,255,255,.96));box-shadow:0 12px 32px rgba(251,146,60,.12);margin-bottom:12px}
.cdv2-gas-head b{display:block;font-size:18px;color:var(--ink);letter-spacing:-.3px}.cdv2-gas-head p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.cdv2-gas-head span{white-space:nowrap;padding:7px 9px;border-radius:999px;background:#fff7ed;color:#c2410c;font-size:12px;font-weight:800}
.cdv2-gas-search{display:grid;grid-template-columns:1fr 1.25fr auto;gap:8px;margin:12px 0}.cdv2-gas-search .cdv2-input{height:42px;border-radius:15px;background:#f8fafc}.cdv2-gas-filter{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin:0 -2px;scrollbar-width:none}.cdv2-gas-filter::-webkit-scrollbar{display:none}.cdv2-gas-filter button{border:1px solid var(--line);background:rgba(255,255,255,.88);border-radius:999px;padding:8px 12px;color:var(--muted);font-weight:800;white-space:nowrap;box-shadow:0 6px 18px rgba(15,23,42,.04)}.cdv2-gas-filter button.on{background:var(--pri);border-color:var(--pri);color:#fff;box-shadow:0 10px 24px rgba(37,99,235,.22)}
.cdv2-gas-list{display:grid;gap:10px;max-height:min(54vh,520px);overflow:auto;padding:2px 2px 8px;overscroll-behavior:contain}.cdv2-gas-card{width:100%;text-align:left;border:1px solid rgba(226,232,240,.9);background:linear-gradient(180deg,#fff,rgba(248,250,252,.92));border-radius:20px;padding:13px 14px;box-shadow:0 10px 26px rgba(15,23,42,.06);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.cdv2-gas-card:active{transform:scale(.985);box-shadow:0 6px 16px rgba(15,23,42,.08)}.cdv2-gas-card-top,.cdv2-gas-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.cdv2-gas-card .brand{font-size:11px;font-weight:900;color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:4px 8px}.cdv2-gas-card em{font-style:normal;color:#64748b;font-size:12px;font-weight:800}.cdv2-gas-card b{display:block;color:#0f172a;font-size:15px;margin-top:8px;line-height:1.35}.cdv2-gas-card p{margin:4px 0 9px;color:#64748b;font-size:12px;line-height:1.35}.cdv2-gas-tags{display:flex;gap:6px;flex-wrap:wrap}.cdv2-gas-tags i{font-style:normal;font-size:11px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:4px 7px}.cdv2-gas-card-foot{margin-top:10px;padding-top:10px;border-top:1px dashed #e2e8f0}.cdv2-gas-card-foot span{color:#94a3b8;font-size:12px}.cdv2-gas-card-foot strong{color:var(--pri);font-size:13px}
.cdv2-gas-station-hero{display:flex;justify-content:space-between;gap:10px;padding:14px;border-radius:22px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;box-shadow:0 16px 36px rgba(15,23,42,.22);margin:8px 0 14px}.cdv2-gas-station-hero span{display:inline-block;font-size:11px;font-weight:900;color:#fed7aa;background:rgba(255,247,237,.12);border:1px solid rgba(254,215,170,.25);border-radius:999px;padding:4px 8px}.cdv2-gas-station-hero b{display:block;margin:8px 0 3px;font-size:17px;line-height:1.3}.cdv2-gas-station-hero p{margin:0;color:#cbd5e1;font-size:12px;line-height:1.4}.cdv2-gas-station-hero button{align-self:flex-start;border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:8px 10px;font-weight:800}
.cdv2-gas-title{margin:12px 0 8px;font-size:14px;color:#0f172a}.cdv2-gas-oils,.cdv2-gas-amounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cdv2-gas-oils button,.cdv2-gas-amounts button{border:1px solid #e2e8f0;background:#fff;border-radius:18px;padding:13px 12px;text-align:left;box-shadow:0 8px 20px rgba(15,23,42,.045);transition:all .16s ease}.cdv2-gas-oils button b{display:block;font-size:15px;color:#0f172a}.cdv2-gas-oils button span{display:block;margin-top:4px;font-size:12px;color:#64748b}.cdv2-gas-amounts button{text-align:center;font-size:17px;font-weight:900;color:#0f172a}.cdv2-gas-oils button.on,.cdv2-gas-amounts button.on{border-color:var(--pri);background:linear-gradient(180deg,#eff6ff,#fff);box-shadow:0 10px 26px rgba(37,99,235,.14);color:var(--pri)}
.cdv2-gas-summary{border:1px solid #e2e8f0;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 12px 28px rgba(15,23,42,.06);margin:10px 0 12px}.cdv2-gas-summary>div{padding:13px 14px;border-bottom:1px solid #f1f5f9}.cdv2-gas-summary>div:last-child{border-bottom:0}.cdv2-gas-summary span{display:block;color:#94a3b8;font-size:12px;margin-bottom:4px}.cdv2-gas-summary b{color:#0f172a;font-size:15px}.cdv2-gas-summary p{margin:5px 0 0;color:#64748b;font-size:12px}.cdv2-gas-summary .split{display:flex;align-items:center;justify-content:space-between}.cdv2-gas-summary .split span{margin:0}.cdv2-gas-summary .price{color:#ef4444;font-size:20px}
@media(max-width:420px){.cdv2-gas-search{grid-template-columns:1fr 1fr}.cdv2-gas-search button{grid-column:1/3}.cdv2-gas-list{max-height:52vh}.cdv2-gas-oils,.cdv2-gas-amounts{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* 2026-05-25 配送地址表单优化 */
.cdv2-delivery-form.pretty{margin:12px 0;padding:14px;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(26,115,232,.14);box-shadow:0 10px 28px rgba(20,45,80,.08)}
.cdv2-address-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.cdv2-address-title b{font-size:15px;color:#172033}.cdv2-address-title span{font-size:12px;color:#1a73e8;background:#eaf2ff;border-radius:999px;padding:4px 8px}.cdv2-form-grid.two{grid-template-columns:1fr 1fr}.cdv2-form-grid label,.cdv2-address-line{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#5f6b7a}.cdv2-form-grid input,.cdv2-address-line textarea{border:1px solid #e3e8f0;background:#fff;border-radius:12px;padding:11px 12px;font-size:14px;outline:none}.cdv2-address-line{margin:10px 0}.cdv2-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cdv2-form-grid input:focus,.cdv2-address-line textarea:focus{border-color:#1a73e8;box-shadow:0 0 0 3px rgba(26,115,232,.10)}


.cdv2-seat-screen{margin:10px auto 12px;width:72%;height:28px;border-radius:0 0 50% 50%;background:linear-gradient(180deg,var(--line),rgba(22,93,255,.10));text-align:center;font-size:11px;color:var(--muted);line-height:28px;letter-spacing:.5px}
.cdv2-seat-wrap{max-height:310px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:14px;background:rgba(248,250,252,.72)}
.cdv2-seat-row{display:flex;gap:5px;align-items:center;justify-content:center;margin:5px 0;min-width:max-content}.cdv2-seat-row em{width:22px;text-align:right;font-style:normal;font-size:11px;color:var(--muted);margin-right:4px}.cdv2-seat{width:19px;height:19px;border-radius:6px 6px 9px 9px;border:1px solid var(--pri);background:var(--card);cursor:pointer;padding:0;color:#fff;font-size:10px;line-height:17px}.cdv2-seat.on{background:var(--pri);box-shadow:0 0 0 2px var(--pri-soft)}.cdv2-seat.disabled{border-color:#cbd5e1;background:#e5e7eb;color:#94a3b8;cursor:not-allowed}.cdv2-seat-legend{display:flex;gap:14px;justify-content:center;margin:10px 0;color:var(--muted);font-size:12px}.cdv2-seat-legend span{display:inline-flex;align-items:center;gap:5px}.cdv2-seat-legend i{width:13px;height:13px;border-radius:4px;border:1px solid var(--pri);background:var(--card)}.cdv2-seat-legend i.on{background:var(--pri)}.cdv2-seat-legend i.disabled{border-color:#cbd5e1;background:#e5e7eb}.cdv2-seat-summary{display:flex;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.cdv2-seat-summary span{flex:1;color:var(--ink);font-size:13px}.cdv2-seat-summary em{font-style:normal;font-weight:900;color:var(--pri)}


/* orange-festival template */
.cdv2-orange-hero{position:relative;margin:-14px -14px 0;padding:18px 18px 76px;min-height:218px;border-radius:0 0 30px 30px;overflow:hidden;color:#fff;background:radial-gradient(circle at 76% 16%,rgba(255,241,156,.9),transparent 20%),radial-gradient(circle at 18% 35%,rgba(255,210,96,.55),transparent 28%),linear-gradient(135deg,#ff3d10 0%,#ff7a18 48%,#ffb326 100%);box-shadow:0 18px 42px rgba(255,95,24,.24)}
.cdv2-orange-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 58% 62%,rgba(255,255,255,.18),transparent 18%),radial-gradient(circle at 82% 70%,rgba(255,255,255,.15),transparent 16%);opacity:.9}.cdv2-orange-hero>*{position:relative;z-index:1}.cdv2-orange-hero-top{display:flex;align-items:center;gap:10px}.cdv2-orange-logo{width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.96);color:#ff5a12;font-weight:1000;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.10)}.cdv2-orange-hero-top b{display:block;font-size:15px;font-weight:950}.cdv2-orange-hero-top span{display:block;margin-top:3px;font-size:11px;opacity:.9}.cdv2-orange-hero-top button{margin-left:auto;border:none;border-radius:999px;padding:8px 10px;background:rgba(255,255,255,.2);color:#fff;font-weight:900}.cdv2-orange-hero-title{margin-top:32px}.cdv2-orange-hero-title em{display:block;font-style:normal;font-size:11px;letter-spacing:.28em;color:#fff7c2;opacity:.95}.cdv2-orange-hero-title strong{display:block;margin-top:6px;font-size:40px;line-height:1.05;font-weight:1000;letter-spacing:-1px;text-shadow:0 5px 16px rgba(126,38,0,.26)}
.cdv2-orange-search{position:relative;z-index:3;margin:-32px 12px 12px;height:58px;border-radius:22px;background:#fff;display:flex;align-items:center;gap:8px;padding:7px 7px 7px 16px;box-shadow:0 14px 34px rgba(180,68,0,.16)}.cdv2-orange-search span{color:#ff5a12}.cdv2-orange-search input{flex:1;border:none;outline:none;font-size:14px;color:#111827;min-width:0}.cdv2-orange-search button{height:44px;border:none;border-radius:17px;background:linear-gradient(135deg,#ff6b18,#ff9f1c);color:#fff;font-size:13px;font-weight:950;padding:0 12px;white-space:nowrap}.cdv2-orange-tabs{display:flex;gap:8px;overflow-x:auto;padding:6px 4px 12px;margin:0 4px;scrollbar-width:none}.cdv2-orange-tabs::-webkit-scrollbar{display:none}.cdv2-orange-tabs button{position:relative;border:none;border-radius:999px;background:#eef0f5;color:#667085;font-weight:900;padding:9px 17px;white-space:nowrap}.cdv2-orange-tabs button.on,.cdv2-orange-tabs button:active{background:linear-gradient(135deg,#ff5a12,#ff8f1f);color:#fff;box-shadow:0 8px 18px rgba(255,100,18,.22)}
.cdv2-orange-main,.cdv2-orange-panel{background:#fff;border-radius:22px;margin:0 0 14px;padding:14px 10px;box-shadow:0 10px 28px rgba(15,23,42,.055)}.cdv2-orange-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px 7px}.cdv2-orange-grid.hot{padding-top:2px}.cdv2-orange-tile{position:relative;border:none;background:transparent;padding:18px 2px 2px;text-align:center;min-width:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.cdv2-orange-tile:active{transform:scale(.96)}.cdv2-orange-pill{position:absolute;top:0;left:50%;transform:translateX(-50%);max-width:64px;border-radius:999px;background:#ff3d25;color:#fff;font-size:9px;font-weight:900;line-height:16px;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 5px 12px rgba(255,61,37,.2)}.cdv2-orange-tile i{width:44px;height:44px;margin:0 auto 7px;border-radius:15px;background:linear-gradient(135deg,#ff7b1a,#ffb326);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 7px 16px rgba(255,112,20,.18);display:grid;place-items:center;font-style:normal;font-size:23px}.cdv2-orange-tile b{display:block;color:#171923;font-size:12px;font-weight:950;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdv2-orange-tile small{display:block;margin-top:4px;color:#98a2b3;font-size:10px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdv2-orange-black{margin:14px 0;border-radius:22px;min-height:96px;padding:18px;background:linear-gradient(135deg,#171717,#34302d);color:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:0 14px 32px rgba(0,0,0,.16)}.cdv2-orange-black b{display:block;font-size:17px;font-weight:1000}.cdv2-orange-black span{display:block;margin-top:8px;font-size:12px;color:#f4d7b2}.cdv2-orange-black i{font-style:normal;font-size:58px;filter:drop-shadow(0 8px 12px rgba(255,176,45,.26))}.cdv2-orange-spring{position:relative;overflow:hidden;border-radius:24px;margin:0 0 18px;padding:22px 20px;background:radial-gradient(circle at 80% 48%,rgba(255,235,177,.75),transparent 25%),linear-gradient(135deg,#ff5d19,#ff9a24);color:#fff;box-shadow:0 14px 34px rgba(255,102,22,.2)}.cdv2-orange-spring:after{content:'NEW';position:absolute;right:-10px;bottom:-14px;font-size:74px;font-weight:1000;color:rgba(255,255,255,.12);letter-spacing:-5px}.cdv2-orange-spring em{font-style:normal;font-size:10px;letter-spacing:.16em;color:#ffe6c5}.cdv2-orange-spring b{display:block;margin-top:8px;font-size:29px;font-weight:1000}.cdv2-orange-spring span{display:block;margin-top:3px;font-size:18px;font-weight:950}.cdv2-orange-spring small{display:block;margin-top:8px;font-size:12px;opacity:.93}.cdv2-orange-spring button{margin-top:15px;border:none;border-radius:999px;background:#fff;color:#ff6818;font-weight:950;padding:9px 15px}.cdv2-orange-divider{display:flex;align-items:center;gap:10px;justify-content:center;margin:18px 0 13px;color:#e43d22}.cdv2-orange-divider span{height:1px;flex:1;max-width:90px;background:linear-gradient(90deg,transparent,#e43d22)}.cdv2-orange-divider span:last-child{background:linear-gradient(90deg,#e43d22,transparent)}.cdv2-orange-divider b{font-size:16px;font-weight:1000}.cdv2-orange-panel-title{display:flex;align-items:center;justify-content:space-between;margin:0 4px 12px}.cdv2-orange-panel-title b{font-size:16px;color:#171923;font-weight:1000}.cdv2-orange-panel-title span{font-size:12px;color:#ff6b18;font-weight:900}@media(max-width:420px){.cdv2-orange-hero{margin-left:-12px;margin-right:-12px}.cdv2-orange-grid{gap:12px 5px}.cdv2-orange-tile i{width:40px;height:40px;font-size:21px}.cdv2-orange-pill{font-size:8px;max-width:58px}.cdv2-orange-tile b{font-size:11px}.cdv2-orange-tile small{font-size:9px}.cdv2-orange-search button{font-size:12px;padding:0 10px}.cdv2-orange-hero-title strong{font-size:36px}}


/* orange-festival v2 isolation/refine */
.cdv2-root:has(.cdv2-orange-shell){--pri:#ff6b18;--pri-soft:#fff3e8;--ink:#25120a;background:#fff7ed}.cdv2-orange-shell{margin:-14px -14px 0;background:linear-gradient(180deg,#fff1df 0,#fff8ef 260px,#f7f8fb 100%);padding:0 12px 18px;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif}.cdv2-orange-shell .cdv2-orange-hero{margin:0 -12px 0;padding:18px 18px 82px;border-radius:0 0 34px 34px;min-height:236px;background:radial-gradient(circle at 78% 12%,rgba(255,244,180,.95),transparent 18%),radial-gradient(circle at 20% 50%,rgba(255,213,100,.45),transparent 24%),linear-gradient(135deg,#ff3813 0%,#ff721a 50%,#ffc03d 100%)}.cdv2-orange-orb{position:absolute;border-radius:50%;background:rgba(255,255,255,.2);filter:blur(.2px)}.cdv2-orange-orb.orb-a{right:38px;top:56px;width:112px;height:112px}.cdv2-orange-orb.orb-b{right:-30px;bottom:22px;width:150px;height:150px;background:rgba(255,255,255,.13)}.cdv2-orange-gift{position:absolute;z-index:1;display:grid;place-items:center;width:42px;height:42px;border-radius:16px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.26);color:#fff9db;font-weight:1000;box-shadow:0 10px 24px rgba(151,48,0,.14);transform:rotate(-12deg)}.cdv2-orange-gift.gift-a{right:74px;top:98px}.cdv2-orange-gift.gift-b{right:18px;top:142px;transform:rotate(15deg);width:36px;height:36px}.cdv2-orange-shell .cdv2-orange-logo{width:38px;height:38px;border-radius:14px;font-size:11px;letter-spacing:-.5px}.cdv2-orange-shell .cdv2-orange-hero-top button{background:rgba(255,255,255,.24);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px)}.cdv2-orange-shell .cdv2-orange-hero-title{margin-top:28px}.cdv2-orange-shell .cdv2-orange-hero-title strong{font-size:43px;letter-spacing:-1.4px}.cdv2-orange-shell .cdv2-orange-hero-title small{display:block;margin-top:10px;font-size:12px;color:#fff7dc;font-weight:900;letter-spacing:.05em}.cdv2-orange-shell .cdv2-orange-search{margin:-34px 0 12px;height:60px}.cdv2-orange-shell .cdv2-orange-tabs{padding-left:0;padding-right:0}.cdv2-orange-shell .cdv2-orange-main,.cdv2-orange-shell .cdv2-orange-panel{border-radius:24px;margin-bottom:15px}.cdv2-orange-shell .cdv2-orange-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px 7px}.cdv2-orange-shell .cdv2-orange-tile{border-radius:16px}.cdv2-orange-shell .cdv2-orange-tile:hover{background:#fff8f1}.cdv2-orange-shell .cdv2-orange-tile i{background:linear-gradient(145deg,#ff7b18,#ffbd35);border-radius:17px;color:#fff}.cdv2-orange-shell .cdv2-orange-black{background:radial-gradient(circle at 82% 22%,rgba(255,194,92,.32),transparent 28%),linear-gradient(135deg,#111,#2b211b 70%,#5a3518);border:1px solid rgba(255,206,123,.12)}.cdv2-orange-black em{display:block;font-style:normal;color:#ffcf8a;font-size:10px;letter-spacing:.22em;margin-bottom:7px}.cdv2-orange-shell .cdv2-orange-black i{position:relative;width:86px;height:54px;border-radius:14px;background:linear-gradient(135deg,#f7c75a,#986016);font-size:0;box-shadow:0 14px 30px rgba(247,167,41,.22),inset 0 1px 0 rgba(255,255,255,.45)}.cdv2-orange-shell .cdv2-orange-black i:before{content:'';position:absolute;left:12px;top:14px;width:24px;height:17px;border-radius:5px;background:rgba(255,255,255,.32)}.cdv2-orange-shell .cdv2-orange-black i:after{content:'权益';position:absolute;right:11px;bottom:9px;color:#fff;font-style:normal;font-weight:1000;font-size:13px;letter-spacing:.02em}.cdv2-orange-shell .cdv2-orange-spring{background:radial-gradient(circle at 83% 46%,rgba(255,238,182,.82),transparent 25%),radial-gradient(circle at 16% 18%,rgba(255,255,255,.22),transparent 20%),linear-gradient(135deg,#ff4d16,#ff9e23)}.cdv2-orange-shell .cdv2-orange-panel-title span{color:#ff5a12}.cdv2-orange-shell .cdv2-orange-divider{margin-top:20px}@supports not selector(:has(*)){.cdv2-orange-shell{margin:-14px -14px 0;background:linear-gradient(180deg,#fff1df 0,#fff8ef 260px,#f7f8fb 100%);padding:0 12px 18px}}@media(max-width:420px){.cdv2-orange-shell{margin:-12px -12px 0}.cdv2-orange-shell .cdv2-orange-hero{min-height:230px}.cdv2-orange-shell .cdv2-orange-hero-title strong{font-size:39px}.cdv2-orange-shell .cdv2-orange-grid{gap:13px 5px}.cdv2-orange-shell .cdv2-orange-black i{width:76px;height:50px}.cdv2-orange-gift.gift-a{right:60px}.cdv2-orange-gift.gift-b{right:14px}}


/* orange-festival v3 full color isolation and legacy component compatibility */
.cdv2-root:has(.cdv2-orange-shell){
  --ink:#241106!important;--muted:#8a6550!important;--line:#ffe0c2!important;--bg:#fff7ed!important;--card:#fff!important;
  --shadow:0 18px 46px rgba(180,68,0,.10)!important;
  --pri:#ff6b18!important;--pri2:#ff3d10!important;--pri-soft:rgba(255,107,24,.10)!important;
  --pri-grad:linear-gradient(135deg,#ff7b18,#ff3d10)!important;
  --head-bg:linear-gradient(135deg,#ff3d10,#ff8f1f)!important;--head-accent:linear-gradient(135deg,#fff0c4,#ffbd35)!important;
  --tag-ready:#fff0dc!important;--tag-ready-text:#c2410c!important;--tag-query:#fff7d6!important;--tag-query-text:#a16207!important;
}
.cdv2-root:has(.cdv2-orange-shell) .cdv2-shell{background:linear-gradient(180deg,#fff2df 0,#fff8f0 310px,#f7f8fb 100%)!important;border-color:#ffd7ad!important;box-shadow:0 24px 70px rgba(180,68,0,.12)!important}
.cdv2-root:has(.cdv2-orange-shell) .cdv2-head{background:linear-gradient(135deg,#fff,#fff4e8)!important;border-color:#ffe0c2!important;box-shadow:0 8px 24px rgba(255,107,24,.08)!important;color:#241106!important}
.cdv2-root:has(.cdv2-orange-shell) .cdv2-head b,.cdv2-root:has(.cdv2-orange-shell) .cdv2-head strong{color:#241106!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-head span{color:#a65a2b!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-cityBtn,.cdv2-root:has(.cdv2-orange-shell) [data-action="city"]{background:#fff1e3!important;color:#ff5a12!important;border-color:#ffd1a3!important}
.cdv2-root:has(.cdv2-orange-shell) .cdv2-tab{background:rgba(255,255,255,.94)!important;border-color:#ffd8b2!important;box-shadow:0 14px 40px rgba(178,72,0,.14)!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-nav-btn{color:#a67a61!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-nav-btn.on{color:#ff5a12!important;background:linear-gradient(180deg,rgba(255,107,24,.12),rgba(255,107,24,.06))!important;box-shadow:inset 0 0 0 1px rgba(255,107,24,.08)!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-nav-btn::before{background:#ff6b18!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-nav-btn:active{background:rgba(255,107,24,.10)!important}
.cdv2-root:has(.cdv2-orange-shell) .cdv2-primary,.cdv2-root:has(.cdv2-orange-shell) .cdv2-paylink{background:linear-gradient(135deg,#ff7b18,#ff3d10)!important;color:#fff!important;border-color:#ff6b18!important;box-shadow:0 8px 20px rgba(255,107,24,.22)!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-secondary{background:#fff!important;color:#7c2d12!important;border-color:#ffd8b2!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-chip:hover,.cdv2-root:has(.cdv2-orange-shell) .cdv2-chip.active,.cdv2-root:has(.cdv2-orange-shell) .cdv2-catTab.on,.cdv2-root:has(.cdv2-orange-shell) .cdv2-catTab:hover,.cdv2-root:has(.cdv2-orange-shell) .cdv2-mv-steps span.on{background:linear-gradient(135deg,#ff7b18,#ff3d10)!important;color:#fff!important;border-color:#ff6b18!important;box-shadow:0 7px 16px rgba(255,107,24,.20)!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-chip,.cdv2-root:has(.cdv2-orange-shell) .cdv2-catTab,.cdv2-root:has(.cdv2-orange-shell) .cdv2-orderTab{background:#fff!important;border-color:#ffe0c2!important;color:#7c4a31!important}
.cdv2-root:has(.cdv2-orange-shell) .cdv2-card,.cdv2-root:has(.cdv2-orange-shell) .cdv2-row,.cdv2-root:has(.cdv2-orange-shell) .cdv2-mv-movie,.cdv2-root:has(.cdv2-orange-shell) .cdv2-mv-cinema{border-color:#ffe0c2!important;background:#fff!important;box-shadow:0 6px 18px rgba(180,68,0,.06)!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-card:hover,.cdv2-root:has(.cdv2-orange-shell) .cdv2-card.ready:hover,.cdv2-root:has(.cdv2-orange-shell) .cdv2-mv-movie:hover{border-color:rgba(255,107,24,.38)!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-imgWrap{background:linear-gradient(135deg,#fff9f2,#fff0dc)!important;box-shadow:inset 0 0 0 1px rgba(255,107,24,.10)!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-card.ready{border-color:rgba(255,107,24,.20)!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-card .tag-ready{background:linear-gradient(135deg,rgba(255,107,24,.14),rgba(255,189,53,.13))!important;color:#c2410c!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-card .tag-query{background:#fff7d6!important;color:#a16207!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-card .tag-block{background:#f6f0eb!important;color:#8a6550!important}
.cdv2-root:has(.cdv2-orange-shell) .cdv2-modal{background:#fff!important;border:1px solid #ffd8b2!important;box-shadow:0 26px 70px rgba(125,45,0,.18)!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-modal-head,.cdv2-root:has(.cdv2-orange-shell) .cdv2-modal-footer{background:linear-gradient(180deg,#fff,#fff8f2)!important;border-color:#ffe0c2!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-modal-close{background:#fff0e0!important;color:#ff5a12!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-field input,.cdv2-root:has(.cdv2-orange-shell) .cdv2-field select,.cdv2-root:has(.cdv2-orange-shell) .cdv2-search input{border-color:#ffe0c2!important;background:#fff!important;color:#241106!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-field input:focus,.cdv2-root:has(.cdv2-orange-shell) .cdv2-field select:focus,.cdv2-root:has(.cdv2-orange-shell) .cdv2-search input:focus{border-color:#ff7b18!important;box-shadow:0 0 0 3px rgba(255,107,24,.13)!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-orderEmptyIcon{background:linear-gradient(135deg,rgba(255,107,24,.12),rgba(255,189,53,.16))!important;color:#ff5a12!important;box-shadow:inset 0 0 0 1px rgba(255,107,24,.10)!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-orderTab.on{color:#ff5a12!important;border-color:rgba(255,107,24,.32)!important;background:rgba(255,107,24,.10)!important;box-shadow:0 5px 14px rgba(255,107,24,.12)!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-timeline.processing span:nth-child(-n+2),.cdv2-root:has(.cdv2-orange-shell) .cdv2-timeline.done span{background:#fff0dc!important;color:#c2410c!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-timeline.done span:last-child{background:#ff6b18!important;color:#fff!important}
.cdv2-root:has(.cdv2-orange-shell) .cdv2-search-wrap::before,.cdv2-root:has(.cdv2-orange-shell) .cdv2-muted{color:#a65a2b!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-catTabs::after{background:linear-gradient(90deg,rgba(255,247,237,0),#fff7ed 78%)!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-grid::after{color:#c08a68!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-confirm b,.cdv2-root:has(.cdv2-orange-shell) .cdv2-row b{color:#241106!important}.cdv2-root:has(.cdv2-orange-shell) .cdv2-row em{background:rgba(255,107,24,.10)!important;color:#c2410c!important}
@supports not selector(:has(*)){
  .cdv2-root[data-template="orange-festival"]{--ink:#241106!important;--muted:#8a6550!important;--line:#ffe0c2!important;--bg:#fff7ed!important;--card:#fff!important;--pri:#ff6b18!important;--pri2:#ff3d10!important;--pri-soft:rgba(255,107,24,.10)!important;--pri-grad:linear-gradient(135deg,#ff7b18,#ff3d10)!important;--tag-ready:#fff0dc!important;--tag-ready-text:#c2410c!important;}
}


/* orange-festival v3 data-template compatibility for non-home views */
:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]){
  --ink:#241106!important;--muted:#8a6550!important;--line:#ffe0c2!important;--bg:#fff7ed!important;--card:#fff!important;
  --shadow:0 18px 46px rgba(180,68,0,.10)!important;
  --pri:#ff6b18!important;--pri2:#ff3d10!important;--pri-soft:rgba(255,107,24,.10)!important;
  --pri-grad:linear-gradient(135deg,#ff7b18,#ff3d10)!important;
  --head-bg:linear-gradient(135deg,#ff3d10,#ff8f1f)!important;--head-accent:linear-gradient(135deg,#fff0c4,#ffbd35)!important;
  --tag-ready:#fff0dc!important;--tag-ready-text:#c2410c!important;--tag-query:#fff7d6!important;--tag-query-text:#a16207!important;
}
:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-shell{background:linear-gradient(180deg,#fff2df 0,#fff8f0 310px,#f7f8fb 100%)!important;border-color:#ffd7ad!important;box-shadow:0 24px 70px rgba(180,68,0,.12)!important}
:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-head{background:linear-gradient(135deg,#fff,#fff4e8)!important;border-color:#ffe0c2!important;box-shadow:0 8px 24px rgba(255,107,24,.08)!important;color:#241106!important}
:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-head b,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-head strong{color:#241106!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-head span{color:#a65a2b!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-cityBtn,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) [data-action="city"]{background:#fff1e3!important;color:#ff5a12!important;border-color:#ffd1a3!important}
:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-tab{background:rgba(255,255,255,.94)!important;border-color:#ffd8b2!important;box-shadow:0 14px 40px rgba(178,72,0,.14)!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-nav-btn{color:#a67a61!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-nav-btn.on{color:#ff5a12!important;background:linear-gradient(180deg,rgba(255,107,24,.12),rgba(255,107,24,.06))!important;box-shadow:inset 0 0 0 1px rgba(255,107,24,.08)!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-nav-btn::before{background:#ff6b18!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-nav-btn:active{background:rgba(255,107,24,.10)!important}
:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-primary,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-paylink{background:linear-gradient(135deg,#ff7b18,#ff3d10)!important;color:#fff!important;border-color:#ff6b18!important;box-shadow:0 8px 20px rgba(255,107,24,.22)!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-secondary{background:#fff!important;color:#7c2d12!important;border-color:#ffd8b2!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-chip:hover,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-chip.active,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-catTab.on,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-catTab:hover,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-mv-steps span.on{background:linear-gradient(135deg,#ff7b18,#ff3d10)!important;color:#fff!important;border-color:#ff6b18!important;box-shadow:0 7px 16px rgba(255,107,24,.20)!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-chip,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-catTab,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-orderTab{background:#fff!important;border-color:#ffe0c2!important;color:#7c4a31!important}
:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-card,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-row,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-mv-movie,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-mv-cinema{border-color:#ffe0c2!important;background:#fff!important;box-shadow:0 6px 18px rgba(180,68,0,.06)!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-card:hover,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-card.ready:hover,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-mv-movie:hover{border-color:rgba(255,107,24,.38)!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-imgWrap{background:linear-gradient(135deg,#fff9f2,#fff0dc)!important;box-shadow:inset 0 0 0 1px rgba(255,107,24,.10)!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-card.ready{border-color:rgba(255,107,24,.20)!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-card .tag-ready{background:linear-gradient(135deg,rgba(255,107,24,.14),rgba(255,189,53,.13))!important;color:#c2410c!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-card .tag-query{background:#fff7d6!important;color:#a16207!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-card .tag-block{background:#f6f0eb!important;color:#8a6550!important}
:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-modal{background:#fff!important;border:1px solid #ffd8b2!important;box-shadow:0 26px 70px rgba(125,45,0,.18)!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-modal-head,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-modal-footer{background:linear-gradient(180deg,#fff,#fff8f2)!important;border-color:#ffe0c2!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-modal-close{background:#fff0e0!important;color:#ff5a12!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-field input,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-field select,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-search input{border-color:#ffe0c2!important;background:#fff!important;color:#241106!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-field input:focus,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-field select:focus,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-search input:focus{border-color:#ff7b18!important;box-shadow:0 0 0 3px rgba(255,107,24,.13)!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-orderEmptyIcon{background:linear-gradient(135deg,rgba(255,107,24,.12),rgba(255,189,53,.16))!important;color:#ff5a12!important;box-shadow:inset 0 0 0 1px rgba(255,107,24,.10)!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-orderTab.on{color:#ff5a12!important;border-color:rgba(255,107,24,.32)!important;background:rgba(255,107,24,.10)!important;box-shadow:0 5px 14px rgba(255,107,24,.12)!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-timeline.processing span:nth-child(-n+2),:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-timeline.done span{background:#fff0dc!important;color:#c2410c!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-timeline.done span:last-child{background:#ff6b18!important;color:#fff!important}
:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-search-wrap::before,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-muted{color:#a65a2b!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-catTabs::after{background:linear-gradient(90deg,rgba(255,247,237,0),#fff7ed 78%)!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-grid::after{color:#c08a68!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-confirm b,:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-row b{color:#241106!important}:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-row em{background:rgba(255,107,24,.10)!important;color:#c2410c!important}

/* hotfix 20260527: orange template top city/location pill contrast */
:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-city,
.cdv2-root:has(.cdv2-orange-shell) .cdv2-city{
  background:linear-gradient(135deg,#fff7ed,#fff1e3)!important;
  color:#c2410c!important;
  border:1px solid #ffbf85!important;
  box-shadow:0 6px 16px rgba(255,107,24,.12)!important;
  font-weight:900!important;
}
:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"]) .cdv2-city:active,
.cdv2-root:has(.cdv2-orange-shell) .cdv2-city:active{
  background:linear-gradient(135deg,#ff7b18,#ff3d10)!important;
  color:#fff!important;
  border-color:#ff6b18!important;
}

/* 2026-05-27 commercial-v2 delivery polish */
.cdv2-root{
  --radius-xl:24px;
  --radius-lg:18px;
  --shadow-soft:0 12px 34px rgba(16,24,40,.075);
  --shadow-touch:0 8px 22px rgba(16,24,40,.10);
}
.cdv2-shell{
  background:
    radial-gradient(circle at 12% 0,rgba(23,107,77,.055),transparent 190px),
    linear-gradient(180deg,#f8fafc 0,#f3f6fb 100%)!important;
}
.cdv2-head{
  border-bottom:1px solid rgba(255,255,255,.08);
}
.cdv2-brand span{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 22px rgba(0,0,0,.14);
}
.cdv2-home-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:end;
  margin:12px 14px 10px!important;
  padding:17px 16px!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 92% 12%,rgba(23,107,77,.13),transparent 86px),
    linear-gradient(135deg,#fff 0,#f8fbf9 58%,rgba(23,107,77,.075) 100%)!important;
  border:1px solid rgba(23,107,77,.10)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.065)!important;
}
.cdv2-hero-kicker{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  margin-bottom:8px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(23,107,77,.09);
  color:var(--pri);
  font-size:11px;
  font-weight:900;
}
.cdv2-home-hero h1{
  font-size:22px!important;
  line-height:1.18;
  letter-spacing:0!important;
}
.cdv2-home-hero p{
  max-width:310px;
  margin-top:7px!important;
  color:#5b6678!important;
}
.cdv2-hero-stats{
  display:grid;
  gap:8px;
  min-width:72px;
}
.cdv2-hero-stats span{
  display:grid;
  place-items:center;
  min-height:56px;
  padding:8px 10px;
  border-radius:18px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(23,107,77,.08);
  box-shadow:0 8px 18px rgba(15,23,42,.045);
}
.cdv2-hero-stats b{
  color:var(--pri);
  font-size:18px;
  line-height:1;
}
.cdv2-hero-stats small{
  margin-top:4px;
  color:#667085;
  font-size:10px;
  font-weight:800;
}
.cdv2-search-wrap{
  filter:drop-shadow(0 8px 18px rgba(15,23,42,.045));
}
.cdv2-search input{
  min-height:46px!important;
  border-radius:18px!important;
  padding-left:42px!important;
  font-weight:700;
}
.cdv2-search input::placeholder{
  color:#98a2b3;
  font-weight:600;
}
.cdv2-catTab{
  min-height:38px!important;
  padding:8px 14px!important;
  font-weight:850!important;
}
.cdv2-grid{
  gap:11px!important;
}
.cdv2-card{
  min-height:146px!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  border-radius:21px!important;
  padding:14px 10px 12px!important;
  background:linear-gradient(180deg,#fff,#fbfcfd)!important;
  box-shadow:0 10px 26px rgba(15,23,42,.052)!important;
}
.cdv2-card:before{
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,transparent,rgba(23,107,77,.28),transparent);
  opacity:0;
  transition:opacity .16s ease;
}
.cdv2-card.ready:before{
  opacity:1;
}
.cdv2-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-touch)!important;
}
.cdv2-card:active{
  transform:scale(.975)!important;
}
.cdv2-imgWrap{
  width:54px!important;
  height:54px!important;
  margin-bottom:9px!important;
  border-radius:20px!important;
}
.cdv2-card b{
  max-width:100%;
  font-weight:900!important;
  color:#182230!important;
}
.cdv2-card small{
  max-width:100%;
  min-height:14px;
  margin-top:3px!important;
  color:#7a8494!important;
}
.cdv2-card span{
  margin-top:auto!important;
  min-height:31px!important;
  border:1px solid rgba(15,23,42,.035);
}
.cdv2-card .tag-ready{
  background:linear-gradient(135deg,rgba(23,107,77,.13),rgba(23,107,77,.055))!important;
  color:#146146!important;
}
.cdv2-empty-polished,.cdv2-orderEmpty{
  margin:0 14px 18px;
  border:1px solid rgba(234,236,240,.9);
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#fbfcfd);
  box-shadow:var(--shadow-soft);
}
.cdv2-empty-icon{
  width:64px;
  height:64px;
  margin:0 auto 12px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:linear-gradient(135deg,var(--pri-soft),rgba(255,255,255,.7));
  color:var(--pri);
  font-size:28px;
  font-weight:900;
}
.cdv2-orderEmpty{
  padding:34px 20px 36px!important;
}
.cdv2-orderEmptyIcon{
  border-radius:26px!important;
  box-shadow:inset 0 0 0 1px rgba(23,107,77,.09),0 10px 22px rgba(15,23,42,.055)!important;
}
.cdv2-tab{
  bottom:max(14px,env(safe-area-inset-bottom))!important;
}
.cdv2-nav-btn,.cdv2-primary,.cdv2-secondary,.cdv2-paylink,.cdv2-row,.cdv2-chip,.cdv2-skus button,.cdv2-tabs button{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.cdv2-row:hover{
  transform:translateY(-1px);
}
.cdv2-primary:active,.cdv2-secondary:active,.cdv2-paylink:active,.cdv2-row:active,.cdv2-chip:active,.cdv2-skus button:active,.cdv2-tabs button:active{
  transform:scale(.975)!important;
}
.cdv2-modal{
  animation:cdv2ModalPop .2s cubic-bezier(.2,.8,.2,1)!important;
}
.cdv2-loading{
  padding:46px 18px;
}
.cdv2-loading div{
  width:64px!important;
  height:64px!important;
  border:0!important;
  border-radius:22px!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.72),rgba(255,255,255,0)),
    linear-gradient(135deg,#eef2f7,#f8fafc)!important;
  background-size:180% 100%,100% 100%!important;
  animation:cdv2Skeleton 1.1s ease-in-out infinite!important;
  box-shadow:0 10px 24px rgba(15,23,42,.055);
}
@keyframes cdv2Skeleton{
  0%{background-position:160% 0,0 0}
  100%{background-position:-80% 0,0 0}
}

/* orange one-card template refinement */
.cdv2-orange-shell .cdv2-orange-hero{
  min-height:250px!important;
  background:
    radial-gradient(circle at 76% 16%,rgba(255,246,191,.95),transparent 18%),
    radial-gradient(circle at 17% 56%,rgba(255,214,112,.38),transparent 26%),
    linear-gradient(135deg,#f04418 0%,#ff7a1a 52%,#ffc24a 100%)!important;
}
.cdv2-orange-shell .cdv2-orange-hero-title em{
  display:inline-flex!important;
  min-height:24px;
  align-items:center;
  padding:0 9px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.20);
  color:#fff7dc!important;
  letter-spacing:0!important;
  font-weight:900;
}
.cdv2-orange-hero-card{
  position:absolute!important;
  right:18px;
  bottom:26px;
  z-index:2!important;
  width:112px;
  padding:12px;
  border-radius:20px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.24);
  color:#fff;
  box-shadow:0 14px 30px rgba(122,42,0,.16),inset 0 1px 0 rgba(255,255,255,.20);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.cdv2-orange-hero-card span,.cdv2-orange-hero-card small{
  display:block;
  font-size:10px;
  font-weight:900;
  color:#fff7dc;
}
.cdv2-orange-hero-card b{
  display:block;
  margin:4px 0;
  font-size:24px;
  line-height:1;
}
.cdv2-orange-shell .cdv2-orange-search{
  border:1px solid rgba(255,217,180,.88);
  box-shadow:0 18px 40px rgba(180,68,0,.17),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.cdv2-orange-search input{
  font-weight:800;
}
.cdv2-orange-tabs button{
  min-height:38px;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.cdv2-orange-tabs button:active{
  transform:scale(.96);
}
.cdv2-orange-main,.cdv2-orange-panel{
  border:1px solid rgba(255,224,194,.78);
  box-shadow:0 14px 34px rgba(180,68,0,.08)!important;
}
.cdv2-orange-tile{
  min-height:104px;
  padding-top:20px!important;
  transition:transform .16s ease,background .16s ease,box-shadow .16s ease;
}
.cdv2-orange-tile:hover{
  box-shadow:inset 0 0 0 1px rgba(255,107,24,.08);
}
.cdv2-orange-tile:active{
  transform:scale(.94)!important;
}
.cdv2-orange-tile i{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 9px 18px rgba(255,112,20,.22)!important;
}
.cdv2-orange-pill{
  background:linear-gradient(135deg,#ff4d16,#ff8f1f)!important;
}
.cdv2-orange-black{
  min-height:108px!important;
  border-radius:26px!important;
}
.cdv2-orange-black em{
  color:#ffcf8a!important;
}
.cdv2-orange-shell .cdv2-orange-black i:after{
  content:'权益'!important;
  font-size:12px!important;
}
.cdv2-orange-spring{
  border:1px solid rgba(255,224,194,.34);
}
@media(max-width:420px){
  .cdv2-home-hero{
    grid-template-columns:1fr;
    gap:12px;
  }
  .cdv2-hero-stats{
    grid-template-columns:repeat(2,1fr);
  }
  .cdv2-card{
    min-height:140px!important;
  }
  .cdv2-orange-hero-card{
    right:14px;
    bottom:22px;
    width:104px;
  }
  .cdv2-orange-shell .cdv2-orange-hero-title strong{
    font-size:37px!important;
  }
}

/* codex ui polish 20260527 */
.cdv2-hero{
  position:relative;
  overflow:hidden;
  padding:16px 16px 15px!important;
  border-radius:22px!important;
  background:radial-gradient(circle at 86% 20%,rgba(23,107,77,.13),transparent 28%),linear-gradient(135deg,#fff 0%,#f4fbf7 100%)!important;
  border-color:rgba(23,107,77,.10)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.07)!important;
}
.cdv2-hero:after{content:"";position:absolute;right:-34px;bottom:-42px;width:118px;height:118px;border-radius:36px;background:rgba(23,107,77,.06);transform:rotate(22deg);pointer-events:none}
.cdv2-hero h1{position:relative;font-size:20px!important;line-height:1.2;color:#0f172a}
.cdv2-hero p{position:relative;color:#5b6678!important}
.cdv2-search input{
  height:46px!important;
  border-radius:18px!important;
  border-color:rgba(226,232,240,.96)!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.055)!important;
}
.cdv2-search input:focus{border-color:rgba(23,107,77,.45)!important;box-shadow:0 0 0 4px rgba(23,107,77,.10),0 12px 26px rgba(15,23,42,.07)!important}
.cdv2-catTab{min-height:34px;border-radius:999px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 5px 14px rgba(15,23,42,.035);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease!important}
.cdv2-catTab.on,.cdv2-catTab:hover{box-shadow:0 8px 18px rgba(23,107,77,.13)!important}
.cdv2-card{
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff,#fbfcfd)!important;
  border-color:rgba(226,232,240,.9)!important;
  box-shadow:0 10px 26px rgba(15,23,42,.055)!important;
}
.cdv2-card:hover{transform:translateY(-2px)!important;box-shadow:0 16px 34px rgba(15,23,42,.09)!important}
.cdv2-card:active{transform:scale(.982)!important}
.cdv2-card img,.cdv2-imgWrap{box-shadow:inset 0 0 0 1px rgba(15,23,42,.04)}
.cdv2-card b{color:#101828!important}
.cdv2-card span{box-shadow:0 6px 14px rgba(15,23,42,.055)!important}
.cdv2-tab{
  border-radius:24px!important;
  background:rgba(255,255,255,.88)!important;
  border-color:rgba(226,232,240,.86)!important;
  box-shadow:0 18px 44px rgba(15,23,42,.16),0 2px 8px rgba(15,23,42,.06)!important;
}
.cdv2-nav-btn{transition:transform .16s ease,background .16s ease,color .16s ease!important}
.cdv2-nav-btn:active,.cdv2-primary:active,.cdv2-secondary:active,.cdv2-orderTab:active,.cdv2-chip:active{transform:scale(.965)!important}
.cdv2-orderEmpty{margin:8px 14px 18px;border:1px dashed rgba(148,163,184,.42);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(248,250,252,.86));box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.cdv2-orderEmptyIcon{border-radius:26px!important;box-shadow:inset 0 0 0 1px rgba(23,107,77,.10),0 10px 24px rgba(23,107,77,.10)!important}
.cdv2-overlay{animation:cdv2PolishFade .18s ease-out!important}
.cdv2-modal{animation:cdv2PolishModal .22s cubic-bezier(.2,.72,.22,1)!important}
@keyframes cdv2PolishFade{from{opacity:0}to{opacity:1}}
@keyframes cdv2PolishModal{from{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:560px){.cdv2-modal{animation:cdv2SlideUp .22s cubic-bezier(.2,.72,.22,1)!important}.cdv2-hero{margin-left:12px!important;margin-right:12px!important}}

:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-orange-hero{
  min-height:242px!important;
  background:radial-gradient(circle at 80% 14%,rgba(255,246,190,.96),transparent 18%),radial-gradient(circle at 12% 56%,rgba(255,216,112,.36),transparent 24%),linear-gradient(135deg,#ff3614 0%,#ff7418 48%,#ffc247 100%)!important;
  box-shadow:0 22px 48px rgba(216,78,0,.24)!important;
}
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-orange-hero-title strong{text-shadow:0 8px 20px rgba(111,37,0,.28)}
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-orange-search{
  height:62px!important;
  border:1px solid rgba(255,216,178,.9);
  box-shadow:0 18px 40px rgba(180,68,0,.18),0 1px 0 rgba(255,255,255,.86) inset!important;
}
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-orange-search button:active{transform:scale(.96)}
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-orange-tabs button{
  background:#fff!important;
  border:1px solid #ffe0c2!important;
  color:#8a4b2b!important;
  box-shadow:0 6px 15px rgba(180,68,0,.06);
}
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-orange-tabs button.on{
  background:linear-gradient(135deg,#ff6b18,#ff3d10)!important;
  color:#fff!important;
  border-color:#ff7b18!important;
  box-shadow:0 10px 22px rgba(255,100,18,.24)!important;
}
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-orange-main,
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-orange-panel{
  border:1px solid rgba(255,224,194,.82);
  box-shadow:0 14px 34px rgba(180,68,0,.08)!important;
}
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-orange-tile{
  transition:transform .16s ease,background .16s ease,box-shadow .16s ease;
}
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-orange-tile:hover{background:#fff8f1;box-shadow:inset 0 0 0 1px rgba(255,107,24,.08)}
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-orange-tile:active{transform:scale(.94)!important;background:#fff3e8}
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-orange-tile i{box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 10px 20px rgba(255,112,20,.20)!important}
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-orange-black{
  border:1px solid rgba(255,214,137,.22)!important;
  box-shadow:0 18px 40px rgba(39,24,12,.22),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-orange-spring{
  border:1px solid rgba(255,219,160,.34);
  box-shadow:0 18px 38px rgba(255,102,22,.24)!important;
}
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-orange-spring button:active,
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-primary:active,
:is(.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-shell)) .cdv2-paylink:active{transform:scale(.965)!important}

/* address input optimization 20260528 */
.cdv2-address-card{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 10px;padding:10px 11px;border-radius:14px;background:rgba(26,115,232,.06);border:1px dashed rgba(26,115,232,.22)}
.cdv2-address-card small{flex-basis:100%;font-size:12px;color:#64748b;line-height:1.5}.cdv2-address-paste,.cdv2-address-clear{border:0;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;cursor:pointer}.cdv2-address-paste{background:#1a73e8;color:#fff}.cdv2-address-clear{background:#eef2f7;color:#475569}.cdv2-address-full textarea{min-height:78px;line-height:1.55;resize:vertical}.cdv2-form-grid.three{grid-template-columns:1fr 1fr 1fr}.cdv2-form-grid label input{width:100%;box-sizing:border-box}.cdv2-advanced-address{margin:8px 0;border:1px solid #e8eef6;border-radius:14px;background:#fff;overflow:hidden}.cdv2-advanced-address summary{padding:10px 12px;font-size:12px;font-weight:800;color:#64748b;cursor:pointer;list-style:none}.cdv2-advanced-address summary::-webkit-details-marker{display:none}.cdv2-advanced-address[open] summary{border-bottom:1px solid #eef2f7;background:#f8fafc}.cdv2-advanced-address .cdv2-form-grid{padding:10px}
@media(max-width:520px){.cdv2-form-grid.two,.cdv2-form-grid.three{grid-template-columns:1fr}.cdv2-delivery-form.pretty{padding:12px}.cdv2-address-title{align-items:flex-start;gap:8px;flex-direction:column}.cdv2-address-title span{align-self:flex-start}.cdv2-address-card{align-items:flex-start}.cdv2-address-paste,.cdv2-address-clear{flex:1}}


/* === Premium Life v1 高级生活权益模板 === */
.cdv2-root[data-template="premium-life-v1"],
.cdv2-root[data-template="premium-life"],
.cdv2-root[data-template="premium"],
.cdv2-root[data-template="luxury-life"]{
  --pri:#b9822b;--pri2:#7a4e16;--pri-soft:rgba(185,130,43,.10);--ink:#15120d;--muted:#746b5e;--line:rgba(218,204,181,.72);--bg:#f8f3ea;--card:#fffdfa;
  --pri-grad:linear-gradient(135deg,#d7a94d,#9a641d);
  --head-bg:linear-gradient(135deg,#17120c,#3a2812 56%,#76501e);
}
.cdv2-root[data-template^="premium"] .cdv2-shell,
.cdv2-root[data-template="luxury-life"] .cdv2-shell{background:linear-gradient(180deg,#f7efe2 0,#fbfaf7 42%,#f3f5f8 100%);border-color:rgba(216,198,166,.72);box-shadow:0 26px 70px rgba(49,38,21,.16);}
.cdv2-premium-shell{margin:-14px -14px 0;padding:0 13px 22px;min-height:100%;background:radial-gradient(circle at 18% 3%,rgba(255,255,255,.98),transparent 25%),linear-gradient(180deg,#f6ead8 0,#fffaf2 286px,#f6f7fb 100%);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:#15120d;}
.cdv2-premium-hero{position:relative;overflow:hidden;margin:0 -13px 0;padding:18px 18px 24px;min-height:286px;border-radius:0 0 34px 34px;background:radial-gradient(circle at 80% 12%,rgba(255,238,183,.95),transparent 18%),radial-gradient(circle at 16% 76%,rgba(222,174,82,.32),transparent 26%),linear-gradient(135deg,#19130d 0%,#3b2916 48%,#9a6a26 100%);color:#fff;box-shadow:0 22px 48px rgba(88,57,20,.26);}
.cdv2-premium-ambient{position:absolute;border-radius:999px;filter:blur(.1px);background:rgba(255,255,255,.12)}.cdv2-premium-ambient.a{right:36px;top:58px;width:126px;height:126px}.cdv2-premium-ambient.b{left:-38px;bottom:26px;width:150px;height:150px;background:rgba(218,166,76,.18)}
.cdv2-premium-hero-top{position:relative;z-index:1;display:flex;align-items:center;gap:10px}.cdv2-premium-logo{width:42px;height:42px;border-radius:16px;background:linear-gradient(145deg,#fffaf0,#d9ae63);color:#3a260d;font-size:12px;font-weight:1000;display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 12px 22px rgba(0,0,0,.18)}.cdv2-premium-hero-top div:nth-child(2){flex:1;min-width:0}.cdv2-premium-hero-top span{display:block;font-size:9px;letter-spacing:.18em;color:#e8c989;font-weight:900}.cdv2-premium-hero-top b{display:block;margin-top:3px;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdv2-premium-hero-top button{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:900;backdrop-filter:blur(8px)}
.cdv2-premium-hero-main{position:relative;z-index:1;margin-top:30px}.cdv2-premium-hero-main em{font-style:normal;color:#f1d7a0;font-size:12px;font-weight:900;letter-spacing:.08em}.cdv2-premium-hero-main strong{display:block;margin-top:9px;font-size:28px;line-height:1.16;letter-spacing:-.8px;font-weight:1000}.cdv2-premium-hero-main p{margin:12px 0 0;max-width:320px;color:rgba(255,255,255,.78);font-size:12px;line-height:1.65}
.cdv2-premium-hero-strip{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:24px}.cdv2-premium-hero-strip button{border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.13);color:#fff;padding:10px 6px;text-align:left;backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}.cdv2-premium-hero-strip i{display:block;font-style:normal;font-size:20px}.cdv2-premium-hero-strip span{display:block;margin-top:6px;font-size:11px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdv2-premium-hero-strip b{display:block;margin-top:3px;font-size:11px;color:#f6d58a}
.cdv2-premium-search{position:relative;z-index:4;margin:-24px 2px 12px;height:60px;padding:7px;border-radius:24px;background:rgba(255,255,255,.94);display:flex;align-items:center;gap:8px;box-shadow:0 18px 40px rgba(72,50,22,.16),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(14px)}.cdv2-premium-search div{flex:1;display:flex;align-items:center;gap:8px;padding-left:10px;min-width:0}.cdv2-premium-search i{font-style:normal}.cdv2-premium-search input{border:none;outline:none;background:transparent;min-width:0;width:100%;font-size:14px;color:#21180e}.cdv2-premium-search button{height:46px;border:none;border-radius:18px;padding:0 15px;background:linear-gradient(135deg,#d8ac58,#9b691f);color:#fff;font-weight:950;box-shadow:0 10px 20px rgba(154,105,31,.22)}
.cdv2-premium-cats{display:flex;gap:9px;overflow-x:auto;padding:5px 2px 15px;scrollbar-width:none}.cdv2-premium-cats::-webkit-scrollbar{display:none}.cdv2-premium-cats button{flex:0 0 auto;min-width:68px;border:1px solid rgba(224,210,184,.82);border-radius:20px;background:rgba(255,255,255,.82);padding:10px 11px;color:#625646;font-weight:900;box-shadow:0 8px 20px rgba(51,38,20,.045)}.cdv2-premium-cats button i{display:block;font-style:normal;font-size:20px;margin-bottom:4px}.cdv2-premium-cats button span{font-size:11px}.cdv2-premium-cats button.on{background:#17120c;color:#fff;border-color:#17120c;box-shadow:0 12px 24px rgba(23,18,12,.18)}
.cdv2-premium-feature,.cdv2-premium-list-head{display:flex;align-items:end;justify-content:space-between;margin:4px 2px 12px}.cdv2-premium-feature em{display:block;font-style:normal;color:#b9822b;font-size:11px;font-weight:1000;letter-spacing:.12em}.cdv2-premium-feature b,.cdv2-premium-list-head b{display:block;margin-top:3px;font-size:18px;font-weight:1000;color:#17120c}.cdv2-premium-feature span,.cdv2-premium-list-head span{font-size:12px;color:#857666}.cdv2-premium-feature button{border:none;border-radius:999px;background:#fff;color:#9a641d;padding:8px 12px;font-size:12px;font-weight:950;box-shadow:0 8px 18px rgba(77,55,25,.08)}
.cdv2-premium-showcase{display:grid;grid-template-columns:1.15fr 1fr;gap:10px;margin-bottom:18px}.cdv2-premium-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding-bottom:16px}.cdv2-premium-card{position:relative;overflow:hidden;border:1px solid rgba(224,210,184,.74);border-radius:22px;background:linear-gradient(180deg,#fff 0%,#fffaf3 100%);padding:13px;text-align:left;min-height:154px;color:#17120c;box-shadow:0 14px 30px rgba(54,40,21,.075);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.cdv2-premium-card:active{transform:scale(.975)}.cdv2-premium-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(54,40,21,.11);border-color:rgba(185,130,43,.55)}.cdv2-premium-card.wide{grid-row:span 2;min-height:318px;background:radial-gradient(circle at 86% 18%,rgba(237,202,126,.34),transparent 28%),linear-gradient(180deg,#fffdf7,#fff4df)}.cdv2-premium-card-glow{position:absolute;right:-22px;top:-28px;width:92px;height:92px;border-radius:50%;background:rgba(216,172,88,.18)}.cdv2-premium-card-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between}.cdv2-premium-card-top i{width:45px;height:45px;border-radius:17px;display:grid;place-items:center;font-style:normal;font-size:24px;background:linear-gradient(135deg,#fff7e8,#ebc775);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 18px rgba(165,111,37,.12)}.cdv2-premium-card-top em{font-style:normal;border-radius:999px;background:#f7ead2;color:#8a5a18;font-size:10px;font-weight:950;padding:5px 7px}.cdv2-premium-card b{position:relative;z-index:1;display:block;margin-top:12px;font-size:16px;font-weight:1000;line-height:1.22;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdv2-premium-card small{position:relative;z-index:1;display:block;margin-top:6px;color:#806f5b;font-size:12px;line-height:1.35;min-height:32px}.cdv2-premium-card-foot{position:relative;z-index:1;margin-top:13px;display:flex;align-items:center;justify-content:space-between;gap:8px}.cdv2-premium-card-foot strong{color:#a56e22;font-size:16px;font-weight:1000}.cdv2-premium-card-foot span{color:#17120c;font-size:11px;font-weight:950;white-space:nowrap}.cdv2-premium-card.wide b{margin-top:28px;font-size:22px}.cdv2-premium-card.wide small{font-size:13px;max-width:150px}.cdv2-premium-card.wide .cdv2-premium-card-top i{width:58px;height:58px;font-size:31px;border-radius:21px}.cdv2-premium-empty{grid-column:1/-1;background:#fff;border-radius:22px;padding:28px 16px;text-align:center}
@media(max-width:420px){.cdv2-premium-shell{padding-left:12px;padding-right:12px}.cdv2-premium-hero-main strong{font-size:26px}.cdv2-premium-showcase{grid-template-columns:1.05fr .95fr}.cdv2-premium-card{border-radius:20px;padding:12px}.cdv2-premium-card b{font-size:15px}.cdv2-premium-card.wide{min-height:306px}}
@media(prefers-reduced-motion:reduce){.cdv2-premium-card,.cdv2-premium-search button,.cdv2-premium-cats button{transition:none!important}.cdv2-premium-card:hover{transform:none!important}}


/* Laifu industrial polish 2026-06-01: smoother customer-facing SDK */
.cdv2-overlay{--ink:#101828;--muted:#667085;--line:#eaecf0;--bg:#f6f8fb;--card:#fff;--pri:#176b4d;--pri2:#0f5138;--pri-soft:rgba(23,107,77,.10);--pri-grad:linear-gradient(135deg,#176b4d,#0f5138);}
.cdv2-modal{border-radius:22px;box-shadow:0 24px 80px rgba(15,23,42,.28);overflow:hidden;}
.cdv2-modal-head{background:linear-gradient(180deg,#fff,#f8fafc);border-bottom:1px solid var(--line);}
.cdv2-modal-body{background:var(--card);}
.cdv2-modal-footer{position:sticky;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);}
.cdv2-input,.cdv2-field input,.cdv2-field select,.cdv2-field textarea{border-radius:14px;border:1px solid var(--line);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;}
.cdv2-input:focus,.cdv2-field input:focus,.cdv2-field select:focus,.cdv2-field textarea:focus{border-color:var(--pri);box-shadow:0 0 0 3px var(--pri-soft);outline:none;}
.cdv2-primary{background:var(--pri-grad);box-shadow:0 10px 24px rgba(23,107,77,.20);}
.cdv2-primary:disabled{opacity:.55;box-shadow:none;cursor:not-allowed;}
.cdv2-secondary{background:#f8fafc;border:1px solid var(--line);color:var(--ink);}
.cdv2-note,.cdv2-flow-notice,.jtsdk-flow-notice{border-radius:16px;background:#f8fafc;border:1px solid var(--line);color:var(--muted);line-height:1.65;}
.cdv2-mv-steps{gap:8px;align-items:center;}
.cdv2-mv-steps span{min-width:44px;text-align:center;border-radius:999px;}
.cdv2-mv-steps span.on{background:var(--pri);color:#fff;font-weight:700;box-shadow:0 8px 18px rgba(23,107,77,.18);}
.cdv2-chip.active{background:var(--pri);color:#fff;border-color:var(--pri);}
@media(max-width:520px){.cdv2-overlay{align-items:flex-end;padding:10px}.cdv2-modal,.cdv2-modal-wide{width:100%;max-height:92dvh;border-radius:22px 22px 16px 16px}.cdv2-modal-footer{padding-bottom:calc(14px + env(safe-area-inset-bottom));}}

/* === SDK performance/smooth loading polish 20260602 === */
.cdv2-loading small{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.5}.cdv2-error button{margin-top:12px;border:0;border-radius:12px;background:var(--pri);color:#fff;padding:10px 16px;font-weight:800}
/* MAOJUN_FIX_ALL_RIGHTS_TAB_CONTRAST_20260602
   Fix homepage category tab contrast: previous later rules forced active "全部权益" to white background
   while active text stayed white in some template/theme combinations, making it unreadable. */
.cdv2-root .cdv2-catTab.on,
.cdv2-root .cdv2-catTab[aria-current="true"]{
  background:linear-gradient(135deg,var(--pri),var(--pri2))!important;
  color:#fff!important;
  border-color:var(--pri)!important;
  box-shadow:0 8px 18px rgba(23,107,77,.16)!important;
}
.cdv2-root .cdv2-catTab.on i,
.cdv2-root .cdv2-catTab[aria-current="true"] i{color:#fff!important}
.cdv2-root .cdv2-catTab:not(.on):not([aria-current="true"]){
  color:#475467!important;
}
.cdv2-root[data-template="premium-life"] .cdv2-catTab.on,
.cdv2-root[data-template="premium-life-v1"] .cdv2-catTab.on,
.cdv2-root[data-template="premium"] .cdv2-catTab.on,
.cdv2-root[data-template="luxury-life"] .cdv2-catTab.on{
  background:#17120c!important;
  color:#fff!important;
  border-color:#17120c!important;
}

/* === Laifu orange-festival luxury upgrade 20260602: Hermes orange, premium commercial UI === */
:is(.cdv2-root[data-template="orange-festival"],.cdv2-root[data-template="orange-festival-v2"],.cdv2-root[data-template="dao-life-orange"],.cdv2-root[data-template="onecard-orange"],.cdv2-root:has(.cdv2-orange-luxury)){
  --pri:#ff6f1a!important;--pri2:#d94a12!important;--pri-soft:rgba(255,111,26,.11)!important;--pri-grad:linear-gradient(135deg,#ff8a22,#e85b16)!important;
  --ink:#241208!important;--muted:#8a6a58!important;--line:rgba(255,222,190,.86)!important;--bg:#fff7ef!important;--card:#fffaf4!important;
}
.cdv2-orange-luxury{background:radial-gradient(circle at 16% 0,rgba(255,255,255,.95),transparent 25%),linear-gradient(180deg,#fff0df 0,#fff8f0 282px,#f7f8fb 100%)!important;color:#241208;}
.cdv2-orange-luxury .cdv2-orange-hero{min-height:308px!important;padding-bottom:28px!important;background:radial-gradient(circle at 82% 12%,rgba(255,247,198,.96),transparent 17%),radial-gradient(circle at 14% 76%,rgba(255,209,116,.26),transparent 26%),linear-gradient(135deg,#bd3c11 0%,#f06818 48%,#ffb347 100%)!important;box-shadow:0 24px 58px rgba(154,60,10,.28),inset 0 1px 0 rgba(255,255,255,.24)!important;}
.cdv2-orange-luxury .cdv2-orange-hero:before{background:linear-gradient(120deg,rgba(255,255,255,.22),transparent 34%,rgba(255,255,255,.12) 72%,transparent),radial-gradient(circle at 54% 52%,rgba(255,255,255,.12),transparent 22%)!important;}
.cdv2-orange-luxury .cdv2-orange-logo{width:42px;height:42px;border-radius:16px;background:linear-gradient(145deg,#fffaf2,#ffe0b8)!important;color:#b84612!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 13px 24px rgba(116,44,10,.19)!important;letter-spacing:-.04em;}
.cdv2-orange-luxury .cdv2-orange-hero-top{gap:11px}.cdv2-orange-luxury .cdv2-orange-hero-top div:nth-child(2){flex:1;min-width:0}.cdv2-orange-luxury .cdv2-orange-hero-top b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdv2-orange-luxury .cdv2-orange-hero-top span{display:block;margin-top:3px;font-size:9px;letter-spacing:.15em;color:rgba(255,242,211,.86);font-weight:950}.cdv2-orange-luxury .cdv2-orange-hero-top button{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.13);color:#fff;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:950;backdrop-filter:blur(10px);}
.cdv2-orange-luxury .cdv2-orange-hero-title{margin-top:31px!important;max-width:310px}.cdv2-orange-luxury .cdv2-orange-hero-title em{background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.22)!important;color:#ffe9bf!important;letter-spacing:.12em!important;font-size:10px!important}.cdv2-orange-luxury .cdv2-orange-hero-title strong{margin-top:10px!important;font-size:32px!important;line-height:1.08!important;letter-spacing:-1.15px;text-shadow:0 10px 26px rgba(92,31,0,.28);}.cdv2-orange-luxury .cdv2-orange-hero-title small{display:block;margin-top:12px;max-width:286px;color:rgba(255,255,255,.82)!important;line-height:1.65;font-size:12px;}
.cdv2-orange-luxury .cdv2-orange-hero-card{right:18px;bottom:86px;width:116px;border-radius:22px;background:rgba(42,19,6,.20)!important;border-color:rgba(255,255,255,.22)!important;box-shadow:0 16px 34px rgba(92,31,0,.22),inset 0 1px 0 rgba(255,255,255,.18)!important}.cdv2-orange-luxury .cdv2-orange-hero-card b{font-size:27px!important}.cdv2-orange-luxury .cdv2-orange-hero-card span,.cdv2-orange-luxury .cdv2-orange-hero-card small{color:#ffeac4!important;}
.cdv2-orange-hero-strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:26px}.cdv2-orange-hero-strip button{border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.14);color:#fff;padding:10px 7px;text-align:left;backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.15);min-width:0}.cdv2-orange-hero-strip i{display:block;font-style:normal;font-size:20px}.cdv2-orange-hero-strip span{display:block;margin-top:6px;font-size:11px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdv2-orange-hero-strip b{display:block;margin-top:3px;font-size:10px;color:#ffe8ad;font-weight:950}
.cdv2-orange-luxury .cdv2-orange-search{height:62px!important;margin-top:-30px!important;border-radius:25px!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(255,218,184,.96)!important;box-shadow:0 20px 46px rgba(139,55,10,.18),inset 0 1px 0 rgba(255,255,255,.95)!important;backdrop-filter:blur(12px)}.cdv2-orange-luxury .cdv2-orange-search span{font-size:22px;color:#cf4e14!important}.cdv2-orange-luxury .cdv2-orange-search input{font-weight:850;color:#281307}.cdv2-orange-luxury .cdv2-orange-search button{height:47px;border-radius:19px;background:linear-gradient(135deg,#ff8a22,#d94a12)!important;box-shadow:0 11px 22px rgba(216,74,18,.25);}
.cdv2-orange-feature{display:flex;align-items:end;justify-content:space-between;margin:6px 2px 12px}.cdv2-orange-feature em{display:block;font-style:normal;color:#c35317;font-size:10px;font-weight:1000;letter-spacing:.14em}.cdv2-orange-feature b{display:block;margin-top:4px;font-size:18px;font-weight:1000;color:#241208}.cdv2-orange-feature span{font-size:12px;color:#8a6a58}.cdv2-orange-feature button{border:0;border-radius:999px;background:#fff;color:#c35317;padding:8px 12px;font-size:12px;font-weight:950;box-shadow:0 8px 18px rgba(139,55,10,.09)}
.cdv2-orange-luxury .cdv2-orange-tabs{padding-top:4px;padding-bottom:13px}.cdv2-orange-luxury .cdv2-orange-tabs button{min-width:68px;border-radius:19px!important;background:rgba(255,255,255,.86)!important;border:1px solid rgba(255,222,190,.88)!important;color:#7a4426!important;font-weight:950;box-shadow:0 8px 20px rgba(139,55,10,.055)}.cdv2-orange-luxury .cdv2-orange-tabs button.on{background:linear-gradient(135deg,#ff7a1a,#d94a12)!important;color:#fff!important;border-color:#ff7a1a!important;box-shadow:0 12px 24px rgba(216,74,18,.25)!important}
.cdv2-orange-luxury .cdv2-orange-main,.cdv2-orange-luxury .cdv2-orange-panel{border-radius:24px!important;background:rgba(255,255,255,.92)!important;border:1px solid rgba(255,224,194,.84)!important;box-shadow:0 16px 38px rgba(139,55,10,.085)!important}.cdv2-orange-luxury .cdv2-orange-grid{gap:11px 8px}.cdv2-orange-luxury .cdv2-orange-tile{min-height:122px!important;border-radius:20px!important;background:linear-gradient(180deg,#fff,#fff8f2)!important;padding:21px 5px 9px!important;box-shadow:inset 0 0 0 1px rgba(255,224,194,.45);}.cdv2-orange-luxury .cdv2-orange-tile:hover{background:#fff5ec!important;box-shadow:inset 0 0 0 1px rgba(255,111,26,.18),0 12px 22px rgba(139,55,10,.08)!important}.cdv2-orange-luxury .cdv2-orange-tile i{width:43px!important;height:43px!important;border-radius:17px!important;background:linear-gradient(145deg,#fff4e3,#ffbd6f)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.66),0 10px 20px rgba(255,111,26,.21)!important}.cdv2-orange-luxury .cdv2-orange-tile b{margin-top:8px!important;color:#241208!important;font-weight:1000}.cdv2-orange-luxury .cdv2-orange-tile small{color:#8a6a58!important;font-weight:800}.cdv2-orange-luxury .cdv2-orange-tile em{display:inline-flex;margin-top:7px;font-style:normal;font-size:10px;font-weight:950;color:#c35317}.cdv2-orange-luxury .cdv2-orange-pill{background:linear-gradient(135deg,#241208,#7c3418)!important;color:#ffe8c5!important;box-shadow:0 7px 15px rgba(36,18,8,.13)!important;}
.cdv2-orange-luxury .cdv2-orange-black{background:radial-gradient(circle at 88% 20%,rgba(255,168,70,.16),transparent 28%),linear-gradient(135deg,#160d08,#322015 56%,#6e3a18)!important;border-radius:27px!important;border:1px solid rgba(255,214,137,.20)!important;box-shadow:0 20px 46px rgba(45,24,10,.25),inset 0 1px 0 rgba(255,255,255,.08)!important}.cdv2-orange-luxury .cdv2-orange-black em{color:#ffcf8a!important;letter-spacing:.14em}.cdv2-orange-luxury .cdv2-orange-black b{letter-spacing:-.35px}.cdv2-orange-luxury .cdv2-orange-black i{font-style:normal;color:#ffd48a!important;text-shadow:0 10px 26px rgba(0,0,0,.22)}.cdv2-orange-luxury .cdv2-orange-black i:after{content:'权益'!important;display:block;font-size:12px!important;color:#ffd48a!important}
.cdv2-orange-luxury .cdv2-orange-spring{border-radius:28px!important;background:radial-gradient(circle at 84% 16%,rgba(255,238,183,.48),transparent 24%),linear-gradient(135deg,#ff8a22,#e45816)!important;border:1px solid rgba(255,219,160,.36)!important;box-shadow:0 20px 44px rgba(216,74,18,.25)!important}.cdv2-orange-luxury .cdv2-orange-spring em{letter-spacing:.14em;color:#fff1c9!important}.cdv2-orange-luxury .cdv2-orange-spring small{color:rgba(255,255,255,.78)!important}.cdv2-orange-luxury .cdv2-orange-spring button{background:#241208!important;color:#ffe2bd!important;border:0!important;box-shadow:0 12px 24px rgba(36,18,8,.22)}
.cdv2-orange-empty{grid-column:1/-1;padding:20px!important;border-radius:18px;background:#fff8f2;color:#8a6a58}.cdv2-orange-empty b{display:block;color:#241208;margin-bottom:4px}
@media(max-width:420px){.cdv2-orange-luxury .cdv2-orange-hero{min-height:318px!important}.cdv2-orange-luxury .cdv2-orange-hero-title strong{font-size:30px!important}.cdv2-orange-luxury .cdv2-orange-hero-card{right:14px;bottom:92px;width:106px}.cdv2-orange-hero-strip{gap:7px}.cdv2-orange-hero-strip button{padding:9px 6px}.cdv2-orange-luxury .cdv2-orange-tile{min-height:116px!important;padding-left:3px!important;padding-right:3px!important}.cdv2-orange-luxury .cdv2-orange-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* === Laifu orange-festival layout refine 20260602: user-facing layout refine: clear, local-life, orange unchanged === */
.cdv2-orange-layout-v2{
  background:linear-gradient(180deg,#fff4e8 0,#fffaf5 360px,#f7f8fb 100%)!important;
  padding-left:14px!important;padding-right:14px!important;
}
.cdv2-orange-layout-v2 .cdv2-orange-hero{
  min-height:auto!important;
  padding:18px 18px 20px!important;
  border-radius:0 0 32px 32px!important;
  background:radial-gradient(circle at 82% 8%,rgba(255,243,190,.92),transparent 15%),linear-gradient(135deg,#b83b12 0%,#f36a1b 52%,#ffad3f 100%)!important;
  box-shadow:0 18px 42px rgba(154,60,10,.22),inset 0 1px 0 rgba(255,255,255,.24)!important;
}
.cdv2-orange-layout-v2 .cdv2-orange-hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:18px;align-items:end;margin-top:26px}
.cdv2-orange-layout-v2 .cdv2-orange-hero-title{margin-top:0!important;max-width:none!important}
.cdv2-orange-layout-v2 .cdv2-orange-hero-title em{display:inline-flex!important;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.15)!important;border:1px solid rgba(255,255,255,.22)!important;color:#ffe9bf!important;font-size:9px!important;font-weight:950;letter-spacing:.11em!important;white-space:nowrap}
.cdv2-orange-layout-v2 .cdv2-orange-hero-title strong{display:block;margin-top:11px!important;font-size:30px!important;line-height:1.08!important;letter-spacing:-1.05px!important;font-weight:950!important;color:#fff!important;text-shadow:0 9px 24px rgba(92,31,0,.24)!important}
.cdv2-orange-layout-v2 .cdv2-orange-hero-title small{display:block;margin-top:11px!important;max-width:305px!important;color:rgba(255,255,255,.84)!important;line-height:1.62!important;font-size:12px!important;font-weight:750!important;letter-spacing:0!important}
.cdv2-orange-layout-v2 .cdv2-orange-hero-card{position:static!important;width:auto!important;min-height:112px;border-radius:24px!important;padding:14px 12px!important;background:rgba(36,18,8,.22)!important;border:1px solid rgba(255,255,255,.20)!important;box-shadow:0 14px 30px rgba(92,31,0,.18),inset 0 1px 0 rgba(255,255,255,.16)!important;backdrop-filter:blur(12px);text-align:left!important}
.cdv2-orange-layout-v2 .cdv2-orange-hero-card span{display:block;color:#ffe8c4!important;font-size:11px!important;font-weight:900!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-card b{display:block;margin-top:3px;font-size:30px!important;line-height:1!important;color:#fff!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-card small{display:block;margin-top:7px;color:rgba(255,234,196,.82)!important;font-size:10px!important;line-height:1.35!important}
.cdv2-orange-layout-v2 .cdv2-orange-hero-strip{margin-top:18px!important;gap:9px!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-strip button{border-radius:18px!important;padding:10px 9px!important;background:rgba(255,255,255,.15)!important;border-color:rgba(255,255,255,.20)!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-strip i{font-size:18px!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-strip span{font-size:11px!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-strip b{font-size:10px!important}
.cdv2-orange-layout-v2 .cdv2-orange-search{height:58px!important;margin:-20px 2px 12px!important;border-radius:24px!important;display:grid!important;grid-template-columns:28px 1fr 66px;gap:8px;padding:6px 7px 6px 14px!important;background:rgba(255,255,255,.97)!important;border:1px solid rgba(255,220,188,.92)!important;box-shadow:0 14px 34px rgba(139,55,10,.14),inset 0 1px 0 rgba(255,255,255,.95)!important}.cdv2-orange-layout-v2 .cdv2-orange-search input{font-size:13px!important;font-weight:760!important}.cdv2-orange-layout-v2 .cdv2-orange-search button{height:46px!important;border-radius:18px!important;font-size:12px!important}
.cdv2-orange-layout-v2 .cdv2-orange-tabs{display:flex!important;gap:8px!important;overflow-x:auto!important;padding:2px 0 14px!important;scrollbar-width:none}.cdv2-orange-layout-v2 .cdv2-orange-tabs::-webkit-scrollbar{display:none}.cdv2-orange-layout-v2 .cdv2-orange-tabs button{display:inline-flex!important;align-items:center!important;gap:5px!important;flex:0 0 auto;min-width:auto!important;height:38px!important;padding:0 13px!important;border-radius:999px!important;font-size:12px!important;background:#fff!important;color:#714329!important;border:1px solid rgba(255,222,190,.88)!important;box-shadow:0 8px 18px rgba(139,55,10,.055)!important}.cdv2-orange-layout-v2 .cdv2-orange-tabs button i{font-style:normal;font-size:14px}.cdv2-orange-layout-v2 .cdv2-orange-tabs button.on{background:linear-gradient(135deg,#ff7a1a,#d94a12)!important;color:#fff!important;border-color:#ff7a1a!important}
.cdv2-orange-layout-v2 .cdv2-orange-feature{margin:2px 2px 12px!important;align-items:center!important}.cdv2-orange-layout-v2 .cdv2-orange-feature em{color:#c35317!important;font-size:9px!important;letter-spacing:.13em!important}.cdv2-orange-layout-v2 .cdv2-orange-feature b{font-size:17px!important;letter-spacing:-.25px!important}.cdv2-orange-layout-v2 .cdv2-orange-feature button{background:#fff!important;color:#c35317!important;border:1px solid rgba(255,222,190,.8)!important}
.cdv2-orange-layout-v2 .cdv2-orange-main,.cdv2-orange-layout-v2 .cdv2-orange-panel{border-radius:24px!important;padding:14px 12px!important;background:rgba(255,255,255,.94)!important;border:1px solid rgba(255,224,194,.78)!important;box-shadow:0 12px 30px rgba(139,55,10,.075)!important}.cdv2-orange-layout-v2 .cdv2-orange-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.cdv2-orange-layout-v2 .cdv2-orange-tile{min-height:116px!important;border-radius:20px!important;padding:19px 6px 10px!important;background:linear-gradient(180deg,#fff,#fff9f4)!important}.cdv2-orange-layout-v2 .cdv2-orange-tile i{width:42px!important;height:42px!important;border-radius:16px!important}.cdv2-orange-layout-v2 .cdv2-orange-tile b{font-size:12px!important;line-height:1.25!important;letter-spacing:-.15px!important}.cdv2-orange-layout-v2 .cdv2-orange-tile small{font-size:10px!important;line-height:1.25!important}.cdv2-orange-layout-v2 .cdv2-orange-tile em{font-size:10px!important}
.cdv2-orange-layout-v2 .cdv2-orange-black,.cdv2-orange-layout-v2 .cdv2-orange-spring{margin:14px 0!important;border-radius:26px!important}.cdv2-orange-layout-v2 .cdv2-orange-black{padding:18px!important}.cdv2-orange-layout-v2 .cdv2-orange-black b{font-size:20px!important}.cdv2-orange-layout-v2 .cdv2-orange-black span{line-height:1.55!important}.cdv2-orange-layout-v2 .cdv2-orange-spring{padding:22px 18px!important}.cdv2-orange-layout-v2 .cdv2-orange-divider{margin:18px 0 12px!important}.cdv2-orange-layout-v2 .cdv2-orange-panel-title{padding:0 2px 11px!important}.cdv2-orange-layout-v2 .cdv2-orange-panel-title b{font-size:17px!important}.cdv2-orange-layout-v2 .cdv2-orange-panel-title span{font-size:12px!important}
@media(max-width:420px){.cdv2-orange-layout-v2{padding-left:12px!important;padding-right:12px!important}.cdv2-orange-layout-v2 .cdv2-orange-hero{padding:16px 16px 18px!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-layout{grid-template-columns:minmax(0,1fr) 96px;gap:12px;margin-top:22px}.cdv2-orange-layout-v2 .cdv2-orange-hero-title strong{font-size:28px!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-title small{font-size:11px!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-card{min-height:104px;padding:12px 10px!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-card b{font-size:27px!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-strip{grid-template-columns:repeat(3,1fr)!important}.cdv2-orange-layout-v2 .cdv2-orange-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px 7px!important}.cdv2-orange-layout-v2 .cdv2-orange-tile{min-height:112px!important;padding-left:4px!important;padding-right:4px!important}}
@media(min-width:560px){.cdv2-orange-layout-v2 .cdv2-orange-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-title strong{font-size:34px!important}}

/* === Laifu orange-festival layout refine 20260602 B: user-facing density polish === */
.cdv2-orange-layout-v2 .cdv2-orange-hero{padding-bottom:24px!important;background:radial-gradient(circle at 82% 8%,rgba(255,239,190,.70),transparent 15%),linear-gradient(135deg,#a83a16 0%,#e7601b 54%,#f49a37 100%)!important;}
.cdv2-orange-layout-v2 .cdv2-orange-hero-layout{grid-template-columns:minmax(0,1fr) 104px!important;gap:20px!important;margin-top:30px!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-title strong{font-size:29px!important;letter-spacing:-.9px!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-title small{max-width:292px!important;color:rgba(255,255,255,.78)!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-card{min-height:104px!important;background:rgba(36,18,8,.18)!important}
.cdv2-orange-layout-v2 .cdv2-orange-hero-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-top:20px!important;gap:10px!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-strip button{padding:12px 11px!important;background:rgba(255,255,255,.12)!important}
.cdv2-orange-layout-v2 .cdv2-orange-search{margin-top:-18px!important;margin-bottom:16px!important;box-shadow:0 12px 28px rgba(139,55,10,.11),inset 0 1px 0 rgba(255,255,255,.95)!important}.cdv2-orange-layout-v2 .cdv2-orange-tabs{padding-bottom:18px!important;gap:9px!important}.cdv2-orange-layout-v2 .cdv2-orange-tabs button{height:40px!important;padding:0 14px!important}
.cdv2-orange-layout-v2 .cdv2-orange-feature{margin-top:6px!important;margin-bottom:14px!important}.cdv2-orange-layout-v2 .cdv2-orange-main,.cdv2-orange-layout-v2 .cdv2-orange-panel{padding:16px 14px!important;margin-bottom:18px!important;box-shadow:0 10px 26px rgba(139,55,10,.065)!important}.cdv2-orange-layout-v2 .cdv2-orange-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px 10px!important}.cdv2-orange-layout-v2 .cdv2-orange-tile{min-height:124px!important;padding:15px 7px 11px!important}.cdv2-orange-layout-v2 .cdv2-orange-pill{position:static!important;display:inline-flex!important;margin:0 auto 8px!important;max-width:88%;height:18px!important;padding:0 7px!important;background:rgba(255,111,26,.10)!important;color:#a94a16!important;border:1px solid rgba(255,111,26,.13)!important;box-shadow:none!important;font-size:9px!important}.cdv2-orange-layout-v2 .cdv2-orange-tile i{width:40px!important;height:40px!important;background:linear-gradient(145deg,#fff8ec,#ffd39e)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 16px rgba(255,111,26,.14)!important}.cdv2-orange-layout-v2 .cdv2-orange-tile b{margin-top:9px!important;font-size:12px!important}.cdv2-orange-layout-v2 .cdv2-orange-tile small{margin-top:4px!important}.cdv2-orange-layout-v2 .cdv2-orange-tile em{margin-top:7px!important;color:#b6531a!important}
.cdv2-orange-layout-v2 .cdv2-orange-black,.cdv2-orange-layout-v2 .cdv2-orange-spring{margin:18px 0!important}.cdv2-orange-layout-v2 .cdv2-orange-spring{background:linear-gradient(135deg,#e7601b,#f49a37)!important}.cdv2-orange-layout-v2 .cdv2-orange-divider{margin:22px 0 14px!important}
@media(max-width:420px){.cdv2-orange-layout-v2 .cdv2-orange-hero-layout{grid-template-columns:minmax(0,1fr) 92px!important;gap:12px!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-title strong{font-size:27px!important}.cdv2-orange-layout-v2 .cdv2-orange-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:11px 8px!important}.cdv2-orange-layout-v2 .cdv2-orange-tile{min-height:120px!important}}
@media(min-width:560px){.cdv2-orange-layout-v2 .cdv2-orange-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cdv2-orange-layout-v2 .cdv2-orange-hero-title strong{font-size:32px!important}}


/* WECHAT_SCROLL_FIX_20260603: allow document-level vertical pan inside WeChat WebView */
html,body{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;}
@media(max-width:920px){body{padding:0!important}.wrap{min-height:auto!important;overflow:visible!important}.cdv2-root{min-height:auto!important;overflow:visible!important}.cdv2-shell{height:auto!important;min-height:100vh!important;min-height:100dvh!important;overflow:visible!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important}}
.cdv2-list,.cdv2-grid,.cdv2-section,main{touch-action:pan-y!important;}

/* ORDER_COPY_COMPACT_20260604: compact Chinese-only order rows */
.cdv2-order-row{align-items:flex-start!important;gap:10px!important;padding:12px 13px!important}
.cdv2-order-row b{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important;flex:1 1 auto!important;line-height:1.25!important;flex-wrap:wrap!important}
.cdv2-order-row b strong{font-size:14px!important;font-weight:900!important;color:var(--ink)!important;white-space:nowrap!important;max-width:7.5em!important;overflow:hidden!important;text-overflow:ellipsis!important}
.cdv2-order-row b i{font-style:normal!important;font-size:10px!important;font-weight:850!important;color:var(--pri)!important;background:var(--pri-soft)!important;border-radius:999px!important;padding:2px 6px!important;line-height:1.3!important;white-space:nowrap!important}
.cdv2-order-row b code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:11px!important;font-weight:800!important;color:#64748b!important;background:#f8fafc!important;border:1px solid #edf2f7!important;border-radius:8px!important;padding:2px 5px!important;white-space:nowrap!important;max-width:120px!important;overflow:hidden!important;text-overflow:ellipsis!important}
.cdv2-order-row span{flex-basis:100%!important;margin-top:5px!important;font-size:12px!important;line-height:1.45!important;white-space:normal!important;color:#64748b!important}
.cdv2-order-row em{align-self:center!important;min-width:42px!important;text-align:center!important;padding:5px 9px!important;font-size:12px!important;white-space:nowrap!important}
@media(max-width:420px){.cdv2-order-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important}.cdv2-order-row b{grid-column:1/2}.cdv2-order-row span{grid-column:1/3}.cdv2-order-row em{grid-column:2/3;grid-row:1/2}.cdv2-order-row b code{max-width:108px!important}.cdv2-order-row b strong{max-width:6.5em!important}}
