.loyalty-banner{position:relative}.loyalty-banner--menu{width:100%;max-width:1280px;margin:.75rem auto;padding:0 48px;box-sizing:border-box}@media (max-width:900px){.loyalty-banner--menu{padding:0 24px}}@media (max-width:640px){.loyalty-banner--menu{padding:0 11px}.loyalty-banner--cart,.loyalty-banner__content{gap:.6rem;padding:.7rem .75rem}.loyalty-banner__icon{width:32px;height:32px}.loyalty-banner__cta{padding:.45rem .7rem;font-size:.72rem}}.loyalty-banner--cart{margin-bottom:.6rem}.loyalty-banner__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}.loyalty-banner__track::-webkit-scrollbar{display:none}.loyalty-banner__slide{flex:0 0 100%;min-width:0;scroll-snap-align:start}.loyalty-banner--cart,.loyalty-banner__content{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1.5px solid var(--border-accent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--secondary-color) 8%,var(--primary-color));color:var(--on-primary);box-shadow:var(--shadow-card);cursor:pointer}.loyalty-banner--cart .loyalty-banner__content{flex:1 1;min-width:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}.loyalty-banner__icon{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--secondary-color);color:var(--primary-color);display:flex;align-items:center;justify-content:center;font-size:.9rem;overflow:hidden}.loyalty-banner__icon-img{width:100%;height:100%;object-fit:cover}.loyalty-banner__copy{flex:1 1;min-width:0;display:flex;flex-direction:column}@media (min-width:769px){.loyalty-banner--menu .loyalty-banner__copy{flex-direction:row;align-items:center;gap:12px}.loyalty-banner--menu .loyalty-banner__sub{margin:0}}.loyalty-banner--cart .loyalty-banner__title{white-space:normal;overflow-wrap:anywhere}.loyalty-banner__title{margin:0;font-size:.85rem;font-weight:700;color:var(--on-primary)}.loyalty-banner__sub{margin:.15rem 0 0;font-size:.75rem;color:color-mix(in srgb,var(--on-primary) 60%,transparent)}.loyalty-banner__sep{flex-shrink:0;width:4px;height:4px;border-radius:50%;background:color-mix(in srgb,var(--on-primary) 45%,transparent)}.loyalty-banner__desc{margin:.15rem 0 0;font-size:.75rem;color:color-mix(in srgb,var(--on-primary) 60%,transparent);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.loyalty-banner__cta{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding:.5rem .85rem;border:none;border-radius:var(--radius-full);background:var(--secondary-color);color:var(--primary-color);font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background var(--transition)}.loyalty-banner__cta-icon{flex-shrink:0}.loyalty-banner__cta:hover{background:color-mix(in srgb,var(--secondary-color) 85%,#000)}.loyalty-banner__dots{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px}.loyalty-banner__dot{width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--on-primary) 25%,transparent);cursor:pointer;transition:width var(--transition),background var(--transition)}.loyalty-banner__dot--active{width:16px;border-radius:3px;background:var(--secondary-color)}.loyalty-reward-card-wrap{display:flex;flex-direction:column;gap:.5rem;width:100%;margin-bottom:.6rem;cursor:pointer}.loyalty-points-banner__savings--card{padding:0 .2rem}.loyalty-points-banner{display:flex;flex-direction:column;gap:.5rem;width:100%;margin-bottom:.6rem;padding:.85rem 1rem;box-sizing:border-box;border:1.5px solid var(--border-accent);border-radius:var(--radius-md);color:var(--on-primary);box-shadow:var(--shadow-card);cursor:pointer}.loyalty-points-banner__row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.loyalty-points-banner__main{display:flex;align-items:center;gap:.6rem;min-width:0;flex:1 1}.loyalty-points-banner__icon{flex-shrink:0;width:34px;height:34px;object-fit:contain}.loyalty-points-banner__title{margin:0;font-size:.85rem;font-weight:600;color:var(--on-primary)}.loyalty-points-banner__arrow{flex-shrink:0;padding:4px;border:none;background:transparent;color:var(--secondary-color);font-size:.8rem;cursor:pointer}.loyalty-points-banner__pill{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--on-primary) 8%,transparent)}.loyalty-points-banner__pill-label{font-size:.75rem;color:color-mix(in srgb,var(--on-primary) 60%,transparent);white-space:nowrap}.loyalty-points-banner__pill-value{font-size:.78rem;font-weight:700;color:var(--on-primary);white-space:nowrap}.loyalty-points-banner__divider{width:100%;border-top:1px dashed color-mix(in srgb,var(--on-primary) 18%,transparent)}.loyalty-points-banner__savings{display:flex;align-items:center;gap:6px}.loyalty-points-banner__savings-emoji{font-size:1rem;line-height:1}.loyalty-points-banner__savings-text{margin:0;font-size:.78rem;font-weight:600;color:var(--on-primary)}