/* ==================================================
   01. DESIGN TOKEN BRIDGE
   ================================================== */
#amb-rewards-widget {
    --ink: var(--rw-text);
    --muted: var(--rw-text-muted);
    --surface: var(--rw-surface);
    --soft: var(--rw-surface-alt);
    --line: var(--rw-border);
    --brand: var(--rw-primary);
    --brand-dark: var(--rw-primary-hover);
    --warm: var(--rw-warning);
    box-sizing: border-box;
    color: var(--ink);
    font-family: var(--rw-font) !important;
    font-size: 15px;
    font-style: normal !important;
    font-variant: normal;
    font-synthesis: none;
    font-weight: 400;
    letter-spacing: normal !important;
    line-height: 1.5;
    text-transform: none !important;
    max-width: 1220px;
    margin: auto;
    padding: 18px;
    background: var(--rw-bg);
}
/* ==================================================
   02. RESET / BASE
   ================================================== */
#amb-rewards-widget *,
#amb-rewards-widget *:before,
#amb-rewards-widget *:after {
    box-sizing: border-box;
    font-family: inherit;
    font-style: normal !important;
    font-variant: inherit;
    font-synthesis: none;
    letter-spacing: normal !important;
    text-transform: none !important;
}
#amb-rewards-widget [hidden] {
    display: none !important;
}
#amb-rewards-widget h1,
#amb-rewards-widget h2,
#amb-rewards-widget h3,
#amb-rewards-widget p,
#amb-rewards-widget dl,
#amb-rewards-widget dd {
    margin: 0;
}
#amb-rewards-widget h1,
#amb-rewards-widget h2,
#amb-rewards-widget h3 {
    color: inherit;
}
#amb-rewards-widget h2 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
}
#amb-rewards-widget h3 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
}
#amb-rewards-widget button,
#amb-rewards-widget input,
#amb-rewards-widget select,
#amb-rewards-widget textarea {
    font-family: inherit !important;
    font-style: normal !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}
#amb-rewards-widget button {
    border: 0;
    border-radius: 10px;
    background: var(--brand);
    color: #fff;
    cursor: pointer;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    min-height: 44px;
    padding: 10px 14px;
}
#amb-rewards-widget button:hover {
    background: var(--brand-dark);
}
#amb-rewards-widget button:focus-visible {
    outline: 3px solid #77c4a2;
    outline-offset: 2px;
}
#amb-rewards-widget button[disabled] {
    background: #e4e9e5;
    color: #7c877f;
    cursor: not-allowed;
}
/* ==================================================
   03. HEADER / SUMMARY
   ================================================== */
#amb-rewards-widget .rw-hero {
    background: #173e2d;
    color: #fff;
    border-radius: 24px;
    padding: clamp(24px, 3vw, 36px);
    overflow: hidden;
}
#amb-rewards-widget .rw-kicker {
    color: #b8e3cd;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}
#amb-rewards-widget h1 {
    font-size: clamp(32px, 3vw, 36px);
    font-weight: 700;
    line-height: 1.15;
    margin-top: 6px;
}
#amb-rewards-widget .rw-sub {
    color: #d2e1d8;
    font-size: 15px;
    line-height: 1.5;
    margin-top: 9px;
}
#amb-rewards-widget .rw-overview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
}
#amb-rewards-widget .rw-metric {
    background: rgba(255, 255, 255, 0.085);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 17px;
    padding: 16px;
    min-width: 0;
}
#amb-rewards-widget .rw-metric strong {
    display: block;
    font-size: clamp(26px, 2.6vw, 32px);
    font-weight: 700;
    line-height: 1.12;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
#amb-rewards-widget .rw-metric span {
    display: block;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    margin-top: 7px;
}
#amb-rewards-widget .rw-metric small {
    display: block;
    color: #c5d8ce;
    font-size: 12px;
    line-height: 1.4;
    margin-top: 3px;
}
/* ==================================================
   04. REWARDS SHELL / SHARED STATES
   ================================================== */
