/* Shared scroll and pointer details for the public storefront. */
html{scrollbar-color:#be2840 #eef1f4;scrollbar-width:auto}
html::-webkit-scrollbar{width:12px}
html::-webkit-scrollbar-track{background:#eef1f4}
html::-webkit-scrollbar-thumb{border:3px solid #eef1f4;border-radius:999px;background:linear-gradient(180deg,#df3c56,#aa142d)}
html::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ed5067,#bd1a35)}

@media(hover:hover) and (pointer:fine){
  body.storefront{cursor:url('/assets/cursor-default.svg') 4 3,auto}
  body.storefront :is(a,button,summary,label,[role="button"],[role="link"]):not(:disabled){cursor:url('/assets/cursor-action.svg') 4 3,pointer}
  body.storefront :is(input,textarea,[contenteditable="true"]){cursor:text}
  body.storefront select{cursor:pointer}
}

.scroll-progress{position:fixed;inset:0 0 auto;z-index:140;height:4px;opacity:0;pointer-events:none;transition:opacity .2s ease}
.scroll-progress.is-active{opacity:1}
.scroll-progress__bar{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#af0e28 0%,#d62542 60%,#f56a7c 100%);box-shadow:0 2px 11px rgba(197,27,45,.36);transition:transform .1s linear}

.scroll-to-top{position:fixed;right:20px;bottom:var(--scroll-top-bottom,20px);z-index:65;display:inline-flex;align-items:center;gap:9px;min-height:54px;padding:8px 15px 8px 8px;border:1px solid #f0c2ca;border-radius:17px;background:rgba(255,255,255,.97);color:#9e172b;box-shadow:0 13px 35px rgba(31,42,59,.16),0 3px 9px rgba(85,14,34,.08);backdrop-filter:blur(12px);font:750 13px/1.1 'Montserrat',Arial,sans-serif;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px) scale(.94);transition:opacity .22s ease,visibility .22s ease,transform .28s cubic-bezier(.22,1,.36,1),border-color .22s ease,box-shadow .22s ease}
.scroll-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
.scroll-to-top:hover{border-color:#de798b;box-shadow:0 17px 39px rgba(31,42,59,.2),0 4px 11px rgba(146,16,40,.12);transform:translateY(-3px)}
.scroll-to-top:active{transform:translateY(0) scale(.96)}
.scroll-to-top:focus-visible{outline:3px solid #c51b2d;outline-offset:3px}
.scroll-to-top__icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:11px;background:linear-gradient(135deg,#dd2c49,#b50e2b);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.24),0 4px 10px rgba(197,27,45,.2)}
.scroll-to-top__icon svg{display:block;width:20px;height:20px;stroke:currentColor}

html.mobile-nav-open .scroll-to-top,
html.category-menu-open .scroll-to-top,
body.storefront:has(.inner-category-drawer.is-open) .scroll-to-top,
body.storefront:has(dialog[open]) .scroll-to-top{opacity:0;visibility:hidden;pointer-events:none;transition:none}
html.mobile-nav-open .scroll-progress,
html.category-menu-open .scroll-progress,
body.storefront:has(.inner-category-drawer.is-open) .scroll-progress,
body.storefront:has(dialog[open]) .scroll-progress{opacity:0;transition:none}

@media(max-width:800px){
  .scroll-to-top{right:auto;left:15px;bottom:var(--scroll-top-bottom,max(15px,env(safe-area-inset-bottom)));width:50px;height:50px;min-height:50px;justify-content:center;padding:6px;border-radius:16px}
  .scroll-to-top__icon{width:36px;height:36px;border-radius:11px}
  .scroll-to-top__label{display:none}
}
@media(prefers-reduced-motion:reduce){
  .scroll-progress,.scroll-progress__bar,.scroll-to-top{transition:none}
}
