/* RESET GENERAL */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  image-rendering: pixelated;
}

body {
  background-image: url('img/suprafondo.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  font-family: monospace;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: 100vh;
  padding: 20px 0;
  overflow-x: hidden;
  overflow-y: auto;
}


.contenedor-total {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 30px;
  margin-top: 10px;
  position: relative;
}

.maquina-vending {
  width: 100%;
  max-width: 640px; /* o 700px si lo ves necesario */
  background-color: #cf125e;
  border: 4px solid #de1977;
  box-shadow: 10px 10px 0 #1a0e2b;
  padding: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 6px;
  position: relative;
  z-index: 2;
  margin: 0 auto;
}

.encabezado-maquina {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-bottom: 10px;
}

.focos.laterales {
  display: flex;
  gap: 6px;
}

.foco {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid #000;
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.7);
}

.rojo {
  background-color: #cff623;
  animation: parpadeo-rojo 1s infinite alternate;
  box-shadow: 0 0 8px #cff623, 0 0 4px #cff623 inset;
}

.amarillo {
  background-color: #fff700;
  animation: parpadeo-amarillo 1.3s infinite alternate;
  box-shadow: 0 0 8px #fff700, 0 0 4px #fff700 inset;
}

.verde {
  background-color: #53ff4d;
  animation: parpadeo-verde 0.9s infinite alternate;
  box-shadow: 0 0 8px #53ff4d, 0 0 4px #53ff4d inset;
}

@keyframes parpadeo-rojo {
  0% { opacity: 0.5; transform: scale(1); }
  100% { opacity: 1; transform: scale(1.1); }
}

@keyframes parpadeo-amarillo {
  0% { opacity: 0.6; transform: scale(1); }
  100% { opacity: 1; transform: scale(1.1); }
}

@keyframes parpadeo-verde {
  0% { opacity: 0.4; transform: scale(1); }
  100% { opacity: 1; transform: scale(1.1); }
}

.logo-maquina img {
  width: 90px;
  height: auto;
  image-rendering: pixelated;
}

.vitrina {
  width: 100%;
  max-width: 320px;
  background-color: #ffd2ec;
  border: 3px solid #710028;
  padding: 5px;
  margin-bottom: 2px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  position: relative;
  overflow: hidden;
}

.nivel-repisa {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.repisa {
  display: flex;
  justify-content: space-around;
  background-color: #ff75ac;
  border: 2px solid #000;
  padding: 2px;
}

.producto {
  width: 50px;
  height: 50px;
  border: 2px solid #860337;
  background-color: #ffb2e1;
  border-radius: 6px;
}

@keyframes parpadeo1 {
  0%, 100% {
    box-shadow: 0 0 8px #ff4dc4;
  }
  50% {
    box-shadow: 0 0 25px #ff1ac6;
  }
}

@keyframes parpadeo2 {
  0%, 40%, 100% {
    box-shadow: 0 0 10px #ff4dc4;
  }
  20%, 60% {
    box-shadow: 0 0 35px #ff1ac6;
  }
}

@keyframes parpadeo3 {
  0%, 100% {
    box-shadow: 0 0 6px #ff4dc4;
  }
  30%, 70% {
    box-shadow: 0 0 28px #ff1ac6;
  }
}


.producto-con-etiqueta {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.etiqueta {
  background-color: #ffe600;
  color: #000;
  font-size: 8px;
  padding: 2px 6px;
  border: 1px solid #000;
  border-radius: 10px;
  margin-top: 4px;
  font-weight: bold;
  box-shadow: 1px 1px 0 #000;
}

.cuerpo-maquina {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  width: 100%;
}

.lado-izquierdo {
  flex: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
}


.lado-derecho {
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}




.panel-seleccion-enmarcado {
  background-color: #e98a97;
  border: 1px solid #000;
  border-radius: 6px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  box-shadow: inset 0 0 10px #ffb9b9;
  width: 150px;
}

.coin-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #eee;
  border: 2px solid #000;
  padding: 6px 10px;
  width: 100px;
  box-shadow: inset 0 0 6px #aaa;
  border-radius: 6px;
}

.ranura {
  width: 80%;
  height: 5px;
  background: #000;
  margin-bottom: 4px;
  border-radius: 2px;
}

.texto-coin {
  font-size: 7px;
  font-family: monospace;
  color: #111;
  letter-spacing: 1px;
}

.mando-completo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.btn-fisico {
  background-color: #c0c0c0;
  border: 1px solid #000;
  color: #000;
  font-size: 7px;
  padding: 4px 4px;
  font-weight: bold;
  font-family: monospace;
  box-shadow: inset -1px -1px 2px #fff, inset 2px 2px 3px #555;
  cursor: pointer;
}

.pantalla-seleccion {
  background-color: #111;
  color: #00ffaa;
  padding: 2px 8px;
  border: 2px solid #00ffaa;
  font-family: monospace;
  font-size: 10px;
  text-shadow: 0 0 2px #00ffaa;
  width: 60px;
  text-align: center;
}

.botones-linea {
  display: flex;
  gap: 10px;
}

.btn-agregar,
.btn-push-grande,
.btn-start-juego {
  background-color: #ffe600;
  border: 3px solid #000;
  padding: 2px 4px;
  font-family: monospace;
  font-size: 10px;
  color: #000;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  box-shadow: 3px 3px 0 #444;
  transition: transform 0.1s;
}

.btn-agregar:active,
.btn-push-grande:active,
.btn-start-juego:active
 {
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 #444;
}

.entrega {
  width: 120px;
  height: 60px;
  background-color: #1a1a1a;
  border: 4px solid #000;
  border-radius: 4px;
  margin-top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffe600;
  font-size: 12px;
  font-family: monospace;
  box-shadow:
    inset 0 8px 12px rgba(0,0,0,0.6),
    inset 0 -4px 6px rgba(255,255,255,0.1);
}


.entrega {
  width: 90%;
  margin: 10px auto;
  height: 60px;
  background-color: #1a1a1a;
  border: 4px solid #000;
  box-shadow:
    inset 0 8px 12px rgba(0,0,0,0.6),
    inset 0 -4px 6px rgba(255,255,255,0.1);
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffe600;
  font-size: 12px;
  font-family: monospace;
  position: relative;
}


.puerta-entrega {
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #2b2b2b, #000);
  transform: translateY(0%);
  transition: transform 0.5s ease-in-out;
  z-index: 1;
  border-bottom: 2px solid #555;
}

.entrega.abierta .puerta-entrega {
  transform: translateY(100%);
}

.entrega p {
  position: relative;
  z-index: 2;
  color: #ffe600;
  font-family: monospace;
  font-size: 12px;
  padding: 0;
  margin: 0;
}


.pantalla-promocional {
  width: 200px;
  background-color: #0b0a0a;
  border: 6px solid #000;
  border-radius: 10px;
   display: flex;
  justify-content: center;
  align-items: center;
  padding: 4px;
  position: relative;
  overflow: hidden;
}


.pantalla-promocional::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 200%;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(
    135deg,
    transparent 0%,
    rgba(255, 255, 255, 0.1) 40%,
    rgba(255, 255, 255, 0.05) 60%,
    transparent 80%
  );
  animation: brilloPantalla 4s infinite linear;
}