#amb-rewards-widget .rw-connection {
    background: #f0f5f1;
    border: 1px solid #d3dfd6;
    border-radius: 12px;
    box-shadow: none;
    margin-top: 10px;
    padding: 10px 12px;
}
#amb-rewards-widget .rw-connection .rw-head {
    display: none;
}
#amb-rewards-widget .rw-connection .rw-state {
    display: inline;
    border: 0;
    background: transparent;
    padding: 0;
    text-align: left;
}
#amb-rewards-widget .rw-connection button {
    font-size: 13px !important;
    margin-left: 10px;
    min-height: 44px;
    padding: 10px 12px;
}
#amb-rewards-widget .rw-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
    margin-top: 22px;
}
#amb-rewards-widget .rw-card {
    grid-column: span 12;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--rw-radius);
    padding: 22px;
    min-width: 0;
    box-shadow: var(--rw-shadow);
}
#amb-rewards-widget .rw-progress-card {
    grid-column: span 8;
    background: #fbfcfb;
}
#amb-rewards-widget .rw-tickets-card {
    grid-column: span 4;
    background: #eef6f1;
    border-color: #cfdfd4;
}
#amb-rewards-widget .rw-activity-card {
    background: #fafcfb;
    box-shadow: none;
}
#amb-rewards-widget .rw-activity-card .rw-head {
    margin-bottom: 18px;
}
#amb-rewards-widget .rw-how-card {
    background: transparent;
    box-shadow: none;
}
#amb-rewards-widget .rw-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}
#amb-rewards-widget .rw-head > div {
    min-width: 0;
}
#amb-rewards-widget .rw-eyebrow {
    color: #668071;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 3px;
}
#amb-rewards-widget .rw-badge {
    align-items: center;
    background: #eef3ef;
    border-radius: 999px;
    color: #607167;
    display: inline-flex;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.35;
    padding: 5px 9px;
    white-space: nowrap;
}
#amb-rewards-widget .rw-state {
    background: #f6f8f6;
    border: 0;
    border-radius: 10px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.5;
    padding: 12px;
    text-align: left;
}
#amb-rewards-widget .rw-state[data-kind="authenticated"] {
    background: #edf8f1;
    color: #24583c;
}
#amb-rewards-widget .rw-state[data-kind="signed_out"],
#amb-rewards-widget .rw-state[data-kind="empty"] {
    background: #f6f8f6;
    color: #69766e;
}
#amb-rewards-widget .rw-state[data-kind="error"],
#amb-rewards-widget .rw-state[data-kind="expired"] {
    background: #fff2f0;
    border: 1px solid #efc2bb;
    color: #8c3028;
}
#amb-rewards-widget .rw-more {
    margin-top: 12px;
    min-height: 44px;
    width: 100%;
}
#amb-rewards-widget .rw-tabs {
    display: flex;
    gap: 6px;
    margin: 0 0 18px;
    max-width: 100%;
    overflow-x: auto;
    padding: 0 0 4px;
    scrollbar-width: thin;
}
#amb-rewards-widget .rw-tab {
    background: transparent;
    border: 1px solid transparent;
    border-radius: 9px;
    color: var(--muted);
    flex: 0 0 auto;
    min-height: 44px;
    padding: 8px 13px;
}
#amb-rewards-widget .rw-tab:hover {
    background: var(--soft);
    color: var(--ink);
}
#amb-rewards-widget .rw-tab[aria-selected="true"] {
    background: #eaf4ed;
    border-color: #c3dbcb;
    color: #24583c;
}
#amb-rewards-widget .rw-activity-warning {
    background: #fff8e8;
    border: 1px solid #ead7a9;
    border-radius: 10px;
    color: #795b21;
    font-size: 13px;
    line-height: 1.45;
    margin-top: 12px;
    padding: 10px 12px;
}
#amb-rewards-widget .rw-activity-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
#amb-rewards-widget .rw-activity-footer > button {
    flex: 1 1 180px;
    margin-top: 12px;
}
/* ==================================================
   05. CAMPAIGN PROGRESS
   ================================================== */
