:root{
  --rushd-red:#E43036;
  --rushd-navy:#0E1F3D;
  --rushd-ease:cubic-bezier(.22,.8,.22,1);
}

/* =========================================================
   RUSHD HERO CHARACTER ON SHOP NOW BUTTON
   Injected by JS — Desktop only
========================================================= */

.rushd-shop-btn{
  position:relative !important;
  overflow:visible !important;
}

/* Character wrapper */
.rushd-shop-character{
  position:absolute;

  left:50%;
  bottom:calc(100% - 14px);

  width:clamp(52px,5.2vw,82px);
  height:auto;

  transform:
    translateX(-50%)
    translateY(8px)
    scale(.96);

  transform-origin:center bottom;

  opacity:0;

  z-index:12;

  pointer-events:none !important;
  user-select:none !important;

  filter:
    drop-shadow(0 8px 12px rgba(14,31,61,.11))
    drop-shadow(0 2px 4px rgba(228,48,54,.08));

  transition:
    opacity .45s ease,
    transform .55s var(--rushd-ease),
    filter .28s ease;

  will-change:transform,opacity;
}

/* Ready state — STATIC, no breathing */
.rushd-shop-character.is-ready{
  opacity:1;

  transform:
    translateX(-50%)
    translateY(0)
    scale(1);

  animation:none !important;
}

/* Slight visual reaction only on button hover */
.rushd-shop-btn:hover .rushd-shop-character,
.rushd-shop-btn:focus-visible .rushd-shop-character{
  filter:
    drop-shadow(0 10px 14px rgba(14,31,61,.13))
    drop-shadow(0 3px 5px rgba(228,48,54,.10));
}

/* CTA exit at frame 11 */
.rushd-copy.is-leaving .rushd-shop-character{
  opacity:0 !important;

  transform:
    translateX(-50%)
    translateY(-6px)
    rotate(-4deg)
    scale(.95) !important;

  animation:none !important;

  transition:
    opacity .22s ease,
    transform .38s var(--rushd-ease);
}

@media(max-width:991px){
  .rushd-shop-character{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .rushd-shop-character{
    animation:none !important;
    transition:none !important;
  }

  .rushd-shop-character.is-ready{
    opacity:1;

    transform:
      translateX(-50%)
      translateY(0)
      scale(1);
  }
}
