/* Tencent Map free weekly benefit — follows the recharge iOS27 token system. */
.taxi-coupon-product {
  position: relative; display: grid; grid-template-columns: minmax(0,1fr) 108px; gap: 16px;
  width: 100%; min-height: 176px; padding: 20px; overflow: hidden; text-align: left;
  border: .5px solid rgba(43,122,120,.26); border-radius: 22px;
  color: #133837; background: linear-gradient(145deg,rgba(234,252,248,.96),rgba(224,244,255,.9));
  box-shadow: 0 16px 34px rgba(33,96,106,.12); cursor: pointer;
}
.taxi-coupon-product::before { content:""; position:absolute; width:180px; height:180px; right:-66px; top:-92px; border-radius:50%; background:rgba(255,255,255,.62); filter:blur(1px); }
.taxi-coupon-product-copy { position:relative; z-index:1; display:flex; flex-direction:column; min-width:0; }
.taxi-coupon-product-copy > small { width:max-content; padding:5px 9px; border-radius:999px; color:#0d625f; background:rgba(23,148,140,.11); font-size:11px; font-weight:760; letter-spacing:.02em; }
.taxi-coupon-product-copy > strong { margin-top:13px; color:#123c3a; font-size:22px; line-height:1.3; letter-spacing:-.02em; }
.taxi-coupon-product-copy > p { margin:5px 0 0; color:#416967; font-size:13px; line-height:1.55; }
.taxi-coupon-product-copy > span { display:flex; align-items:center; gap:6px; margin-top:auto; color:#0b6662; font-size:13px; font-weight:760; }
.taxi-coupon-product-copy > span::after { content:"›"; font-size:20px; font-weight:500; line-height:1; }
.taxi-coupon-product-art { position:relative; z-index:1; align-self:center; width:108px; height:120px; }
.taxi-coupon-product-art i { position:absolute; display:flex; flex-direction:column; justify-content:center; width:88px; height:98px; padding:12px; border:1px solid rgba(255,255,255,.72); border-radius:16px; box-shadow:0 10px 24px rgba(16,80,86,.14); font-style:normal; }
.taxi-coupon-product-art i:first-child { left:0; top:15px; transform:rotate(-7deg); color:#145a58; background:linear-gradient(160deg,#c9f3e8,#9fdbd4); }
.taxi-coupon-product-art i:last-child { right:0; top:1px; transform:rotate(7deg); color:#174f70; background:linear-gradient(160deg,#d7edff,#a9d3f5); }
.taxi-coupon-product-art small { font-size:10px; font-weight:700; opacity:.78; }
.taxi-coupon-product-art strong { margin-top:5px; color:inherit; font-size:27px; line-height:1; }
.taxi-coupon-product-art span { margin-top:7px; font-size:9px; font-weight:700; white-space:nowrap; }

.taxi-coupon-backdrop { align-items:flex-end; }
.taxi-coupon-sheet { --taxi-teal:#157d77; --taxi-teal-dark:#0e625e; }
.taxi-coupon-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:12px; margin-bottom:20px; }
.taxi-coupon-head small { display:block; color:var(--taxi-teal-dark); font-size:11px; font-weight:760; letter-spacing:.04em; }
.taxi-coupon-head h3 { margin:4px 0 0; }
.taxi-coupon-head p { margin:4px 0 0; font-size:13px; line-height:1.5; }
.taxi-coupon-stack { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 0 16px; }
.taxi-coupon-stack article { position:relative; box-sizing:border-box; display:flex; flex-direction:column; min-width:0; height:118px; padding:16px; border:.5px solid rgba(255,255,255,.78); border-radius:18px; box-shadow:0 12px 28px rgba(22,89,94,.13); }
.taxi-coupon-stack article:first-child { left:0; z-index:2; color:#124e4b; background:linear-gradient(145deg,#d8f7ee,#a9dfd7); transform:none; }
.taxi-coupon-stack article:last-child { right:0; top:0; color:#174c6a; background:linear-gradient(145deg,#e2f2ff,#b4d8f4); transform:none; }
.taxi-coupon-stack small { font-size:11px; font-weight:760; }
.taxi-coupon-stack strong { margin-top:7px; color:inherit!important; font-size:31px; line-height:1; letter-spacing:-.03em; }
.taxi-coupon-stack strong b { margin-right:2px; font-size:15px; }
.taxi-coupon-stack span { margin-top:auto; font-size:11px; font-weight:680; }
.taxi-coupon-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-bottom:20px; padding:12px 0; border-block:.5px solid var(--clarity-separator,rgba(60,60,67,.18)); }
.taxi-coupon-benefits span { position:relative; color:var(--clarity-secondary,#5f6670); text-align:center; font-size:12px; font-weight:680; }
.taxi-coupon-benefits span+span::before { content:""; position:absolute; left:0; top:1px; bottom:1px; width:.5px; background:var(--clarity-separator,rgba(60,60,67,.18)); }
.taxi-coupon-guide-entry { display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:12px; width:100%; min-height:78px; margin:0 0 18px; padding:10px 12px 10px 10px; border:.5px solid rgba(36,121,188,.22); border-radius:16px; color:var(--clarity-text,#1d1d1f); text-align:left; background:linear-gradient(135deg,rgba(229,247,255,.92),rgba(240,250,255,.74)); box-shadow:0 8px 22px rgba(36,121,188,.08); }
.taxi-coupon-guide-entry img { display:block; width:54px; height:58px; object-fit:cover; object-position:top; border-radius:10px; box-shadow:0 4px 12px rgba(25,92,154,.13); }
.taxi-coupon-guide-entry > span { display:flex; flex-direction:column; min-width:0; }
.taxi-coupon-guide-entry small { color:#176aa5; font-size:10px; font-weight:760; line-height:1.3; }
.taxi-coupon-guide-entry strong { margin-top:3px; color:var(--clarity-text,#1d1d1f); font-size:13px; line-height:1.4; }
.taxi-coupon-guide-entry em { margin-top:3px; overflow:hidden; color:var(--clarity-secondary,#5f6670); font-size:10px; font-style:normal; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.taxi-coupon-guide-entry > b { min-width:58px; color:#176aa5; font-size:11px; font-weight:760; text-align:right; }
.taxi-coupon-guide-entry > b::after { content:"›"; margin-left:4px; font-size:17px; font-weight:500; vertical-align:-1px; }
.taxi-coupon-guide-entry:active { transform:scale(.99); }
.taxi-coupon-phone-field { display:grid; gap:8px; }
.taxi-coupon-phone-field > span { color:var(--clarity-text,#1d1d1f); font-size:14px; font-weight:680; }
.taxi-coupon-phone-field > div { position:relative; }
.taxi-coupon-phone-field input { box-sizing:border-box; width:100%; min-height:50px; padding:0 44px 0 14px!important; font-size:18px!important; font-weight:680; letter-spacing:.04em; }
.taxi-coupon-phone-field i { position:absolute; right:15px; top:50%; width:9px; height:9px; margin-top:-5px; border-right:2px solid var(--taxi-teal); border-bottom:2px solid var(--taxi-teal); transform:rotate(-45deg); pointer-events:none; }
.taxi-coupon-phone-field > small { color:var(--clarity-secondary,#666); font-size:12px; line-height:1.5; }
.taxi-coupon-eligibility { display:grid; grid-template-columns:32px minmax(0,1fr); gap:10px; align-items:center; margin-top:16px; padding:13px 14px; border-radius:14px; background:var(--clarity-fill,rgba(118,118,128,.1)); }
.taxi-coupon-eligibility > span { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:#65707a; background:rgba(118,118,128,.12); }
.taxi-coupon-eligibility > span::after { content:"i"; font:700 15px/1 Georgia,serif; }
.taxi-coupon-eligibility strong { display:block; color:var(--clarity-text,#1d1d1f); font-size:13px; line-height:1.45; }
.taxi-coupon-eligibility p { margin:2px 0 0!important; font-size:12px; line-height:1.5; }
.taxi-coupon-eligibility.is-allowed { background:rgba(36,151,111,.1); }
.taxi-coupon-eligibility.is-allowed > span { color:#11754f; background:rgba(36,151,111,.16); }
.taxi-coupon-eligibility.is-allowed > span::after { content:"✓"; font-family:inherit; }
.taxi-coupon-eligibility.is-blocked { background:rgba(217,85,72,.1); }
.taxi-coupon-eligibility.is-blocked > span { color:#b13b31; background:rgba(217,85,72,.14); }
.taxi-coupon-eligibility.is-blocked > span::after { content:"!"; font-family:inherit; }
.taxi-coupon-primary { width:100%; min-height:50px; margin-top:16px; border:0; border-radius:14px; color:#fff; background:linear-gradient(135deg,var(--taxi-teal),var(--taxi-teal-dark)); box-shadow:0 10px 22px rgba(21,125,119,.2); font-size:16px; font-weight:760; }
.taxi-coupon-sheet .taxi-coupon-primary:disabled { color:#344442!important; background:#d8e4e2!important; box-shadow:none; opacity:1!important; cursor:default; }
html[data-theme="dark"] .taxi-coupon-sheet .taxi-coupon-primary:disabled { color:#cbdad7!important; background:#334842!important; }
.taxi-coupon-rules { display:grid; gap:6px; margin:18px 0 0; padding:16px 0 0 20px; border-top:.5px solid var(--clarity-separator,rgba(60,60,67,.18)); color:var(--clarity-secondary,#666); font-size:11px; line-height:1.55; }
.taxi-coupon-result { text-align:center; }
.taxi-coupon-result-mark { display:grid; place-items:center; width:58px; height:58px; margin:6px auto 12px; border-radius:50%; color:#fff; background:linear-gradient(145deg,#2a9a70,#157d77); box-shadow:0 12px 26px rgba(21,125,119,.23); font-size:26px; font-weight:700; }
.taxi-coupon-result > small { color:#157d77; font-size:12px; font-weight:760; }
.taxi-coupon-result > h3 { margin:5px 0 4px; }
.taxi-coupon-result > p { margin:0; font-size:13px; }
.taxi-coupon-result-list { margin-top:18px; border-block:.5px solid var(--clarity-separator,rgba(60,60,67,.18)); text-align:left; }
.taxi-coupon-result-list article { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:11px; align-items:center; min-height:66px; }
.taxi-coupon-result-list article+article { border-top:.5px solid var(--clarity-separator,rgba(60,60,67,.18)); }
.taxi-coupon-result-list article > span { display:grid; place-items:center; width:36px; height:36px; border-radius:11px; color:#157d77; background:rgba(21,125,119,.1); font-size:18px; font-weight:760; }
.taxi-coupon-result-list strong { display:block; color:var(--clarity-text,#1d1d1f); font-size:14px; }
.taxi-coupon-result-list small { display:block; margin-top:3px; color:var(--clarity-secondary,#666); font-size:11px; }
.taxi-coupon-result-list em { color:#986213; font-size:11px; font-style:normal; font-weight:700; }
.taxi-coupon-usage { margin-top:18px; padding:16px; border-radius:16px; text-align:left; background:rgba(21,125,119,.08); }
.taxi-coupon-usage > strong { color:var(--clarity-text,#1d1d1f); font-size:14px; }
.taxi-coupon-usage ol { display:grid; gap:7px; margin:10px 0 0; padding-left:22px; color:var(--clarity-secondary,#555); font-size:13px; line-height:1.5; }
.taxi-coupon-verification-note { margin-top:14px!important; color:var(--clarity-secondary,#666)!important; font-size:11px!important; line-height:1.6; text-align:left; }

.taxi-coupon-guide-backdrop { z-index:1120; align-items:center; padding:14px; }
.taxi-coupon-guide-sheet { width:min(100%,430px); max-height:min(92dvh,820px); padding:14px; border-radius:24px; opacity:1; transform:none; animation:none!important; overscroll-behavior:contain; }
.taxi-coupon-guide-sheet header { position:sticky; top:-14px; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; margin:-14px -14px 12px; padding:15px 14px 12px; border-bottom:.5px solid var(--clarity-separator,rgba(60,60,67,.18)); background:rgba(255,255,255,.93); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.taxi-coupon-guide-sheet header small { display:block; color:#176aa5; font-size:11px; font-weight:760; }
.taxi-coupon-guide-sheet header h3 { margin:3px 0 0; font-size:19px; }
.taxi-coupon-guide-sheet > img { display:block; width:100%; height:auto; border-radius:14px; background:#e9f7ff; }
.taxi-coupon-guide-sheet > p { margin:12px 2px 2px; color:var(--clarity-secondary,#5f6670); font-size:12px; line-height:1.55; }
.taxi-coupon-guide-sheet > p strong { color:var(--clarity-text,#1d1d1f); }
body.taxi-coupon-guide-open { overflow:hidden; }

html[data-theme="dark"] .taxi-coupon-product { border-color:rgba(105,214,203,.25); color:#eafbf8; background:linear-gradient(145deg,rgba(28,64,65,.96),rgba(26,49,68,.96)); box-shadow:0 16px 34px rgba(0,0,0,.22); }
html[data-theme="dark"] .taxi-coupon-product::before { background:rgba(255,255,255,.04); }
html[data-theme="dark"] .taxi-coupon-product-copy > small { color:#8ce1d7; background:rgba(75,197,184,.14); }
html[data-theme="dark"] .taxi-coupon-product-copy > strong { color:#f0fffd; }
html[data-theme="dark"] .taxi-coupon-product-copy > p { color:#bad5d2; }
html[data-theme="dark"] .taxi-coupon-product-copy > span { color:#91ddd5; }
html[data-theme="dark"] .taxi-coupon-stack article:first-child { color:#d9fffa; background:linear-gradient(145deg,#1e6863,#235853); }
html[data-theme="dark"] .taxi-coupon-stack article:last-child { color:#e5f5ff; background:linear-gradient(145deg,#295a76,#27485f); }
html[data-theme="dark"] .taxi-coupon-head small,html[data-theme="dark"] .taxi-coupon-result > small { color:#87ded5; }
html[data-theme="dark"] .taxi-coupon-eligibility.is-allowed { background:rgba(64,190,144,.14); }
html[data-theme="dark"] .taxi-coupon-eligibility.is-allowed > span { color:#8de0bc; }
html[data-theme="dark"] .taxi-coupon-eligibility.is-blocked { background:rgba(233,105,93,.14); }
html[data-theme="dark"] .taxi-coupon-eligibility.is-blocked > span { color:#ffaaa1; }
html[data-theme="dark"] .taxi-coupon-usage { background:rgba(59,177,165,.12); }
html[data-theme="dark"] .taxi-coupon-result-list article > span { color:#8de0d7; background:rgba(59,177,165,.14); }
html[data-theme="dark"] .taxi-coupon-guide-entry { border-color:rgba(102,184,241,.24); background:linear-gradient(135deg,rgba(35,75,99,.9),rgba(30,60,77,.84)); }
html[data-theme="dark"] .taxi-coupon-guide-entry small,html[data-theme="dark"] .taxi-coupon-guide-entry > b { color:#8fd3ff; }
html[data-theme="dark"] .taxi-coupon-guide-sheet header { background:rgba(30,31,34,.93); }

@media(max-width:359px) {
  .taxi-coupon-product { grid-template-columns:minmax(0,1fr) 88px; gap:10px; min-height:164px; padding:16px; }
  .taxi-coupon-product-copy > strong { font-size:19px; }
  .taxi-coupon-product-art { width:88px; transform:scale(.86); transform-origin:center; }
  .taxi-coupon-stack article { padding:13px; }
  .taxi-coupon-benefits span { font-size:11px; }
}

@media(prefers-reduced-motion:reduce) {
  .taxi-coupon-product,.taxi-coupon-sheet { animation:none!important; transition:none!important; }
}

.taxi-coupon-sheet .taxi-coupon-phone-field input { border-radius:14px; color:var(--clarity-text,#1d1d1f); background:var(--clarity-fill,rgba(118,118,128,.08)); border:1px solid var(--clarity-separator,rgba(60,60,67,.18)); }
.taxi-coupon-error { grid-column:1/-1; color:#a72e26!important; margin:4px 0 0!important; font-size:13px!important; line-height:1.5; }
html[data-theme="dark"] .taxi-coupon-error { color:#ffb5ac!important; }
html[data-theme="dark"] .taxi-coupon-result-list em { color:#f5cd83; }
.taxi-coupon-sheet .taxi-coupon-primary { color:#fff!important; background:linear-gradient(135deg,#157d77,#0e625e)!important; }
.taxi-coupon-product-art i:first-child { z-index:2; left:-5px; }
.taxi-coupon-product-art i:last-child { right:-12px; top:20px; }
.taxi-coupon-product-art i:last-child small,.taxi-coupon-product-art i:last-child strong,.taxi-coupon-product-art i:last-child span { visibility:hidden; }

/* Keep the existing Sheet and List hierarchy for matching and all result states. */
.taxi-coupon-match-note { margin:10px 0 16px!important; color:var(--clarity-secondary,#56606c)!important; font-size:12px!important; line-height:1.6; }
.taxi-coupon-attempt-summary { margin-top:14px!important; color:var(--clarity-text,#1d1d1f)!important; font-size:12px!important; line-height:1.6; }
.taxi-coupon-result[data-status="not_received"] .taxi-coupon-result-mark,.taxi-coupon-result[data-status="unknown"] .taxi-coupon-result-mark { color:#81500d; background:#fae9c7; box-shadow:none; }
html[data-theme="dark"] .taxi-coupon-result[data-status="not_received"] .taxi-coupon-result-mark,html[data-theme="dark"] .taxi-coupon-result[data-status="unknown"] .taxi-coupon-result-mark { color:#f8d69c; background:#554126; }
.taxi-coupon-result-list article { padding-block:12px; }
.taxi-coupon-result-list em { max-width:5em; text-align:center; line-height:1.5; }

/* A bounded Sheet keeps the primary action visible on small screens/keyboards. */
#taxiCouponModal .taxi-coupon-sheet { display:flex; flex-direction:column; max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); overflow:hidden; }
.taxi-coupon-head { flex:none; }
#taxiCouponClaimPanel,#taxiCouponResult { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding-inline:2px; }
.taxi-coupon-sheet .taxi-coupon-primary { position:sticky; bottom:0; z-index:2; flex-shrink:0; }
.taxi-coupon-stack article:last-child strong { font-size:26px; white-space:nowrap; }

/* Bundle quantities stay compact at 320px; group receipts wrap inside the List. */
.taxi-coupon-result-list article > div { min-width:0; }
.taxi-coupon-result-list strong,.taxi-coupon-result-list small { overflow-wrap:anywhere; line-height:1.5; }
@media(max-width:359px) { .taxi-coupon-result-list article { grid-template-columns:28px minmax(0,1fr) auto; gap:8px; } .taxi-coupon-result-list article > span { width:28px; height:28px; font-size:15px; } }
.taxi-coupon-sheet .taxi-coupon-primary { background-color:#0e625e!important; }
.taxi-coupon-guide-entry em { font-size:11px; white-space:normal; overflow:visible; }
html[data-theme="dark"] .taxi-coupon-guide-entry em { color:#c4d8e1; }
