.rewards-wrap{max-width:1100px;margin:0 auto;padding:64px 28px 80px}.rewards-intro{text-align:center;max-width:720px;margin:0 auto 48px}.rewards-intro h1{font-family:var(--hand);font-size:clamp(3.4rem,7vw,5.5rem);color:var(--wine);margin:12px 0 22px}.rewards-intro p{font-size:1.1rem}.rewards-layout{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}.rewards-card{background:var(--pink-light);border-radius:32px;padding:32px;display:grid;gap:22px}.rewards-card h2,.rewards-rules h2{font-family:var(--hand);font-size:2.6rem;color:var(--wine)}.stamp-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.stamp-grid span{aspect-ratio:1;display:grid;place-items:center;background:var(--cream);border-radius:50%;color:var(--wine);font-weight:600}.stamp-grid .earned{background:var(--wine);color:var(--cream)}.rewards-small{font-size:.88rem;line-height:1.7}.rewards-rules{display:grid;gap:20px}.rewards-rules details{padding:16px 0;border-bottom:1px solid var(--line)}.rewards-rules summary,#signin summary{font-weight:600;cursor:pointer;min-height:44px;padding:10px 0;color:var(--wine)}.rewards-rules details p{padding:8px 0}.rewards-card form{display:grid;gap:16px;margin-top:12px}.rewards-card label{display:grid;gap:6px}.rewards-card input{width:100%;min-width:0;padding:12px;border:1px solid var(--muted);border-radius:12px;background:var(--cream);color:var(--ink);font-size:16px}.rewards-card .button{margin:4px 0;max-width:100%;white-space:normal}.rewards-card .outline{background:transparent;color:var(--wine)}.rewards-card h3{font-family:var(--hand);font-size:1.7rem;color:var(--wine);margin:16px 0 10px}.rewards-card p{overflow-wrap:anywhere}.rewards-footer{padding:30px 24px;display:flex;gap:24px;flex-wrap:wrap;justify-content:center;border-top:1px solid var(--line);color:var(--wine)}.rewards-footer a{text-decoration:underline;text-underline-offset:5px}#customers article{padding:18px 0;border-bottom:1px solid var(--line)}@media(max-width:760px){.rewards-wrap{padding:36px 20px 50px}.rewards-intro{margin-bottom:30px}.rewards-layout{grid-template-columns:1fr;gap:36px}.rewards-card{padding:24px}.rewards-card h2,.rewards-rules h2{font-size:2.2rem}}@media(max-width:360px){.rewards-card{padding:18px}.stamp-grid{gap:7px}}
.rewards-wrap [hidden]{display:none!important}.rewards-wrap button:disabled{opacity:.45;cursor:not-allowed}.rewards-wrap input:focus-visible,.rewards-wrap button:focus-visible,.rewards-wrap summary:focus-visible{outline:3px solid var(--wine);outline-offset:4px}.owner-panel{margin-top:48px;padding:32px;border:2px solid var(--wine);border-radius:28px;background:var(--cream)}.owner-panel h2{font-family:var(--hand);font-size:2.6rem;color:var(--wine)}.owner-panel h3{font-family:var(--hand);font-size:1.8rem;color:var(--wine)}.owner-panel label{display:grid;gap:8px;margin:16px 0}.owner-panel input{width:100%;padding:14px;border:1px solid var(--muted);border-radius:12px;background:white;color:var(--ink);font:inherit;font-size:16px}.owner-panel p{overflow-wrap:anywhere}.owner-panel .button{margin:8px 8px 8px 0;min-height:48px}.owner-panel .outline{background:transparent;color:var(--wine);border:1px solid var(--wine)}.customer-detail{padding:24px;background:var(--pink-light);border-radius:22px;margin:24px 0}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-grid .button{margin:0}.confirm-box{padding:20px;border:2px solid var(--wine);border-radius:18px;margin:20px 0;background:var(--cream)}#customer-history article{border-top:1px solid var(--line);padding:12px 0}#account-status:not(:empty){padding:14px;border-left:3px solid var(--wine);background:var(--cream)}@media(max-width:600px){.owner-panel{padding:22px}.customer-detail{padding:18px}.action-grid{grid-template-columns:1fr}.owner-panel .button{width:100%}}

/* One account task at a time, with feedback at the point of action. */
#account-card{scroll-margin-top:calc(var(--guest-header-height) + 24px)}
#your-card,#account-status{scroll-margin-top:calc(var(--guest-header-height) + 24px)}
#your-card:focus{outline:none}
#account-status{margin:0;border-radius:12px;line-height:1.6}
#account-status.is-error{border-left-color:#a51d39;color:#7c1730;background:#fff4f2}
.account-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;background:var(--cream);border-radius:15px;margin-bottom:24px}
.account-switch button{border:0;border-radius:11px;background:transparent;color:var(--wine);min-height:46px;padding:10px 8px;font-size:.9rem;font-weight:600;line-height:1.4}
.account-switch button[aria-pressed="true"]{background:var(--wine);color:var(--cream)}
.account-steps{display:flex;flex-wrap:wrap;gap:10px 24px;list-style:none;padding:0;margin:0 0 18px;font-size:.8rem;color:var(--wine)}
.account-steps li{display:flex;align-items:center;gap:7px}
.account-steps span{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid var(--wine)}
.account-steps li[aria-current] span{background:var(--wine);color:var(--cream)}
.account-steps li[aria-current]{font-weight:600}
.account-intro{font-size:.95rem;line-height:1.65;margin-bottom:18px}
.rewards-card .password-field{position:relative;margin-top:-10px}
.rewards-card .password-field input{padding-right:76px}
.password-field button{position:absolute;right:5px;top:50%;transform:translateY(-50%);min-width:60px;min-height:44px;padding:8px;border:0;background:transparent;color:var(--wine);border-radius:9px;font-size:.85rem;font-weight:600}
.rewards-card .field-help{margin-top:-10px}
.rewards-card .account-submit{width:100%;justify-content:center;min-height:50px;margin:4px 0}
.account-note{line-height:1.6}
.account-text-button{background:transparent;border:0;color:var(--wine);text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:10px 0;font-size:.9rem;white-space:normal;text-align:left}
.email-result{display:grid;gap:18px}
.email-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:var(--cream);color:var(--wine)}
.email-result .account-steps{margin:0}
.email-result .email-address{font-weight:600;color:var(--wine);font-size:1.1rem;overflow-wrap:anywhere;margin-top:-12px}
.email-result p{line-height:1.65}
.email-result a{color:var(--wine);text-decoration:underline;text-underline-offset:4px}
.email-result .account-text-button{justify-self:center}
#reward-preview{display:grid;gap:18px}
#member>details{margin-top:18px}
#member summary{min-height:44px;padding:10px 0;cursor:pointer;color:var(--wine);font-weight:600}
@media(max-width:760px){.rewards-intro{margin-bottom:26px}.rewards-intro h1{font-size:clamp(2.8rem,10vw,4rem)}.rewards-card{gap:20px}.account-switch{margin-bottom:20px}.rewards-card form{gap:14px}.account-note{font-size:.8rem}}

.rewards-layout.account-focused{grid-template-columns:minmax(0,1fr);max-width:560px;margin-inline:auto}
