html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  display: flex;
  flex-direction: column;
  font-family: Arial, sans-serif;
  background-size: cover;
  background-position: center;
  background-repeat: repeat;
}

#sobreModal h2 {
  color: #00c3ff;
}

#sobreModal p {
  color: #fff;
}

#sobreModal b {
  color: #00c3ff;
}

.banlist-texto b {
  color: #00c3ff;
}

#testModal h2 {
  color: #00c3ff;
}

#testModalText {
  color: #fff;
}

#testModalText b {
  color: #00c3ff;
}


#warpBackground {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: black;
  pointer-events: none;
  touch-action: none; /* evita conflictos con scroll táctil */
}

#mainDeckImages {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: center;
  margin: 0 auto;
  max-width: 80%;
}


/* Aseguramos que las imágenes se ajusten al tamaño de la pantalla */
#mainDeckImages img {
  width: 50px;
  height: auto;
}

.deck-form {
  display: grid;
  grid-template-columns: 3fr 1fr; /* ↑ nombre más largo, evento más corto */
  gap: 20px; /* separación horizontal */
}



.columns {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}

h2 {
  text-align: center;
}

.card-list {
  border: 1px solid #ccc;
  min-height: 200px;
  padding: 10px;
  border-radius: 6px;
}

/* Cada carta como fila con subcolumnas */
.card-item {
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 5px 0;
  padding: 5px;
  background: rgba(128, 0, 255, 0.15);
  border-radius: 4px;
}

/* Nombre de la carta */
.card-name {
  flex: 2; /* más espacio para el nombre */
}

/* Número de copias */
.card-count {
  flex: 1; /* ancho fijo para las copias */
  text-align: center;
}

/* Botón eliminar */
.delete-btn {
  flex: 0;
  background: #e74c3c;
  color: white;
  border: none;
  padding: 2px 6px;
  border-radius: 4px;
  cursor: pointer;
}

.delete-btn:hover {
  background: #c0392b;
}

input[type="text"], select {
  width: 93%;
  padding: 5px;
  margin-bottom: 5px;
}

.suggestions {
  position: absolute; /* fuera del flujo normal */
  background: white;
  border: 1px solid #ccc;
  border-radius: 4px;
  max-height: 120px;
  overflow-y: auto;
  z-index: 100; /* encima de todo */
  width: 100%;   /* igual que el input */
  display: none; /* oculto por defecto */
}

.suggestion-item {
  padding: 5px;
  cursor: pointer;
}

.suggestion-item:hover {
  background: #eee;
}
.card-separator {
  border-top: 1px solid #ccc;
  margin: 5px 0;
}
.card-controls {
  display: flex;
  align-items: center;
  gap: 5px; /* espacio entre número y botones */
}

/* Mantener botones pequeños y juntos */
.add-btn, .subtract-btn {
  padding: 2px 6px;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  color: white;
}

/* Colores */
.add-btn { background: #2ecc71; }
.add-btn:hover { background: #27ae60; }
.subtract-btn { background: #e74c3c; }
.subtract-btn:hover { background: #c0392b; }

/* Número de copias */
.card-count {
  width: 20px;
  text-align: center;
}

.form-section {
  margin-bottom: 15px;
}
.deck-top {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.deck-image-container img {
  border: 1px solid #ccc;
  border-radius: 6px;
}





.hidden {
  display: none;
}

.header-box {
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(135deg, #1a1a1d, #2b0066);
  color: #f0f0f0;
  padding: 15px;
  text-align: center;
  margin-bottom: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4), 0 0 10px rgba(120, 0, 255, 0.2);
  text-transform: uppercase;
  letter-spacing: 1px;
}



.header-box h1 {
  margin: 0;
  font-size: 24px;
  font-weight: normal;
}

#modeSelection {
  text-align: center;
  margin-top: 30px;
}

#modeSelection p {
  font-size: 18px;
  margin-bottom: 15px;
}

.input-group {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
  flex-wrap: wrap;
}

.input-group label {
  font-size: 16px;
  white-space: nowrap;
}

.input-group input[type="number"] {
  padding: 6px 10px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 6px;
  outline: none;
  width: 100px;
}

#nameInputs,
#elimNameInputs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 10px;
}

#nameInputs input,
#elimNameInputs input {
  padding: 8px;
  font-size: 14px;
  border-radius: 6px;
  border: 1px solid #ccc;
  box-sizing: border-box;
}

#elimNameInputs p {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 16px;
}

#nextToRounds,
#nextToElimBracket {
  margin-top: 15px;
}

#rondaSetup {
  margin-top: 20px;
}

#rondaSetup label {
  display: block;
  font-size: 16px;
  margin-bottom: 8px;
  font-weight: 500;
}

#rondaSetup input[type="number"] {
  padding: 6px 10px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 6px;
  outline: none;
  width: 100px;
  margin-left: 10px;
}

#matches {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: flex-start;
}

.round-block {
  width: 48%;
  padding: 15px;
  box-sizing: border-box;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  margin-top: 20px;
  background-color: #f9f9f9;
}

.round-block h3 {
  text-align: center;
  background-color: #e0e0e0;
  border: 1px solid #ccc;
  padding: 10px;
  margin: 0 0 15px 0;
  border-radius: 6px;
  font-weight: normal;
}

.round-block div {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

input[type="number"] {
  width: 60px;
}

input.winner {
  background-color: #d0f0ff;
}

input.loser {
  background-color: #ffd6d6;
}



th, td {
  border: 1px solid #ccc;
  padding: 8px;
  text-align: center;
}

th {
  background-color: #f0f0f0;
}

#tournament h2,
#tournament h3 {
  text-align: center;
  font-size: 22px;
  font-weight: 500;
  margin-top: 30px;
  margin-bottom: 10px;
  color: #333;
}

.match-player-name {
  font-weight: normal;
  transition: font-weight 0.2s ease;
}

.match-player-name.highlight {
  font-weight: bold;
}

#tools-tab {
  position: fixed;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #ccc;
  padding: 8px 12px;
  border-radius: 0 50% 50% 0;
  cursor: pointer;
  z-index: 1000;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
  user-select: none;
  font-size: 18px;
  line-height: 1;
  text-align: center;
  transition: background-color 0.3s, width 0.3s, height 0.3s;
  width: 30px;
  height: 30px;
}

#tools-tab.expanded {
  width: 170px;
  height: 30px;
  border-radius: 0 10px 0 0;
  text-align: center;
  padding-left: 0;
}

