:root {
  --color-bg-gradient: linear-gradient(135deg, #001f3f 0%, #003366 100%);
  --color-accent: #00dfff;
  --color-text-light: #ffffff;
  --radius: 0.5rem;
  --shadow-soft: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.navbar-brand {
  display: flex;
  align-items: center;
  padding: 0; /* elimina padding por defecto */
}
#logo-img {
  height: 40px; /* altura fija para alinear con links */
  width: auto; /* respecta proporción */
  transition: height 0.3s ease;
}

/* Logo comprimido al hacer scroll */
.navbar.scrolled #logo-img {
  height: 32px;
}
/* Navbar */
nav.navbar {
  background: var(--color-bg-gradient) !important;
  box-shadow: var(--shadow-soft);
}
nav.navbar .navbar-brand,
nav.navbar .nav-link {
  color: var(--color-text-light) !important;
  transition: color 0.2s;
}
nav.navbar .nav-link:hover {
  color: var(--color-accent) !important;
}

.btn-accent {
  background: var(--color-accent);
  color: #000;
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  transition: transform 0.1s;
}
.btn-accent:hover {
  transform: translateY(-2px);
}

.section-card {
  background: #fff;
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  padding: 1.5rem;
  margin-bottom: 2rem;
}

.form-control:focus {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 0.2rem rgba(0, 223, 255, 0.25);
}

#gameCanvas,
#rouletteCanvas {
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  background-color: #000; /* o conserva tu fondo */
}

body {
  background: #f5f7fa;
  font-family: "Roboto", sans-serif;
}

.btn-gold {
  position: relative;
  padding: 0;               /* el padding lo lleva el span */
  border: none;
  background: none;
  border-radius: 50px;
  overflow: hidden;         /* recorta el gradiente girando */
}

.btn-gold span {
  display: block;
  position: relative;
  z-index: 1;
  background: #b68d40;      /* color de fondo del botón */
  color: #fff;
  padding: .5rem 1rem;
  border-radius: inherit;
}

/* El gradiente giratorio, cubriendo toda la zona del botón */
.btn-gold::before {
  content: '';
  position: absolute;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: conic-gradient(
    from 0deg,
    #ffffff 0%,
    #ffffff 50%,
    #ffffff 100%
  );
  z-index: 0;
  animation: rotate-gradient 2s linear infinite;
}

@keyframes rotate-gradient {
  to { transform: rotate(360deg); }
}

/* Sección de canje */
#redeem { margin-top: 100px; }
#redeemForm, #ticket {
  max-width: 400px;
  margin: 0 auto;
}
#ticket pre {
  font-size: 1.25rem;
  letter-spacing: 0.1em;
}




/* Logo más pequeño en móviles */
@media (max-width: 576px) {
  #logo-img {
    height: 32px;
  }
}