.promo-campaign-container{z-index:10;width:100%;margin:-.75rem auto 1.75rem;animation:.5s cubic-bezier(.16,1,.3,1) both promo-slide-down;position:relative}@keyframes promo-slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.promo-campaign-card{background:linear-gradient(135deg,#fff 0%,#fffbf6 45%,#fff5eb 100%);border:1.5px solid #f75b0633;border-radius:20px;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.35rem 1.85rem;transition:all .35s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 32px -6px #f75b061f,0 2px 8px #0000000a}.promo-campaign-card:hover{transform:translateY(-2px);box-shadow:0 14px 40px -4px #f75b0633,0 0 0 1px #f75b0647}.promo-campaign-card:before{content:"";filter:blur(40px);pointer-events:none;z-index:0;background:radial-gradient(circle,#f75b0614 0%,#fbbf240f 50%,#0000 70%);width:320px;height:250px;position:absolute;top:-50%;right:15%}.promo-campaign-card:after{content:"";filter:blur(40px);pointer-events:none;z-index:0;background:radial-gradient(circle,#fb923c14 0%,#0000 70%);width:280px;height:220px;position:absolute;bottom:-50%;left:5%}:root[data-theme=dark] .promo-campaign-card{background:linear-gradient(135deg,#1e293b 0%,#1a1d30 50%,#261616 100%);border:1.5px solid #f75b0652;box-shadow:0 14px 38px -6px #00000080,0 0 0 1px #ffffff0d}:root[data-theme=dark] .promo-campaign-card:hover{box-shadow:0 18px 48px -4px #f75b064d,0 0 0 1px #f75b0673}:root[data-theme=dark] .promo-campaign-card:before{background:radial-gradient(circle,#f75b0638 0%,#ec489926 50%,#0000 70%)}:root[data-theme=dark] .promo-campaign-card:after{background:radial-gradient(circle,#fb923c26 0%,#0000 70%)}.promo-graphic-badge{z-index:1;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.promo-graphic-icon-wrap{color:#ea580c;background:linear-gradient(135deg,#fff2e8 0%,#fed7aa 100%);border:1.5px solid #f75b0640;border-radius:16px;justify-content:center;align-items:center;width:54px;height:54px;animation:3.5s ease-in-out infinite alternate promo-icon-float;display:flex;box-shadow:0 6px 16px #f75b0626}@keyframes promo-icon-float{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-4px)rotate(4deg)}}:root[data-theme=dark] .promo-graphic-icon-wrap{color:#fb923c;background:linear-gradient(135deg,#f75b0640 0%,#f75b061a 100%);border-color:#f75b0666;box-shadow:0 6px 18px #0000004d}.promo-graphic-icon{filter:drop-shadow(0 2px 4px #f75b0640)}.promo-campaign-left{z-index:1;flex-direction:column;flex:1;gap:.45rem;min-width:0;display:flex;position:relative}.promo-badge-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.promo-type-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:9999px;align-items:center;gap:.35rem;padding:.22rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.promo-type-badge.welcome{color:#ea580c;background:#f75b061a;border:1px solid #f75b0640}:root[data-theme=dark] .promo-type-badge.welcome{color:#fed7aa;background:#f9731633;border-color:#f9731673}.promo-type-badge.discount{color:#059669;background:#10b9811a;border:1px solid #10b98140}:root[data-theme=dark] .promo-type-badge.discount{color:#a7f3d0;background:#10b98133;border-color:#10b98173}.promo-type-badge.coupon{color:#7c3aed;background:#8b5cf61a;border:1px solid #8b5cf640}:root[data-theme=dark] .promo-type-badge.coupon{color:#e9d5ff;background:#8b5cf633;border-color:#8b5cf673}.promo-expiry-badge{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:9999px;align-items:center;gap:.32rem;padding:.2rem .6rem;font-size:.72rem;font-weight:500;display:inline-flex}:root[data-theme=dark] .promo-expiry-badge{color:#94a3b8;background:#ffffff12;border-color:#ffffff1a}.promo-campaign-title{color:#0f172a;margin:0;font-size:clamp(1.15rem,2.2vw,1.35rem);font-weight:800;line-height:1.4}:root[data-theme=dark] .promo-campaign-title{color:#fff}.promo-campaign-desc{color:#64748b;max-width:680px;margin:0;font-size:.88rem;line-height:1.5}:root[data-theme=dark] .promo-campaign-desc{color:#94a3b8}.promo-meta-chips{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.promo-meta-chip{color:#475569;background:#0000000a;border:1px solid #0000000f;border-radius:6px;align-items:center;gap:.3rem;padding:.22rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}:root[data-theme=dark] .promo-meta-chip{color:#cbd5e1;background:#ffffff14;border-color:#ffffff1a}.promo-coupon-btn{color:#ea580c;cursor:pointer;background:#f75b061a;border:1px dashed #f75b0680;border-radius:6px;align-items:center;gap:.35rem;padding:.22rem .7rem;font-family:monospace;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex}:root[data-theme=dark] .promo-coupon-btn{color:#fed7aa;background:#f75b062e}.promo-coupon-btn:hover{background:#f75b0633;transform:translateY(-1px)}.promo-ticket-divider{border-left:2px dashed #f75b0638;flex-shrink:0;align-self:stretch;width:0;margin:0 .5rem;position:relative}:root[data-theme=dark] .promo-ticket-divider{border-left-color:#f75b0659}.promo-campaign-right{z-index:1;flex-shrink:0;align-items:center;gap:1.25rem;display:flex;position:relative}.promo-ticket-badge{text-align:center;color:#fff;background:linear-gradient(135deg,#f75b06 0%,#ea580c 100%);border:1px solid #ffffff4d;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-width:105px;padding:.7rem 1.15rem;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 20px #f75b0659}.promo-ticket-badge:hover{transform:scale(1.04);box-shadow:0 8px 24px #f75b0673}.promo-ticket-notch{z-index:2;background:#fff8f2;border-radius:50%;width:12px;height:12px;position:absolute;box-shadow:inset 0 0 2px #00000014}:root[data-theme=dark] .promo-ticket-notch{background:#201a24;box-shadow:inset 0 0 2px #0006}.promo-ticket-notch.top{top:-6px;left:50%;transform:translate(-50%)}.promo-ticket-notch.bottom{bottom:-6px;left:50%;transform:translate(-50%)}.promo-ticket-content{flex-direction:column;justify-content:center;align-items:center;display:flex}.promo-ticket-val{letter-spacing:-.02em;color:#fff;text-shadow:0 1px 3px #0003;font-size:1.55rem;font-weight:900;line-height:1}.promo-ticket-label{letter-spacing:.08em;text-transform:uppercase;color:#ffedd5;margin-top:4px;font-size:.65rem;font-weight:800}.promo-actions{flex-direction:column;gap:.5rem;min-width:155px;display:flex}.promo-claim-btn{color:#fff;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;user-select:none;background:linear-gradient(135deg,#f75b06 0%,#d84b00 100%);border:none;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;padding:.68rem 1.35rem;font-size:.88rem;font-weight:700;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 14px #f75b0659}.promo-claim-btn:hover{background:linear-gradient(135deg,#ff6b1a 0%,#ea580c 100%);transform:translateY(-2px);box-shadow:0 6px 20px #f75b0673}.promo-claim-btn:active{transform:translateY(0)scale(.98)}.promo-claim-btn.claimed{color:#059669;box-shadow:none;cursor:default;background:#10b9811f;border:1.5px solid #10b98159}:root[data-theme=dark] .promo-claim-btn.claimed{color:#34d399;background:#10b98133;border-color:#10b98180}.promo-claim-btn.claimed:hover{box-shadow:none;transform:none}.promo-shop-btn{color:#64748b;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;user-select:none;background:0 0;border:1px solid #e2e8f0;border-radius:9999px;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .95rem;font-size:.78rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}:root[data-theme=dark] .promo-shop-btn{color:#cbd5e1;border-color:#ffffff1f}.promo-shop-btn:hover{color:#f75b06;background:#f75b0614;border-color:#f75b064d;transform:translate(2px)}.promo-shop-btn:active{transform:scale(.98)}.promo-dismiss-btn{z-index:5;color:#94a3b8;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0000000a;border:1px solid #0000000f;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex;position:absolute;top:12px;right:14px}:root[data-theme=dark] .promo-dismiss-btn{color:#94a3b8;background:#ffffff14;border-color:#ffffff1f}.promo-dismiss-btn:hover{color:#ea580c;background:#f75b061f;border-color:#f75b0640;transform:scale(1.08)}.promo-dismiss-btn:active{transform:scale(.92)}.promo-carousel-controls{justify-content:center;align-items:center;gap:.6rem;margin-top:.6rem;display:flex}.promo-carousel-arrow{background:var(--surface-color);border:1px solid var(--border-color);width:28px;height:28px;color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;box-shadow:0 2px 6px #0000000d}.promo-carousel-arrow:hover{color:#f75b06;background:#f75b0614;border-color:#f75b064d;transform:scale(1.08)}.promo-carousel-arrow:active{transform:scale(.92)}.promo-carousel-dots{align-items:center;gap:.35rem;display:flex}.promo-dot{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#9696964d;border-radius:50%;width:7px;height:7px;transition:all .25s}.promo-dot.active{background:#f75b06;border-radius:9999px;width:22px}.promo-toast{z-index:9999;color:#fff;background:#111827;border:1px solid #ffffff26;border-radius:14px;align-items:center;gap:.65rem;padding:.85rem 1.35rem;font-size:.88rem;font-weight:600;animation:.3s cubic-bezier(.16,1,.3,1) both promo-toast-in;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 32px #00000059}@keyframes promo-toast-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (max-width:992px){.promo-campaign-card{gap:1.15rem;padding:1.15rem 1.35rem}.promo-ticket-divider{display:none}}@media (max-width:768px){.promo-campaign-container{margin:0 auto 1.25rem}.promo-campaign-card{touch-action:pan-y;border-radius:18px;flex-direction:column;align-items:stretch;gap:.85rem;padding:1.15rem 1.25rem}.promo-graphic-badge{display:none}.promo-campaign-left{padding-right:2.25rem}.promo-badge-row{gap:.4rem}.promo-type-badge{padding:.2rem .58rem;font-size:.7rem}.promo-expiry-badge{padding:.2rem .55rem;font-size:.7rem}.promo-campaign-title{word-break:break-word;overflow-wrap:break-word;font-size:clamp(1.08rem,3.5vw,1.25rem);line-height:1.35}.promo-campaign-desc{font-size:.84rem;line-height:1.45}.promo-meta-chips{gap:.4rem;margin-top:.15rem}.promo-dismiss-btn{width:32px;height:32px;top:10px;right:10px}.promo-campaign-right{border-top:1px dashed #f75b0638;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding-top:.85rem;display:flex}:root[data-theme=dark] .promo-campaign-right{border-top-color:#f75b0659}.promo-ticket-badge{flex-shrink:0;min-width:90px;padding:.5rem .85rem}.promo-ticket-val{font-size:1.35rem}.promo-actions{flex-direction:row;flex:1;justify-content:flex-end;align-items:center;gap:.6rem;min-width:0;display:flex}.promo-claim-btn{white-space:nowrap;min-height:38px;padding:.55rem 1.1rem;font-size:.85rem}.promo-shop-btn{white-space:nowrap;min-height:34px;padding:.5rem .95rem;font-size:.8rem}}@media (max-width:600px){.promo-campaign-card{border-radius:16px;gap:.75rem;padding:1rem .95rem .9rem}.promo-campaign-left{padding-right:2rem}.promo-badge-row{gap:.35rem}.promo-type-badge{padding:.18rem .55rem;font-size:.68rem}.promo-expiry-badge{padding:.18rem .5rem;font-size:.68rem}.promo-campaign-title{font-size:1.1rem;line-height:1.32}.promo-campaign-desc{font-size:.82rem;line-height:1.42}.promo-meta-chips{gap:.35rem}.promo-meta-chip{padding:.18rem .5rem;font-size:.7rem}.promo-coupon-btn{min-height:26px;padding:.2rem .55rem;font-size:.74rem}.promo-campaign-right{border-top:1px dashed #f75b0638;flex-direction:row;align-items:center;gap:.75rem;width:100%;padding-top:.75rem;display:flex}.promo-ticket-badge{border-radius:12px;flex-shrink:0;min-width:80px;max-width:95px;padding:.45rem .6rem}.promo-ticket-val{font-size:1.25rem;line-height:1}.promo-ticket-label{letter-spacing:.05em;margin-top:2px;font-size:.58rem}.promo-actions{flex-direction:column;flex:1;gap:.4rem;min-width:0;display:flex}.promo-claim-btn{text-align:center;justify-content:center;width:100%;min-height:38px;padding:.55rem .75rem;font-size:.82rem}.promo-claim-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.promo-shop-btn{justify-content:center;width:100%;min-height:30px;padding:.38rem .65rem;font-size:.74rem}.promo-shop-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.promo-toast{border-radius:12px;justify-content:center;width:auto;max-width:calc(100vw - 2rem);padding:.75rem 1rem;font-size:.82rem;bottom:1.25rem;left:1rem;right:1rem}.promo-carousel-controls{gap:.75rem;margin-top:.5rem}.promo-carousel-arrow{width:32px;height:32px}.promo-dot{width:8px;height:8px}.promo-dot.active{width:24px}}@media (max-width:380px){.promo-campaign-card{border-radius:14px;gap:.65rem;padding:.85rem .75rem .75rem}.promo-campaign-left{padding-right:1.85rem}.promo-dismiss-btn{width:28px;height:28px;top:8px;right:8px}.promo-campaign-title{font-size:1rem;line-height:1.3}.promo-campaign-desc{font-size:.78rem;line-height:1.38}.promo-meta-chips{gap:.3rem}.promo-meta-chip{padding:.15rem .45rem;font-size:.68rem}.promo-coupon-btn{min-height:24px;padding:.18rem .48rem;font-size:.72rem}.promo-campaign-right{gap:.55rem;padding-top:.65rem}.promo-ticket-badge{border-radius:10px;min-width:68px;max-width:78px;padding:.38rem .45rem}.promo-ticket-notch{width:10px;height:10px}.promo-ticket-notch.top{top:-5px}.promo-ticket-notch.bottom{bottom:-5px}.promo-ticket-val{font-size:1.1rem}.promo-ticket-label{letter-spacing:.04em;font-size:.52rem}.promo-actions{gap:.35rem}.promo-claim-btn{gap:.35rem;min-height:36px;padding:.48rem .45rem;font-size:.78rem}.promo-claim-btn svg{flex-shrink:0;width:14px;height:14px}.promo-shop-btn{min-height:28px;padding:.32rem .45rem;font-size:.72rem}}