#tools-panel {
  position: fixed;
  top: 50%;
  left: 0;
  transform: translateY(10%);
  width: 150px;
  background-color: #f9f9f9;
  border: 1px solid #ccc;
  border-radius: 10px;
  padding: 15px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  z-index: 999;
  text-align: center;
  display: none;
}

#tools-tab:hover {
  background-color: #bbb;
}

#timer-display {
  font-family: 'Courier New', monospace;
  font-size: 32px;
  text-align: center;
  margin-bottom: 10px;
}

#tools-panel input[type="number"] {
  width: 60px;
  margin: 5px 0;
  padding: 4px;
}

.elim-round {
  margin-top: 30px;
  padding: 20px;
  background-color: #f9f9f9;
  border-radius: 10px;
  border: 1px solid #ccc;
}

.elim-round h3 {
  text-align: center;
  font-weight: normal;
  margin-bottom: 20px;
}

.elim-match {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.elim-match .winner {
  background-color: #d0f0ff !important;
}

.elim-match .loser {
  background-color: #ffd6d6 !important;
}

.main-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap; 
  padding: 10px 0;
  flex-shrink: 1;
}

.main-nav a img {
  max-height: 35px; 
  height: auto;
  width: auto;
}

.main-nav a.active img {
  filter: drop-shadow(0 0 8px #444); 
  transform: scale(1.05);
}


.main-nav a {
  text-decoration: none;
  color: #333;
  font-size: 16px;
  font-weight: 500;
  padding: 6px 10px;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}

.main-nav a {
  text-decoration: none;
  color: #f0f0f0;
  font-size: 18px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 8px;
  transition: all 0.3s ease;
  position: relative;
}

.main-nav a:hover {
  color: #ffffff;
  text-shadow: 0 0 8px rgba(170, 0, 255, 0.7), 0 0 12px rgba(120, 0, 255, 0.4);
  transform: translateY(-2px) scale(1.05);
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 0 12px rgba(120, 0, 255, 0.2);
}


.main-nav a:hover img {
  transform: translateY(-2px);
  filter: brightness(1.1);
}

.hamburger-menu {
  display: none; 
}

.hamburger-menu span {
  display: block;
  height: 3px;
  width: 100%;
  background-color: #333; /* color de las líneas */
  border-radius: 2px;     /* redondeo sutil de las líneas */
  transition: all 0.3s ease;
}

.profile-container {
  padding: 20px;
}

.profile-format-buttons {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
  flex-wrap: wrap;
}

.profile-format-buttons button.active {
  background-color: #d0eaff;
  font-weight: bold;
}

.profile-section {
  margin-top: 30px;
}

.profile-section .format-title {
  margin-top: 40px;
  text-align: center;
}

.banlist-texto h2{
  color: #00c3ff;
}

.banlist-texto p{
  color: #fff;
}

.profile-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  justify-content: center;
}

.profile-card {
  background-color: #202123;
  border: 1px solid #ccc;
  border-radius: 10px;
  padding: 15px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  color: #fff;
}

.profile-card img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}

.profile-card h3 {
  margin-top: 0;
  font-size: 18px;
  color: #00c3ff;
}

.profile-card p {
  font-size: 14px;
  color: #fff;
}

.deck-buttons {
  margin-top: 10px;
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}

.descargar-link {
  display: inline-block;
  padding: 6px 12px;
  font-size: 14px;
  border-radius: 6px;
  border: 1px solid #ccc;
  background-color: #f2f2f2;
  text-decoration: none;
  color: #333;
  transition: background-color 0.2s ease;
}

.descargar-link:hover {
  background-color: #e0e0e0;
}

.deck-list {
  margin-top: 10px;
  background-color: #fff;
  border: 1px dashed #aaa;
  border-radius: 6px;
  padding: 10px;
  font-size: 14px;
  color: #333;
}

.deck-list p {
  margin: 0 0 10px 0;
  white-space: pre-line;
}

.miniatura {
  width: 100%;
  height: auto;
  max-height: 160px;
  object-fit: cover;
  cursor: pointer;
  border-radius: 6px;
  border: 2px solid #ccc;
  transition: transform 0.2s;
}

.miniatura:hover {
  transform: scale(1.03);
}

.imagen-grande-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.imagen-grande-contenedor img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 8px;
  box-shadow: 0 0 20px #000;
}
.deck-imagen-contenedor {
  width: 100%;
  overflow: hidden;
  /* No dependemos tanto de max-height, lo dejamos solo como límite */
  max-height: 220px; 
  transition: padding 0.25s ease;
  position: relative;
  padding-bottom: 0;
}

.deck-imagen-contenedor.expandido {
  max-height: 1000px;
  padding-bottom: 10px;
}

.deck-imagen {
  width: 100%;
  display: block;
  border-radius: 8px;
  cursor: pointer;
  transition: opacity 0.25s ease, transform 0.25s ease;
  will-change: opacity, transform;
  opacity: 1;
}

/* Pequeño zoom al expandir para dar fluidez */
.deck-imagen-contenedor.expandido .deck-imagen {
  transform: scale(1.02);
}

.deck-imagen.fade-out {
  opacity: 0;
}


.fade-out {
  opacity: 0.4;
}

.footer-box {
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(135deg, #100019, #1a1a1d);
  color: #dcdcdc;
  padding: 20px;
  text-align: center;
  margin-top: 40px;
  border-radius: 8px;
  box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.5), 0 0 10px rgba(120, 0, 255, 0.15);
  font-size: 0.95rem;
  letter-spacing: 0.5px;
}

.footer-box p {
  margin: 0 0 6px;
  font-size: 15px;
}

.footer-box .social-links {
  font-size: 14px;
}

.footer-box .social-links a {
  color: #333;
  text-decoration: none;
  margin: 0 8px;
  transition: color 0.2s ease;
}

.footer-box .social-links a:hover {
  color: #0077cc;
  text-decoration: underline;
}

.page-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Aplica SOLO en eventos.html */
.pagina-eventos .tabla-eventos {
  width: 100%;
  max-width: 1000px;
  margin: 16px auto;
  border-collapse: separate;
}