#amb-rewards-widget .rw-progress-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: end;
}
#amb-rewards-widget .rw-rank-large {
    font-size: 31px;
    font-weight: 700;
    line-height: 1.15;
}
#amb-rewards-widget .rw-ranking-points {
    color: var(--muted);
}
#amb-rewards-widget .rw-progress-copy {
    font-weight: 600;
    text-align: right;
}
#amb-rewards-widget .rw-track {
    height: 9px;
    background: #e8eee9;
    border-radius: 999px;
    overflow: hidden;
    margin-top: 16px;
}
#amb-rewards-widget .rw-track span {
    display: block;
    height: 100%;
    width: 0;
    background: var(--brand);
    border-radius: inherit;
}
#amb-rewards-widget .rw-refresh {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.38);
    margin-top: 16px;
}
#amb-rewards-widget .rw-refresh:hover {
    background: rgba(255, 255, 255, 0.1);
}
#amb-rewards-widget .rw-scroll-hint {
    display: none;
    color: #c5d8ce;
    font-size: 12px;
    line-height: 1.4;
    margin-top: 8px;
}
/* ==================================================
   06. CATALOGUE
   ================================================== */
#amb-rewards-widget .rw-prizes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    width: 100%;
}
#amb-rewards-widget .rw-prize {
    background: var(--rw-surface);
    border: 1px solid var(--rw-border);
    border-radius: var(--rw-radius);
    padding: 14px;
    display: flex;
    flex-direction: column;
    min-width: 0;
    box-shadow: var(--rw-shadow);
    overflow: hidden;
    position: relative;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
#amb-rewards-widget .rw-prize:hover {
    border-color: var(--rw-border);
    box-shadow: var(--rw-shadow);
    transform: translateY(-1px);
}
#amb-rewards-widget .rw-prize img {
    aspect-ratio: 16/10;
    width: 100%;
    object-fit: cover;
    border: 1px solid var(--rw-border);
    border-radius: calc(var(--rw-radius) - 4px);
    background: var(--rw-surface-alt);
    box-shadow: var(--rw-shadow);
    margin-bottom: 16px;
}
#amb-rewards-widget .rw-prize h3 {
    color: var(--rw-text);
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.22;
    margin: 0;
}
#amb-rewards-widget .rw-prize-desc {
    color: var(--rw-text-muted);
    display: -webkit-box;
    font-size: 13px;
    line-height: 1.55;
    margin-top: 7px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
#amb-rewards-widget .rw-prize-value {
    color: var(--rw-primary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.4;
    margin-top: 8px;
    text-transform: uppercase;
}
#amb-rewards-widget .rw-note {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
    margin-top: 6px;
}

#amb-rewards-widget .rw-note[data-kind="success"] {
    border: 2px solid var(--rw-primary);
    border-radius: var(--rw-radius);
    background: var(--rw-surface);
    color: var(--rw-text);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    margin-top: 12px;
    padding: 12px 14px;
}
#amb-rewards-widget .rw-prize-meta {
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 18px 0 14px;
    min-width: 0;
}
#amb-rewards-widget .rw-points {
    font-weight: 700;
    color: var(--brand);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
#amb-rewards-widget .rw-prize .rw-points {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: var(--rw-primary);
    display: flex;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.2;
    min-width: 0;
    overflow: visible;
    padding: 4px 0;
    text-overflow: clip;
}
#amb-rewards-widget .rw-prize-stock {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    color: var(--rw-text-muted);
    display: inline-flex;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.2;
    padding: 7px 0 7px 8px;
    text-transform: uppercase;
    white-space: nowrap;
}
#amb-rewards-widget .rw-prize button {
    border-radius: calc(var(--rw-radius) - 4px);
    font-weight: 700;
    letter-spacing: 0.01em;
    margin-top: auto;
    padding: 12px 14px;
    transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
    width: 100%;
}
#amb-rewards-widget .rw-prize button:hover:not(:disabled) {
    box-shadow: var(--rw-shadow);
    transform: translateY(-1px);
}
#amb-rewards-widget .rw-prize button:disabled {
    background: transparent;
    border: 1px solid var(--rw-border);
    box-shadow: none;
    color: var(--rw-text-muted);
    font-weight: 600;
    opacity: 1;
}

