/* Hover Cursors and active resets */
.desktop-shell a,
.desktop-shell button,
.desktop-shell select,
.desktop-shell [role="button"],
.desktop-shell .clickable {
  cursor: pointer;
  touch-action: auto;
}

/* Scrollbar customizations */
.hide-scrollbar,
.no-scrollbar {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.hide-scrollbar::-webkit-scrollbar,
.no-scrollbar::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.desktop-shell ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.desktop-shell ::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.1);
}
.desktop-shell ::-webkit-scrollbar-thumb {
  background: rgba(0, 61, 107, 0.2);
  border-radius: 3px;
}
.desktop-shell ::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 61, 107, 0.4);
}

/* Hover highlights */
.desktop-shell .hover-bg:hover {
  background-color: var(--bg-hover) !important;
}

.desktop-shell .hover-gold-soft:hover {
  border-color: var(--border-gold) !important;
  box-shadow: var(--glow-gold);
}

.desktop-shell .hover-gold-text:hover {
  color: var(--primary-light) !important;
}

/* Form elements styling */
.desktop-shell input {
  padding: 10px 12px;
  font-size: 13px;
  border-radius: 4px;
}

.desktop-shell input:focus {
  border-color: var(--border-gold) !important;
  box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.12) !important;
}

/* Button hover overrides */
.desktop-shell .btn-gold-outline {
  transition: background-color 0.2s, border-color 0.2s;
}
.desktop-shell .btn-gold-outline:hover:not(:disabled) {
  background: rgba(0, 102, 204, 0.06);
  border-color: var(--border-active);
}
.desktop-shell .btn-gold-outline:active {
  transform: none; /* No mobile shrink on PC */
}

.desktop-shell .btn-primary {
  transition: filter 0.2s, transform 0.1s;
}
.desktop-shell .btn-primary:hover:not(:disabled) {
  filter: brightness(1.1);
}
.desktop-shell .btn-primary:active {
  transform: translateY(1px);
}

/* Skeleton rows animation for high density PC loaders */
@keyframes desktop-skeleton-glow {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.desktop-skeleton {
  background: linear-gradient(90deg, #E5E7EB 25%, #F3F4F6 37%, #E5E7EB 63%);
  background-size: 400% 100%;
  animation: desktop-skeleton-glow 1.4s ease infinite;
}

@keyframes bet-locate-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(0, 102, 204, 0);
  }
  50% {
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.45);
  }
}

.desktop-shell .bet-locate-flash {
  animation: bet-locate-pulse 0.6s ease 3;
  border-color: var(--border-gold) !important;
  position: relative;
  z-index: 1;
}