.tabla-eventos td {
  background-color: #202123;
  border: 1px solid #ccc;
  border-radius: 12px;
  padding: 25px;
  vertical-align: top;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.tabla-eventos .titulo {
  text-align: center;
  font-size: 20px;
  margin-bottom: 15px;
  color: #00c3ff;
}

.tabla-eventos .contenido {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
  align-items: center;
  color: #fff
}

.tabla-eventos .descripcion {
  flex: 1 1 300px;
  font-size: 16px;
  color: #fff;
}

.tabla-eventos .banner {
  flex: 1 1 300px;
}

.tabla-eventos .banner img {
  width: 100%;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.tabla-eventos .extra {
  margin-top: 15px;
  font-size: 14px;
  text-align: center;
  color: #555;
}

.mode-button:active {
  background-color: #d0d0d0;
}

.format-title img {
  width: 100%;
  max-width: 600px;
  height: auto;
  pointer-events: none;
  user-select: none;
}

.profile-search input {
  padding: 8px 12px;
  font-size: 15px;
  border-radius: 6px;
  border: 1px solid #ccc;
  width: 300px;
}

.tabla-actualizaciones {
  width: 100%;
  max-width: 900px;
  margin: 5px auto;
  border-collapse: separate;
  border-spacing: 0;
}

.tabla-actualizaciones td {
  background-color: #f9f9f9;
  border: 1px solid #ccc;
  border-radius: 0x;
  padding: 0px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.tabla-inicio {
  width: 100%;
  max-width: 900px;
  margin: 20px auto;
  border-collapse: separate;
  border-spacing: 0;
}

.tabla-inicio td {
  background-color: rgba(0, 0, 0, 0.6); /* negro transparente */
  border: 1px solid #ccc;
  border-radius: 12px;
  padding: 25px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  color: #ffffff; /* texto blanco dentro del td */
}

.tabla-inicio-sesion p {
  color: #fff;
}

.tabla-inicio-sesion input {
  width: 75%;
  height: 75%;
  padding: 5px;
  border-radius: 5px;
}

.tabla-inicio-noti {
  width: 100%;
  max-width: 900px;
  border-collapse: separate;
  border-spacing: 0;
}

.tabla-inicio-noti td {
  color: #fff;
  justify-content: center !important;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid #ccc;
  border-radius: 12px;
  padding: 5px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.tabla-inicio-derecha {
  width: 100%;
  max-width: 900px;
  border-collapse: separate;
  border-spacing: 0;
}

.tabla-inicio-derecha td {
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  border: 1px solid #ccc;
  border-radius: 12px;
  padding: 25px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.logo-central {
  display: block;
  margin: 20px auto 10px auto;
  max-width: 240px;
  height: auto;
}

button {
  padding: 6px 14px;
  font-size: 16px;
  border: 1px solid #ccc;
  background-color: #f2f2f2;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

button:hover {
  background-color: #e0e0e0;
  transform: translateY(-2px);
}

#scoreboard table {
  width: 100%;
  border-collapse: collapse;
  background-color: #222; 
  color: #fff;
  border-radius: 8px;
  overflow: hidden;
  margin-top: 20px;
}

#scoreboard th,
#scoreboard td {
  padding: 10px;
  text-align: center;
  border: 1px solid #555;
}

#scoreboard th {
  background-color: #333;
  font-weight: bold;
}

#scoreboard tr:nth-child(even) {
  background-color: #2a2a2a;
}

.otros-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  padding: 20px;
}

.otros-item {
  flex: 1 1 calc(33.33% - 40px);
  max-width: 400px;
  background-color: #202123;
  border-radius: 12px;
  padding: 15px;
  text-align: center;
}

.otros-item h3 {
  color: #00c3ff;
}

.otros-item p {
  color: #fff;
}

.otros-item iframe,
.otros-item img {
  width: 100%;
  border-radius: 10px;
}

.img-responsiva {
  max-width: 100%;
  height: auto;
}

.qa-card {
  background-color: #202123;
  border: 1px solid #ccc;
  border-radius: 10px;
  padding: 15px;
  text-align: left;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  margin-bottom: 20px;
}

.qa-card h3 {
  text-align: center;
  font-size: 18px;
  color: #00c3ff;
}

.qa-card p {
  font-size: 14px;
  color: #fff;
  text-align: left;
}

.alineado-match {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 12px;
  gap: 10px;
  width: 100%;
}

.alineado-match .match-side {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 220px;
  justify-content: flex-end;
}

.alineado-match .match-side.right {
  justify-content: flex-start;
}

.match-name {
  white-space: nowrap;
  text-align: right;
}

.match-side.right .match-name {
  text-align: left;
}

.alineado-match input[type="number"] {
  width: 40px;
  text-align: center;
}

.vs-label {
  min-width: 30px;
  text-align: center;
}

.round-block button {
  display: block;
  margin: 20px auto 0 auto;
}

#modeSelection {
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
  margin-top: 30px;
}

.modo-torneo {
  flex: 1 1 400px;
  max-width: 420px;
  background-color: #202123;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  text-align: center;
}

.modo-torneo h3{
  color: #00c3ff;
}

.modo-torneo p{
  color: #fff
}

#torneos table {
  table-layout: fixed;
  width: 100%;
  word-wrap: break-word;
}

#torneos img {
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

#tabla1, #tabla2, #tabla3 {
    padding: 20px;
    width: 100%;
    max-width: 400px;
    border-radius: 10px;
    border-collapse: separate; 
    border: none;
    box-shadow: none;  
}

#tabla1 td, #tabla2 td, #tabla3 td {
    border: none;
}


#tabla1 img, #tabla2 img, #tabla3 img {
    max-width: 100%; 
    max-height: 100%;
    display: block;
    object-fit: contain; 
}

.top-bar {
  position: fixed;
  top: 0;
  right: 0;
  padding: 10px;
  background-color: #333;
  color: white;
  font-size: 16px;
  z-index: 1000;
}

.nav-link {
  color: white;
  text-decoration: none;
  margin: 0 10px;
}

.nav-link:hover {
  text-decoration: underline;
}

.thumbnail {
    max-width: 100px;
    cursor: pointer;
    border-radius: 6px;
    width: 100%;
  }

  .card {
    text-align: center;
  }

  .card p {
    display: none; 
  }

/* Capa de brillo (solo para rarezas especiales) */
.overlay-Rare::before,
.overlay-SR::before,
.overlay-UR::before,
.overlay-SCR::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  z-index: -1;
  pointer-events: none;
  opacity: 0.5;
  filter: blur(6px);
  animation: shine 3s ease-in-out infinite;
}

/* --- Colores por rareza --- */

/* 🔵 Rare - aura azul */
.overlay-Rare::before {
  background: radial-gradient(circle at center,
    rgba(0, 140, 255, 0.6) 0%,
    rgba(0, 60, 180, 0.2) 40%,
    transparent 80%);
  filter: blur(4px);
  opacity: 0.35;
  animation-duration: 4s;
}

/* 🟡 Super Rare - aura dorada */
.overlay-SR::before {
  background: radial-gradient(circle at center,
    rgba(255, 215, 80, 0.9) 0%,
    rgba(255, 180, 50, 0.3) 45%,
    transparent 80%);
  filter: blur(6px);
  opacity: 0.6;
  animation-duration: 3s;
}

