a{
text-decoration:none;
}
.truncate-2-lines {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;  
  overflow: hidden;
  text-overflow: ellipsis; /* Optional fallback */
}
.lotto-ball {
  width: 40px;
  height: 40px;
  padding: 0;
  
  /* Centers the number perfectly inside the ball */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  
  /* Makes it a perfect circle */
  border-radius: 50% !important; 
  
  /* Optional: gives it a slight lotto-ball 3D pop */
  box-shadow: inset -3px -3px 6px rgba(0,0,0,0.2), 
              2px 2px 5px rgba(0,0,0,0.15);
  font-size: 1.1rem;
}
/* Target only inputs with the .no-arrows class */
input.no-arrows::-webkit-outer-spin-button,
input.no-arrows::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.confetti {
  left: 0;
  pointer-events: none ;
  position: fixed;
  top: 0;
  transform: translate3d(0, 0, 0);
  will-change: transform;
  height: 100%;
  width: 100%;
}
.confetti-item {
  position: absolute;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

@keyframes confetti-fall {
  0% {
    transform: translateY(-100%)
  }
  95%{
    animation-timing-function: ease-in-out;
    transform: translateY(calc(100vh - 55%))
  }
  100% {
    transform: translateY(calc(150vh - 65%))
  }}

input.no-arrows[type=number] {
  -moz-appearance: textfield;
  appearance: textfield;
}
.zoom-container {
  overflow: hidden;
}

/* Smooth transition on the image */
.zoom-container img {
  transition: transform 0.3s ease-in-out;
}

/* Scale up the image on hover */
.zoom-container:hover img {
  transform: scale(1.1); /* 1.1 = 10% zoom */
  rounded;
}