.tw-order-rewards {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    margin: 20px 0;
    padding: clamp(16px, 3vw, 26px);
    border: 1px solid #d3e2da;
    border-radius: 18px;
    background: #f8fbf9;
    color: #243b2f;
    overflow-wrap: anywhere;
    scroll-margin-top: 24px;
}
.tw-order-rewards *, .tw-order-rewards *::before, .tw-order-rewards *::after { box-sizing: border-box; }
.tw-order-rewards__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; }
.tw-order-rewards__heading > div { flex: 1 1 240px; min-width: 0; }
.tw-order-rewards .tw-order-rewards__title { display: block; margin: 0; color: #243b2f; font-size: clamp(1.1rem, 2vw, 1.3rem); font-weight: 700; line-height: 1.35; }
.tw-order-rewards .tw-order-rewards__intro { margin: 6px 0 0; font-size: .94rem; line-height: 1.55; }
.tw-order-rewards__badge { display: inline-block; max-width: 100%; padding: 6px 12px; border-radius: 16px; background: #e8f3ec; color: #156f3a; font-size: .82rem; font-weight: 600; line-height: 1.4; }
.tw-order-rewards__totals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px 20px; margin: 20px 0 16px; }
.tw-order-rewards__totals > div { min-width: 0; }
.tw-order-rewards__totals dt { margin: 0 0 4px; color: #52645a; font-size: .8rem; font-weight: 400; line-height: 1.45; }
.tw-order-rewards__totals dd { margin: 0; font-size: 1rem; font-weight: 700; line-height: 1.35; }
.tw-order-rewards__totals .tw-order-rewards__remaining { color: #156f3a; }
.tw-order-rewards__preview { display: flex; align-items: center; gap: 16px; margin: 18px 0 14px; padding-top: 16px; border-top: 1px solid #d3e2da; }
.tw-order-rewards__preview-image { display: block; flex: 0 0 96px; width: 96px; height: 96px; padding: 8px; border: 1px solid #d3e2da; border-radius: 10px; background: #fff; object-fit: contain; }
.tw-order-rewards__preview-copy { flex: 1; min-width: 0; }
.tw-order-rewards .tw-order-rewards__preview-lead { margin: 0 0 6px; color: #156f3a; font-size: 1rem; font-weight: 600; line-height: 1.45; }
.tw-order-rewards__preview-name { display: block; font-size: .94rem; line-height: 1.45; }
.tw-order-rewards__preview-points { display: block; margin-top: 5px; color: #52645a; font-size: .8rem; line-height: 1.45; }
.tw-order-rewards .tw-order-rewards__alternatives { margin: 0 0 12px; color: #52645a; font-size: .85rem; line-height: 1.45; }
.tw-order-rewards__progress { display: block; appearance: none; width: 100%; height: 8px; margin: 0 0 18px; border: 0; border-radius: 8px; overflow: hidden; background: #dce9e1; accent-color: #168b48; }
.tw-order-rewards__progress::-webkit-progress-bar { background: #dce9e1; border-radius: 8px; }
.tw-order-rewards__progress::-webkit-progress-value { background: #168b48; border-radius: 8px; }
.tw-order-rewards__progress::-moz-progress-bar { background: #168b48; border-radius: 8px; }
.tw-order-rewards .tw-order-rewards__button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; max-width: 100%; min-height: 44px; padding: 11px 18px; border: 1px solid #156f3a; border-radius: 9px; background: #156f3a; color: #fff; font: inherit; font-size: .95rem; font-weight: 700; line-height: 1.4; text-align: center; text-decoration: none; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.tw-order-rewards .tw-order-rewards__button:hover:not(:disabled) { border-color: #105b2e; background: #105b2e; color: #fff; }
.tw-order-rewards .tw-order-rewards__button:disabled { border-color: #d3ded7; background: #eaf0ec; color: #586a5f; cursor: default; }
.tw-order-rewards :focus-visible, .tw-order-rewards:focus-visible { outline: 3px solid #168b48; outline-offset: 3px; }
.tw-order-rewards .tw-order-rewards__fineprint { margin: 14px 0 0; color: #52645a; font-size: .8rem; line-height: 1.55; }
.tw-order-rewards .tw-order-rewards__notice { margin: 16px 0 0; font-size: .95rem; line-height: 1.5; }
.tw-order-rewards .tw-order-rewards__explanation { max-width: 78ch; margin: 16px 0 0; font-size: .95rem; line-height: 1.6; }
.tw-order-rewards--picker { background: #fff; }
.tw-order-rewards__tier { margin-top: 26px; }
.tw-order-rewards .tw-order-rewards__tier-title { margin: 0 0 12px; padding-top: 18px; border-top: 1px solid #d3e2da; color: #243b2f; font-size: 1.06rem; font-weight: 700; line-height: 1.4; }
.tw-order-rewards__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; }
.tw-order-rewards__option { display: flex; flex-direction: column; min-width: 0; border: 1px solid #d3e2da; border-radius: 12px; overflow: hidden; background: #f8fbf9; }
.tw-order-rewards__image { display: flex; align-items: center; justify-content: center; min-width: 0; padding: 16px; background: #fff; }
.tw-order-rewards__image img { display: block; width: 100%; max-width: 240px; height: 180px; object-fit: contain; }
.tw-order-rewards__option-body { display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 18px; }
.tw-order-rewards .tw-order-rewards__product-name { margin: 0 0 6px; font-size: 1.02rem; font-weight: 700; line-height: 1.4; }
.tw-order-rewards .tw-order-rewards__product-number { margin: 0 0 10px; color: #52645a; font-size: .79rem; line-height: 1.45; }
.tw-order-rewards .tw-order-rewards__units { margin: 0 0 12px; font-size: .88rem; line-height: 1.5; }
.tw-order-rewards .tw-order-rewards__selected { margin: 0 0 14px; color: #156f3a; font-size: .88rem; font-weight: 700; line-height: 1.5; }
.tw-order-rewards__form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(64px, 88px); align-items: center; gap: 8px 12px; margin-top: auto; }
.tw-order-rewards__quantity-label { min-width: 0; margin: 0; font-size: .88rem; line-height: 1.5; }
.tw-order-rewards__quantity { width: 100%; min-width: 0; min-height: 44px; padding: 8px 10px; border: 1px solid #a6bdb0; border-radius: 6px; background: #fff; color: #243b2f; font: inherit; }
.tw-order-rewards__quantity-help { grid-column: 1 / -1; color: #52645a; font-size: .78rem; line-height: 1.5; }
.tw-order-rewards__form .tw-order-rewards__button { grid-column: 1 / -1; width: 100%; margin-top: 6px; }
.tw-order-rewards__unavailable { margin-top: auto; }
.tw-order-rewards__unavailable p { margin: 0 0 12px; color: #52645a; font-size: .88rem; line-height: 1.5; }
.tw-order-rewards__unavailable .tw-order-rewards__button { width: 100%; }
.tw-order-rewards--compact { margin: 14px 0; padding: 16px; border-radius: 12px; }
.tw-order-rewards--compact .tw-order-rewards__heading > div { flex-basis: 100%; }
.tw-order-rewards--compact .tw-order-rewards__badge { display: none; }
.tw-order-rewards--compact .tw-order-rewards__title { font-size: 1.05rem; }
.tw-order-rewards--compact .tw-order-rewards__intro { font-size: .85rem; }
.tw-order-rewards--compact .tw-order-rewards__totals { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.tw-order-rewards--compact .tw-order-rewards__preview { gap: 12px; }
.tw-order-rewards--compact .tw-order-rewards__preview-image { flex-basis: 72px; width: 72px; height: 72px; padding: 6px; }
.tw-order-rewards--compact .tw-order-rewards__button { width: 100%; }
@media (max-width: 575px) {
    .tw-order-rewards__totals { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
    .tw-order-rewards__grid { grid-template-columns: minmax(0, 1fr); }
    .tw-order-rewards--banner .tw-order-rewards__button { width: 100%; }
    .tw-order-rewards__option-body { padding: 16px; }
    .tw-order-rewards__preview { align-items: flex-start; gap: 12px; }
    .tw-order-rewards__preview-image { flex-basis: 72px; width: 72px; height: 72px; }
}
@media (forced-colors: active) {
    .tw-order-rewards .tw-order-rewards__button { border: 1px solid ButtonText; }
    .tw-order-rewards__progress { border: 1px solid CanvasText; }
}

/* 20261009: 2W coins, persistent-points wallet and compact reward cards. */
.tw-order-rewards--picker,.tw-order-rewards--account{padding:0;border:1px solid #d2e4d9;border-radius:22px;background:#fff;box-shadow:0 12px 36px rgba(13,70,38,.07);overflow:hidden}
.tw-rewards-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:24px;padding:34px 38px;background:radial-gradient(ellipse at 90% 5%,#168a4d 0,transparent 62%),linear-gradient(115deg,#063c26,#076234);color:#fff;overflow:hidden}
.tw-rewards-hero::after{content:"";position:absolute;z-index:-1;width:410px;height:410px;right:-145px;top:-200px;border:54px solid rgba(220,255,231,.06);border-radius:50%;pointer-events:none}
.tw-rewards-hero__copy{min-width:0}
.tw-order-rewards .tw-rewards-eyebrow{margin:0 0 13px;color:#abe8c1;font-size:11px;font-weight:800;letter-spacing:1.8px;line-height:1.4}
.tw-order-rewards .tw-rewards-hero h2,.tw-order-rewards .tw-rewards-hero h1{margin:0 0 16px;color:#fff;font-size:clamp(25px,2.8vw,36px);font-weight:800;line-height:1.14;letter-spacing:-.7px}
.tw-order-rewards .tw-rewards-hero p{max-width:57ch;margin-bottom:0;color:#e2f3e8;font-size:14px;line-height:1.6}
.tw-order-rewards .tw-rewards-hero .tw-rewards-hero__rate{display:inline-block;max-width:100%;margin:0 0 12px;padding:7px 13px;border:1px solid rgba(205,255,222,.32);border-radius:8px;background:rgba(1,34,17,.22);color:#fff;font-size:16px}
.tw-rewards-hero__coin{display:grid;justify-items:center;gap:6px;text-align:center}
.tw-rewards-hero__coin img{display:block;width:180px;height:180px;transform:rotate(-12deg);filter:drop-shadow(8px 12px 10px rgba(0,25,10,.3))}
.tw-rewards-hero__coin span{color:#d7f1e1;font-size:11px;letter-spacing:.25px}
.tw-rewards-content{padding:24px 28px 28px}
.tw-rewards-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 24px;padding:0;list-style:none}
.tw-rewards-steps li{display:flex;gap:10px;align-items:flex-start;min-width:0}
.tw-rewards-steps li>span{display:grid;place-items:center;flex:0 0 33px;height:33px;border-radius:50%;background:#e8f5ed;color:#076333;font-size:11px;font-weight:800}
.tw-rewards-steps strong{display:block;color:#1e382b;font-size:13px;line-height:1.5}
.tw-rewards-steps small{display:block;color:#576e60;font-size:11px;line-height:1.5}
.tw-rewards-wallet{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 22px;padding:20px;border:1px solid #cde5d5;border-radius:14px;background:#f0f8f3}
.tw-rewards-wallet__copy{flex:1 1 290px;min-width:0}
.tw-rewards-wallet__copy strong{font-size:16px;color:#145b33}
.tw-order-rewards .tw-rewards-wallet__copy p{max-width:68ch;margin:5px 0 0;color:#435e4f;font-size:13px;line-height:1.6}
.tw-order-rewards .tw-rewards-wallet .tw-order-rewards__button{font-size:13px}
.tw-order-rewards .tw-rewards-wallet__preview{flex-basis:100%;margin:0;color:#435e4f;font-size:13px;line-height:1.6}
.tw-rewards-wallet__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;flex-basis:100%;margin:0}
.tw-rewards-wallet__stats div{min-width:0}
.tw-rewards-wallet__stats dt{color:#526a5b;font-size:12px;font-weight:400;line-height:1.4}
.tw-rewards-wallet__stats dd{margin:7px 0 0;color:#075b30;font-size:26px;font-weight:800;line-height:1.25}
.tw-rewards-wallet__stats dd span{display:block;margin-top:3px;color:#526a5b;font-size:11px;font-weight:600}
.tw-rewards-text-link{color:#096734;font-weight:700;font-size:13px;text-underline-offset:4px}
.tw-rewards-catalog-heading{margin:28px 0 0}
.tw-order-rewards .tw-rewards-catalog-heading h3{margin:0 0 6px;color:#1d392a;font-size:22px;font-weight:800;line-height:1.25}
.tw-order-rewards .tw-rewards-catalog-heading p{margin:0;color:#576b60;font-size:13px;line-height:1.6}
.tw-order-rewards--picker .tw-order-rewards__explanation{font-size:13px;line-height:1.6}
.tw-order-rewards--picker .tw-order-rewards__grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:18px}
.tw-order-rewards--picker .tw-order-rewards__tier-title{display:flex;align-items:center;gap:8px;padding-top:18px;font-size:16px}
.tw-rewards-mini-coin{display:block;flex:0 0 32px;width:32px;height:32px;object-fit:contain}
.tw-order-rewards--picker .tw-order-rewards__option{border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(13,70,38,.04)}
.tw-order-rewards--picker .tw-order-rewards__image{padding:16px;background:linear-gradient(155deg,#fff,#f5f9f6)}
.tw-order-rewards--picker .tw-order-rewards__image img{height:160px;max-width:220px;mix-blend-mode:multiply}
.tw-order-rewards--picker .tw-order-rewards__option-body{padding:18px}
.tw-rewards-cost{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;margin-bottom:12px;padding:4px 9px 4px 5px;border-radius:20px;background:#e9f5ed;color:#086231;font-size:12px;font-weight:800;line-height:1.4}
.tw-rewards-cost img{display:block;width:26px;height:26px;flex:0 0 26px}
.tw-order-rewards--picker .tw-order-rewards__product-name{font-size:14px;line-height:1.45}
.tw-order-rewards--picker .tw-order-rewards__product-number{font-size:11px}
.tw-order-rewards--picker .tw-order-rewards__units,.tw-order-rewards--picker .tw-order-rewards__unavailable p{font-size:12px}
.tw-order-rewards--picker .tw-order-rewards__option .tw-order-rewards__button{font-size:12px}
.tw-order-rewards--picker .tw-order-rewards__fineprint{margin:24px 0 14px;font-size:11px}
.tw-rewards-account-balance{display:flex;align-items:center;gap:12px;margin:12px 0 18px}
.tw-rewards-account-balance img{width:54px;height:54px}
.tw-rewards-account-balance strong{color:#fff;font-size:clamp(34px,5vw,52px);line-height:1}
.tw-rewards-account-balance span{display:block;margin-top:5px;font-size:12px;color:#cfebd9}
.tw-order-rewards--account .tw-rewards-wallet{margin-bottom:20px}
.tw-order-rewards--account .tw-rewards-content>p{font-size:13px;line-height:1.65;color:#526a5b}
@media(max-width:767.98px){.tw-rewards-hero{grid-template-columns:minmax(0,1fr) 120px;gap:14px;padding:25px 22px}.tw-rewards-hero__coin img{width:120px;height:120px}.tw-rewards-hero__coin span{display:none}.tw-rewards-content{padding:20px}.tw-rewards-wallet{padding:17px}.tw-rewards-steps{gap:12px}.tw-rewards-steps li{flex-direction:column;gap:7px}.tw-rewards-wallet__stats{gap:12px}.tw-rewards-wallet__stats dd{font-size:22px}}
@media(max-width:479.98px){.tw-rewards-hero{grid-template-columns:minmax(0,1fr);padding:24px 20px}.tw-rewards-hero__copy{padding-right:0}.tw-rewards-hero__coin{position:absolute;right:13px;top:13px}.tw-rewards-hero__coin img{width:54px;height:54px}.tw-order-rewards .tw-rewards-eyebrow{padding-right:52px;min-height:32px;font-size:10px;letter-spacing:1px}.tw-order-rewards .tw-rewards-hero h2,.tw-order-rewards .tw-rewards-hero h1{font-size:27px}.tw-rewards-content{padding:18px 16px}.tw-rewards-wallet>.tw-order-rewards__button{width:100%}.tw-rewards-wallet__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tw-rewards-wallet__stats>div:last-child{grid-column:1/-1;padding-top:12px;border-top:1px solid #cde5d5}.tw-order-rewards .tw-rewards-catalog-heading h3{font-size:20px}.tw-rewards-steps strong{font-size:12px}.tw-rewards-steps small{font-size:10px}}
@media(forced-colors:active){.tw-rewards-hero{border:1px solid CanvasText}.tw-rewards-wallet,.tw-order-rewards__option{border-color:CanvasText}}

/* Merchant reward choices 20261009 */
.tw-order-rewards__form--choice{grid-template-columns:minmax(0,1fr);width:100%}
.tw-order-rewards__form--choice .tw-reward-choice{min-width:0;width:100%;min-height:44px;font-size:14px}
.tw-order-rewards__form--choice .tw-order-rewards__quantity-label{margin:0}
.tw-order-rewards__form--choice .tw-order-rewards__product-number{margin:0}