/* 💜 Ultra Rare - aura violeta */
.overlay-UR::before {
  background: radial-gradient(circle at center,
    rgba(230, 0, 255, 0.8) 0%,
    rgba(180, 0, 255, 0.3) 45%,
    transparent 80%);
  filter: blur(8px);
  opacity: 0.7;
  animation-duration: 2s;
}

/* 🤍 Secret Rare - aura blanca turquesa */
.overlay-SCR::before {
  background: radial-gradient(circle at center,
    rgba(255, 255, 255, 0.9) 0%,
    rgba(120, 255, 255, 0.6) 40%,
    rgba(0, 180, 255, 0.2) 70%,
    transparent 90%);
  filter: blur(10px);
  opacity: 0.9;
  animation-duration: 1.8s;
}

/* --- Animación suave de brillo --- */
@keyframes shine {
  0%   { transform: scale(1);   opacity: 0.4; }
  50%  { transform: scale(1.25); opacity: 1; }
  100% { transform: scale(1);   opacity: 0.4; }
}


@keyframes shake {
  0% { transform: translate(0px, 0px) rotate(0deg); }
  20% { transform: translate(-2px, 1px) rotate(-1deg); }
  40% { transform: translate(-1px, -2px) rotate(1deg); }
  60% { transform: translate(2px, 1px) rotate(0deg); }
  80% { transform: translate(1px, -1px) rotate(1deg); }
  100% { transform: translate(0px, 0px) rotate(0deg); }
}

.thumbnail {
  transition: transform 0.2s ease;
}

.thumbnail:hover {
  animation: shake 0.4s; 
}

.sobre-thumbnail {
  cursor: pointer;
  border-radius: 6px;
  transition: transform 0.2s ease;
}

.sobre-thumbnail:hover {
  animation: shake 0.4s;
}

#modalDescription {
  font-size: 18px;
  line-height: 1.6;
  color: #000; 
  font-family: Arial, sans-serif;
}

#modalExtraText {
  font-size: 18px;
  line-height: 1.6;
  color: #000;
  font-family: Arial, sans-serif;
}

.tablas-banlist {
  width: 100% !important;
  max-width: 900px !important;
  box-sizing: border-box;
  padding: 20px;
  background: #ffffff;
  border: 1px solid #ccc;
  border-radius: 10px;
  margin: 20px auto;
  display: flex; 
  flex-direction: column; 
  align-items: center; 
  gap: 20px;
}

.floating-image-container {
      position: fixed;
      top: 50%;
      right: 0;
      transform: translateY(-50%) rotate(-10deg);
      transform-origin: center;
      perspective: 1000px;
      z-index: 9999;
      pointer-events: none;
    }

    .image-wrapper {
      width: 200px;
      height: auto;
      cursor: pointer;
      transform-style: preserve-3d;
      transition: transform 0.8s ease;
      pointer-events: auto;
      position: relative;
    }

    .image-wrapper.flipped {
      transform: rotateY(180deg) rotate(0deg);
    }

    .image-face {
      position: absolute;
      width: 100%;
      backface-visibility: hidden;
      pointer-events: auto;
    }

    .image-front, .image-back {
      width: 100%;
    }

    .image-back {
      transform: rotateY(180deg);
    }

.sobres-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  justify-content: center;
}

.starters-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  justify-content: center;
}

.banlist-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  justify-content: center;
}

.structures-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  justify-content: center;
}

.structures-grid-per-page {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 15px;
  justify-content: center;
}

.banlist-per-page {
  margin-top: 25px;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 15px;
  justify-content: center;
}

.tabla-usuario {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

#login-menu a {
  font-weight: bold;
  color: white;
  text-decoration: none;
  margin: 0 5px;
  text-shadow:
     -1px -1px 0 #000,
      1px -1px 0 #000,
     -1px  1px 0 #000,
      1px  1px 0 #000;
}

#usuario-menu #nombre-usuario {
  font-weight: bold;
  color: white;
  margin-right: 10px;
  text-shadow:
     -1px -1px 0 #000,
      1px -1px 0 #000,
     -1px  1px 0 #000,
      1px  1px 0 #000;
}

#usuario-menu #cerrar-sesion {
  font-weight: normal;
  color: red;
  text-decoration: none;
  cursor: pointer;
  margin-left: 5px;
  text-shadow:
     -1px -1px 0 #000,
      1px -1px 0 #000,
     -1px  1px 0 #000,
      1px  1px 0 #000;
}

#perfil-usuario {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
  background: #202123;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
  box-sizing: border-box;
  text-align: center; /* centra todos los elementos de texto e inline */
}

#perfil-usuario h1, h3 {
  color: #00c3ff;
  margin-bottom: 1rem;
  font-weight: bold;
  font-size: 1.8rem;
}

#perfil-usuario p {
  color: #fff;
}



/* Portada */
#portada-perfil {
  position: relative;
  height: 180px;
  background: #ddd center/cover no-repeat;
  margin: 10px -20px 80px; /* sangra a los bordes y deja espacio para la foto */
  border-radius: 0; /* esquinas rectas */
  overflow: visible;
  z-index: 1; /* crea el contexto de apilado */
}

/* Botón de edición en portada (por encima de todo) */
#portada-perfil .editar-portada-btn {
  position: absolute;
  right: 12px;
  bottom: 10px;
  background: rgba(0,0,0,0.55);
  color: #fff;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  z-index: 10; /* más alto que la foto */
  pointer-events: auto; /* asegura que reciba clics */
}

/* Foto encimada sobre la portada (centrada) */
#portada-perfil #foto-perfil {
  position: absolute;
  left: 50%;
  bottom: -75px; /* mitad del alto de la foto (150px) */
  transform: translateX(-50%);
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.2);
  z-index: 5; /* debajo del botón */
  pointer-events: none; /* no bloquea clics al botón */
  margin: 0; /* anula márgenes antiguos */
}

/* Inputs / nombre */
#input-foto,
#nombre-usuario {
  width: 100%;
  padding: 0.6rem;
  margin-bottom: 1rem;
  border-radius: 5px;
  border: none;
  font-size: 1rem;
  box-sizing: border-box;
}

#nombre-usuario {
  color: #000;
}


/* Contenedor general de crear post */
#crear-post {
  width: 100%;
  max-width: 600px;
  margin: 30px auto 20px auto;
  padding: 15px;
  background-color: #202123;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgb(0 0 0 / 0.1);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  box-sizing: border-box; /* ← AÑADIDO */
}

