/* ===============================
   Yog Logo Puzzle – Professional CSS (FIXED)
   =============================== */

.puzzle-board {
  width: 320px;
  height: 320px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(4, 1fr);
  gap: 1px;

  /* Subtle background so empty cell is clearly visible */
  background: #f1f3f5; /* light grey */
  padding: 8px;
  border-radius: 16px;

  /* Soft inner border for definition */
  box-shadow: inset 0 0 0 2px #e0e0e0;
}

@media (max-width: 576px) {
  .puzzle-board {
    width: 280px;
    height: 280px;
  }
}

.puzzle-tile {
  position: relative;
  width: 100%;
  height: 100%;
  /* border-radius: 5px; */

  background-image: url('/images/logo-nbg.png');
  background-repeat: no-repeat;
  background-size: 400% 400%; /* 4x4 slicing */
  background-color: #ffffff;

  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.18);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.puzzle-tile:hover {
  transform: scale(1.02);
  box-shadow: 0 4px 10px rgba(0,0,0,0.25);
}

.puzzle-tile.empty {
  /* Clearly visible empty slot */
  background: #ced4da;
  box-shadow: none;
  cursor: default;
}

/* Success Highlight */
.puzzle-board.completed .puzzle-tile {
  box-shadow: 0 0 0 2px rgba(220,53,69,0.35);
}

/* Gentle animation for success */
@keyframes glow {
  0% { box-shadow: 0 0 6px rgba(220,53,69,0.4); }
  50% { box-shadow: 0 0 14px rgba(220,53,69,0.8); }
  100% { box-shadow: 0 0 6px rgba(220,53,69,0.4); }
}

.puzzle-board.completed {
  animation: glow 1.2s ease-in-out 2;
}