/* Black Friday effects (12 Nov 2026). Loaded ONLY by resources/views/v2/black-friday.blade.php.
   Every rule starts with .bf-fx (a class that exists only on that page's <main>): nothing here can reach another page.
   Motion: transform / opacity only; everything off under prefers-reduced-motion (final state shown, no movement). */
.bf-fx{--bf-gold:#ffc53d;--bf-out:cubic-bezier(.19,1,.22,1);--bf-inout:cubic-bezier(.645,.045,.355,1);overflow-x:clip}

/* ---- hero: embers canvas, 3D «70%», shockwave ---- */
.bf-fx .bf-hero{position:relative;overflow:hidden;isolation:isolate}
.bf-fx .bf-hero>.wrap{position:relative;z-index:1}
.bf-fx .bf-embers{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;contain:strict}
.bf-fx .bf-num{position:relative;perspective:900px}
.bf-fx .bf-70{display:inline-block;transform-style:preserve-3d;transform:rotateY(calc(var(--mx,0)*16deg)) rotateX(calc(var(--my,0)*-10deg));transition:transform .25s ease-out;
 text-shadow:0 1px 0 #e9ad22,0 2px 0 #d99d1c,0 3px 0 #c98e17,0 4px 0 #b88013,0 5px 0 #a7720f,0 6px 0 #96650c,0 7px 0 #855909,0 8px 0 #754e07,0 22px 30px rgba(0,0,0,.65),0 0 90px rgba(255,150,40,.45)}
.bf-fx.bf-go .bf-70{animation:bf-slam .7s var(--bf-out) both,bf-sway 7s var(--bf-inout) .7s infinite alternate}
.bf-fx .bf-ring{position:absolute;left:50%;top:46%;width:240px;height:240px;margin:-120px 0 0 -120px;border-radius:50%;border:3px solid rgba(255,197,61,.8);opacity:0;pointer-events:none}
.bf-fx.bf-go .bf-ring{animation:bf-ring .9s var(--bf-out) .28s both}
.bf-fx.bf-go .bf-hero-in{animation:bf-quake .4s linear .3s both}
.bf-fx.bf-go .bf-bf{animation:bf-rise .6s var(--bf-out) .05s both}
.bf-fx.bf-go .bf-eyebrow{animation:bf-rise .6s var(--bf-out) .15s both}
.bf-fx.bf-go .bf-cta{animation:bf-rise .6s var(--bf-out) .35s both}
.bf-fx .bf-btn{transition:transform .15s ease,background-color .15s ease}
.bf-fx .bf-btn:active{transform:scale(.97)}
.bf-fx .bf-cd b{display:inline-block;backface-visibility:hidden}
.bf-fx .bf-cd b.bf-flip{animation:bf-flip .32s var(--bf-out)}
@keyframes bf-slam{0%{scale:2.4;translate:0 -30px}55%{scale:.94}100%{scale:1;translate:0 0}}
@keyframes bf-sway{from{rotate:y -10deg}to{rotate:y 10deg}}
@keyframes bf-ring{0%{opacity:.9;transform:scale(.25)}100%{opacity:0;transform:scale(3.2)}}
@keyframes bf-quake{0%,100%{transform:translate(0,0)}15%{transform:translate(-5px,3px)}30%{transform:translate(4px,-3px)}45%{transform:translate(-3px,2px)}60%{transform:translate(3px,-1px)}80%{transform:translate(-1px,1px)}}
@keyframes bf-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes bf-flip{from{transform:rotateX(-85deg);opacity:.2}to{transform:rotateX(0);opacity:1}}

/* ---- moving tape between the hero and the products ---- */
.bf-fx .bf-tape{overflow:hidden;background:#ffc53d;color:#1a0b2e;transform:rotate(-1.2deg) scale(1.02);margin:-10px 0 26px;direction:ltr;box-shadow:0 14px 30px -14px rgba(255,150,40,.6)}
.bf-fx .bf-tape>div{display:flex;width:max-content;animation:bf-tape 26s linear infinite}
.bf-fx .bf-tape span{flex:none;padding:9px 22px;font-weight:800;font-size:14px;letter-spacing:3px;white-space:nowrap}
@keyframes bf-tape{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---- product cards: dark, 3D, on fire ---- */
.bf-fx .lgrid{row-gap:38px;padding-top:22px;perspective:1400px}
.bf-fx .card.cx{background:linear-gradient(170deg,#21103a 0%,#130822 100%);border-color:#3a2360;color:#f5f0fc;overflow:visible;transform-style:preserve-3d;
 transform:rotateX(calc(var(--ry,0)*-9deg)) rotateY(calc(var(--rx,0)*11deg));transition:transform .2s ease-out,box-shadow .2s ease,border-color .2s ease}
.bf-fx .card.cx:hover{transform:rotateX(calc(var(--ry,0)*-9deg)) rotateY(calc(var(--rx,0)*11deg)) translateZ(14px);border-color:#ffc53d;box-shadow:0 26px 50px -22px rgba(255,120,20,.55)}
.bf-fx .card.cx .cx-media{border-radius:12px;outline:1px solid rgba(255,255,255,.08)}
.bf-fx .card.cx .cx-br{color:#ffc53d}
.bf-fx .card.cx .cx-nm{color:#f5f0fc}
.bf-fx .card.cx .save{color:#8be0b4;background:rgba(74,148,112,.2)}
.bf-fx .card.cx .cx-sl{color:#cfc3e6}
.bf-fx .card.cx .cx-buy{background:transparent;color:#e6f6ee;border-color:rgba(139,224,180,.55)}
.bf-fx .card.cx .cx-acts .btn,.bf-fx .card.cx .cx-buy{transition:transform .15s ease}
.bf-fx .card.cx .cx-acts .btn:active,.bf-fx .card.cx .cx-buy:active{transform:scale(.97)}
.bf-fx .card.cx .badge:not(.new){background:linear-gradient(135deg,#ffd84a,#ff8a1f);color:#1a0b2e;box-shadow:0 8px 18px -8px rgba(255,120,20,.9);font-size:13px}
/* price: the old price on its own line, the new price big under it */
.bf-fx .card.cx .pr{position:relative;flex-direction:column;align-items:flex-start;gap:1px;flex-wrap:nowrap}
.bf-fx .card.cx .pr s{order:-1;position:relative;display:inline-block;font-size:16px;font-weight:700;color:#e9e0f8;text-decoration-thickness:2px;text-decoration-color:#ff5a3c;transform-origin:0 100%}
.bf-fx .card.cx .pr b{font-size:22px;color:#ffc53d;font-variant-numeric:tabular-nums;transform-origin:100% 50%}
.bf-fx .card.cx:not(.bf-hot) .pr b{color:#fff}
/* scroll-in: only cards that start below the screen get .bf-wait (set by the script) */
.bf-fx .card.cx.bf-wait{opacity:0;transform:translateY(34px) rotateX(-24deg) scale(.96)}
.bf-fx .card.cx.bf-show{animation:bf-card .6s var(--bf-out) both;animation-delay:calc(var(--i,0)*70ms)}
@keyframes bf-card{from{opacity:0;transform:translateY(34px) rotateX(-24deg) scale(.96)}to{opacity:1;transform:translateY(0) rotateX(0) scale(1)}}
/* fire on the top edge of every discounted card (burns only while the card is on screen) */
.bf-fx .card.bf-hot{border-color:rgba(255,138,31,.75);box-shadow:0 0 0 1px rgba(255,138,31,.35),0 18px 40px -20px rgba(255,90,0,.7)}
.bf-fx .bf-flame{position:absolute;left:10px;right:10px;bottom:calc(100% - 4px);height:30px;display:flex;align-items:flex-end;justify-content:space-around;pointer-events:none;z-index:3;direction:ltr}
.bf-fx .bf-flame i{flex:1 1 0;height:100%;margin:0 -7px;border-radius:50% 50% 22% 22%/78% 78% 22% 22%;transform-origin:50% 100%;opacity:.9;
 background:radial-gradient(ellipse at 50% 100%,#fff3b0 0%,#ffd84a 18%,#ff8a1f 46%,rgba(255,60,0,.55) 66%,rgba(255,60,0,0) 78%);animation:bf-burn 1s var(--bf-inout) infinite alternate;animation-play-state:paused}
.bf-fx .bf-flame i:nth-child(2n){animation-duration:1.35s;animation-delay:-.4s;height:78%}
.bf-fx .bf-flame i:nth-child(3n){animation-duration:.8s;animation-delay:-.2s;height:62%}
.bf-fx .bf-flame i:nth-child(5n){animation-duration:1.6s;animation-delay:-.9s;height:92%}
.bf-fx .card.bf-on .bf-flame i{animation-play-state:running}
@keyframes bf-burn{0%{transform:scale(.82,.7) translateX(-2px);opacity:.75}50%{transform:scale(1.05,1.12) translateX(2px);opacity:1}100%{transform:scale(.9,.92) translateX(-1px);opacity:.85}}
/* the old price gets shot: three bullet holes + tracers, then the new price lands */
.bf-fx .bf-holes{position:absolute;inset:-7px -12px;pointer-events:none;direction:ltr}
.bf-fx .bf-holes i{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;transform:scale(0);
 background:radial-gradient(circle,#05020a 0 34%,#3b2a12 36% 52%,rgba(255,197,61,.95) 54% 66%,rgba(255,197,61,0) 70%);box-shadow:0 0 8px rgba(255,150,40,.55)}
.bf-fx .bf-holes i:nth-child(1){left:6%;top:24%}
.bf-fx .bf-holes i:nth-child(2){left:47%;top:88%}
.bf-fx .bf-holes i:nth-child(3){left:95%;top:20%}
.bf-fx .bf-tracer{position:absolute;top:10px;left:-30%;width:46%;height:2px;border-radius:2px;opacity:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,197,61,0),#fff3b0);direction:ltr}
.bf-fx .card.bf-shot .bf-holes i{animation:bf-hole .16s var(--bf-out) both}
.bf-fx .card.bf-shot .bf-holes i:nth-child(1){animation-delay:.12s}
.bf-fx .card.bf-shot .bf-holes i:nth-child(2){animation-delay:.3s}
.bf-fx .card.bf-shot .bf-holes i:nth-child(3){animation-delay:.48s}
.bf-fx .card.bf-shot .bf-tracer{animation:bf-tracer .16s linear 3 both;animation-delay:.02s}
.bf-fx .card.bf-shot .pr s{animation:bf-hit .58s linear .1s both,bf-fall .45s var(--bf-out) .66s both}
.bf-fx .card.bf-shot .pr b{animation:bf-punch .5s var(--bf-out) .72s both}
.bf-fx .card.bf-shot .badge:not(.new){animation:bf-punch .5s var(--bf-out) .8s both}
.bf-fx .card.bf-done .bf-holes i{transform:scale(1)}
.bf-fx .card.bf-done .pr s{transform:rotate(-5deg) translateY(1px);opacity:.82}
@keyframes bf-hole{from{transform:scale(0)}60%{transform:scale(1.5)}to{transform:scale(1)}}
@keyframes bf-tracer{0%{opacity:0;transform:translateX(0)}20%{opacity:1}100%{opacity:0;transform:translateX(330%)}}
@keyframes bf-hit{0%,100%{transform:translate(0,0)}5%,36%,67%{transform:translate(4px,-2px)}12%,43%,74%{transform:translate(-3px,1px)}20%,52%,82%{transform:translate(1px,0)}}
@keyframes bf-fall{from{transform:rotate(0) translateY(0);opacity:1}to{transform:rotate(-5deg) translateY(1px);opacity:.82}}
@keyframes bf-punch{0%{transform:scale(1.9);opacity:0}45%{opacity:1}70%{transform:scale(.94)}100%{transform:scale(1);opacity:1}}
/* filter / sort / load-more swaps: a short cross-fade of the list */
.bf-fx #lroot .lgrid{animation:bf-swap .25s ease-out}
@keyframes bf-swap{from{opacity:.4}to{opacity:1}}

@media (hover:none){
 .bf-fx .card.cx,.bf-fx .card.cx:hover{transform:none}
}
@media (max-width:720px){
 .bf-fx .lgrid{row-gap:32px}
 .bf-fx .bf-flame{height:24px}
 .bf-fx .card.cx .pr b{font-size:19px}
 .bf-fx .card.cx .pr s{font-size:15px}
 .bf-fx .bf-tape span{font-size:12px;padding:7px 16px}
}
@media (prefers-reduced-motion:reduce){
 .bf-fx.bf-go .bf-70,.bf-fx.bf-go .bf-ring,.bf-fx.bf-go .bf-hero-in,.bf-fx.bf-go .bf-bf,.bf-fx.bf-go .bf-eyebrow,.bf-fx.bf-go .bf-cta,
 .bf-fx .bf-cd b.bf-flip,.bf-fx .bf-tape>div,.bf-fx .card.cx.bf-show,.bf-fx .bf-flame i,.bf-fx #lroot .lgrid,
 .bf-fx .card.bf-shot .bf-holes i,.bf-fx .card.bf-shot .bf-tracer,.bf-fx .card.bf-shot .pr s,.bf-fx .card.bf-shot .pr b,.bf-fx .card.bf-shot .badge:not(.new){animation:none}
 .bf-fx .card.cx,.bf-fx .card.cx:hover,.bf-fx .bf-70{transform:none;transition:none}
 .bf-fx .card.cx.bf-wait{opacity:1;transform:none}
 .bf-fx .bf-holes i{transform:scale(1)}
 .bf-fx .bf-embers{display:none}
}

/* ==== visuals round 2 (12 Nov 2026): products in the hero, campaign stamp, compact hero, photo tiles, stars, dark filter ==== */
/* campaign stamp */
.bf-fx .bf-stamp{display:inline-flex;align-items:baseline;gap:10px;background:#ffc53d;color:#0b0516;padding:6px 18px 8px;transform:rotate(-3deg) skewX(-8deg);box-shadow:5px 5px 0 #ff5a1f;border-radius:4px;margin:2px 0 4px}
.bf-fx .bf-stamp b{font-size:26px;font-weight:800;line-height:1.2}
.bf-fx .bf-stamp i{font-style:normal;font-weight:800;font-size:13px;letter-spacing:2px;background:#0b0516;color:#ffc53d;padding:2px 8px;border-radius:3px}
.bf-fx.bf-go .bf-stamp{animation:bf-stamp .5s var(--bf-out) .1s both}
@keyframes bf-stamp{from{transform:rotate(-14deg) skewX(-8deg) scale(1.7);opacity:0}to{transform:rotate(-3deg) skewX(-8deg) scale(1);opacity:1}}
/* compact hero */
.bf-fx .bf-hero{padding:10px 0 20px;margin-bottom:0}
.bf-fx .bf-hero-in{gap:12px 32px}
.bf-fx .bf-h1{margin-top:12px;font-size:clamp(23px,3vw,40px)}
.bf-fx .bf-sub{margin-top:8px;font-size:15px;line-height:1.75}
.bf-fx .bf-cta{margin-top:14px}
.bf-fx .bf-num{gap:10px}
.bf-fx .bf-stage{position:relative;display:flex;justify-content:center;align-items:center;width:100%;max-width:560px;min-height:210px;padding:0 96px;box-sizing:border-box;perspective:900px}
.bf-fx .bf-70{font-size:clamp(96px,11vw,150px)}
.bf-fx .bf-ring{top:50%}
.bf-fx .bf-cdw{display:flex;align-items:center;gap:12px}
.bf-fx .bf-cd span{width:58px;padding:6px 0}
.bf-fx .bf-cd b{font-size:22px}
/* real products floating around the 70% */
.bf-fx .bf-float{position:absolute;width:118px;height:118px;border-radius:22px;background:#fff;padding:6px;box-sizing:border-box;box-shadow:0 22px 40px -16px rgba(0,0,0,.75),0 0 0 1px rgba(255,197,61,.45),0 0 34px rgba(255,150,40,.3);transform-style:preserve-3d}
.bf-fx .bf-float img{width:100%;height:100%;object-fit:contain;border-radius:16px;display:block}
.bf-fx .bf-float em{position:absolute;bottom:-9px;left:50%;margin-left:-28px;width:56px;text-align:center;font-style:normal;font-weight:800;font-size:13px;color:#1a0b2e;background:linear-gradient(135deg,#ffd84a,#ff8a1f);border-radius:8px;padding:2px 0}
.bf-fx .bf-float1{left:6px;top:-2px;transform:rotateY(22deg) rotateZ(-9deg)}
.bf-fx .bf-float2{right:-6px;top:-6px;transform:rotateY(-24deg) rotateZ(8deg)}
.bf-fx .bf-float3{right:9%;bottom:-20px;width:92px;height:92px;transform:rotateY(-16deg) rotateZ(-7deg)}
.bf-fx.bf-go .bf-float1{animation:bf-fly1 .7s var(--bf-out) .35s both,bf-bob 5s var(--bf-inout) 1.1s infinite alternate}
.bf-fx.bf-go .bf-float2{animation:bf-fly2 .7s var(--bf-out) .45s both,bf-bob 6.2s var(--bf-inout) 1.2s infinite alternate}
.bf-fx.bf-go .bf-float3{animation:bf-fly1 .7s var(--bf-out) .55s both,bf-bob 4.4s var(--bf-inout) 1.3s infinite alternate}
@keyframes bf-fly1{from{translate:-90px 40px;scale:.5;opacity:0}to{translate:0 0;scale:1;opacity:1}}
@keyframes bf-fly2{from{translate:90px 40px;scale:.5;opacity:0}to{translate:0 0;scale:1;opacity:1}}
@keyframes bf-bob{from{translate:0 -7px}to{translate:0 8px}}
.bf-fx .bf-tape{margin:0 0 22px}
/* photo tiles per category */
.bf-fx .bf-tiles h2,.bf-fx .bf-stars h2{margin:0 0 12px;font-size:21px;font-weight:800;color:#fff}
.bf-fx .bf-tiles{margin-bottom:26px}
.bf-fx .bf-tiles-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.bf-fx .bf-tiles-row a{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;text-decoration:none;padding:14px 8px 12px;border-radius:20px;background:linear-gradient(170deg,#21103a,#130822);border:1px solid #3a2360;color:#f5f0fc;transition:transform .2s ease-out,border-color .2s ease}
.bf-fx .bf-tiles-row a:hover{border-color:#ffc53d;transform:translateY(-4px)}
.bf-fx .bf-tiles-row a:active{transform:scale(.97)}
.bf-fx .bf-tile-ph{width:92px;height:92px;border-radius:50%;background:#fff;overflow:hidden;display:flex;box-shadow:0 0 0 3px #ffc53d,0 12px 26px -12px rgba(255,150,40,.7)}
.bf-fx .bf-tile-ph img{width:100%;height:100%;object-fit:contain;padding:10px;box-sizing:border-box}
.bf-fx .bf-tiles-row b{font-size:14px;font-weight:800;margin-top:6px}
.bf-fx .bf-tiles-row i{font-style:normal;font-size:12px;color:#cfc3e6}
/* stars row */
.bf-fx .bf-stars{margin-bottom:30px}
.bf-fx .bf-stars-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bf-fx .bf-star{display:flex;gap:14px;align-items:center;padding:14px;border-radius:24px;background:linear-gradient(150deg,#2a1247 0%,#150a26 70%);border:1px solid #4a2a78;color:#f5f0fc;min-width:0}
.bf-fx .bf-star.is-hot{border-color:rgba(255,138,31,.8);box-shadow:0 20px 44px -22px rgba(255,90,0,.75)}
.bf-fx .bf-star-ph{position:relative;flex:0 0 42%;aspect-ratio:1/1;border-radius:16px;background:#fff;overflow:hidden;display:flex}
.bf-fx .bf-star-ph img{width:100%;height:100%;object-fit:contain;padding:8px;box-sizing:border-box}
.bf-fx .bf-star-ph em{position:absolute;top:8px;right:8px;font-style:normal;font-weight:800;font-size:15px;color:#1a0b2e;background:linear-gradient(135deg,#ffd84a,#ff8a1f);border-radius:9px;padding:3px 9px}
.bf-fx .bf-star-b{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.bf-fx .bf-star-tag{font-size:12px;font-weight:800;color:#0b0516;background:#ffc53d;padding:2px 10px;border-radius:3px;transform:skewX(-8deg)}
.bf-fx .bf-star-nm{color:#fff;text-decoration:none;font-weight:800;font-size:15px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bf-fx .bf-star-pr{display:flex;flex-direction:column;line-height:1.25}
.bf-fx .bf-star-pr s{font-size:15px;color:#e9e0f8;text-decoration-color:#ff5a3c;text-decoration-thickness:2px}
.bf-fx .bf-star-pr b{font-size:26px;font-weight:800;color:#ffc53d;font-variant-numeric:tabular-nums}
.bf-fx .bf-star-sv{font-size:12px;font-weight:700;color:#8be0b4;background:rgba(74,148,112,.2);border-radius:7px;padding:3px 8px}
.bf-fx .bf-star-go{min-height:44px;padding:0 22px;font-size:15px;border-radius:12px}
/* dark filter box + list controls */
.bf-fx .lside{background:#150a26;border-color:#2c1b47;box-shadow:none;color:#e9e0f8}
.bf-fx .lsec{border-color:#2c1b47}
.bf-fx .lsec h2{color:#fff}
.bf-fx .lopt{color:#e0d6f2}
.bf-fx .lopt:hover{background:#21103a;color:#fff}
.bf-fx .lopt.on{color:#ffc53d}
.bf-fx .lopt i{color:#b9a9d6}
.bf-fx .lsec details summary{color:#ffc53d}
.bf-fx .lprice input{background:#0b0516;border-color:#3a2360;color:#fff}
.bf-fx .lsheet-head{color:#fff}
.bf-fx .lmorebtn{background:transparent;border-color:#ffc53d;color:#ffc53d}
.bf-fx .lmorebtn:hover{background:#ffc53d;color:#1a0b2e}
.bf-fx .bf-trust{margin-top:28px}
@media (max-width:1000px){
 .bf-fx .bf-tiles-row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:118px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin:0 -20px;padding-inline:20px}
 .bf-fx .bf-tiles-row::-webkit-scrollbar{display:none}
 .bf-fx .bf-stars-row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(82vw,340px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -20px;padding:0 20px 6px}
 .bf-fx .bf-stars-row::-webkit-scrollbar{display:none}
 .bf-fx .bf-star{scroll-snap-align:center}
}
@media (max-width:720px){
 .bf-fx .bf-hero{padding:6px 0 14px}
 .bf-fx .bf-hero-in{gap:8px}
 .bf-fx .bf-stage{min-height:150px;padding:0 40px}
 .bf-fx .bf-70{font-size:104px}
 .bf-fx .bf-float{width:74px;height:74px;border-radius:16px;padding:4px}
 .bf-fx .bf-float img{border-radius:12px}
 .bf-fx .bf-float1{left:0;top:-4px}
 .bf-fx .bf-float2{right:0;top:-4px}
 .bf-fx .bf-float3{display:none}
 .bf-fx .bf-float em{font-size:11px;width:46px;margin-left:-23px;bottom:-8px}
 .bf-fx .bf-cdw{gap:8px}
 .bf-fx .bf-cd span{width:50px;padding:4px 0}
 .bf-fx .bf-cd b{font-size:19px}
 .bf-fx .bf-cd i{font-size:11px}
 .bf-fx .bf-stamp b{font-size:20px}
 .bf-fx .bf-h1{font-size:21px;margin-top:10px}
 .bf-fx .bf-sub{font-size:13px;line-height:1.7;margin-top:6px}
 .bf-fx .bf-cta{margin-top:10px}
 .bf-fx .bf-btn{min-height:44px;font-size:15px}
 .bf-fx .bf-tape{margin-bottom:16px}
 .bf-fx .bf-tiles h2,.bf-fx .bf-stars h2{font-size:18px}
 .bf-fx .bf-tile-ph{width:78px;height:78px}
 .bf-fx .bf-star-pr b{font-size:22px}
}
@media (prefers-reduced-motion:reduce){
 .bf-fx.bf-go .bf-stamp,.bf-fx.bf-go .bf-float1,.bf-fx.bf-go .bf-float2,.bf-fx.bf-go .bf-float3{animation:none}
 .bf-fx .bf-tiles-row a,.bf-fx .bf-tiles-row a:hover{transform:none;transition:none}
}

/* «حتى» above the big number (price-list campaign, 12 Nov 2026) */
.bf-fx .bf-70 small{position:absolute;top:-6px;right:-4px;font-size:20px;line-height:1;letter-spacing:0;color:#0b0516;background:#ffc53d;padding:3px 9px 5px;border-radius:4px;transform:rotate(6deg);text-shadow:none;direction:rtl}
.bf-fx .bf-70{position:relative}
@media (max-width:720px){.bf-fx .bf-70 small{font-size:15px;top:-2px}}