/* Título del formulario */
#crear-post h2 {
  margin-bottom: 12px;
  color: #00c3ff;
  font-weight: 700;
  font-size: 1.5rem;
  text-align: center;
}

/* Área de texto */
#inputTextoPost {
  width: 100%;
  resize: vertical;
  padding: 10px;
  border: 1.8px solid #ccc;
  border-radius: 5px;
  font-size: 1rem;
  font-family: inherit;
  transition: border-color 0.3s ease;
  box-sizing: border-box; /* ← AÑADIDO */
}

#inputTextoPost:focus {
  border-color: #007bff;
  outline: none;
}

/* Botón publicar */
#btnPublicarPost {
  margin-top: 10px;
  padding: 10px 18px;
  background-color: #007bff;
  color: white;
  font-weight: 600;
  font-size: 1.1rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  width: 100%;
  transition: background-color 0.3s ease;
}

#btnPublicarPost:hover {
  background-color: #0056b3;
}

/* Contenedor posts */
#postsContainer {
  width: 100%;
  max-width: 600px;       /* Hasta un máximo del 95% del contenedor padre */
  margin: 0 auto 40px auto;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Título de posts */
#postsContainer h2 {
  color: #333;
  font-weight: 700;
  font-size: 1.7rem;
  margin-bottom: 15px;
  text-align: center;
}

/* Cada post */
#postsContainer > div {
  background-color: #202123;
  border-radius: 8px;
  box-shadow: 0 1px 5px rgb(0 0 0 / 0.1);
  padding: 15px 18px;
  margin-bottom: 15px;
  transition: box-shadow 0.3s ease;
}

#postsContainer > div:hover {
  box-shadow: 0 4px 14px rgb(0 0 0 / 0.15);
}

/* Nombre de usuario */
#postsContainer strong {
  color: #007bff;
  font-size: 1.1rem;
}

/* Fecha */
#postsContainer small {
  color: #666;
  margin-left: 8px;
  font-size: 0.85rem;
  vertical-align: middle;
}

/* Texto del post */
#postsContainer p {
  margin-top: 8px;
  font-size: 1rem;
  line-height: 1.3;
  color: #fff;
  white-space: pre-wrap; /* Respeta saltos de línea */
  max-width: 70ch;        /* limita ancho para evitar líneas muy largas */
  margin-left: auto;
  margin-right: auto;
  text-align: left;       /* asegura que quede alineado a la izquierda */
  word-wrap: break-word;
  overflow-wrap: break-word;
}

#postContainer input {
  width: 75%;
  border-radius: 5px;
}


#descripcion-texto,
#contacto-texto {
  max-width: 70ch;
  margin: 0 auto;
  text-align: center;
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow-wrap: break-word;
}


textarea {
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

#postsContainer img {
  vertical-align: middle;
  border-radius: 50%;
  border: 1.5px solid black;
}

/* Contenedor general de crear post público */
#crear-post-publico {
  width: 100%;
  max-width: 600px;
  margin: 30px auto 20px auto;
  padding: 15px;
  background-color: #202123;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgb(0 0 0 / 0.1);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  box-sizing: border-box;
}

/* Título del formulario (si se quiere agregar) */
#zona-posts-publicos {
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}


#crear-post-publico h2 {
  margin-bottom: 12px;
  color: #333;
  font-weight: 700;
  font-size: 1.5rem;
  text-align: center;
}

/* Área de texto */
#inputTextoPostPublico {
  width: 100%;
  resize: vertical;
  padding: 10px;
  border: 1.8px solid #ccc;
  border-radius: 5px;
  font-size: 1rem;
  font-family: inherit;
  transition: border-color 0.3s ease;
  box-sizing: border-box;
}

#inputTextoPostPublico:focus {
  border-color: #007bff;
  outline: none;
}

/* Botón publicar */
#btnPublicarPostPublico {
  margin-top: 10px;
  padding: 10px 18px;
  background-color: #007bff;
  color: white;
  font-weight: 600;
  font-size: 1.1rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  width: 100%;
  transition: background-color 0.3s ease;
}

#btnPublicarPostPublico:hover {
  background-color: #0056b3;
}

/* Contenedor posts */
#postsPublicosContainer {
  width: 100%;
  max-width: 600px;
  margin: 0 auto 40px auto;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Título de posts */
#postsPublicosContainer h2 {
  color: #fff;
  font-weight: 700;
  font-size: 1.7rem;
  margin-bottom: 15px;
  text-align: center;
}

/* Cada post */
#postsPublicosContainer > div {
  background-color: #202123;
  border-radius: 8px;
  box-shadow: 0 1px 5px rgb(0 0 0 / 0.1);
  padding: 15px 18px;
  margin-bottom: 15px;
  transition: box-shadow 0.3s ease;
}

#postsPublicosContainer > div:hover {
  box-shadow: 0 4px 14px rgb(0 0 0 / 0.15);
}

/* Nombre de usuario */
#postsPublicosContainer strong {
  color: #007bff;
  font-size: 1.1rem;
}

/* Fecha (si lo agregas luego) */
#postsPublicosContainer small {
  color: #666;
  margin-left: 8px;
  font-size: 0.85rem;
  vertical-align: middle;
}

/* Texto del post */
#postsPublicosContainer p {
  margin-top: 8px;
  font-size: 1rem;
  line-height: 1.3;
  color: #fff;
  white-space: pre-wrap;
  max-width: 70ch;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* Respuestas y demás (compartido) */
#postsPublicosContainer textarea {
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

/* Imagen de perfil */
#postsPublicosContainer img {
  vertical-align: middle;
  border-radius: 50%;
  border: 1.5px solid black;
}

/* Layout 3 columnas */
.layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr) 300px; /* izq / centro / der */
  gap: 24px;
  max-width: 1400px;       /* ancho máximo del “muro” completo */
  margin: 0 auto;          /* centra el conjunto en pantalla grande */
  padding: 16px;
  box-sizing: border-box;
}

/* Columna central (el “muro”) */
.main { min-width: 0; }     /* evita overflow del contenido ancho */
.main .page-content { max-width: 100%; margin: 0; }

/* Barras laterales */
.sidebar-left,
.sidebar-right {
  position: sticky; /* que acompañen el scroll */
  top: 16px;
  margin: 20px;
  align-self: start;
  z-index: 100; 
}

.accesos {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.accesos a {
  text-decoration: none;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  background: white;
}

.accesos a:hover { background: lightgray; }

/* ===== Widget Usuarios en línea (limpio y estable) ===== */
.widget-online { 
  background:#fff; 
  border-radius:12px; 
  overflow:hidden; 
}

/* La tabla ocupa el ancho completo del card */
.widget-online #online-table{
  width:100% !important;
  border-collapse:collapse;
  table-layout:fixed;   /* evita encogerse raro */
}

