.rewards-page{background:linear-gradient(180deg,#f6f0e7 0%,#fffaf2 45%,#f5f1e9 100%)}
.rewards-hero{max-width:1420px;margin:0 auto;display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,6vw,6rem);align-items:center;padding-top:clamp(4rem,7vw,7rem);padding-bottom:clamp(4rem,7vw,6rem)}
.rewards-hero-copy h1{margin:.15rem 0 1.4rem;max-width:900px;font-family:var(--serif);font-size:clamp(3.4rem,7vw,7.1rem);font-weight:400;letter-spacing:-.06em;line-height:.9}.rewards-hero-copy>p:not(.eyebrow){max-width:760px;color:#554d44;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.7}
.rewards-rule-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:2rem}.rewards-rule-row div{padding:1rem;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.62)}.rewards-rule-row strong{display:block;font-family:var(--serif);font-size:1.55rem;font-weight:400;color:#8f6b2e}.rewards-rule-row span{display:block;margin-top:.25rem;font-size:.72rem;font-weight:750;line-height:1.4;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.rewards-hero-card{position:relative;overflow:hidden;padding:clamp(2rem,5vw,4rem);border-radius:30px;background:#17130f;color:#fff;box-shadow:var(--shadow)}.rewards-hero-card:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(217,185,108,.22);border-radius:50%;right:-85px;top:-80px}.mini-kicker{display:block;color:var(--gold-2);font-size:.7rem;font-weight:800;letter-spacing:.18em}.hero-dollar{display:block;margin:.25rem 0;font-family:var(--serif);font-size:clamp(5rem,9vw,8rem);font-weight:400;letter-spacing:-.07em;color:#f4d692}.rewards-hero-card p{font-size:1.05rem;line-height:1.65;color:#eee2d0}.rewards-hero-card small{color:#bfb4a4}
.rewards-shell{padding-top:2rem;max-width:1420px;margin:0 auto}.rewards-loading{padding:2rem;text-align:center;color:var(--muted)}.rewards-intro-head{display:grid;grid-template-columns:1fr .65fr;gap:2rem;align-items:end}.rewards-intro-head h2,.account-topline h2{margin:0;font-family:var(--serif);font-size:clamp(2.5rem,5vw,5rem);font-weight:400;line-height:.98;letter-spacing:-.045em}.rewards-intro-head>p{color:var(--muted);line-height:1.7}
.auth-tabs{display:flex;gap:.5rem;flex-wrap:wrap;max-width:920px;margin:0 auto 1rem}.auth-tab{border:1px solid var(--line);background:#fff;padding:.75rem 1rem;border-radius:999px;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.auth-tab.active{background:var(--ink);color:#fff}.auth-card{max-width:920px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 20px 55px rgba(24,18,10,.08);padding:clamp(1.5rem,4vw,3rem)}.auth-panel{max-width:620px;margin:0 auto}.auth-panel h3,.rewards-card h3{margin:0 0 .4rem;font-family:var(--serif);font-weight:400;font-size:2rem}.form-lead{margin:.2rem 0 1.4rem;color:var(--muted)}.auth-panel label,.admin-form label{display:block;margin:.85rem 0;font-size:.78rem;font-weight:800;letter-spacing:.03em}.auth-panel input,.admin-form input,.admin-form textarea{width:100%;margin-top:.35rem;padding:.9rem 1rem;border:1px solid #cfc4b6;border-radius:12px;background:#fff;font:inherit;color:var(--ink);outline:none}.auth-panel input:focus,.admin-form input:focus,.admin-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(183,139,61,.13)}.optional{font-weight:500;color:var(--muted)}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-submit{width:100%;border:0;cursor:pointer;margin-top:.8rem}.form-fine{font-size:.72rem;color:var(--muted);line-height:1.55}.form-message{min-height:1.5rem;margin:.75rem 0 0;font-weight:700;color:#7a4b2c}.form-message.error{color:#a32323}.form-message.success{color:#236b43}
.account-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:2rem}.text-button{border:1px solid var(--line);background:#fff;padding:.7rem 1rem;border-radius:999px;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}.account-grid{display:grid;grid-template-columns:.75fr 1.1fr 1.15fr;gap:1rem}.balance-card,.progress-card,.referral-card,.referral-progress-card,.rewards-card{border:1px solid var(--line);border-radius:22px;background:#fff;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 12px 35px rgba(30,20,12,.06)}.balance-card{background:#17130f;color:#fff}.balance-card>span,.progress-card span,.referral-card>span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.balance-card strong{display:block;margin:.2rem 0;font-family:var(--serif);font-size:clamp(3.4rem,7vw,5.5rem);font-weight:400;color:#f2cf84;letter-spacing:-.06em}.balance-card small{color:#cfc2b2}.progress-copy{display:flex;justify-content:space-between;gap:1rem}.progress-copy strong{font-size:.95rem}.progress-track{height:10px;margin:1.3rem 0 .6rem;background:#ede6da;border-radius:999px;overflow:hidden}.progress-track span{height:100%;width:0;background:var(--gold);border-radius:inherit;transition:width .25s ease}.progress-card small,.referral-card small{color:var(--muted);line-height:1.5}.referral-card strong{display:block;margin:.35rem 0 .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.55rem;letter-spacing:.06em}.referral-card button{border:0;background:#ece3d5;padding:.55rem .8rem;border-radius:999px;font-weight:800;cursor:pointer;margin-bottom:.8rem}.referral-progress-card{grid-column:1/-1;background:linear-gradient(135deg,#fff6e6 0%,#f7e2bd 52%,#eef0dc 100%);border-color:rgba(183,139,61,.34)}.referral-progress-card>span{display:block;color:#8f5b20;font-size:.7rem;font-weight:900;letter-spacing:.12em}.referral-progress-card>strong{display:block;margin:.35rem 0 .55rem;font-family:var(--serif);font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:400;line-height:1.05}.referral-progress-card p{margin:0;color:#4e4439;line-height:1.65}.referral-progress-card small{display:block;margin-top:.65rem;color:#6d6256;line-height:1.5}.referral-progress-track{height:11px;margin:1.1rem 0 .4rem;background:rgba(255,255,255,.7);border:1px solid rgba(143,91,32,.12);border-radius:999px;overflow:hidden}.referral-progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,#b78b3d,#c9742e,#77824b);border-radius:inherit;transition:width .25s ease}
.account-detail-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:1rem;margin-top:1rem}.card-heading{display:flex;justify-content:space-between}.ledger-list{display:grid;gap:.65rem;margin-top:1.1rem}.ledger-item{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.9rem 0;border-top:1px solid var(--line)}.ledger-item:first-child{border-top:0}.ledger-item b{display:block}.ledger-item small{color:var(--muted)}.ledger-amount{font-weight:900}.ledger-amount.positive{color:#236b43}.ledger-amount.negative{color:#9b2f2f}.rules-card ul{padding-left:1.15rem;color:#554d44;line-height:1.7}.rules-card a{font-weight:800;color:#7a4b2c}.empty-state{padding:1rem 0;color:var(--muted)}
@media(max-width:1000px){.rewards-hero{grid-template-columns:1fr}.rewards-hero-card{max-width:700px}.rewards-rule-row{grid-template-columns:repeat(2,1fr)}.account-grid{grid-template-columns:1fr 1fr}.referral-card{grid-column:1/-1}.account-detail-grid{grid-template-columns:1fr}}
@media(max-width:680px){.rewards-rule-row{grid-template-columns:1fr 1fr}.rewards-intro-head{grid-template-columns:1fr}.auth-tabs{display:grid;grid-template-columns:1fr}.auth-tab{text-align:left}.form-grid.two{grid-template-columns:1fr;gap:0}.account-topline{align-items:flex-start;flex-direction:column}.account-grid{grid-template-columns:1fr}.referral-card{grid-column:auto}.progress-copy{display:block}.progress-copy strong{display:block;margin-top:.25rem}.rewards-hero-card{padding:2rem}.rewards-hero-copy h1{font-size:clamp(3.2rem,16vw,5rem)}}

.checkout-card{grid-column:1/-1;border:1px solid #d7c7ad;border-radius:22px;background:linear-gradient(135deg,#fffaf1,#f6ecdd);padding:clamp(1.25rem,3vw,2rem);box-shadow:0 12px 35px rgba(30,20,12,.06)}
.checkout-card>span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7a4b2c}
.checkout-card>strong{display:block;margin:.25rem 0 .35rem;font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.35rem);font-weight:400}
.checkout-card>p{max-width:780px;margin:.25rem 0 1rem;color:var(--muted);line-height:1.6}
#checkoutCodeForm{display:grid;grid-template-columns:minmax(190px,280px) auto;gap:.8rem;align-items:end;max-width:650px}
#checkoutCodeForm label{font-size:.78rem;font-weight:800;letter-spacing:.03em}
#checkoutCodeForm input{width:100%;margin-top:.35rem;padding:.9rem 1rem;border:1px solid #cfc4b6;border-radius:12px;background:#fff;font:inherit;color:var(--ink)}
#checkoutCodeForm .button{border:0;cursor:pointer;min-height:48px}
#checkoutCodeForm .form-message{grid-column:1/-1;margin:0}
.checkout-code-box{margin-top:1rem;padding:1.2rem;border:2px dashed var(--gold);border-radius:16px;background:#fff;text-align:center;max-width:650px}
.checkout-code-box>small{display:block;font-weight:900;letter-spacing:.12em;color:#7a4b2c}
.checkout-code-box>strong{display:block;margin:.4rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(2rem,7vw,3.5rem);letter-spacing:.08em}
.checkout-code-box>div{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.82rem;margin-bottom:.7rem}
.checkout-note{display:block;margin-top:.8rem;color:var(--muted);line-height:1.5}
@media(max-width:680px){#checkoutCodeForm{grid-template-columns:1fr}.checkout-code-box>strong{letter-spacing:.04em}}

.claim-found{display:inline-flex;align-items:center;margin:0 0 1rem;padding:.45rem .75rem;border-radius:999px;background:#e8f3e8;color:#2d643d;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.claim-back{width:100%;margin-top:.65rem}.claim-back:hover{background:#f7f2ea}

/* Event kiosk rewards flow — 2026-09-28 final polish */
.rewards-kiosk-mode{min-height:100vh;background:linear-gradient(180deg,#f5ede0 0%,#fffaf1 52%,#f0e7da 100%)}
.rewards-kiosk-mode .announcement,.rewards-kiosk-mode .top-contact,.rewards-kiosk-mode .header,.rewards-kiosk-mode .rewards-hero,.rewards-kiosk-mode .mobile-action-bar,.rewards-kiosk-mode footer{display:none!important}
.rewards-kiosk-mode .rewards-shell{max-width:980px;padding:clamp(1rem,4vw,2.5rem);margin:0 auto}
.kiosk-rewards-header{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;margin:0 0 1rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid rgba(183,139,61,.32);border-radius:24px;background:linear-gradient(135deg,#fff8e9 0%,#f5dfbb 50%,#eef0dc 100%);box-shadow:0 14px 36px rgba(54,39,20,.08)}
.kiosk-rewards-header[hidden],.kiosk-rewards-result[hidden]{display:none!important}
.kiosk-rewards-header h1{margin:.1rem 0 .35rem;font-family:var(--serif);font-size:clamp(2rem,5vw,3.8rem);font-weight:400;letter-spacing:-.045em}.kiosk-rewards-header p:not(.eyebrow){margin:0;max-width:680px;color:#5d5144;line-height:1.55}
.kiosk-return-button{border:0;cursor:pointer;white-space:nowrap}.kiosk-rewards-header .kiosk-return-button{background:#fff;color:var(--ink);border:1px solid rgba(90,64,35,.18)}
.rewards-kiosk-mode .rewards-intro-head{grid-template-columns:1fr;margin:0 0 1rem}.rewards-kiosk-mode .rewards-intro-head h2{font-size:clamp(2rem,5vw,3.8rem)}.rewards-kiosk-mode .auth-card{max-width:760px}.rewards-kiosk-mode .auth-tabs{max-width:760px}.rewards-kiosk-mode .auth-tab[data-panel="claimPanel"]{display:none!important}
.kiosk-rewards-result{max-width:760px;margin:2rem auto;padding:clamp(1.6rem,4vw,3rem);border:1px solid rgba(183,139,61,.3);border-radius:26px;background:#fff;box-shadow:0 18px 50px rgba(39,27,15,.1);text-align:center}.kiosk-rewards-result h2{margin:.2rem 0 .7rem;font-family:var(--serif);font-size:clamp(2.5rem,7vw,4.8rem);font-weight:400;letter-spacing:-.05em}.kiosk-rewards-result>p:not(.eyebrow){max-width:620px;margin:.4rem auto 1.2rem;color:#5b5146;line-height:1.65}.kiosk-rewards-result>small{display:block;margin-top:.9rem;color:var(--muted)}
.kiosk-result-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1rem 0 1.4rem}.kiosk-result-summary>div{padding:1rem;border-radius:16px;background:#f8f2e8}.kiosk-result-summary span{display:block;color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.kiosk-result-summary strong{display:block;margin-top:.2rem;font-family:var(--serif);font-size:1.55rem;font-weight:400}.kiosk-rewards-result .kiosk-return-button{width:100%;max-width:360px}
@media(max-width:680px){.kiosk-rewards-header{grid-template-columns:1fr}.kiosk-rewards-header .kiosk-return-button{width:100%}.kiosk-result-summary{grid-template-columns:1fr}.rewards-kiosk-mode .rewards-shell{padding:.8rem}}


/* Signed-in member view: hide signup-focused hero; member dashboard already shows earning/referral rules. */
.rewards-page.member-signed-in .rewards-hero{display:none!important}
.rewards-page.member-signed-in .rewards-shell{padding-top:clamp(2rem,4vw,4rem)}

/* Signed-in members should never see the event signup banner. */
.rewards-page.member-signed-in .kiosk-rewards-header{display:none!important}
.kiosk-member-return-bar{display:flex;justify-content:flex-end;margin:0 0 1rem}
.kiosk-member-return-bar[hidden]{display:none!important}
.kiosk-member-return-bar .kiosk-return-button{background:#fff;color:var(--ink);border:1px solid rgba(90,64,35,.18)}
@media(max-width:680px){.kiosk-member-return-bar .kiosk-return-button{width:100%}}


/* Rewards auth-state layout guard — 2026-09-29.
   Keep the large guest hero out of the initial layout until the session check finishes.
   This prevents browser scroll anchoring from jumping signed-in members down the page
   when the hero is removed after the async account check. */
.rewards-page{overflow-anchor:none}
.rewards-page.rewards-auth-pending .rewards-hero{display:none!important}
