.gift-claim-page{background:#060913;color:var(--ink)}
html:not([data-theme="dark"]) .gift-claim-page{background:#f5f7fb;color:#0f172a}
.gift-claim-page main{display:block}
.gift-claim-page [hidden]{display:none!important}
.gift-claim-page .gift-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.gift-claim-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:48px 0 12px}
.gift-claim-intro{max-width:780px;margin:0 auto 28px;text-align:center}
.gift-claim-intro .eyebrow{margin-bottom:10px}
.gift-claim-intro h1{max-width:none;color:var(--ink);font:900 clamp(2.35rem,7vw,5rem)/.96 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.04em}
.gift-claim-intro p:not(.eyebrow){max-width:680px;margin:18px auto 0;color:var(--muted);font-size:1.05rem}
html:not([data-theme="dark"]) .gift-claim-intro h1{color:#0f172a}
html:not([data-theme="dark"]) .gift-claim-intro p:not(.eyebrow){color:#475569}
.gift-tool{overflow:hidden;border:1px solid rgba(148,163,184,.22);border-radius:20px;background:#101827;box-shadow:0 24px 64px rgba(0,0,0,.28);color:#f8fafc;font-family:"Arial Narrow",Arial,sans-serif;color-scheme:dark}
html:not([data-theme="dark"]) .gift-tool{border-color:rgba(15,23,42,.14);background:#fff;box-shadow:0 20px 54px rgba(15,23,42,.13);color:#0f172a;color-scheme:light}
.gift-tool-header{display:flex;min-height:76px;align-items:center;gap:22px;padding:12px 20px;border-bottom:3px solid #ffb900;background:#fff;color:#111}
.gift-tool-brand{display:inline-flex;flex:0 0 auto;align-items:center;gap:10px;font-weight:950}
.gift-tool-brand img{width:46px;height:46px;border-radius:10px;object-fit:contain}
.gift-filters{display:flex;min-width:0;flex:1;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}
.gift-filter{min-height:42px;border:1px solid transparent;border-radius:999px;background:transparent;color:#303030;padding:8px 14px;font-weight:900;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease}
.gift-filter:hover,.gift-filter:focus-visible{border-color:#e0a300;background:#fff8dc;color:#211600;outline:0;transform:translateY(-1px)}
.gift-filter[aria-pressed="true"]{border-color:#ffb900;background:#ffb900;color:#171100}
.gift-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(133px,1fr));gap:18px;padding:26px}
.gift-card{position:relative;display:block;min-width:0;aspect-ratio:2/3;border:4px solid transparent;border-radius:12px;overflow:hidden;background:#090d16;box-shadow:0 8px 20px rgba(0,0,0,.24);padding:0;cursor:pointer;transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease}
.gift-card:hover,.gift-card:focus-visible{border-color:#ffb900;box-shadow:0 12px 26px rgba(255,185,0,.24);outline:0;transform:scale(1.035)}
.gift-card[aria-pressed="true"]{border-color:#ffb900;box-shadow:0 0 0 3px rgba(255,185,0,.25),0 12px 28px rgba(0,0,0,.3);transform:scale(1.035)}
.gift-card[aria-pressed="true"]:after{position:absolute;top:8px;right:8px;display:grid;width:27px;height:27px;place-items:center;border-radius:50%;content:"✓";background:#ffb900;color:#111;font:900 18px/1 Arial,sans-serif}
.gift-card img{width:100%;height:100%;object-fit:cover}
.gift-claim-actions{display:flex;align-items:center;justify-content:center;gap:16px;padding:0 26px 30px}
.gift-selected-status{margin:0;color:#cbd5e1;font-weight:800}
html:not([data-theme="dark"]) .gift-selected-status{color:#475569}
.gift-primary,.gift-secondary,.gift-dialog-close,.gift-raffle button{min-height:46px;border:0;border-radius:9px;padding:11px 20px;font-weight:950;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}
.gift-primary{background:#ffb900;color:#171100;box-shadow:0 9px 22px rgba(255,185,0,.22)}
.gift-primary:hover,.gift-primary:focus-visible,.gift-raffle button:hover,.gift-raffle button:focus-visible{outline:3px solid rgba(255,185,0,.32);outline-offset:2px;transform:translateY(-2px)}
.gift-secondary{border:1px solid #64748b;background:#1e293b;color:#f8fafc}
.gift-secondary:hover,.gift-secondary:focus-visible{outline:3px solid rgba(148,163,184,.3);outline-offset:2px;transform:translateY(-1px)}

.gift-dialog{width:min(420px,calc(100% - 28px));max-height:calc(100dvh - 32px);border:1px solid rgba(148,163,184,.28);border-radius:18px;background:#fff;color:#202020;box-shadow:0 26px 80px rgba(0,0,0,.46);padding:0;overflow:auto;color-scheme:light}
.gift-dialog::backdrop{background:rgba(2,6,23,.76);backdrop-filter:blur(4px)}
.gift-dialog-card{position:relative;display:grid;justify-items:center;gap:15px;padding:30px;text-align:center}
.gift-dialog-logo{width:76px;height:76px;border-radius:16px;object-fit:contain}
.gift-dialog h2{margin:0;color:#171717;font:900 1.55rem/1.1 "Arial Narrow",Arial,sans-serif}
.gift-dialog p{margin:0;color:#4b5563}
.gift-dialog-close{position:absolute;top:10px;right:10px;width:42px;min-height:42px;padding:0;border:1px solid #d1d5db;background:#f8fafc;color:#111;font-size:1.35rem;line-height:1}
.gift-dialog-close:hover,.gift-dialog-close:focus-visible{outline:3px solid rgba(255,185,0,.35)}
.gift-id-form{display:grid;width:100%;gap:13px}
.gift-id-form label{color:#252525;font-weight:900;text-align:left}
.gift-id-form input{width:100%;min-height:50px;border:0;border-bottom:3px solid #ffb900;background:#f8fafc;color:#111;padding:11px 12px;font-size:1rem;outline:0}
.gift-id-form input:focus{box-shadow:0 0 0 4px rgba(255,185,0,.22)}
.gift-form-error{min-height:20px;color:#b91c1c!important;font-size:.9rem;font-weight:800;text-align:left}
.gift-spinner{width:72px;height:72px;border:9px solid #e5e7eb;border-top-color:#ffb900;border-radius:50%;animation:gift-spin .8s linear infinite}
.gift-verified-icon{display:grid;width:76px;height:76px;place-items:center;border-radius:50%;background:#16a34a;color:#fff;font:900 2.7rem/1 Arial,sans-serif;animation:gift-pop .45s ease both}
.gift-verified-id{padding:8px 13px;border-radius:999px;background:#f1f5f9;color:#0f172a!important;font-weight:900}

.gift-raffle{width:min(880px,100%);margin:34px auto 0;padding:28px;border:1px solid #343454;border-radius:16px;background:#1b1b2f;box-shadow:0 0 20px rgba(108,99,255,.5);color:#fff;text-align:center;scroll-margin-top:92px;color-scheme:dark}
.gift-raffle h2{margin:0;color:#fff;font:900 clamp(1.55rem,4vw,2.3rem)/1.05 "Arial Narrow",Arial,sans-serif}
.gift-raffle-copy{max-width:620px;margin:12px auto 20px;color:#d7d8ea}
.gift-raffle button{background:linear-gradient(90deg,#ff512f,#dd2476);color:#fff}
.gift-raffle-step{display:grid;justify-items:center;gap:14px}
.gift-raffle-form{display:grid;width:min(520px,100%);gap:12px;margin:0 auto}
.gift-raffle-form label{color:#fff;font-weight:900;text-align:left}
.gift-raffle-form input,.gift-raffle-form select{width:100%;min-height:48px;border:1px solid #6b7280;border-radius:8px;background:#fff;color:#222;padding:10px 12px;font-size:1rem;outline:0}
.gift-raffle-form input:focus,.gift-raffle-form select:focus{border-color:#ffb900;box-shadow:0 0 0 4px rgba(255,185,0,.22)}
.gift-raffle-error{min-height:20px;margin:0;color:#fecaca;font-weight:800;text-align:left}
.gift-progress{width:min(620px,100%);height:24px;overflow:hidden;border-radius:999px;background:#2d2d44}
.gift-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#6c63ff,#00f2fe);transition:width .3s linear}
.gift-progress-label{margin:0;color:#fff;font-weight:900}
.gift-raffle-status{min-height:28px;margin:0;color:#e0e7ff;font-weight:850}
.gift-raffle-result{width:min(620px,100%);padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#10101d;color:#fff;font-weight:900}

@keyframes gift-spin{to{transform:rotate(360deg)}}
@keyframes gift-pop{0%{opacity:0;transform:scale(.55)}70%{transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}
@media(max-width:900px){.gift-tool-header{align-items:stretch;flex-direction:column;gap:10px}.gift-tool-brand{justify-content:center}.gift-filters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:thin}.gift-filter{flex:0 0 auto}}
@media(max-width:640px){.gift-claim-shell{width:min(100% - 24px,1180px);padding-top:32px}.gift-claim-intro{margin-bottom:22px}.gift-tool{border-radius:14px}.gift-tool-header{padding:12px}.gift-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.gift-card{border-radius:10px}.gift-claim-actions{align-items:stretch;flex-direction:column;padding:0 14px 18px}.gift-primary,.gift-secondary{width:100%}.gift-raffle{margin-top:24px;padding:20px 14px}.gift-dialog-card{padding:28px 18px 22px}}
@media(max-width:380px){.gift-gallery{gap:9px;padding:10px}.gift-filter{padding-inline:12px}.gift-tool-brand img{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.gift-card,.gift-primary,.gift-secondary,.gift-raffle button,.gift-progress span{transition:none}.gift-spinner{animation-duration:1.6s}.gift-verified-icon{animation:none}}