/* Estilo base de cualquier celda */
.widget-online #online-table td{
  background:#fff;
  border:none;
  box-shadow:none;
  padding:10px 16px;
  vertical-align:middle;
}

/* Título y contador centrados (solo esas filas) */
/* Título y contador: centrados y sin desalineación */
.widget-online #online-table tr:nth-child(1) td,
.widget-online #online-table tr:nth-child(2) td {
  text-align: center;
  padding: 8px 16px;
}

.widget-online #online-table h2 {
  margin: 8px 0 4px;
}

#online-count {
  margin: 0;
  font-size: 0.9em;
  color: #555;
}


/* Filas de usuarios: dos columnas invisibles bien alineadas */
.widget-online #online-table .user-row td{
  padding:6px 16px;
}

/* Columna 1: punto */
.widget-online #online-table .user-row td:first-child{
  width:20px;           /* ancho fijo para alinear todos los puntos */
  text-align:right;
  padding-right:8px;
}

/* Columna 2: nombre */
.widget-online #online-table .user-row td:last-child{
  text-align:left;
  padding-left:0;
}

/* Punto verde */
.dot-online{
  display:inline-block;
  width:10px; height:10px;
  border-radius:50%;
  background:#28a745;
  vertical-align:middle;
}

.carta-deck-meta {
  cursor: pointer;
  border-radius: 6px;
  transition: transform 0.2s ease;
}

.carta-deck-meta:hover {
  animation: shake 0.4s;
}

.carta-deck-meta {
  max-width: 80px;
  border-radius: 6px;
}

.deck-meta-per-page  {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  justify-content: center;
}

.map-container {
  width: 300px;
  height: 200px;
  border: 2px solid #ccc;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.map-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.map-container:hover {
  transform: scale(1.05);
}
.banlist-icon-filtro {
  object-fit: contain;
  pointer-events: none;
}

.overlay-wrapper {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 60px;
  height: 30px;
  z-index: 10;
  pointer-events: none;
  border-radius: 6px;
}



@media (max-width: 768px) {
  img.rareza-overlay {
    width: 60px !important;
    height: 20px !important;
    top: 0 !important;
    right: 110px !important;
  }
}


@media (max-width: 768px) {
  .overlay-wrapper {
    width: 40px !important;
    height: 20px !important;
    top: 2px;
    right: 2px;
    border-radius: 4px;
  }
}

@media (max-width: 480px) {
  .overlay-wrapper {
    width: 30px !important;
    height: 15px !important;
    top: 1px;
    right: 1px;
  }
}


@media (max-width: 768px) {
  /* Quita solo el fondo visual del header */
  .header-box {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding-bottom: 0 !important;
  }

  /* Asegura que la hamburguesa y nav sigan visibles */
  .hamburger-menu {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    z-index: 2000 !important;
  }

  .main-nav {
    z-index: 1500 !important;
    background-color: rgba(0, 0, 0, 0.9) !important;
  }

  .main-nav a img {
    display: inline-block !important;
    max-height: 35px !important;
  }
}


/* 📱 Ajuste responsivo opcional */
@media (max-width: 400px) {
  .banlist-icon-filtro {
    width: 15px !important;
    height: 15px !important;
    top: 1px !important;
    left: 1px !important;
  }
}


@media (max-width: 768px) {
  .banlist-icon-deck {
    top: 0px !important;
    left: -5px !important;
    width: 15px !important;
    height: 15px !important;
    object-fit: contain; /* evita distorsión si el PNG no es cuadrado */
  }
}

@media (max-width: 400px) {
  .banlist-icon-deck {
    top: 0px !important;
    left: -5px !important;
    width: 15px !important;
    height: 15px !important;
    object-fit: contain; /* evita distorsión si el PNG no es cuadrado */
  }
}

/* --- Overlay responsive solo para móvil --- */
@media (max-width: 768px) {
  .banlist-icon {
    top: 10px !important;
    left: 70px !important;
    width: 56px !important;
    height: 56px !important;
  }

  #filtroRegistroImagen img {
    max-width: 100%;
    height: auto;
  }
}


/* ✅ Página de eventos: sidebar derecho arriba del izquierdo en móviles */
@media (max-width: 900px) {
  body.pagina-eventos .layout {
    display: flex;
    flex-direction: column;
  }

  /* Sidebar derecho (buscador) primero */
  body.pagina-eventos .sidebar-right {
    display: block !important;
    order: 1;
    width: 100%;
    margin-bottom: 10px;
  }

  /* Sidebar izquierdo después */
  body.pagina-eventos .sidebar-left {
    order: 2;
    width: 100%;
    margin-bottom: 10px;
  }

  /* Contenido principal al final */
  body.pagina-eventos .main {
    order: 3;
    width: 100%;
  }
}


/* Responsividad para el Side Deck */
@media (max-width: 768px) {
  #sideDeckImages {
    max-width: 100% !important;  /* El contenedor ocupará todo el ancho en móviles */
    justify-content: center !important;
  }

  #sideDeckImages img {
    width: 30px !important;  /* Reducir el tamaño de las imágenes a 30px en pantallas más pequeñas */
  }
}

@media (max-width: 480px) {
  #sideDeckImages img {
    width: 25px !important;  /* Hacer las imágenes aún más pequeñas (25px) en dispositivos muy pequeños */
  }
}

/* Responsividad para el Main Deck */
@media (max-width: 768px) {
  #mainDeckImages {
    max-width: 100% !important;  /* El contenedor ocupará todo el ancho en móviles */
  }

  #mainDeckImages img {
    width: 30px !important;  /* Reducir el tamaño de las imágenes a 30px en pantallas más pequeñas */
  }
}

/* Para pantallas muy pequeñas (móviles en modo retrato) */
@media (max-width: 480px) {
  #mainDeckImages img {
    width: 25px !important;  /* Hacer las imágenes aún más pequeñas (25px) en dispositivos muy pequeños */
  }
}






@media (max-width: 767px) {

  .carta-deck-meta {
    max-width: 60px;   /* más pequeña en móviles */
    border-radius: 1px; /* opcional, si también quieres reducir el radio */
  }

  .deck-meta-per-page {
    display: grid;
    grid-template-columns: repeat(5, 70px); /* o 6 si prefieres */
    justify-content: center;
    gap: 2px; /* separación mínima (ajusta este número a tu gusto) */
  }

  .deck-meta-per-page div[style*="width: 100px"] {
    width: 70px !important;
  }
}



