/** Shopify CDN: Minification failed

Line 239:2 Expected percentage but found "@keyframes"
Line 438:1 Expected "}" to go with "{"

**/
.jco-mascot {
  position: fixed;
  left: -260px;
  bottom: 16px;
  z-index: 99999;
  display: flex;
  align-items: flex-end;
  pointer-events: none;
  animation: jco-skate-in 2.2s ease forwards;
}

.jco-mascot.is-docked {
  left: auto;
  right: 14px;
}

.jco-mascot__button {
  position: relative;
  z-index: 2;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
}.jco-mascot__close {
  position: absolute;
  top: -2px;
  right: 2px;
  z-index: 5;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 1px solid rgba(91, 58, 49, 0.25);
  border-radius: 50%;
  background: #fffaf6;
  color: #5b3a31;
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
  box-shadow: 0 4px 12px rgba(73, 48, 39, 0.12);
}

.jco-mascot__close:hover {
  transform: scale(1.08);
}

.jco-mascot.is-hidden {
  display: none;
}

.jco-mascot__image {
  display: block;
  width: 145px;
  height: auto;
  filter: drop-shadow(0 10px 16px rgba(73, 48, 39, 0.18));
  transform-origin: 50% 85%;
  animation: jco-idle 2.2s ease-in-out infinite;
}

.jco-mascot__image.is-waving {
  animation: jco-wave 0.7s ease-in-out 3;
}

.jco-mascot__image.is-celebrating {
  animation: jco-celebrate 0.55s ease-in-out 4;
}
.jco-mascot__image.is-hopping {
  animation: jco-hop 0.65s ease-in-out 3 !important;
}

.jco-mascot__image.is-spinning {
  animation: jco-spin 1.2s ease-in-out 1 !important;
}

.jco-mascot__image.is-wiggling {
  animation: jco-wiggle 0.45s ease-in-out 5 !important;
}

.jco-mascot__image.is-dancing {
  animation: jco-dance 0.55s ease-in-out 5 !important;
}

.jco-mascot__image.is-floating {
  animation: jco-float 1.8s ease-in-out 2 !important;
}

.jco-mascot.is-peeking {
  right: -65px;
  transition: right 0.8s ease;
}

.jco-mascot__bubble {
  position: absolute;
  right: 108px;
  bottom: 108px;
  width: max-content;
  max-width: 230px;
  padding: 12px 16px;
  border: 2px solid #5b3a31;
  border-radius: 20px;
  background: #fffaf6;
  color: #5b3a31;
  font-size: 14px;
  line-height: 1.35;
  text-align: center;
  box-shadow: 0 8px 24px rgba(73, 48, 39, 0.14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px) scale(0.96);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
}

.jco-mascot__bubble.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.jco-mascot__bubble::after {
  content: "";
  position: absolute;
  right: 22px;
  bottom: -10px;
  width: 17px;
  height: 17px;
  border-right: 2px solid #5b3a31;
  border-bottom: 2px solid #5b3a31;
  background: #fffaf6;
  transform: rotate(45deg);
}

.jco-mascot__trail {
  position: absolute;
  right: 108px;
  bottom: 30px;
  display: flex;
  gap: 12px;
  color: #ed9fba;
  font-size: 21px;
  opacity: 0;
  animation: jco-trail 2.3s ease forwards;
}

.jco-mascot__trail span:nth-child(2) {
  color: #f0cf59;
  transform: translateY(-18px);
}

.jco-mascot__trail span:nth-child(3) {
  color: #95cfe5;
  transform: translateY(8px);
}

.jco-pop-sparkle {
  position: fixed;
  z-index: 99998;
  pointer-events: none;
  font-size: 22px;
  animation: jco-pop 1.1s ease-out forwards;
}

@keyframes jco-skate-in {
  0% {
    left: -260px;
  }

  100% {
    left: calc(100vw - 165px);
  }
}

@keyframes jco-idle {
  0%,
  100% {
    transform: translateY(0) rotate(-1deg);
  }

  50% {
    transform: translateY(-5px) rotate(1deg);
  }
}

@keyframes jco-wave {
  0%,
  100% {
    transform: rotate(0deg);
  }

  35% {
    transform: rotate(-6deg) translateY(-4px);
  }

  70% {
    transform: rotate(5deg) translateY(-2px);
  }
}

@keyframes jco-celebrate {
  0%,
  100% {
    transform: translateY(0) rotate(0deg) scale(1);
  }

  50% {
    transform: translateY(-13px) rotate(4deg) scale(1.05);
  }
}