@media (min-width: 701px) and (max-width: 1000px) {
    #amb-rewards-widget .rw-prizes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* ==================================================
   07. LISTS / LEADERBOARD
   ================================================== */
#amb-rewards-widget .rw-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}
#amb-rewards-widget .rw-row {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    column-gap: 12px;
    row-gap: 6px;
    align-items: center;
    padding: 11px 10px;
    border-radius: 11px;
    font-size: 14px;
    line-height: 1.45;
    min-width: 0;
}
#amb-rewards-widget .rw-row:nth-child(odd) {
    background: var(--soft);
}
#amb-rewards-widget .rw-row[aria-current="true"] {
    background: #e3f2e8;
    border: 1px solid #aad2b8;
}
#amb-rewards-widget .rw-row.rw-top {
    font-weight: 700;
}
#amb-rewards-widget .rw-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#amb-rewards-widget .rw-leaderboard-head { align-items: flex-start; }
#amb-rewards-widget .rw-leaderboard-campaign { color: var(--muted); font-size: 13px; margin-top: 4px; }
#amb-rewards-widget .rw-leaderboard-context { align-items: flex-end; display: flex; flex-direction: column; flex: 0 0 auto; gap: 2px; }
#amb-rewards-widget .rw-leaderboard-context strong { color: var(--ink); font-size: 14px; }
#amb-rewards-widget .rw-leaderboard-context span { color: var(--muted); font-size: 12px; }
#amb-rewards-widget .rw-leaderboard-disclosure { background: #f4f7f5; border-radius: 10px; color: #52665a; font-size: 12px; line-height: 1.5; margin: -2px 0 14px; padding: 9px 11px; }
#amb-rewards-widget .rw-leaderboard { display: grid; gap: 7px; list-style: none; margin: 0; padding: 0; }
#amb-rewards-widget .rw-leaderboard-row { align-items: center; background: #fbfcfb; border: 1px solid #e5ebe7; border-radius: 12px; column-gap: 14px; display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; min-width: 0; padding: 12px 14px; }
#amb-rewards-widget .rw-leaderboard-rank { color: #607167; font-size: 14px; font-variant-numeric: tabular-nums; font-weight: 700; }
#amb-rewards-widget .rw-leaderboard-player { display: grid; gap: 3px; min-width: 0; }
#amb-rewards-widget .rw-leaderboard-name { color: var(--ink); font-size: 14px; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#amb-rewards-widget .rw-leaderboard-meta { color: var(--muted); font-size: 12px; line-height: 1.4; min-height: 17px; }
#amb-rewards-widget .rw-leaderboard-points { color: var(--brand); font-size: 14px; font-variant-numeric: tabular-nums; font-weight: 750; white-space: nowrap; }
#amb-rewards-widget .rw-leaderboard-top { background: #f3f7f4; border-color: #d7e3da; }
#amb-rewards-widget .rw-leaderboard-top .rw-leaderboard-rank { align-items: center; background: #e4eee7; border-radius: 999px; color: #315b43; display: inline-flex; height: 32px; justify-content: center; justify-self: start; width: 42px; }
#amb-rewards-widget .rw-leaderboard-promotional { background: #fbfcfb; }
#amb-rewards-widget .rw-activity-card .rw-list {
    gap: 10px;
}
#amb-rewards-widget .rw-activity-item {
    align-items: start;
    background: #fcfdfc;
    border: 1px solid var(--line);
    border-radius: 13px;
    display: grid;
    font-size: 14px;
    gap: 16px;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    line-height: 1.45;
    min-width: 0;
    padding: 15px 16px;
}
#amb-rewards-widget .rw-activity-type {
    color: #52665a;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.4;
    padding-top: 2px;
    text-transform: uppercase;
}
#amb-rewards-widget .rw-activity-main {
    min-width: 0;
    overflow-wrap: anywhere;
}
#amb-rewards-widget .rw-activity-title {
    display: block;
    font-weight: 600;
}
#amb-rewards-widget .rw-activity-meta {
    color: var(--muted);
    display: grid;
    gap: 2px;
    font-size: 12px;
    line-height: 1.4;
    margin-top: 3px;
}
#amb-rewards-widget .rw-activity-side {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 7px;
    justify-self: end;
    min-width: max-content;
    text-align: right;
}
#amb-rewards-widget .rw-you {
    background: var(--brand);
    color: #fff;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 6px;
    margin-left: 6px;
}
/* ==================================================
   08. REDEMPTIONS
   ================================================== */