/* --- Sticky sólo en escritorio --- */
@media (max-width: 1024px) {
  .sidebar-left,
  .sidebar-right {
    position: static;     /* quita sticky en móvil/tablet */
    top: auto;
    z-index: auto;        /* evita que tape el contenido */
    margin: 0 0 12px;     /* separa del contenido */
    align-self: auto;
  }
}

/* --- Tarjetas internas: que no “empujen” ni se salgan en móvil --- */
@media (max-width: 768px) {
  .banlist-box {          /* contenedor img + texto + botón */
    flex-wrap: wrap;      /* permite salto de línea */
  }
  .banlist-texto {
    flex: 1 1 260px;      /* asegura ancho mínimo razonable */
    min-width: 0;         /* y permite encoger sin overflow */
  }
  .tabla-inicio td {
    padding: 16px;        /* relleno consistente cuando pasan a block */
    overflow-wrap: anywhere; /* previene desbordes raros de texto */
  }
}

/* --- imágenes más pequeñas en móvil --- */
@media (max-width: 768px) {
  .thumbnail {
    max-width: 20px;   /* o el tamaño que prefieras */
    height: auto;       /* mantiene proporción */
  }
}



@media (max-width: 640px) {
  #tarjeta-perfil {
    display: flex;
    align-items: center;       /* centra verticalmente foto y texto */
    justify-content: center;   /* centra todo el conjunto horizontalmente */
    gap: 12px;
    text-align: center !important;
  }

  #tarjeta-perfil #foto-perfil-sidebar {
    width: 64px;
    height: 64px;
    margin: 0 !important;      /* elimina márgenes sobrantes */
    border-radius: 50%;
    object-fit: cover;
  }

  #tarjeta-perfil h3,
  #tarjeta-perfil p {
    margin: 0;
  }
}





@media (max-width: 768px) {
  .layout.no-right {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "left"
      "main";
    gap: 16px;
  }
}




/* --- Responsive: que la portada NO se salga en móvil --- */
@media (max-width: 600px) {
  /* reduce un poco el padding del card si quieres */
  #perfil-usuario { 
    padding: 12px;
  }

  /* la portada ya no sangra a los lados en móvil */
  #portada-perfil {
    margin: 10px -15px 80px; /* sangrado a los lados */
  }

  /* botón un poquito más “pegado” */
  #portada-perfil .editar-portada-btn {
    right: 8px;
    bottom: 8px;
  }

  /* foto más pequeña y con nuevo offset */
  #portada-perfil #foto-perfil {
    width: 120px;
    height: 120px;
    bottom: -60px; /* mitad del nuevo alto */
  }
}

/* extra pequeño (muchos Android 360px) */
@media (max-width: 380px) {
  #portada-perfil #foto-perfil {
    width: 104px;
    height: 104px;
    bottom: -52px;
  }
}


/* Responsivo: oculta derecha en medianos, colapsa laterales en móviles */
@media (max-width: 1100px) {
  .layout { grid-template-columns: 220px 1fr; }
  .sidebar-right { display: none; }
}
@media (max-width: 768px) {
  .layout { grid-template-columns: 1fr; }
  .sidebar-left { order: -1; margin-bottom: 12px; } /* arriba del feed */
}


@media (max-width: 768px) {
  .profile-grid {
    grid-template-columns: 1fr;
  }

  #perfil-usuario {
    width: 90%;
    max-width: 100%;
    padding: 15px;
  }

  #foto-perfil {
    width: 120px;
    height: 120px;
  }

  #btnEditarPerfil {
    width: 100%;
  }

  textarea, input[type="text"] {
    width: 100%;
  }

  #nameInputs,
  #elimNameInputs {
    grid-template-columns: 1fr;
  }

  .round-block {
    width: 100%;
  }

  .main-nav {
    display: none; /* Ocultamos el nav inicialmente */
    flex-direction: column;
    align-items: flex-start; /* alineado a la izquierda */
    left: 15px;              /* alineado al botón hamburguesa */
    gap: 10px;
    position: absolute;
    top: 60px; /* debajo de la cabecera */
    background-color: white;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  }

  .main-nav.show {
    display: flex; /* mostrar nav cuando se activa */
  }

  .hamburger-menu {
    display: flex;               /* mostrar solo en móvil */
    flex-direction: column;
    justify-content: space-around;
    width: 40px;           
    height: 30px;          
    cursor: pointer;
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 1000;
    background-color: #f9f9f9;
    border-radius: 8px;
    padding: 5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  }

  .header-box {
    border: none;
    background-color: transparent;
    box-shadow: none;
  }

  #modeSelection {
    flex-direction: column;
    align-items: center;
  }

  .modo-torneo {
    width: 90%;
    max-width: 500px;
  }

  #torneos .modo-torneo img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    margin: 0 auto 10px;
  }

  #myModal > div {
    flex-direction: column;
    max-width: 95%;
  }

  #modalDescription {
    padding-left: 0;
    font-size: 16px;
  }

  #modalImage {
    display: block;
    margin: 0 auto;
    width: 60%;
  }

  #prevPageBtn, #nextPageBtn {
    bottom: -50px;
  }


  #modalExtraText {
    font-size: 16px;
  }

  .sobres-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .floating-image-container {
    transform: rotate(-12deg) scale(0.6);
    right: -60px;
    top: 600px;
  }

  .starters-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .structures-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .banlist-per-page {
  margin-top: 15px !important;
  margin-bottom: 15px !important;
  display: grid;
  grid-template-columns: repeat(8, auto); /* 4 columnas exactas */
  justify-content: center;                /* centra el grid horizontalmente */
  align-items: start;
  gap: 6px;                               /* 👈 separación suave entre cartas */
  padding: 0;
  margin: 0 auto;
  width: fit-content;
}

.banlist-per-page > div {
  width: auto !important;                 /* anula el inline width=100px */
  padding: 0 !important;
  margin: 0 !important;
  text-align: center;
  background: transparent !important;
  border: none !important;
}

.banlist-per-page img {
  width: 40px !important;                 /* tamaño fijo de carta */
  max-width: 100%;
  display: block;                         /* elimina espacios inline */
  border-radius: 6px;
}

  .structures-grid-per-page {
    grid-template-columns: repeat(4, 1fr); 
    width: 100%; 
  }

  .structures-grid-per-page div[style*="width: 100px"] {
    width: 70px !important;
  }

  .reprints-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .tabla-inicio {
    width: 100% !important;
    display: block;
  }

  .tabla-inicio td {
    display: block;
    padding: 0 10px;
  }

  .tabla-inicio iframe {
    height: 200px;
  }

  #testModal > div {
  flex-direction: column !important;
  max-width: 80% !important;
  padding: 15px !important;
}

