/* ==========================================================================
   Trusti Back to Top v0.1.0 — P76 visual pilot
   Independent UI utility. Does not modify Eva, Header, Footer or page shells.
   ========================================================================== */

.trusti-back-to-top {
  --trusti-btt-right: 24px;
  --trusti-btt-bottom: 24px;

  position: fixed;
  right: calc(var(--trusti-btt-right) + env(safe-area-inset-right));
  bottom: calc(var(--trusti-btt-bottom) + env(safe-area-inset-bottom));
  z-index: 250;

  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(18, 7, 39, .14);
  border-radius: 999px;

  display: grid;
  place-items: center;

  color: #120727;
  background: rgba(255, 255, 255, .94);
  box-shadow:
    0 10px 30px rgba(18, 7, 39, .13),
    0 2px 8px rgba(18, 7, 39, .08);

  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);

  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateY(8px) scale(.96);
  transition:
    opacity 180ms ease,
    transform 180ms ease,
    visibility 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease;
}

.trusti-back-to-top[data-visible="true"] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.trusti-back-to-top:hover {
  background: #fff;
  border-color: rgba(18, 7, 39, .28);
  box-shadow:
    0 12px 34px rgba(18, 7, 39, .17),
    0 3px 10px rgba(18, 7, 39, .10);
}

.trusti-back-to-top:active {
  transform: translateY(1px) scale(.97);
}

.trusti-back-to-top:focus-visible {
  outline: 3px solid rgba(112, 65, 255, .35);
  outline-offset: 3px;
}

.trusti-back-to-top svg {
  width: 20px;
  height: 20px;
  display: block;
  pointer-events: none;
}

@media (max-width: 640px) {
  .trusti-back-to-top {
    --trusti-btt-right: 12px;
    --trusti-btt-bottom: 12px;

    width: 48px;
    height: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .trusti-back-to-top {
    transition: none;
    transform: none;
  }

  .trusti-back-to-top[data-visible="true"] {
    transform: none;
  }

  .trusti-back-to-top:active {
    transform: none;
  }
}
