/* BLACK FRIDAY — light luxury base + black/gold accents (design only). Scoped to body.bf-theme */
body.bf-theme{--bf-ink:#0d0d10;--bf-red:#e11d48;
 --bf-grad:linear-gradient(135deg,#f7e08a 0%,#d4af37 45%,#a87b0c 100%)}
/* header */
body.bf-theme .app-header{border-bottom:2px solid transparent;border-image:linear-gradient(90deg,transparent,#d4af37,transparent) 1}
body.bf-theme .header-logo-img{filter:drop-shadow(0 0 8px rgba(212,175,55,.45))}
.bf-badge{display:none}
body.bf-theme .bf-badge{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:4px 10px;border-radius:999px;
 background:var(--bf-ink);color:#f7e08a;font-size:10px;font-weight:800;letter-spacing:.12em;vertical-align:middle}
body.bf-theme .bf-badge i{width:6px;height:6px;border-radius:50%;background:var(--bf-red);animation:bfPulse 1.8s infinite}
@keyframes bfPulse{0%{box-shadow:0 0 0 0 rgba(225,29,72,.7)}70%,100%{box-shadow:0 0 0 7px rgba(225,29,72,0)}}
/* hero banner */
.bf-banner{display:none}
body.bf-theme .bf-banner{display:block;position:relative;overflow:hidden;margin:0 0 16px;padding:22px 20px;border-radius:20px;
 background:radial-gradient(120% 140% at 85% 0%,#2a2210 0%,#0d0d10 60%);color:#fff;
 border:1px solid rgba(212,175,55,.6);box-shadow:0 12px 30px rgba(0,0,0,.18),0 0 24px rgba(212,175,55,.18)}
body.bf-theme .bf-banner::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
 background:linear-gradient(100deg,transparent,rgba(247,224,138,.22),transparent);transform:skewX(-20deg);animation:bfShine 5s ease-in-out infinite}
@keyframes bfShine{0%,55%{left:-60%}100%{left:130%}}
.bf-banner-eyebrow{font-size:11px;letter-spacing:.2em;color:#d4af37;font-weight:700;text-transform:uppercase}
.bf-banner-title{margin:6px 0 4px;font-size:30px;line-height:1.05;font-weight:900;letter-spacing:.04em;
 background:var(--bf-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.bf-banner-sub{font-size:14px;color:#d8d8de;margin-bottom:14px}
.bf-banner-btn{display:inline-block;padding:11px 20px;border-radius:12px;border:0;background:var(--bf-grad);color:#111;
 font-weight:800;font-size:14px;letter-spacing:.03em;box-shadow:0 6px 18px rgba(212,175,55,.4);cursor:pointer}
/* cards / pills / buttons / nav */
body.bf-theme .hero-stats-card{border:1px solid rgba(212,175,55,.45)}
body.bf-theme .product-card{border:1px solid rgba(212,175,55,.35);transition:transform .3s,box-shadow .3s,border-color .3s}
body.bf-theme .product-card:hover,body.bf-theme .product-card:active{transform:translateY(-4px);border-color:rgba(212,175,55,.85);
 box-shadow:0 12px 30px rgba(0,0,0,.12),0 0 22px rgba(212,175,55,.28)}
body.bf-theme .filter-pill.active{background:var(--bf-ink);color:#f7e08a;border-color:var(--bf-ink)}
body.bf-theme .btn-buy-product,body.bf-theme .btn-primary{position:relative;overflow:hidden;background:var(--bf-grad);color:#111;border:0;
 font-weight:800;box-shadow:0 6px 18px rgba(212,175,55,.35)}
body.bf-theme .btn-primary::after{content:"";position:absolute;top:0;left:-120%;width:55%;height:100%;
 background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:bfShine2 4.5s ease-in-out infinite;pointer-events:none}
@keyframes bfShine2{0%,60%{left:-120%}100%{left:170%}}
body.bf-theme .bottom-nav{border-top:1px solid rgba(212,175,55,.4)}
body.bf-theme .nav-item.active{color:#a87b0c}
body.bf-theme .nav-item.active .nav-icon{filter:drop-shadow(0 0 6px rgba(212,175,55,.7));transform:translateY(-2px) scale(1.1)}
/* sparks */
.bf-spark{position:fixed;top:100vh;width:4px;height:4px;border-radius:50%;pointer-events:none;z-index:2;opacity:0;
 background:radial-gradient(circle,#fff3b0,#d4af37 60%,transparent);box-shadow:0 0 8px rgba(212,175,55,.8);animation:bfSpark linear infinite}
@keyframes bfSpark{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:.85}100%{transform:translateY(-110vh) translateX(30px) scale(1.1);opacity:0}}
@media(prefers-reduced-motion:reduce){body.bf-theme .bf-banner::after,body.bf-theme .btn-primary::after,.bf-spark,body.bf-theme .bf-badge i{animation:none!important}}
