/* bf-extras: before/after slider, lightbox, mobile sticky CTA */
.ba-slider{position:relative;max-width:420px;margin:0 auto;aspect-ratio:780/1100;border-radius:16px;overflow:hidden;border:1px solid var(--line-2);background:#0a0a0a;touch-action:pan-y;user-select:none}
.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ba-slider .ba-after{clip-path:inset(0 0 0 var(--ba,50%))}
.ba-slider .ba-handle{position:absolute;top:0;bottom:0;left:var(--ba,50%);width:2px;margin-left:-1px;background:#fff;pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.4)}
.ba-slider .ba-handle::after{content:"\2194";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font:700 18px/1 var(--font-body)}
.ba-slider input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba-slider input[type=range]:focus-visible~.ba-handle::after{outline:3px solid var(--red-hi,#ff4d1a);outline-offset:2px}
.ba-tag{position:absolute;top:12px;padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.78);color:#fff;font:600 12px/1.4 var(--font-body);pointer-events:none}
.ba-tag.l{left:12px}.ba-tag.r{right:12px}
.ba-cap{text-align:center;font-size:14px;color:#c8c8cc;margin:10px 0 0}
.lb-zoom{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 16px 16px}
.lb[hidden]{display:none}
.lb img{max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;border-radius:8px}
.lb p{color:#e6e6e8;font-size:14px;margin:12px 0 0;text-align:center;max-width:70ch}
.lb button{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:#111;color:#fff;font-size:22px;cursor:pointer}
.m-cta{display:none}
@media (max-width:768px){
 .m-cta{display:flex;position:fixed;left:16px;right:16px;bottom:12px;z-index:95;justify-content:center;transition:opacity .25s,transform .25s}
 .m-cta .btn{width:100%;justify-content:center;min-height:48px}
 .m-cta.off{opacity:0;transform:translateY(12px);pointer-events:none}
 body.has-mcta{padding-bottom:76px}
 body.has-mcta .jump{bottom:76px}
 body.has-mcta .to-top{bottom:130px}
}
@media (prefers-reduced-motion:reduce){.m-cta{transition:none}}