#testModal > div > div:first-child {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  margin-bottom: 15px !important;
}

#testModalImage {
  width: 100% !important;
  max-height: 150px !important;
  align-self: center !important;
}

#testModalDescription {
  padding-left: 0 !important;
}

#testModalGallery img {
  width: 35px !important; /* más pequeñas en celular */
}

#testModalGallery > div {
  justify-content: center !important;
}

}

/*.contenido-tab {
  margin-top: 15px;
  padding: 20px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  display: none;           
  overflow: hidden;         
} */

.bloque-expansiones {
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 20px;
  background-color: #202123;
  margin-top: 20px;
  color: #fff;
}

.bloque-banlist {
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 20px;
  background-color: #202123;
  color: #fff; /* texto blanco dentro del td */
}

.deck-tittle {
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 20px;
  background-color: #202123;
  margin-top: 20px;
  text-align: center;              
  display: flex;
  flex-direction: column;
  align-items: center;           
}


.banlist-box {
  display: flex;
  align-items: center;
  gap: 20px;
}

.banlist-img {
  width: 150px;
  height: auto;
  border-radius: 10px;
}

.banlist-texto {
  flex: 1;
  text-align: left;
}

.boton-ver-mas {
  display: block;
  margin-top: 10px;
  text-align: left;
}

.centrar-boton {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

img {
  user-select: none;
  -webkit-user-drag: none;
}

/* ──────────────────────────────── */
/*  ÁREAS DE DROP (MAIN / SIDE)    */
/* ──────────────────────────────── */

/* Main Deck */
#mainDeckImages {
  margin-top: 10px;
  width: 80%;
  min-height: 250px;                      /* Siempre visible incluso vacío */
  background: rgba(128, 0, 255, 0.15);
  border: 2px dashed transparent;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: flex-start;
  padding: 8px;
  transition: border 0.2s ease, background 0.2s ease;
}

#mainDeckImages.dragover {
  border-color: #3c9;                     /* Verde brillante al arrastrar */
  background: rgba(0, 255, 170, 0.08);
}

/* Side Deck */
#sideDeckImages {
  margin-top: 10px;
  width: 80%;
  min-height: 100px;                      /* Zona visible también vacía */
  background: rgba(128, 0, 255, 0.15);
  border: 2px dashed transparent;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 8px;
  transition: border 0.2s ease, background 0.2s ease;
}

#sideDeckImages.dragover {
  border-color: #39f;                     /* Azul brillante al arrastrar */
  background: rgba(100, 170, 255, 0.08);
}

/* Cartas dentro de los decks (drag visual y clics) */
#mainDeckImages img,
#sideDeckImages img {
  -webkit-user-drag: auto !important;
  pointer-events: auto !important;
  cursor: grab !important;
  user-select: none !important;
  touch-action: none !important;
  transition: transform 0.1s ease;
}

#mainDeckImages img:active,
#sideDeckImages img:active {
  cursor: grabbing;
  transform: scale(0.96); /* pequeño feedback visual */
}

.card-table {
  width: 100%;
  border: 1px solid #aaa;
  border-radius: 8px;
  background-color: rgba(0, 0, 0, 0.6); /* negro transparente */
  margin-bottom: 10px;
  overflow: hidden;
  text-align: center;
}

/* Encabezado alineado */
.card-header {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  background: #111;
  color: white;
  font-weight: bold;
  padding: 8px 0;
  text-align: center;
  align-items: center;
}

/* Fila de carta (misma estructura que el header) */
.card-item {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  align-items: center;
  padding: 6px 8px;
  border-top: 1px solid #ddd;
}

.card-item:nth-child(odd) {
  background: rgba(128, 0, 255, 0.15);
}

.card-name {
  text-align: left;
  padding-left: 8px;
  word-break: break-word;
}

/* Controles */
.card-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
}

.card-controls {
  display: flex;
  flex-direction: column; /* 👈 los pone uno arriba del otro */
  justify-content: center;
  align-items: center;
  gap: 4px;
}

.card-controls button {
  border: none;
  color: #fff;
  width: 26px;
  height: 26px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
}

.add-btn {
  background-color: #28a745;
}

.subtract-btn {
  background-color: #dc3545;
}

.add-btn:hover {
  background-color: #218838;
}

.subtract-btn:hover {
  background-color: #c82333;
}




/* ✅ Permitir arrastrar solo las imágenes del buscador */
#filtroRegistroResultados img {
  -webkit-user-drag: auto !important;
  pointer-events: auto !important;
  cursor: grab !important;
}
/* ──────────────────────────────── */
/* 🧩 Habilitar drag & drop visual */
/* ──────────────────────────────── */

#mainDeckImages img,
#sideDeckImages img {
  -webkit-user-drag: auto !important; /* permitir arrastre */
  pointer-events: auto !important;    /* recibir clicks y drag */
  cursor: grab !important;            /* indicar que se puede arrastrar */
  user-select: none !important;       /* evitar selección de texto al arrastrar */
  touch-action: none !important;      /* mejor control táctil */
}


/* desktop: se comporta igual que antes */
/* Solo afecta el contenedor que cambiaste en ESA tabla */
@media (max-width: 768px) {
  .tabla-goat-content {
    /* Crea gutter propio sin adelgazar el contenido (compensa con margin negativo) */
    padding-inline: clamp(8px, 3.5vw, 14px);
    margin-inline: calc(-1 * clamp(8px, 3.5vw, 14px));

    /* Evita el “salto” visual a la derecha al abrir: alinea a la izquierda en móvil */
    justify-content: flex-start;

    /* Un gap un poco menor para pantallas chicas */
    gap: 18px;

    /* Evita que algún hijo “empuje” y cause overflow lateral */
    min-width: 0;
  }

  .tabla-goat-content > * { min-width: 0; }

  .tabla-goat-content img,
  .tabla-goat-content iframe {
    max-width: 100%;
    height: auto;
    display: block;
  }

  .deck-top {
    flex-direction: column;
    align-items: stretch;
  }

  .deck-form {
    grid-template-columns: 1fr; /* Todas las cajas apiladas verticalmente */
    gap: 10px;
  }

  .columns {
    grid-template-columns: 1fr; /* Cada columna apilada verticalmente */
    gap: 15px;
  }

  input[type="text"], select {
    width: 90%;
  }

  .deck-image-container {
    text-align: center;
    margin-top: 10px;
  }
}

