/* Stable card geometry, themed visuals, manual carousel navigation. */
#rewardsScreen #rewardSpotlight{height:478px;margin:0 0 16px;min-width:0}
#rewardsScreen #rewardSpotlight[hidden]{display:none}
#rewardsScreen .club-overview{display:flex;align-items:center;justify-content:space-between;gap:8px;height:32px;font-size:12px}
#rewardsScreen .club-overview span{font-size:11px;color:var(--primary-text,var(--olive))}
#rewardsScreen .club-deck{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:4px 0;position:relative;min-width:0;scroll-behavior:smooth}
#rewardsScreen .club-deck::-webkit-scrollbar{display:none}
#rewardsScreen .club-reward-card{position:relative;flex:0 0 94%;min-width:0;height:370px;display:grid;grid-template-rows:28px 86px 60px 30px 84px 46px;gap:0;padding:16px;border:1px solid var(--line);border-radius:min(var(--v4-radius,22px),24px);color:var(--surface-ink,var(--ink));background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--accent,var(--olive)) 14%,transparent),transparent 65%),var(--white);overflow:hidden;scroll-snap-align:start}
#rewardsScreen .club-reward-card.ready{border-color:color-mix(in srgb,var(--olive) 45%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--olive) 12%,var(--white)),var(--white))}
#rewardsScreen .club-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:.04em;min-width:0}
#rewardsScreen .club-card-head b{max-width:65%;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--primary-text,var(--olive))}
#rewardsScreen .club-card-head>span{font-size:10px;padding:5px 8px;border-radius:99px;background:color-mix(in srgb,var(--olive) 10%,var(--white));white-space:nowrap}
#rewardsScreen .club-reward-art{position:relative;display:grid;place-items:center;align-self:center;height:78px;color:var(--primary-text,var(--olive));margin:0}
#rewardsScreen .club-reward-art:before{content:'';position:absolute;width:76px;height:76px;border-radius:50%;background:color-mix(in srgb,var(--olive) 9%,var(--white))}
#rewardsScreen .reward-visual-icon{width:56px;height:56px;position:relative}
#rewardsScreen .reward-visual-emoji{font-size:48px;line-height:1;position:relative}
#rewardsScreen .reward-visual-image{width:64px;height:64px;object-fit:contain;position:relative;border-radius:8px}
#rewardsScreen .club-reward-card h2{font-size:clamp(24px,5vw,31px);line-height:1.12;margin:0;align-self:center;text-align:center;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#rewardsScreen .club-reward-distance{font-size:12px;line-height:1.35;text-align:center;margin:0;align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--surface-muted,var(--muted))}
#rewardsScreen .club-progress{align-self:center;min-width:0}
#rewardsScreen .club-stamps{display:grid;grid-template-columns:repeat(var(--club-stamp-cols),minmax(0,1fr));justify-items:center;gap:6px;margin-bottom:7px}
#rewardsScreen .club-stamp{display:grid;place-items:center;width:28px;height:28px;border:1px dashed color-mix(in srgb,var(--olive) 35%,var(--line));border-radius:50%;background:var(--white);color:var(--surface-muted,var(--muted));font-size:11px}
#rewardsScreen .club-stamp.earned{border:0;background:var(--olive);color:var(--on-primary);font-size:19px}
#rewardsScreen .club-stamp.next{border:2px solid var(--olive)}
#rewardsScreen .club-progress>span{display:block;text-align:center;font-size:11px;line-height:14px;font-variant-numeric:tabular-nums;color:var(--surface-muted,var(--muted))}
#rewardsScreen .club-progress-track{height:8px;background:color-mix(in srgb,var(--olive) 13%,var(--white));border-radius:999px;overflow:hidden;margin:8px 0 10px}
#rewardsScreen .club-progress-track i{display:block;height:100%;background:var(--olive);border-radius:999px}
#rewardsScreen .club-earned-ticket{display:flex;align-items:center;justify-content:center;gap:10px;align-self:center;background:color-mix(in srgb,var(--olive) 7%,var(--white));padding:12px;border-radius:min(var(--v4-radius,12px),18px);height:70px}
#rewardsScreen .club-earned-ticket>span{font-size:24px;color:var(--primary-text,var(--olive))}
#rewardsScreen .club-earned-ticket b{font-size:12px;display:block}
#rewardsScreen .club-earned-ticket small{font-size:10px;display:block;line-height:1.4;margin-top:4px;color:var(--surface-muted,var(--muted))}
#rewardsScreen .club-reward-action{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;width:100%;background:var(--olive);color:var(--on-primary);border:1px solid var(--olive);border-radius:min(var(--v4-radius,12px),22px);padding:10px 13px;font:inherit;font-size:13px;font-weight:650}
#rewardsScreen .club-carousel-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;height:48px;margin-top:4px}
#rewardsScreen .club-carousel-nav>button{width:44px;height:44px;border:1px solid var(--line);border-radius:min(var(--v4-radius,12px),18px);background:var(--white);color:var(--surface-ink,var(--ink));font-size:22px;flex-shrink:0}
#rewardsScreen .club-carousel-nav>button:disabled{opacity:.35}
#rewardsScreen .club-dots{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0;max-height:48px;overflow:auto;min-width:0}
#rewardsScreen .club-dots button{width:24px;min-width:24px;height:24px;min-height:24px;display:grid;place-items:center;padding:0;border:0;background:transparent}
#rewardsScreen .club-dots button:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--line)}
#rewardsScreen .club-dots button[aria-current=true]:before{width:14px;border-radius:6px;background:var(--olive)}
#rewardsScreen .club-position{height:20px;font-size:11px;line-height:20px;text-align:center;color:var(--surface-muted,var(--muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#rewardsScreen .club-empty-card{height:440px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;text-align:center}
#rewardsScreen .club-empty-card h2{font-size:28px;margin:0}
#rewardsScreen .club-empty-card p{font-size:14px;max-width:330px;line-height:1.6}
#rewardsScreen .club-detail-hint{font-size:12px;color:var(--muted);line-height:1.6;margin:0;padding:12px 0}
#rewardsScreen #rewardContent{min-height:48px}
#rewardsScreen .club-rule-detail p{font-size:13px;line-height:1.6}
#rewardsScreen .club-celebration{position:absolute;inset:0;pointer-events:none;overflow:hidden;visibility:hidden}
#rewardsScreen .club-celebration i{position:absolute;left:50%;top:36%;width:7px;height:7px;border-radius:2px;background:var(--olive);transform:rotate(calc(var(--particle)*45deg))}
#rewardsScreen .club-celebration i:nth-child(even){background:var(--accent,var(--olive))}
#rewardsScreen .club-unlocked-now .club-celebration{visibility:visible;animation:club-celebration-end 1s steps(1,end) forwards}
#rewardsScreen .club-unlocked-now .club-celebration i{animation:club-particle .9s ease-out forwards;--angle:calc(var(--particle)*45deg)}
#rewardsScreen .club-unlocked-now .club-reward-art{animation:club-prize-bounce .7s ease-out 1}
#rewardsScreen .new-stamp{animation:stamp-arrive .6s ease-out 1}
@keyframes club-particle{from{opacity:1;transform:rotate(var(--angle)) translateY(0)}to{opacity:0;transform:rotate(var(--angle)) translateY(-105px) rotate(90deg)}}
@keyframes club-prize-bounce{0%{transform:scale(.88)}55%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes club-celebration-end{to{visibility:hidden}}
@media(min-width:700px){#rewardsScreen .club-reward-card{flex-basis:80%}}
@media(max-width:360px){#rewardsScreen .club-reward-card{padding-inline:12px}#rewardsScreen .club-card-head{font-size:9px}}
@media(prefers-reduced-motion:reduce){#rewardsScreen .club-deck{scroll-behavior:auto}#rewardsScreen .club-unlocked-now .club-celebration{visibility:hidden;animation:none}#rewardsScreen .club-unlocked-now .club-reward-art,#rewardsScreen .new-stamp{animation:none}}

#rewardsScreen{padding-bottom:var(--customer-fixed-space,180px);scroll-padding-bottom:var(--customer-fixed-space,180px)}#rewardIdentifyShortcut{min-height:44px;margin-bottom:12px}#homeBannerControls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}#homeBannerControls button{min-height:44px;padding:10px 14px;border:1px solid var(--line);background:var(--white);color:var(--surface-ink,var(--ink));border-radius:12px}#homeBannerControls[hidden],#benefitsLink[hidden],#homeClubCard[hidden]{display:none!important}
.checkout-items{margin:18px 0}.checkout-items>summary{min-height:44px;cursor:pointer;font-weight:650}.checkout-items #rows{margin-top:12px}#checkoutBreakdown{line-height:1.6}

/* Unstarted benefits retain readable text and usable conditions. */
.club-reward-card.club-not-started{background:var(--white);border-top-color:var(--muted);box-shadow:none}
.club-not-started .club-reward-art{filter:grayscale(1);opacity:.65}
.club-start-copy{font-size:15px;line-height:1.6;text-align:center;color:var(--surface-ink,var(--ink));max-width:34rem;margin:20px auto}
.club-started-now .club-reward-art{animation:club-start-reveal 900ms ease-out both}
@keyframes club-start-reveal{0%{filter:grayscale(1);opacity:.55;transform:scale(.88)}60%{filter:grayscale(0);opacity:1;transform:scale(1.08)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.club-started-now .club-reward-art{animation:none}}

/* Expand only after an explicit action so feedback is never clipped. */
#rewardsScreen #rewardSpotlight:has(.club-action-feedback:not([hidden])){height:auto;min-height:478px}
#rewardsScreen .club-reward-card:has(.club-action-feedback:not([hidden])){height:auto;min-height:370px}
#rewardsScreen .club-action-feedback{font-size:13px;line-height:1.5;margin:12px 0 0;text-align:left;grid-column:1 / -1;width:100%;max-width:none;min-width:0;scroll-margin-block:90px;overflow-wrap:anywhere}
#rewardsScreen .club-action-feedback[hidden]{display:none}
