/* Small additions to the verified current homepage. */
.site-nav{position:absolute;z-index:1;top:max(calc(29% - 24px),var(--nav-min-top,82px));left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 96px));height:48px;padding:0 24px;display:flex;justify-content:center;align-items:center;gap:44px}
.site-nav a,.site-nav button{padding:10px 0;font:inherit;font-size:13px;font-weight:400;line-height:20px;color:#fff;text-shadow:0 1px 5px #0006;white-space:nowrap;background:none;border:0;cursor:pointer}
.site-nav a:hover,.site-nav button:hover{opacity:.75}
.site-header.header-is-blush .header-mini-caption{color:var(--ink);text-shadow:none}
.site-nav :focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
html{scroll-padding-top:118px}
.activities,.member-benefits,#follow-feel{scroll-margin-top:0}
.member-benefits{padding-bottom:40px}
.follow-section{padding:0 max(48px,calc((100% - 1184px)/2)) 72px;background:var(--page)}
.follow-heading{margin-bottom:22px}
.follow-heading h2{font-size:22px}
.follow-heading p{margin:10px 0 0;font-size:12px;color:var(--muted);line-height:1.8}
.follow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.follow-card{padding:26px 20px;border:1px solid var(--line);border-radius:18px;background:#f7dfe866;text-align:center;min-width:0}
.follow-card h3{font-size:18px;font-weight:500;margin:0 0 8px}
.follow-card>p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}
.follow-code{display:block;position:relative;overflow:hidden;width:160px;height:160px;margin:22px auto 0;padding:0;border:0;border-radius:10px;background:#fff;cursor:pointer}
.follow-code img{display:block;width:100%;height:100%;object-fit:contain}
.follow-code.xhs-thumbnail img{position:absolute;width:132%;max-width:none;height:auto;left:-16%;top:-11%}
.follow-qr-dialog{margin:auto;padding:24px;width:min(400px,calc(100% - 32px));max-height:calc(100svh - 32px);border:1px solid var(--line);border-radius:24px;background:var(--page);color:var(--ink);font:inherit;overflow:auto;overscroll-behavior:contain}
.follow-qr-dialog::backdrop{background:#251e2566}
.follow-qr-dialog h2{font-size:21px}
.follow-qr-help{font-size:12px;color:var(--muted);line-height:1.8;margin:16px 0}
.follow-qr-poster{display:block;width:auto;height:auto;max-width:100%;max-height:52svh;margin:auto;-webkit-touch-callout:default}
.follow-qr-visual.xhs-qr-only{position:relative;width:min(100%,51svh);aspect-ratio:987/860;overflow:hidden;margin:auto;background:#fff}
.follow-qr-visual.xhs-qr-only .follow-qr-poster{width:100%;max-height:none}
@media(max-width:600px){
 .site-nav{width:calc(100% - 40px);height:44px;padding:0 13px;justify-content:space-between;gap:10px;border-radius:10px}
 .site-nav a,.site-nav button{font-size:12px}
 html{scroll-padding-top:102px}
 .member-benefits{padding-bottom:32px}
 .follow-section{padding:0 20px 48px}
 .follow-heading{margin-bottom:20px}
 .follow-heading h2{font-size:20px}
 .follow-grid{grid-template-columns:1fr;gap:12px}
 .follow-card{padding:18px;display:grid;grid-template-columns:minmax(0,1fr) 112px;grid-template-rows:auto 1fr;gap:6px 16px;text-align:left;min-height:150px}
 .follow-card h3{font-size:16px;line-height:1.5;grid-column:1;margin:0}
 .follow-card>p{grid-column:1;font-size:12px}
 .follow-code{grid-column:2;grid-row:1/3;width:112px;height:112px;margin:0;align-self:center}
 .follow-qr-dialog{padding:22px 20px}
}

/* Match the light QR surface used by the Xiaohongshu dialog. */
.visit-dialog .mini-panel{background:#fff}

/* Keep all three follow cards together on phones. */
@media(max-width:600px){
 .follow-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .follow-card{display:flex;flex-direction:column;align-items:center;padding:16px 8px;min-height:0;text-align:center;border-radius:14px}
 .follow-card h3{font-size:clamp(12px,3.3vw,14px);line-height:1.5;margin:0 0 8px;white-space:nowrap}
 .follow-card>p{font-size:11px;line-height:1.6;min-height:3.2em;width:100%}
 .follow-code{flex:none;width:100%;max-width:112px;height:auto;aspect-ratio:1;margin:14px auto 0;align-self:center;border-radius:8px}
}

.site-nav{opacity:var(--nav-opacity,1);filter:none}

/* Dianping in-store activity, above the student discount. */
.dianping-activity{display:block;margin-top:16px;scroll-margin-top:118px}
.dianping-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.dianping-heading .checkin-activity-copy>p:last-child{margin:0}
.dianping-gift{display:grid;place-items:center;flex:none;width:64px;height:64px;border-radius:16px;background:var(--blush);color:var(--accent)}
.dianping-gift svg{width:34px;height:34px}
.dianping-rewards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:24px 0 0}
.dianping-rewards>li{min-width:0;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fff9fb}
.dianping-step{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--accent);font-size:12px}
.dianping-step>span{font-size:11px;letter-spacing:.04em}
.dianping-rewards h4{margin:0 0 8px;font-size:16px;font-weight:500;line-height:1.6}
.dianping-rewards h4>span{color:var(--accent);white-space:nowrap}
.dianping-rewards>li>p:last-child{margin:0;font-size:12px;color:var(--muted);line-height:1.8}
.dianping-coupons{display:flex;flex-wrap:wrap;gap:6px 8px;list-style:none;margin:0;padding:0}
.dianping-coupons li{padding:4px 8px;border-radius:6px;background:var(--blush);color:var(--accent);font-size:11px;line-height:1.6}
.dianping-drip-prize{display:inline-block;padding:4px 8px;border-radius:6px;background:var(--blush)}
.dianping-terms{grid-column:1/-1}
@media(max-width:600px){
 .dianping-activity{margin-top:14px}
 .dianping-heading{gap:12px;align-items:flex-start}
 .dianping-heading h3{font-size:19px;line-height:1.6}
 .dianping-gift{width:44px;height:44px;border-radius:12px}
 .dianping-gift svg{width:26px;height:26px}
 .dianping-rewards{grid-template-columns:1fr;gap:10px;margin-top:20px}
 .dianping-rewards>li{padding:15px 16px}
 .dianping-step{margin-bottom:8px}
 .dianping-rewards h4{font-size:15px}
}

/* Extra Xiaohongshu sharing reward after the Dianping experience step. */
.dianping-rewards>.dianping-bonus{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff9fb}
.dianping-bonus-copy{min-width:0}
.dianping-bonus-copy>p:last-child{margin:0;color:var(--muted);font-size:12px;line-height:1.8}
.dianping-topic{color:var(--accent);white-space:nowrap}
.dianping-bonus-prize{flex-shrink:0;padding:14px 18px;border-radius:12px;background:var(--blush);color:var(--accent)}
.dianping-bonus-prize>span{display:block;margin-bottom:6px;font-size:11px}
.dianping-bonus-prize strong{font-size:16px;font-weight:500;white-space:nowrap}
.dianping-bonus-prize strong span{margin-left:3px}
@media(max-width:600px){.dianping-rewards>.dianping-bonus{flex-direction:column;align-items:stretch;gap:14px}.dianping-bonus-prize{align-self:flex-start;padding:11px 14px}.dianping-bonus-prize strong{font-size:15px}}

/* Activity descriptions on the left and rewards on the right. */
.dianping-rewards>.dianping-reward-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,148px);align-items:center;gap:16px}
.dianping-reward-copy{min-width:0}
.dianping-reward-copy>p:last-child:not(.dianping-step){margin:0;font-size:12px;color:var(--muted);line-height:1.8}
.dianping-reward-copy>h4:last-child{margin:0}
.dianping-reward-split .dianping-drip-prize{justify-self:end;width:100%;box-sizing:border-box;margin:0;padding:12px 8px;border-radius:10px;text-align:center;font-size:15px;line-height:1.5}
.dianping-drip-prize>.dianping-drip-name{display:block;color:var(--ink);white-space:normal;word-break:keep-all;text-wrap:balance}
.dianping-drip-prize>.dianping-drip-count{display:block;margin-top:4px}
.dianping-reward-split .dianping-coupons{flex-direction:column;align-items:stretch;justify-self:end;width:100%;max-width:148px}
.dianping-reward-split .dianping-coupons li{text-align:center;overflow-wrap:anywhere}
@media(max-width:600px){.dianping-rewards>.dianping-reward-split{grid-template-columns:minmax(0,1fr) minmax(0,44%);gap:12px}.dianping-reward-copy .dianping-step{display:block;line-height:1.7}.dianping-reward-copy .dianping-step>span{margin-right:6px}.dianping-reward-split .dianping-drip-prize{font-size:14px}}

/* One shared coupon pack surface, matching the drip coffee reward. */
.dianping-coupon-prize{min-width:0;width:100%;justify-self:end}
.dianping-coupon-prize>h4{margin:0 0 6px;text-align:right;font-size:13px;line-height:1.5}
.dianping-reward-split .dianping-coupon-prize .dianping-coupons{box-sizing:border-box;padding:12px 8px;border-radius:10px;background:var(--blush);gap:4px}
.dianping-coupon-prize .dianping-coupons li{padding:0;border-radius:0;background:transparent}
@media(max-width:600px){.dianping-coupon-prize>h4{font-size:12px}}

/* Compact reward headings and one continuous coupon pack. */
.dianping-reward-split .dianping-drip-prize{font-size:12px;white-space:nowrap}
.dianping-drip-prize>.dianping-drip-name{display:inline;white-space:nowrap;text-wrap:nowrap}
.dianping-drip-prize>.dianping-drip-count{display:inline;margin:0 0 0 4px}
.dianping-coupon-prize{box-sizing:border-box;padding:12px 8px;border-radius:10px;background:var(--blush)}
.dianping-coupon-prize>h4{margin:0 0 8px;text-align:center;font-size:12px;line-height:1.5}
.dianping-reward-split .dianping-coupon-prize .dianping-coupons{padding:0;border-radius:0;background:transparent}
@media(max-width:600px){.dianping-rewards>.dianping-reward-split{grid-template-columns:minmax(0,1fr) minmax(132px,44%)}}

/* Align bonus typography and keep reward to the right on phones. */
.dianping-rewards>.dianping-bonus{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,148px);align-items:center;gap:16px}
.dianping-bonus-prize{box-sizing:border-box;width:100%;justify-self:end;align-self:center;padding:12px 8px;border-radius:10px;text-align:center}
.dianping-bonus-prize>span{margin:0 0 8px;color:var(--ink);font-size:12px;font-weight:500;line-height:1.5}
.dianping-bonus-prize strong{display:block;color:var(--accent);font-size:11px;font-weight:400;line-height:1.6}
.dianping-bonus-prize strong span{margin-left:0}
@media(max-width:600px){.dianping-rewards>.dianping-bonus{grid-template-columns:minmax(0,1fr) minmax(132px,44%);gap:12px}}

/* Emphasize the three activity step numbers. */
.dianping-rewards .dianping-step>span{font-size:16px;font-weight:700;line-height:1.2}