#amb-rewards-widget .rw-redemption {
    border-left-color: #aab6ae;
}
#amb-rewards-widget .rw-redemption[data-presentation="pending"] {
    border-left-color: #d7aa55;
}
#amb-rewards-widget .rw-redemption[data-presentation="ready"] {
    border-left-color: #6c9fbd;
}
#amb-rewards-widget .rw-redemption[data-presentation="collected"] {
    border-left-color: #70a989;
}
#amb-rewards-widget .rw-redemption[data-presentation="rejected"] {
    border-left-color: #c9847d;
}
#amb-rewards-widget .rw-redemption[data-presentation="cancelled"] {
    border-left-color: #a9b2ac;
}
#amb-rewards-widget .rw-redemption-image {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 11px;
    background: var(--soft);
}
#amb-rewards-widget .rw-activity-main-with-image {
    display: grid;
    gap: 0 14px;
    grid-template-columns: 72px minmax(0, 1fr);
}
#amb-rewards-widget .rw-activity-main-with-image .rw-redemption-image {
    grid-row: 1 / span 2;
}
#amb-rewards-widget .rw-redemption-points {
    color: var(--brand);
    font-size: 13px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
#amb-rewards-widget .rw-status {
    align-self: start;
    border: 1px solid #dce3de;
    border-radius: 999px;
    background: #f2f5f3;
    color: #536159;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.35;
    padding: 5px 9px;
    text-align: center;
    white-space: nowrap;
}
#amb-rewards-widget .rw-status[data-presentation="pending"] {
    background: #fff8e8;
    border-color: #ead7a9;
    color: #795b21;
}
#amb-rewards-widget .rw-status[data-presentation="ready"] {
    background: #edf6fb;
    border-color: #c8dce8;
    color: #315f7a;
}
#amb-rewards-widget .rw-status[data-presentation="collected"] {
    background: #edf7f1;
    border-color: #c5decf;
    color: #326448;
}
#amb-rewards-widget .rw-status[data-presentation="rejected"] {
    background: #fff1f0;
    border-color: #eccbc7;
    color: #873d37;
}
#amb-rewards-widget .rw-status[data-presentation="cancelled"] {
    background: #f2f4f3;
    border-color: #d9dfdb;
    color: #59635d;
}
#amb-rewards-widget .rw-date {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.4;
}
#amb-rewards-widget .rw-ready-date {
    color: #315f7a;
    font-weight: 600;
}
#amb-rewards-widget .rw-points-positive {
    color: var(--rw-success);
}
#amb-rewards-widget .rw-points-negative {
    color: var(--rw-danger);
}
/* ==================================================
   09. TICKETS
   ================================================== */
