/* TOFL app banner v1.3.1 – front page only. Fixed premium bar above the fixed nav. */
:root{--tofl-bh:52px}
html:has(body.tofl-has-banner){margin-top:var(--tofl-bh)!important}
.tofl-app-banner{position:fixed;top:0;left:0;right:0;z-index:100001;height:var(--tofl-bh);display:block;box-sizing:border-box;max-width:100vw;overflow:hidden;text-decoration:none!important;color:#f2f2f2!important;font-family:Barlow,sans-serif;
  background:radial-gradient(120% 220% at 50% -60%,rgba(227,25,55,.28) 0%,rgba(227,25,55,0) 55%),linear-gradient(90deg,#0a0a0a 0%,#140709 50%,#0a0a0a 100%);
  border-bottom:1px solid rgba(227,25,55,.55);box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 8px 24px rgba(0,0,0,.35)}
.tofl-app-banner::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#E31937 20%,#ff4d66 50%,#E31937 80%,transparent)}
.tofl-app-banner::after{content:"";position:absolute;top:0;bottom:0;left:-30%;width:30%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.06),transparent);transform:skewX(-20deg);animation:tofl-shimmer 7s ease-in-out infinite;pointer-events:none}
@keyframes tofl-shimmer{0%,70%{left:-30%}100%{left:130%}}
.tofl-ab-inner{position:relative;z-index:1;height:100%;max-width:1240px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:center;gap:14px;white-space:nowrap;min-width:0}
.tofl-ab-tile{flex:0 0 auto;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#ff3654,#E31937 55%,#b01028);box-shadow:0 4px 12px rgba(227,25,55,.45),inset 0 1px 0 rgba(255,255,255,.25)}
.tofl-ab-new{flex:0 0 auto;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ff6b81;padding:4px 9px 3px;border:1px solid rgba(227,25,55,.6);border-radius:999px;background:rgba(227,25,55,.1);line-height:1}
.tofl-ab-text{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:15px;font-weight:500;letter-spacing:.01em;color:#d9d9d9}
.tofl-ab-text strong{color:#fff;font-weight:600}
.tofl-ab-short{display:none}
.tofl-ab-cta{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;margin-left:6px;padding:8px 14px 8px 16px;border-radius:999px;background:#fff;color:#0a0a0a;font-weight:600;font-size:14px;letter-spacing:.01em;line-height:1;box-shadow:0 2px 10px rgba(0,0,0,.3);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s}
.tofl-ab-stores{font-size:12px;font-weight:500;color:#777;padding-left:8px;border-left:1px solid #ddd}
.tofl-ab-cta svg{color:#E31937;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.tofl-app-banner:hover .tofl-ab-cta,.tofl-app-banner:focus-visible .tofl-ab-cta{transform:translateY(-1px);box-shadow:0 6px 18px rgba(227,25,55,.35);background:#fff}
.tofl-app-banner:hover .tofl-ab-cta svg,.tofl-app-banner:focus-visible .tofl-ab-cta svg{transform:translateX(3px)}
.tofl-app-banner:focus-visible{outline:2px solid #fff;outline-offset:-3px}
@media (prefers-reduced-motion:reduce){.tofl-app-banner::after{animation:none;display:none}.tofl-ab-cta,.tofl-ab-cta svg{transition:none}}
/* Push the fixed nav below the banner. */
body.tofl-has-banner nav#main-nav,body.tofl-has-banner #toflNav{top:var(--tofl-bh)!important;margin-top:0!important}
body.admin-bar.tofl-has-banner .tofl-app-banner{top:32px}
body.admin-bar.tofl-has-banner nav#main-nav{top:calc(var(--tofl-bh) + 32px)!important}
@media (max-width:782px){body.admin-bar.tofl-has-banner .tofl-app-banner{top:46px}body.admin-bar.tofl-has-banner nav#main-nav{top:calc(var(--tofl-bh) + 46px)!important}}
@media (max-width:900px){.tofl-ab-long{display:none}.tofl-ab-short{display:inline}}
@media (max-width:560px){:root{--tofl-bh:48px}.tofl-ab-inner{padding:0 12px;gap:10px;justify-content:space-between}.tofl-ab-new,.tofl-ab-stores{display:none}.tofl-ab-tile{width:28px;height:28px;border-radius:8px}.tofl-ab-text{font-size:14px;flex:1 1 auto}.tofl-ab-cta{padding:7px 12px;font-size:13px;margin-left:0}}
@media (max-width:340px){.tofl-ab-tile{display:none}}
