.rewards-page { display:grid; gap:14px; color:var(--ink); font-size:14px; line-height:1.45; }
.reward-hero,.reward-panel { min-width:0; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--s1); }
.reward-hero { display:flex; gap:13px; align-items:center; background:linear-gradient(110deg,var(--surface-tint),var(--s1)); }
.reward-icon { display:grid; flex:none; place-items:center; width:46px; height:46px; border-radius:10px; background:var(--s2); color:var(--ind); }
:root .reward-hero h2 { margin:0 0 4px; font-size:clamp(24px,2.3vw,34px); }
.reward-hero p,.reward-journey p { margin:0; color:var(--mute); }
.reward-wallet { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:12px; }
.reward-wallet > div { display:flex; align-items:center; gap:8px; }
.reward-wallet .ico { color:var(--ind); }
.rewards-page small { color:var(--mute); font-size:12px; }
.reward-wallet b,.reward-wallet small,.reward-next small { display:block; }
.reward-wallet b { font-size:19px; line-height:1.2; font-variant-numeric:tabular-nums; }
:root .rewards-page h3 { margin:0 0 5px; font-size:17px; }
.reward-next { display:grid; grid-template-columns:minmax(0,1fr) minmax(84px,40%); align-items:center; gap:10px; padding:9px 11px; margin-top:10px; border-radius:8px; background:var(--s2); }
.reward-next progress { width:100%; height:8px; accent-color:#155bb4; }
.reward-links,.reward-product-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
:root .rewards-page button { padding:7px 10px; min-height:40px; font-size:13px; }
:root .rewards-page .pri { background:#155bb4; border-color:#155bb4; color:white; box-shadow:none; }
.reward-catalog-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px; }
.reward-catalog-heading label { display:flex; gap:8px; align-items:center; color:var(--mute); }
:root .reward-catalog-heading select { width:auto; min-height:40px; margin:0; color:var(--ink); background:var(--s2); font-size:13px; }
.reward-catalog-note { margin:5px 0 10px; color:var(--mute); font-size:12px; }
.reward-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.reward-product { display:flex; flex-direction:column; overflow:hidden; min-width:0; border:1px solid var(--line); border-radius:12px; background:var(--s1); }
.reward-photo { position:relative; aspect-ratio:3/2; overflow:hidden; width:100%; background:#bfcedc; }
.reward-photo > img:first-child { display:block; width:100%; height:100%; object-fit:fill; }
.reward-photo .reward-wordmark { position:absolute; left:var(--brand-x); top:var(--brand-y); width:var(--brand-width); height:auto; transform:translate(-50%,-50%); opacity:.92; filter:drop-shadow(0 1px 1px #10203a77); }
.reward-product > .mx-gift-image { width:100%; aspect-ratio:3/2; object-fit:contain; }
#dlg .reward-photo { max-width:420px; border-radius:10px; }
.reward-product-body { flex:1; display:flex; flex-direction:column; align-items:flex-start; padding:10px; }
.reward-meta { display:flex; width:100%; flex-wrap:wrap; justify-content:space-between; gap:3px 6px; color:var(--mute); font-size:11px; }
:root .reward-product h4 { margin:6px 0; color:var(--ink); font-size:15px; line-height:1.3; }
.reward-price { font-size:16px; font-variant-numeric:tabular-nums; }
.reward-product-actions { padding-top:8px; margin-top:auto; }
.rewards-page :focus-visible { outline:2px solid var(--ind); outline-offset:2px; }
@media(max-width:800px) { .reward-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:500px) {
  .reward-hero,.reward-panel { padding:12px; }
  .reward-wallet { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reward-wallet button { grid-column:1/-1; justify-self:start; }
  .reward-product-body { padding:8px; }
}
