.bingo-card {
  aspect-ratio: 3 / 4;  /* Proporción ancho:alto */
  width: 100%;           /* Ocupa el 100% del ancho del contenedor */
  max-width: 500px;      /* Ajustar el máximo ancho del card */
  margin: 0 auto;        /* Centrar el card horizontalmente */
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.3); /* Añadir sombra para darle efecto de profundidad */
}

  .bingo-card-table {
    width: 100%;           /* La tabla ocupará el 100% del ancho del card */
    height: auto;         /* Altura fija para un aspecto rectangular mayor */
    aspect-ratio: 3 / 4;   /* Relación de aspecto para mantener forma vertical */
    margin: 0 auto;        /* Centrar la tabla dentro del card */
  }
  
  .bingo-card-table th, .bingo-card-table td {
    height: calc(100% /5);  /* Dividir la altura de la tabla entre las 5 filas */
    width: calc(100% /5);
    font-size: 2rem;       /* Aumentar el tamaño del texto para que sea más visible */
    vertical-align: middle;  /* Alinear el texto verticalmente */
  }
  
  .bingo-table {
    table-layout: fixed;
    width: 100%;           /* Ocupa el 100% del ancho del contenedor */
  }
  .bingo-table td {
    width: 20%; /* Cada celda ocupa 1/5 del ancho de la tabla */
    padding: 5px;
    vertical-align: middle;
    text-align: center;
  }

  .bingo-table tbody tr {
    height: 80px; /* Ajusta esta altura si es necesario para coincidir con el tamaño real de las filas */
  }

  .table-scroll {
    max-height: calc(5 * 120px); /* Ajusta según la altura estimada de cada fila */
    overflow-y: auto;
  }

  .bingo-ball {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    font-size: 1.8rem;
    color: black;
    font-weight: bold;
    overflow: hidden; /* Para mantener todo contenido dentro del borde */
  }
  .bingo-ball::before {
    content: '';
    position: absolute;
    width: 60%;
    height: 60%;
    border-radius: 50%;
    background-color: white;
    z-index: 1; /* Poner detrás del número */
    left: 40%; /* Mover un 10% hacia la izquierda (50% - 10%) */
    top: 50%;
    transform: translate(-50%, -50%); /* Centrar completamente el círculo */
  }
  .bingo-ball::after {
    content: '';
    position: absolute;
    top: 5%;
    left: 50%;
    width: 45%;
    height: 25%;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.6); /* Brillo para simular reflejo de luz */
    z-index: 3; /* Por encima de todo para simular el reflejo */
    transform: translateX(-50%); /* Centrar horizontalmente */
  }
  .bingo-ball span {
    position: relative;
    z-index: 2; /* Asegurar que el número esté encima del fondo blanco */
    left: -12%; /* Mover el número 10% hacia la izquierda */
  }
    .bingo-ball[data-column='B'], th[data-column='B'] {
        background: linear-gradient(135deg, #ff0000, #cc0000);
    } /* Rojo */
    .bingo-ball[data-column='I'], th[data-column='I'] {
        background: linear-gradient(135deg, #ff7f00, #cc6600);
    } /* Naranja */
    .bingo-ball[data-column='N'], th[data-column='N'] {
        background: linear-gradient(135deg, #ffff00, #cccc00);
    } /* Amarillo */
    .bingo-ball[data-column='G'], th[data-column='G'] {
        background: linear-gradient(135deg, #00ff00, #009900);
    } /* Verde */
    .bingo-ball[data-column='O'], th[data-column='O'] {
        background: linear-gradient(135deg, #0000ff, #000099);
    } /* Azul */