/* SRGFX Rewards. Flat, 8px corners. */
.srgfx-rw { display: grid; gap: 14px; max-width: 720px; }
.srgfx-rw-panel { padding: 20px; border-radius: 8px; background: #f2f3f5; }
.srgfx-rw-title { color: #002d4a; font-size: 18px; font-weight: 700; line-height: 1.3; }
.srgfx-rw-title small { color: #5d6672; font-weight: 400; }
.srgfx-rw-bar { height: 14px; margin: 10px 0 12px; overflow: hidden; border-radius: 8px; background: #e3e5e8; }
.srgfx-rw-bar span { display: block; height: 100%; border-radius: 8px; background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .6) 0 8px, transparent 8px 16px), linear-gradient(90deg, #6fd0ff, #b9a2ff, #ff9fdc, #ffe27a, #8eecc8, #6fd0ff, #b9a2ff) 100% 0 / 300% 100%; animation: srgfx-rw-shimmer 5s ease-in-out infinite alternate; transition: width .25s ease; }
@keyframes srgfx-rw-shimmer { from { background-position: 100% 0; } to { background-position: 0 0; } }
.srgfx-rw p { margin: 0; color: #1d2530; }
.srgfx-rw-coupon { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; }
.srgfx-rw-coupon strong { color: #002d4a; }
.srgfx-rw-coupon-info { margin-top: 2px; color: #5d6672; font-size: 13px; }
.srgfx-rw-coupon-info code { padding: 0; background: none; color: inherit; font-size: 12px; word-break: break-all; }
a.srgfx-rw-use, a.srgfx-rw-use:visited { flex: 0 0 auto; padding: 8px 16px; border-radius: 8px; background: #fe4830; color: #fff; font-weight: 700; line-height: 1.3; white-space: nowrap; text-decoration: none; transition: background-color .2s ease; }
a.srgfx-rw-use:hover, a.srgfx-rw-use:focus { background: #e2401c; color: #fff; }
.srgfx-rw-history { margin: 10px 0 0; padding: 0; list-style: none; font-size: 14px; }
.srgfx-rw-history li { margin: 0 0 6px; color: #1d2530; }
.srgfx-rw-history span { display: inline-block; min-width: 92px; color: #5d6672; }
.srgfx-rw-cart { margin: 0 0 16px; padding: 12px 16px; border-radius: 8px; background: #f2f3f5; }
.srgfx-rw-cart .srgfx-rw-bar { margin: 8px 0 0; height: 10px; }
.srgfx-rw-cart-line { color: #002d4a; font-size: 15px; font-weight: 600; line-height: 1.35; }
.srgfx-rw-cart-line a { color: #fe4830; white-space: nowrap; text-decoration: none; }
.srgfx-rw-cart-line a:hover { color: #e2401c; }
.srgfx-rw-locked .fa-lock { color: #002d4a; }
.srgfx-rw-review-line { font-weight: 600; }
/* Keeps the tab row on one line at 1280 wide with My Rewards in it. */
.srgfx-tabs .srgfx-tablist:has(.fa-gift) { gap: 3px; }
@media (prefers-reduced-motion: reduce) {
	.srgfx-rw-bar span, a.srgfx-rw-use { animation: none; transition: none; }
}
.srgfx-rw-saved { margin-bottom: 10px; color: #002d4a; font-size: 15px; font-weight: 600; }
.srgfx-rw-cart > .srgfx-rw-coupon { margin: 0 0 12px; }
.srgfx-rw-cart-line.srgfx-rw-next { color: #5d6672; font-size: 13px; font-weight: 500; }
.srgfx-rw-panel-next { padding: 14px 20px; background: none; border: 1px solid #e3e5e8; }
.srgfx-rw-panel-next .srgfx-rw-title { color: #5d6672; font-size: 14px; font-weight: 600; }
.srgfx-rw-panel-next .srgfx-rw-bar, .srgfx-rw-next + .srgfx-rw-bar { height: 8px; margin: 6px 0 8px; }
.srgfx-rw .srgfx-rw-panel-next p { color: #5d6672; font-size: 13px; }
.srgfx-rw-claims { display: grid; gap: 10px; margin: 0 0 12px; }
.srgfx-rw-claim { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 18px 20px; border-radius: 8px; background: #fe4830; color: #fff; animation: srgfx-rw-fade .25s ease; }
@keyframes srgfx-rw-fade { from { opacity: 0; } to { opacity: 1; } }
.srgfx-rw-claim-text { flex: 1 1 260px; min-width: 0; }
.srgfx-rw-claim strong { display: block; color: #fff; font-size: 19px; font-weight: 700; line-height: 1.25; }
.srgfx-rw-claim-info { margin-top: 3px; color: #fff; font-size: 14px; }
.srgfx-rw-claim-note { margin-top: 6px; color: #fff; font-size: 14px; font-weight: 600; }
a.srgfx-rw-claim-btn, a.srgfx-rw-claim-btn:visited { flex: 0 0 auto; padding: 13px 24px; border-radius: 8px; background: #002d4a; color: #fff; font-size: 16px; font-weight: 700; line-height: 1.3; white-space: nowrap; text-decoration: none; transition: background-color .2s ease; }
a.srgfx-rw-claim-btn:hover, a.srgfx-rw-claim-btn:focus { background: #0d3d5e; color: #fff; }
.srgfx-rw-claim.is-applied { background: #002d4a; }
a.srgfx-rw-remove, a.srgfx-rw-remove:visited { color: #fff; font-size: 14px; font-weight: 600; text-decoration: underline; transition: opacity .2s ease; }
a.srgfx-rw-remove:hover { opacity: .75; }
.srgfx-rw-claims.is-compact .srgfx-rw-claim { padding: 12px 16px; }
.srgfx-rw-claims.is-compact .srgfx-rw-claim strong { font-size: 16px; }
.srgfx-rw-claims.is-compact a.srgfx-rw-claim-btn { padding: 10px 18px; font-size: 15px; }
@media (max-width: 480px) { a.srgfx-rw-claim-btn { flex: 1 1 100%; text-align: center; } }
@media (prefers-reduced-motion: reduce) { .srgfx-rw-claim, a.srgfx-rw-claim-btn, a.srgfx-rw-remove { animation: none; transition: none; } }
.srgfx-rw-streak-title { white-space: nowrap; }
@media (max-width: 700px) {
	.srgfx-rw-streak-title span { display: block; font-size: min(14px, 3.45vw); }
}
/* Candy cane stripes slide left to right on their own layer; the hologram colors shift slowly underneath. */
.srgfx-rw-bar span { position: relative; overflow: hidden; background: linear-gradient(90deg, #6fd0ff, #b9a2ff, #ff9fdc, #ffe27a, #8eecc8, #6fd0ff, #b9a2ff) 100% 0 / 300% 100%; }
.srgfx-rw-bar span::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255, 255, 255, .6) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .6) 50%, rgba(255, 255, 255, .6) 75%, transparent 75%) 0 0 / 24px 24px; animation: srgfx-rw-stripes 1.75s linear infinite; }
@keyframes srgfx-rw-stripes { from { background-position: 0 0; } to { background-position: 24px 0; } }
@media (prefers-reduced-motion: reduce) { .srgfx-rw-bar span::after { animation: none; } }
