/* Scroll-to-top — ported from Storefront Pro 1.6.5 (theme.css). */
.scroll-top{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));z-index:80;width:var(--top-size,46px);height:var(--top-size,46px);border-radius:var(--top-radius,50%);border:0;padding:0;cursor:pointer;display:grid;place-items:center;color:var(--top-fg,#fff);background:var(--top-bg,var(--nb-primary));box-shadow:0 8px 24px rgba(0,0,0,.18);transition:opacity .35s,transform .35s,visibility .35s,background .2s}
.scroll-top.pos-right{right:24px}
.scroll-top.pos-left{left:24px}
.scroll-top[hidden]{display:grid;opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none}
.scroll-top .top-arrow{width:calc(var(--top-size,46px) * .46);height:calc(var(--top-size,46px) * .46);position:relative;z-index:1}
.scroll-top:hover{transform:translateY(-3px)}
.scroll-top:focus-visible{outline:3px solid var(--top-bg,var(--nb-primary));outline-offset:3px}
.scroll-top.ring{background:#fff;color:var(--top-bg,var(--nb-primary));box-shadow:0 6px 20px rgba(0,0,0,.14),inset 0 0 0 2px color-mix(in srgb,var(--top-bg,var(--nb-primary)) 14%,transparent)}
.scroll-top.ring .ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.scroll-top.ring .ring circle{fill:none;stroke-width:2.4}
.scroll-top.ring .ring-track{stroke:transparent}
.scroll-top.ring .ring-progress{stroke:var(--top-bg,var(--nb-primary));stroke-linecap:round;transition:stroke-dashoffset .2s linear}
.scroll-top.ring:hover{background:var(--top-bg,var(--nb-primary));color:var(--top-fg,#fff)}
.scroll-top.outline{background:transparent;color:var(--top-bg,var(--nb-primary));box-shadow:inset 0 0 0 2px var(--top-bg,var(--nb-primary))}
.scroll-top.outline:hover{background:var(--top-bg,var(--nb-primary));color:var(--top-fg,#fff)}
.scroll-top.glass{background:color-mix(in srgb,var(--top-bg,var(--nb-primary)) 70%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 24px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,255,255,.35)}
.scroll-top.pulse::before{content:"";position:absolute;inset:-3px;border-radius:inherit;border:2px solid var(--top-pulse,var(--top-bg,var(--nb-primary)));opacity:0;animation:nbTopPulse 2.4s ease-out infinite;pointer-events:none}
.scroll-top.pulse.ring::before{inset:-5px}
@keyframes nbTopPulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.5);opacity:0}}
/* Mobile: sit above the bottom tab bar */
@media (max-width:899px){
 .scroll-top{bottom:calc(84px + env(safe-area-inset-bottom))}
 .scroll-top.pos-right{right:16px}
 .scroll-top.pos-left{left:16px}
}
@media (prefers-reduced-motion:reduce){.scroll-top.pulse::before{animation:none}}
