/* V37: dezenter, barrierearmer Sprung-nach-oben-Button. */
.back-to-top {
  position:fixed;
  right:clamp(16px,3vw,32px);
  bottom:calc(22px + env(safe-area-inset-bottom, 0px));
  z-index:28;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(35,53,78,.16);
  border-radius:50%;
  color:#26344b;
  background:rgba(253,250,244,.95);
  box-shadow:0 4px 16px rgba(27,40,60,.12);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(9px);
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease,background-color .2s ease;
}
.back-to-top.is-visible {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.back-to-top svg {width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.back-to-top:hover {background:#fff;color:#e55b6c;box-shadow:0 5px 18px rgba(27,40,60,.17)}
.back-to-top:focus-visible {outline:3px solid #ef7d86;outline-offset:3px}
/* Der Button darf die fixierte Figuren-Auswahl nicht überdecken. */
body:has(#stickyCart:not([hidden])) .back-to-top {bottom:calc(102px + env(safe-area-inset-bottom, 0px))}
@media(max-width:760px) {
  .back-to-top {width:42px;height:42px;right:16px;bottom:calc(20px + env(safe-area-inset-bottom, 0px))}
  body:has(#stickyCart:not([hidden])) .back-to-top {bottom:calc(104px + env(safe-area-inset-bottom, 0px))}
}
@media(prefers-reduced-motion:reduce) {
  .back-to-top {transition:none;transform:none}
}