#amb-rewards-widget .rw-ticket-count {
    background: var(--brand);
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    padding: 5px 10px;
    white-space: nowrap;
}
#amb-rewards-widget .rw-ticket {
    background: #fff;
    border: 1px solid #cdded2;
    border-radius: 15px;
    padding: 15px;
    min-width: 0;
}
#amb-rewards-widget .rw-ticket:first-child {
    border-color: #91bea1;
    box-shadow: 0 6px 18px rgba(23, 107, 72, 0.08);
}
#amb-rewards-widget .rw-ticket-title {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
}
#amb-rewards-widget .rw-serial {
    display: block;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 13px;
    line-height: 1.4;
    overflow-wrap: anywhere;
    word-break: break-word;
    margin-top: 9px;
}
#amb-rewards-widget .rw-ticket-meta {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.4;
    margin-top: 7px;
    overflow-wrap: anywhere;
}
/* ==================================================
   10. SUPPORTING CONTENT
   ================================================== */
#amb-rewards-widget .rw-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    counter-reset: step;
}
#amb-rewards-widget .rw-step {
    counter-increment: step;
    border-left: 2px solid #b7d4c2;
    padding-left: 15px;
}
#amb-rewards-widget .rw-step:before {
    content: "0" counter(step);
    display: block;
    color: var(--brand);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 5px;
}
#amb-rewards-widget .rw-step p {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.5;
    margin-top: 4px;
}
/* ==================================================
   11. MOBILE
   ================================================== */
@media (max-width: 700px) {
    #amb-rewards-widget {
        padding: 10px;
    }
    #amb-rewards-widget .rw-hero {
        padding: 20px;
    }
    #amb-rewards-widget h1 {
        font-size: clamp(26px, 7.5vw, 30px);
    }
    #amb-rewards-widget .rw-overview {
        grid-template-columns: repeat(3, 150px);
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding: 0 32px 8px 0;
        scrollbar-width: thin;
        scrollbar-color: #9ac8ae transparent;
    }
    #amb-rewards-widget .rw-metric {
        min-width: 150px;
        scroll-snap-align: start;
    }
    #amb-rewards-widget .rw-scroll-hint {
        display: block;
    }
    #amb-rewards-widget .rw-grid {
        gap: 13px;
        margin-top: 15px;
    }
    #amb-rewards-widget .rw-card {
        padding: 17px;
    }
    #amb-rewards-widget .rw-progress-card,
    #amb-rewards-widget .rw-tickets-card {
        grid-column: span 12;
    }
    #amb-rewards-widget .rw-prizes {
        grid-template-columns: minmax(0, 1fr);
    }
    #amb-rewards-widget .rw-prize {
        width: 100%;
    }
    #amb-rewards-widget .rw-steps {
        grid-template-columns: 1fr;
    }
    #amb-rewards-widget .rw-progress-top {
        align-items: start;
        flex-direction: column;
    }
    #amb-rewards-widget .rw-progress-copy {
        text-align: left;
    }
    #amb-rewards-widget .rw-row {
        grid-template-columns: 38px minmax(0, 1fr) auto;
        font-size: 13px;
    }
    #amb-rewards-widget .rw-leaderboard-row { grid-template-columns: 45px minmax(0, 1fr) auto; padding: 11px 12px; }
    #amb-rewards-widget .rw-activity-item {
        gap: 12px;
        grid-template-columns: 78px minmax(0, 1fr) auto;
        padding: 13px;
    }
    #amb-rewards-widget .rw-redemption-image {
        width: 60px;
        height: 60px;
    }
    #amb-rewards-widget .rw-activity-main-with-image {
        gap: 0 12px;
        grid-template-columns: 60px minmax(0, 1fr);
    }
}
@media (max-width: 480px) {
    #amb-rewards-widget .rw-leaderboard-head { gap: 10px; }
    #amb-rewards-widget .rw-leaderboard-context { padding-top: 2px; }
    #amb-rewards-widget .rw-leaderboard-row { column-gap: 10px; grid-template-columns: minmax(0, 1fr) auto; padding: 11px 12px; row-gap: 5px; }
    #amb-rewards-widget .rw-leaderboard-rank { grid-column: 1; grid-row: 1; }
    #amb-rewards-widget .rw-leaderboard-player { grid-column: 1 / -1; grid-row: 2; }
    #amb-rewards-widget .rw-leaderboard-points { grid-column: 2; grid-row: 1; }
    #amb-rewards-widget .rw-leaderboard-top .rw-leaderboard-rank { height: auto; justify-content: flex-start; width: auto; }
    #amb-rewards-widget .rw-leaderboard-name { white-space: normal; }
    #amb-rewards-widget .rw-activity-card .rw-head {
        margin-bottom: 15px;
    }
    #amb-rewards-widget .rw-tabs {
        margin-bottom: 14px;
    }
    #amb-rewards-widget .rw-activity-item {
        gap: 6px 12px;
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 13px;
    }
    #amb-rewards-widget .rw-activity-type {
        grid-column: 1;
        grid-row: 1;
    }
    #amb-rewards-widget .rw-activity-main {
        grid-column: 1 / -1;
        grid-row: 2;
    }
    #amb-rewards-widget .rw-activity-side {
        grid-column: 2;
        grid-row: 1;
    }
    #amb-rewards-widget .rw-redemption-image {
        width: 56px;
        height: 56px;
    }
    #amb-rewards-widget .rw-activity-main-with-image {
        gap: 0 11px;
        grid-template-columns: 56px minmax(0, 1fr);
    }
    #amb-rewards-widget .rw-redemption .rw-activity-side {
        align-items: flex-end;
    }
}
/* ==================================================
   12. TABLET
   ================================================== */