@keyframes jco-trail {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }

  25%,
  75% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateX(35px);
  }
}

@keyframes jco-pop {
  0% {
    opacity: 1;
    transform: translate(0, 0) scale(0.7);
  }

  @keyframes jco-hop {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }

  45% {
    transform: translateY(-24px) scale(1.04);
  }

  70% {
    transform: translateY(2px) scale(0.98);
  }
}

@keyframes jco-spin {
  0% {
    transform: rotate(0deg) scale(1);
  }

  50% {
    transform: rotate(180deg) scale(1.08);
  }

  100% {
    transform: rotate(360deg) scale(1);
  }
}

@keyframes jco-wiggle {
  0%,
  100% {
    transform: translateX(0) rotate(0deg);
  }

  25% {
    transform: translateX(-7px) rotate(-4deg);
  }

  75% {
    transform: translateX(7px) rotate(4deg);
  }
}

@keyframes jco-dance {
  0%,
  100% {
    transform: translateY(0) rotate(0deg) scale(1);
  }

  25% {
    transform: translateY(-8px) rotate(-6deg) scale(1.03);
  }

  50% {
    transform: translateY(0) rotate(0deg) scale(0.98);
  }

  75% {
    transform: translateY(-8px) rotate(6deg) scale(1.03);
  }
}

@keyframes jco-float {
  0%,
  100% {
    transform: translateY(0) rotate(-1deg);
  }

  50% {
    transform: translateY(-18px) rotate(2deg);
  }
}

  100% {
    opacity: 0;
    transform: translate(var(--jco-x), var(--jco-y)) scale(1.25) rotate(120deg);
  }
}

@media screen and (max-width: 749px) {
  .jco-mascot {
    bottom: 8px;
  }

  .jco-mascot.is-docked {
    right: 4px;
  }

  .jco-mascot__image {
    width: 102px;
  }

  .jco-mascot__bubble {
    right: 76px;
    bottom: 78px;
    max-width: 180px;
    padding: 9px 12px;
    font-size: 12px;
  }

  @keyframes jco-skate-in {
    0% {
      left: -200px;
    }

    100% {
      left: calc(100vw - 112px);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .jco-mascot {
    left: auto;
    right: 14px;
    animation: none;
  }

  .jco-mascot__image {
    animation: none;
  }

  .jco-mascot__trail {
    display: none;
  }
  /* ── Hover: tilt + speed-up bounce ── */
#jco-mascot:hover #jco-mascot-button {
  animation-duration: 0.4s !important;
  transform: rotate(8deg) scale(1.12);

  /* ── Night mode tint (after 8pm via JS class) ── */
#jco-mascot.is-night #jco-mascot-button img {
  filter: brightness(0.85) sepia(0.3) hue-rotate(200deg);
  transition: filter 1s ease;
}

/* ── Trail sparkle brand colours ── */
.jco-pop-sparkle {
  color: #C9A84C !important; /* gold */
}

/* ── Hover: tilt + glow ── */
#jco-mascot:hover #jco-mascot-button {
  transform: rotate(8deg) scale(1.12);
  filter: drop-shadow(0 0 10px rgba(201, 168, 76, 0.7));
  transition: transform 0.2s ease, filter 0.2s ease;
}

/* ── Pulse glow idle ── */
@keyframes mascot-pulse {
  0%, 100% { filter: drop-shadow(0 0 4px rgba(201, 168, 76, 0.3)); }
  50% { filter: drop-shadow(0 0 14px rgba(201, 168, 76, 0.7)); }
}
#jco-mascot-button {
  animation: mascot-pulse 3s ease-in-out infinite;
}
/* ── Mascot size increase ── */
#jco-mascot-button {
  width: 250x;  /* adjust to taste, original is likely 50-60px */
  height: 250px;
}
/* ── Mascot size increase ── */
#jco-mascot-button {
  width: 200px !important;
  height: 200px !important;
}

#jco-mascot-button img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

#jco-mascot-button img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/* ── Confetti ── */
.jco-confetti {
  position: fixed;
  top: -20px;
  z-index: 99999;
  pointer-events: none;
  animation: confetti-fall linear forwards;
}

@keyframes confetti-fall {
  0% {
    transform: translateY(0) rotate(0deg);
    opacity: 1;
  }
  100% {
    transform: translateY(110vh) rotate(720deg);
    opacity: 0;
  }
}

}