@keyframes brilloPantalla {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}


.pantalla-promocional img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  image-rendering: pixelated;
}


.pantalla-puntos {
  margin-top: 10px;
  text-align: center;
  font-family: 'Press Start 2P', monospace;
  font-size: 10px;
  color: #00ffcc;
}

.pantalla-promocional {
  width: 120px;
  height: 170x;
  overflow: hidden;
  background: #000;
  border-radius: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 4px solid #111;
}

#juego {
  width: 170px;      /* Ajuste visual */
  height: 200px;     /* Escalado compacto */
  image-rendering: pixelated;
  display: block;
  background: url('gamecars/autopista.png') no-repeat center center;
  background-size: cover;
  border: none;
}

.fila-juego {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin: 10px 0;
}



.pantalla-puntos {
  background-color: #000;
  color: #00ffaa;
  font-family: 'Press Start 2P', monospace;
  font-size: 6px;
  border: 2px solid #00ffaa;
  border-radius: 4px;
  padding: 4px 6px;
  text-align: center;
  width: fit-content;
  min-width: 90px;
}

.tabla-puntos {
  margin-top: 10px;
  padding: 5px;
  background-color: #000;
  border: 2px solid #ffe600;
  color: #ffe600;
  font-family: 'Press Start 2P', monospace;
  font-size: 5px;
  width: 100%;
  max-width: 200px;
  box-shadow: 2px 2px 0 #444;
  text-align: left;
}

.tabla-puntos h3 {
  font-size: 6px;
  margin-bottom: 6px;
  text-align: center;
  color: #00ffee;
}

.tabla-puntos ul {
  list-style: none;
  padding: 0;
  max-height: 160px;
  overflow-y: auto;
  scrollbar-width: none;
}

.tabla-puntos ul::-webkit-scrollbar {
  display: none;
}

.tabla-puntos li {
  padding: 2px 0;
  border-bottom: 1px dashed #444;
}

.neon {
  color: #30e3ca;
  text-shadow:
    0 0 5px #30e3ca,
    0 0 10px #30e3ca,
    0 0 20px #30e3ca;
}

.maquina-vending {
  image-rendering: pixelated;
  transform: scale(1.001); /* fuerza el pixelado */
}

.parpadeo-1 {
  animation: parpadeo1 2.5s infinite ease-in-out;
}
.parpadeo-2 {
  animation: parpadeo2 3s infinite ease-in-out;
}
.parpadeo-3 {
  animation: parpadeo3 2s infinite ease-in-out;
}


