/* Birthday Bash Promax™ – Front CSS */
:root{
    --bbp-red:#c0392b;--bbp-gold:#f5c518;--bbp-black:#111;
    --bbp-white:#fff;--bbp-bg:#f8f9fa;--bbp-border:#e9ecef;
    --bbp-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
.bbp-wrap{font-family:var(--bbp-font);color:var(--bbp-black);}
.bbp-wrap *{box-sizing:border-box;}

/* My Account Link */
.bbp-myaccount-link{display:flex!important;align-items:center;gap:10px;color:inherit;text-decoration:none!important;font-weight:600;transition:color .2s;}
.bbp-myaccount-link:hover{color:var(--bbp-red)!important;}
.bbp-myaccount-icon{font-size:20px;width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--bbp-red) 0%,#922b21 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.bbp-myaccount-label{font-size:14px;font-weight:700;}

/* Rewards Page */
.bbp-rewards-page{min-height:60vh;background:var(--bbp-bg);}
.bbp-rewards-hero{padding:48px 20px 72px;position:relative;overflow:hidden;}
.bbp-rewards-hero-curve{position:absolute;bottom:-1px;left:0;right:0;height:44px;background:var(--bbp-bg);border-radius:44px 44px 0 0;}
.bbp-rewards-hero-inner{max-width:680px;margin:0 auto;text-align:center;position:relative;z-index:2;}
.bbp-rewards-badge{display:inline-block;padding:5px 14px;background:rgba(245,197,24,.15);border:1px solid rgba(245,197,24,.3);border-radius:50px;font-size:11px;font-weight:800;color:var(--bbp-gold);letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;}
.bbp-rewards-h1{font-size:34px;font-weight:900;color:#fff;line-height:1.12;letter-spacing:-0.8px;margin:0 0 12px;}
.bbp-rewards-h1 em{font-style:normal;color:var(--bbp-gold);}
.bbp-rewards-sub{font-size:15px;color:rgba(255,255,255,.5);margin:0;}
.bbp-rewards-content{max-width:760px;margin:0 auto;padding:28px 16px 60px;}

/* Birthday Card */
.bbp-card{border-radius:20px;padding:28px;position:relative;overflow:hidden;margin-bottom:20px;box-shadow:0 8px 32px rgba(0,0,0,.18);}
.bbp-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.bbp-card-logo{height:36px;width:auto;object-fit:contain;}
.bbp-card-brand-name{font-size:16px;font-weight:900;letter-spacing:.04em;}
.bbp-card-badge{padding:5px 14px;border-radius:50px;font-size:11px;font-weight:800;letter-spacing:.06em;}
.bbp-card-greeting{font-size:15px;margin-bottom:12px;opacity:.8;}
.bbp-card-wish{font-size:14px;line-height:1.7;margin-bottom:20px;opacity:.9;white-space:pre-wrap;}
.bbp-card-voucher{border:2px dashed;border-radius:14px;padding:18px;text-align:center;margin-bottom:18px;}
.bbp-card-voucher-label{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.6;margin-bottom:6px;}
.bbp-card-voucher-amount{font-size:38px;font-weight:900;line-height:1;margin-bottom:6px;}
.bbp-card-voucher-code{font-family:monospace;font-size:20px;font-weight:900;letter-spacing:3px;background:rgba(255,255,255,.1);padding:8px 20px;border-radius:8px;display:inline-block;margin-bottom:6px;}
.bbp-card-expiry{font-size:12px;opacity:.6;}
.bbp-card-footer{font-size:12px;opacity:.5;text-align:center;margin-top:8px;}

/* Confetti */
.bbp-confetti-layer{position:absolute;top:0;left:0;right:0;height:60px;overflow:hidden;pointer-events:none;}
.bbp-confetti-piece{position:absolute;top:-10px;width:8px;height:8px;border-radius:2px;animation:bbp-fall 3s linear infinite;}
@keyframes bbp-fall{0%{top:-10px;transform:rotate(0)}100%{top:110%;transform:rotate(720deg)}}

/* Active reward */
.bbp-active-reward{margin-bottom:24px;}
.bbp-active-reward-label{font-size:13px;font-weight:800;color:var(--bbp-black);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.bbp-voucher-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:16px;}
.bbp-voucher-copy-wrap{display:flex;align-items:center;gap:8px;background:var(--bbp-white);border:1.5px solid var(--bbp-border);border-radius:50px;padding:8px 8px 8px 18px;flex:1;min-width:200px;}
.bbp-voucher-display{font-family:monospace;font-size:15px;font-weight:800;letter-spacing:2px;color:var(--bbp-red);flex:1;}
.bbp-copy-btn{padding:8px 16px;border-radius:50px;border:none;background:var(--bbp-black);color:var(--bbp-gold);font-weight:800;font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap;}
.bbp-copy-btn:hover{background:var(--bbp-red);}
.bbp-shop-btn{padding:12px 24px;border-radius:50px;background:linear-gradient(135deg,var(--bbp-red) 0%,#922b21 100%);color:#fff!important;text-decoration:none!important;font-weight:800;font-size:14px;transition:all .2s;box-shadow:0 4px 16px rgba(192,57,43,.3);white-space:nowrap;}
.bbp-shop-btn:hover{box-shadow:0 6px 22px rgba(192,57,43,.45);transform:translateY(-1px);}

/* No reward */
.bbp-no-reward-card{background:var(--bbp-white);border-radius:18px;padding:40px 24px;text-align:center;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.bbp-no-reward-icon{font-size:56px;margin-bottom:14px;}
.bbp-no-reward-title{font-size:22px;font-weight:900;color:var(--bbp-black);margin-bottom:8px;}
.bbp-no-reward-sub{font-size:14px;color:#666;margin-bottom:20px;line-height:1.6;}
.bbp-countdown{background:linear-gradient(135deg,#0a0a0a 0%,#2d0808 100%);border-radius:16px;padding:20px 30px;display:inline-block;margin-top:8px;}
.bbp-countdown-num{font-size:48px;font-weight:900;color:var(--bbp-gold);line-height:1;}
.bbp-countdown-label{font-size:12px;color:rgba(255,255,255,.5);font-weight:700;letter-spacing:.06em;text-transform:uppercase;}

/* Stats */
.bbp-rewards-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0;}
.bbp-rstat{background:var(--bbp-white);border-radius:14px;padding:18px;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.06);}
.bbp-rstat-val{font-size:28px;font-weight:900;color:var(--bbp-red);}
.bbp-rstat-label{font-size:11px;color:#888;font-weight:700;margin-top:4px;text-transform:uppercase;letter-spacing:.04em;}

/* Past campaigns */
.bbp-past-section{margin-top:24px;}
.bbp-past-title{font-size:14px;font-weight:800;color:var(--bbp-black);margin-bottom:14px;text-transform:uppercase;letter-spacing:.05em;}
.bbp-past-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
.bbp-past-item{background:var(--bbp-white);border-radius:14px;padding:16px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.06);border-top:3px solid var(--bbp-border);}
.bbp-past-redeemed{border-top-color:#27ae60;}
.bbp-past-expired{border-top-color:#e74c3c;}
.bbp-past-active{border-top-color:var(--bbp-gold);}
.bbp-past-year{font-size:22px;font-weight:900;color:var(--bbp-black);margin-bottom:4px;}
.bbp-past-code{font-family:monospace;font-size:11px;color:#888;margin-bottom:6px;}
.bbp-past-amount{font-size:16px;font-weight:800;color:var(--bbp-red);margin-bottom:4px;}
.bbp-past-status{font-size:11px;color:#666;}

/* Home banner */
.bbp-home-banner{background:linear-gradient(135deg,#0a0a0a 0%,#1a0505 60%,var(--bbp-red) 100%);border-radius:16px;padding:20px 24px;margin:20px 0;}
.bbp-home-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.bbp-home-banner-left{display:flex;align-items:center;gap:14px;}
.bbp-home-banner-emoji{font-size:32px;}
.bbp-home-banner-title{font-size:16px;font-weight:800;color:#fff;margin-bottom:4px;}
.bbp-home-banner-sub{font-size:13px;color:rgba(255,255,255,.65);}
.bbp-home-banner-btn{padding:10px 20px;border-radius:50px;background:var(--bbp-gold);color:var(--bbp-black)!important;text-decoration:none!important;font-weight:800;font-size:13px;white-space:nowrap;}

/* Cart widget */
.bbp-cart-widget{background:linear-gradient(135deg,#052e16 0%,#0a1a0a 100%);border:1.5px solid #27ae60;border-radius:14px;padding:16px 18px;margin:16px 0;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.bbp-cart-widget-icon{font-size:28px;flex-shrink:0;}
.bbp-cart-widget-body{flex:1;min-width:0;}
.bbp-cart-widget-title{font-size:14px;font-weight:800;color:#fff;margin-bottom:4px;}
.bbp-cart-widget-sub{font-size:13px;color:rgba(255,255,255,.65);margin-bottom:6px;}
.bbp-cart-code{font-family:monospace;font-size:14px;font-weight:800;color:var(--bbp-gold);letter-spacing:2px;}
.bbp-cart-expiry{font-size:11px;color:rgba(255,255,255,.4);margin-left:10px;}
.bbp-cart-apply-btn{padding:10px 18px;border-radius:10px;border:none;background:var(--bbp-gold);color:var(--bbp-black);font-weight:800;font-size:13px;cursor:pointer;white-space:nowrap;}
.bbp-cart-apply-btn:hover{background:#ffd000;}

/* Order history button */
.bbp-order-gift-btn{display:inline-block;padding:7px 14px;border-radius:20px;background:linear-gradient(135deg,var(--bbp-red) 0%,#922b21 100%);color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:800;box-shadow:0 2px 10px rgba(192,57,43,.3);transition:all .2s;}
.bbp-order-gift-btn:hover{box-shadow:0 4px 16px rgba(192,57,43,.45);transform:translateY(-1px);}

@media(max-width:480px){
    .bbp-rewards-h1{font-size:26px;}
    .bbp-rewards-stats{grid-template-columns:repeat(3,1fr);gap:8px;}
    .bbp-rstat{padding:12px 8px;}
    .bbp-rstat-val{font-size:20px;}
}