@media (min-width: 701px) and (max-width: 900px) {
    #amb-rewards-widget .rw-progress-card,
    #amb-rewards-widget .rw-tickets-card {
        grid-column: span 6;
    }
    #amb-rewards-widget .rw-tickets-card {
        align-self: start;
        min-height: 261px;
    }
}
/* ==================================================
   13. REDUCED MOTION
   ================================================== */
@media (prefers-reduced-motion: reduce) {
    #amb-rewards-widget .rw-track span,
    #amb-rewards-widget .rw-prize,
    #amb-rewards-widget .rw-prize button {
        transition: none !important;
    }

    #amb-rewards-widget .rw-prize:hover,
    #amb-rewards-widget .rw-prize button:hover:not(:disabled) {
        transform: none;
    }
}
/* Release Gate Round 2 visual closeout: preserve semantic badge colours while sharing scale and rhythm. */
#amb-rewards-widget .rw-progress-copy {
    color: #78847c;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
}
#amb-rewards-widget .rw-badge,
#amb-rewards-widget .rw-ticket-count,
#amb-rewards-widget .rw-prize-stock,
#amb-rewards-widget .rw-status {
    font-size: 11px !important;
    line-height: 1.35;
    padding: 5px 9px;
}
#amb-rewards-widget .rw-prize-stock {
    align-items: center;
    border: 1px solid transparent;
    display: inline-flex;
    font-weight: 600;
    white-space: nowrap;
}

/* Catalogue-specific stock treatment wins over the shared compact badge scale. */
#amb-rewards-widget .rw-prize .rw-prize-stock {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: var(--rw-text-muted);
    font-size: 10px !important;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.2;
    padding: 7px 0 7px 8px;
    text-transform: uppercase;
}
#amb-rewards-widget
    .rw-tickets-card:has(.rw-state[data-kind="empty"]:not([hidden]))
    .rw-head {
    margin-bottom: 12px;
}
#amb-rewards-widget .rw-tickets-card .rw-state[data-kind="empty"] {
    padding: 10px 12px;
}
@media (max-width: 700px) {
    #amb-rewards-widget .rw-grid {
        gap: 12px;
        margin-top: 14px;
    }
    #amb-rewards-widget .rw-card {
        padding: 16px;
    }
}
